張少敏,李 凡,王保義
(華北電力大學 計算機系,河北 保定 071003)
將先進的信息和通信技術整合進傳統電網,智能電網可提供更經濟高效的發電、輸電和配電,保障電網安全、穩定運行[1]。同時,智能電網通過整合可再生能源可有效緩解燃燒化石能源所帶來的環境污染問題[2]。
由于風光等可再生能源出力具有不確定性和波動性,其接入電網會大大影響電力的穩定供應,所以需求響應作為改善電網運行情況的有效手段,已經開始廣泛應用。
作為實現需求響應的基礎設施,智能電表會實時收集用戶的用電數據,并將其發送到控制中心[3]。控制中心通過分析用戶的電力消耗數據,將根據用戶用電情況制定更合理的需求響應策略;同時,用戶也可以根據時變的電價或激勵措施及時調整其用電行為,最終實現錯峰用電、削峰填谷,并達到節約用戶用電成本的效果[4-6]。
實時的消費數據與用戶的隱私密切相關。攻擊者可能通過挖掘實時的用電數據來推斷用戶的行為信息而謀取利益[7,8]。在通信過程中,可能存在一些攻擊者惡意篡改數據,企圖影響智能電網的穩定運行,以及某些不誠實的用戶為了少繳納電費而發送錯誤的用電數據的行為;所以針對電網通信需要加強保護措施。
目前,已有很多使用密碼技術實現智能電網安全通信與隱私保護的相關研究,但現有的方案均在不同實體側部署相同的密碼系統。由于通信網絡復雜且資源能力存在差異,不同的通信實體可能會采用不同的密碼系統[9-11]。因對于某種密碼系統所帶來的計算開銷的負擔能力不同,所以處于不同網絡環境的智能電表和控制中心很可能采用不同的密碼技術。比如,公鑰密碼體制(Public key infrastructure,PKI)復雜的證書管理過程對于智能電表來說負擔過重,而控制中心卻完全可以承受這種負擔。這是因為智能電網中處于不同網絡級別的節點具有異構性,這種異構性表現在智能電表和控制中心的計算能力和存儲資源的巨大差異上。另外,隨著越來越多由不同制造商生產的采用了不同密碼技術的智能電表的部署,即使是處于同一網絡環境的智能電表也存在著采用不同密碼技術的情況。出于統一建設成本的考慮,智能電表和控制中心可能部署著不同的密碼系統。比如,初期建設時,智能電表和控制中心都采用了基于身份的密碼系統(Identity-based cryptosystem,IBC),而后期安裝的智能電表考慮到IBC 的密鑰托管對于存在大量智能電表環境的威脅采用了無證書密碼系統(Certificateless cryptosystem,CLC)。因此,智能電網中各實體密碼系統的異構是必須要考慮的問題。為實現在某一密碼系統中智能電表傳輸的加密消息能被另一密碼系統的控制中心正常解密,就必須實現異構安全通信。
異構簽密技術作為一種新興的密碼技術,為上述問題的解決提供了思路。
文獻[12]提出了一種異構簽密方案,允許消息從IBC 環境中的智能電表安全傳輸到PKI 的控制中心。然而,該方案在解簽密階段使用了雙線性配對運算,需要較大的計算開銷,并且不支持批量驗證。在智能電網中,存在需要同時驗證多個智能電表的簽密有效性的情況,批量驗證是智能電網高效異構簽密方案的重要特性。此外,該方案存在密鑰托管問題。文獻[13]提出了一種IBC到PKI 的異構簽密方案。同樣,復雜的配對計算和求冪運算的使用,導致該方案存在計算開銷較大的問題。文獻[11]構造了一個從無線傳感器網絡到互聯網服務器的異構簽密方案。在該方案中,傳感器節點處于CLC 環境,而服務器處于IBC 環境。上述異構簽密方案有一個共同的缺點是采用了計算復雜的雙線性配對操作,這導致方案的效率較低。
為了降低計算開銷,文獻[14]設計了一種無配對的異構簽密方案——發送方屬于IBC,接收方屬于PKI。由于未采用計算復雜的配對運算,所以該方案具有較低的運算開銷,并且還可以抵抗重放攻擊、支持對密文的批量驗證。但是,該方案存在密鑰托管問題。為了使用戶可以匿名地進行異構簽密,文獻[15]設計了一種從IBC 到PKI的高效異構聚合簽密方案,并將其用于車輛到基礎設施的通信。該方案使用的由唯一權威機構可追溯的匿名身份模式為用戶提供了有條件的隱私保護。這種條件隱私保護既不會泄露用戶隱私又可以達到規范用戶行為的目的。可利用這種可追溯性來確認通過對比發現的用電量異常的用戶或者參加了需求響應卻多次不按合同執行的用戶的真實身份。但是,該方案涉及IBC 中的密鑰托管問題和PKI 中的公鑰證書管理問題。
上述方案在不同的密碼系統環境下采用了相同的密碼系統參數。在實際應用中,在不同實體使用不同的密碼系統條件下,應該使用不同的密碼系統參數來提高系統的安全性[16]。針對此問題,文獻[17]提出了一個CLC 到IBC 的匿名異構聚合簽密方案并應用于車載網系統。方案中,發送方和接收方采用不同的主密鑰,這為系統提供了更高的安全性。
本文針對智能電網設計了一個能夠實現用戶匿名且可追溯的、采用不同系統參數的、無配對高效異構聚合簽密算法。算法優點是,在保證效率的情況下,方案不僅能夠滿足智能電網中用戶隱私保護需求,還能實現對用戶的電費收繳及追蹤。
參考相關文獻[18,19],建立一個由智能電表(Smart meter,SM)、區域網關(Regional gateway,RG)、控制中心(Control center,CC)、服務提供商(Service provider,SP)組成的網絡模型,如圖1 所示。假設此模型存在異構情況,SM 及RG部署CLC,CC 采用IBC。

圖1 本文方案網絡模型Fig.1 Network model of the scheme in this paper
所構建的模型能夠實現用戶用電數據的采集、加密和聚合傳輸。其中,CC 管轄的用戶被分成k個子區域,每個區域分配1 個RG 負責消息的聚合和轉發;RG 覆蓋范圍下的每個用戶都安裝有SM 以采集用戶的用電信息,在每個子區域內有n個用戶;SP 提供系統參數生成與發布、實體注冊及收費服務。
CLC 的密鑰生成中心(Key generation center,KGC)負責SM、RG 部分公私鑰的生成,并用于SM 的匿名身份的生成;IBC 的私鑰生成中心(Private key generator,PKG)負責為CC 生成私鑰和公鑰。另外,KGC 還負責在收到CC 提供的SM 的匿名身份和賬單時在計算出用戶真實身份后向用戶提供服務,以及惡意用戶的身份確認。
結合圖1,系統的執行流程概括如下:
①SM、RG、CC 分別提交身份進行注冊。
②KGC、PKG 為相應實體分配密鑰和匿名身份。
③SM 通過家域網收集家庭內用電設備的用電信息,并將采集的信息簽密后通過鄰域網(Wi-Fi、5G Wi-Fi、ZigBee 等)傳輸到RG。
④RG聚合區域內SM的簽密并將聚合密文通過廣域網(互聯網或電力通信網)轉發到CC。
⑤CC 解簽密獲取用戶用電信息明文mij。
⑥當發現用電異常用戶時,KGC 計算出用戶真實身份,并將其廣播到CC。
⑦若需計費,CC 將用戶的電費賬單及匿名身份轉發給KGC。
⑧KGC 根據匿名身份計算出用戶真實身份,將賬單轉發給對應用戶。
在本方案中,允許n個CLC 中的發送者SM與IBC 中的接收者CC 進行安全通信。表1 中給出了方案中所涉及的一些符號的含義。

表1 異構聚合簽密方案的符號的含義Tab.1 The meaning of symbols in heterogeneous aggregation signcryption scheme
1)SP 初始化密碼系統。
選取安全參數k,G為橢圓曲線上的一個q階循環群,生成元為P。
定義5 個安全的Hash 函數:
其中c代表身份或匿名身份的長度,l是要傳輸的消息的長度。
KGC 隨機選擇s1∈Zq*作為主密鑰并計算P1=s1P。
PKG 隨機選擇一個主密鑰s2∈Zq*,并計算P2=s2P。
公開系統參數:
保密系統主密鑰s1和s2。
2)SM 注冊及密鑰生成(CLC)。
SMij選擇cij∈Zq*,計算AIDij,1=cijP作為其匿名身份的一部分,之后SMij通過安全信道將(IDij,AIDij,1)發送給KGC,IDij為SMij的真實身份。
為保護SM 的身份隱私,KGC 計算AIDij,2=IDij⊕H0(s1AIDij,1,s1P1),將AIDij=(AIDij,1,AIDij,2)作為SMij的匿名身份使用。
KGC 根據AIDij,隨機選擇rAIDij∈Zq*,計算YAIDij=rAIDijP,dAIDij=rAIDij+s1bij,其中bij=H1(AIDij,YAIDij),將(AIDij,dAIDij,YAIDij)通過安全信道發送給SMij。
SMij收到KGC 發送的部分密鑰后,驗證dAIDijP=YAIDij+P1bij是否成立。若等式成立,則說明KGC 發送的密鑰有效,SMij隨機選擇秘密值xAIDij∈Zq*,XAIDij=xAIDijP,設置其私鑰為SKAIDij=(dAIDij,xAIDij),公鑰為PKAIDij=(YAIDij,XAIDij)。
在需要發送給用戶賬單或用戶出現不合理操作時,KGC通過計算IDij=AIDij,2⊕H0(s1AIDij,1,s1P1)可還原用戶真實身份。
3)RG 注冊及密鑰生成(CLC)。
RGi將自己的真實身份IDRGi提交到KGC 進行注冊。由于SM 使用匿名身份通信可以達到防護用戶隱私泄露的目的,所以此處無需為RG 生成匿名身份。密鑰生成過程與SM 類似,其中bi=H2(IDRGi,YRGi)。
4)CC 密鑰生成(IBC)。
CC 作為處于IBC 密碼系統的接收方,提交自己的身份IDCC給PKG。PKG 隨機選擇aCC∈Zq*,計算ACC=aCCP,hIDCC=H2(IDCC,ACC),通過如下方式分別計算私鑰和公鑰為:sIDCC=aCC+s2hIDCC,QIDCC=(aCC+s2hIDCC)P=ACC+hIDCCP2,并通過安全信道將私鑰sIDCC返回給CC。
5)SM 簽密用電信息并上報。
SM 使用如下的異構簽密算法簽密用電信息明文mij:
①隨機選擇zij∈Zq*。
②計算γij=zijP。
③計算Tij=zijQIDCC。
④計算Cij=H3(Tij)⊕mij。
⑤計算hij=H4(cij,γij,AIDij,YAIDij,XAIDij),Sij=zij+hij(dAIDij+xAIDij)。
⑥輸出σij=(γij,Cij,Sij,timestamp),轉發σij給RGi。
其中,timestamp為時間戳,用以抵抗重放攻擊。
6)RG 聚合簽密。
RGi在收到n個密文σij后,首先檢查時間戳是否在有效期內。對于在有效期之內的簽密密文,通過如下步驟對區域內簽密聚合:
③若批量驗證未能通過,則需通過SijP=γij+hij(YAIDij+P1bij+XAIDij)逐個驗證,丟棄無效簽密,為其余的合法簽密生成聚合簽密。
由于批量驗證n個簽密的有效性可將標量乘運算從原本3n降低到2n+1,因此聚合可以降低計算與通信開銷。
7)CC 解簽密。
CC 收到各區域的聚合密文σi后,通過以下步驟進行解簽密以獲取用電信息明文mij,CC 據此進行數據分析以及電費賬單的計算:
①查看時間戳,判斷簽密是否在有效期內。若是,則計算hij=H4(cij,γij,AIDij,YAIDij,XAIDij),bij=H1(AIDij,YAIDij)。
③Tij′ =sIDCCγij,mij=Cij⊕H3(Tij′)。
2.2.1 密文解密的正確性驗證
CC 作為接收方通過自己的私鑰可正確解簽密從而獲得用戶的用電信息明文mij,即本方案具有密文解密正確性。
2.2.2 簽密有效性的正確性驗證
RG需要對區域內所有SM提供的密文中的簽名進行正確性驗證,以確保接收的所有密文發送者的身份是合法的,提供的密文是有效的。RG 可批量驗證所有簽密的有效性,具體證明如下:
若驗證等式成立,即所接收的簽密是來自合法用戶的有效密文。當上述等式不成立時,即批量驗證不通過,需逐個驗證簽密的有效性,無法通過驗證的簽密將被丟棄,證明如下:
此外,CC 驗證簽密有效性的證明過程類似,不再贅述。
相關研究中,文獻[11]、[12]、[14]和[17] 的異構簽密方案具有代表性。本文從6 個方面對各方案進行了功能比較,結果如表2 所示。

表2 異構簽密方案的功能比較Tab.2 Functional comparison of heterogeneous signcryption schemes
3.1.1 機密性
本文方案具有在自適應選擇密文攻擊下的不可區分性,即機密性,只有作為接收方的CC 利用其私鑰才可以解密消息。
3.1.2 不可偽造性
本文方案具有在自適應選擇消息攻擊下的不可偽造性,即只有利用SM 的私鑰生成的簽名才能通過驗證。
3.1.3 發送者匿名且可追溯性
在該方案中,SM 始終使用匿名身份AIDij與控制中心進行通信,確保異構環境通信過程中用戶的隱私。該匿名身份AIDij=(AIDij,1,AIDij,2)是由用戶和KGC 選擇的秘密值共同生成的,除用戶和KGC 外,其他任何實體由于不知道SM 真實身份與匿名身份的映射關系及KGC 的系統主密鑰s1,所以無法將用戶假名對應到用戶的真實身份。所以,在電量信息的收集和電費收繳過程中,RG 和CC 僅知曉用戶匿名身份,無法獲知用戶的真實身份,從而有效避免了在數據傳輸、分析過程中的隱私泄露。
KGC 可通過IDij=AIDij,2⊕H0(s1AIDij,1,s1P1)還原用戶真實身份。這種可追溯性確保電費收繳以及為參與需求響應的用戶分發補貼等服務能對應到具體用戶。同時,對于存在一定次數非法行為的用戶,系統將會將其加入黑名單,之后不再為其提供某項服務。
KGC 雖然有權獲知用戶真實身份但無法獲取用戶細粒度用電數據,不會對用戶隱私造成威脅。
3.1.4 抗重放攻擊
由于在本文方案中SM 生成的簽密密文σij=(γij,Cij,Sij,timestamp)以及由RG 生成的聚合簽密σi=〈γi1……γin,Ci1……Cin,Si,timestamp〉中都加入了時間戳timestamp,所以RG 和CC 在收到消息后,可以根據時間戳判斷消息是否在有效期內,并將不在有效期內的消息將視為非法密文并丟棄。因此,本文方案能夠抵抗重放攻擊。
3.1.5 公開可驗證性
在本文方案驗證簽密有效性的等式中不涉及SM 和CC 的私有信息,模型中任何有計算能力的實體均可驗證簽密是否合法有效。
3.1.6 雙系統參數
本文方案采用不同的系統主密鑰,安全性優于使用相同主密鑰的方案。假設PKG 被攻擊,攻擊者可獲得PKG 的主密鑰和CC 的私鑰,因此可以解密獲得用戶的用電數據,但因PKG 的系統主密鑰與KGC 不同,攻擊者仍然無法獲得SM 的真實身份,用戶隱私仍可以得到保障。
3.2.1 理論分析
表2 中各方案的計算開銷比較結果如表3 所示。在表3 所示的比較結果中,只關注計算量較大的雙線性配對運算(Tbp)、標量乘運算(Tsm)、映射到點Hash 運算(Tmtp)和GT中求冪運算(Tex),而忽略一些計算量很小的運算。

表3 所選異構方案的計算開銷對比Tab.3 Comparison of the computational cost of selected heterogeneous solutions
3.2.2 實驗結果分析
結合文獻[20],在配置為Intel Core i5-5200U 2.20 GHz processor、8GB RAM、Windows 10 操作系統的筆記本電腦實驗條件下,在80 位安全級別的情況下,采用橢圓曲線y2+y=x3+x以及雙線性對:G×G→GT計算得到基本實驗結果。
根據文獻[20],得到Tbp、Tsm、Tmtp和Tex的運行時間分別為2.373 ms、0.304 ms、0.319 ms、0.297 ms。簽密、解簽密、批量解簽密的時間消耗對比結果分別如圖2、圖3 和圖4 所示。

圖2 簽密的耗時比較Fig.2 Comparison of time consumption of signcryption

圖3 解簽密的耗時比較Fig.3 Comparison of time consumption of unsigncryption

圖4 批量解簽密的耗時比較Fig.4 Comparison of time consumption of batch unsigncryption
從圖2、3 可以看出,本文方案相比現有的智能電網異構簽密方案[12],在計算開銷上明顯降低,因為本文方案中耗時的運算僅包含橢圓曲線上的標量乘運算而沒有使用雙線性配對運算。本方案在這2 個階段時間開銷不是最小的,低于文獻[11]、[17]方案,與文獻[14]方案相同。文獻[14]的方案存在的問題是:發送方屬于IBC,接收方屬于PKI,IBC 可以掌握用戶私鑰。在智能電網中,多個智能電表需要向控制中心發送用電信息。IBC 部署在用戶一側,這將會帶來極大的隱私泄露風險。此外,PKI 存在證書管理的負擔。
圖4 描述了接收方同時對于來自多個用戶的密文解簽密的效率比較。可以看到,隨著用戶數量的增加,本文方案始終保持著低開銷。本文方案效率較高是因為方案支持生成聚合密文和批量驗證功能。
綜合來看,本文方案在這些方案中具有最優的性能,更適合應用于智能電網場景。
為保證信息在異構環境下的安全傳輸,本文提出了一個從CLC 到IBC 的異構聚合簽密方案,實現了發送者身份的匿名且可追溯。該方案的計算開銷較低,適合應用于智能電網環境。