李雅斌,楊鵬飛
(長安大學 信息工程學院,西安 710064)
隨著傳統電網的各種弊端不斷顯現,智能電網以其雙向通信,多元化梯度電價,狀態分析預警等優勢[1,2]逐漸被各個國家重視[3-5]起來.
在智能電網中,部署了大量的傳感器,尤其是智能電表,每隔15 分鐘發送電力數據給控制中心以供分析與調配[6].然而大量的實時傳輸數據不僅會損耗海量資源同時還存在隱私泄露的問題[7,8].因此為了克服以上問題,數據聚合技術被引入,它可以節省計算資源,同時允許控制中心收集聚合數據而不是單個數據的思想很好的保護用戶的隱私且不影響數據的分析和電力供應的調整.
但是,現有大多數聚合方案存在以下兩個問題:很多方案設計時采用代價很高的公鑰同態加密技術,這對資源受限的智能電表很不友好;許多方案沒有考慮錯誤容忍的問題,但是智能電表是普通電子設備很有可能出現故障,這樣會導致整個系統無法正常運作.
基于上述問題,本文提出了一個智能電網中高效的支持錯誤容忍的數據聚合方案,該方案能抵抗由網關和控制中心發起的合謀攻擊,此外,當智能電表故障時,控制中心仍能正?;謴途酆蠑祿?
本文的系統模型如圖1所示,其中有4 個實體:可信中心TA,控制中心CC,網關GW和智能電表SMi(i=1,2,···,n).GW負責其下n個SMi(n>1).

圖1 系統模型圖
(1)TA:表示完全可信的實體.TA產生系統參數,并負責SMi,GW和CC的注冊.如果SMi產生故障,TA生成虛擬密文.
(2)CC:誠實且好奇的實體.收到GW的聚合報告,CC檢查報告的完整性,解密和分析電力測量數據.
(3)GW:誠實且好奇的實體,負責檢驗和聚合SMi的電力報告并傳輸聚合報告給CC.
(4)SMi:表示第i個智能電表,是可信實體,SMi主要收集和加密電力測量數據,然后傳輸電力報告給GW.
(1)機密性:方案中使用的密文不能被敵手攻破,即敵手不能獲得真正的明文消息,只能得到無意義的字符串.
(2)可認證性:敵手可能偽裝成合法用戶來破壞系統,所以該方案應該對報告的來源進行身份認證.
(3)完整性:在公開信道中傳輸的報告可能被敵手攔截篡改再重新發送,這會給正常報告注入錯誤數據.因此該方案應該能檢測報告是否被篡改.
(4)錯誤容忍:智能電表有可能發生故障,當有故障發生時,系統應該能繼續正常運行.
(5)抵抗合謀攻擊:GW和CC是半可信的實體,他們聯合起來好奇單個智能電表的電力數據.在該方案中,合謀攻擊應該被抵抗.
(6)抵抗重放攻擊:攻擊者將以前在公開信道中傳輸的報告重新傳輸,擾亂系統運行.在該方案中,重放攻擊應該被抵抗.
(1)隱私保護:除了TA,其他任何實體不允許知道單個S Mi的電力測量數據.聚合的電力測量數據只允許CC獲得,用于分析和優化.
(2)高效性:由于智能電表和網關等實體的計算和通信資源都是有限的,所以在滿足上述隱私保護的前提下,盡可能使方案的計算和通信代價最小.
橢圓曲線E由方程y2=x3+ax+bmodp所定義[9],該方程是基于有限域Fp上的,這里a,b∈Fp且滿足4a3+27b2≠0.所有E上的點和無窮遠點O共同組成了加法循環群,階數是q,生成元是P.標量點乘定義為kP=P+P+···+P(k次),這里.
文獻[10]首次提出對稱同態加密技術,然而文獻[11]將其攻破,根據其弱點,現在本文改進該技術,具體描述如下:
KeyGen(τ):輸入安全參數τ,密鑰生成算法輸出對稱同態加密密鑰,其中兩個大素數p?,q?滿足,s是從隨機選擇的,密文等級d是小的正整數.計算公開參數.
Enc(K,m,r):輸入明文和對稱同態加密密鑰,加密算法選擇隨機數r∈{0,1}τ滿足|r|+|,然后加密明文:

Dec(K,c):輸入密文c和對稱同態加密密鑰K=,解密算法計算:









圖2 方案流程圖



本小節將逐個分析第1.2 節中所提出的安全需求.
(1)機密性:方案中,假如外部敵手獲得了一個明文密文對(mi,Ci),還存在5 個未知數;即使敵手獲得λ對(mi,Ci),仍然存在2λ+3個未知數,由于欠定非線性系統的求解是NP 困難的[10],這樣無法在多項式時間內破解該方程.因此,該方案能保證機密性.
(2)可認證性:SMi提前用自己的身份進行了注冊,后面發送報告時,GW在對簽名驗證的同時也對身份合法性進行認證.因此,該方案可以實現用戶的認證.
(3)完整性:利用Schnorr 簽名[13],密文報告被簽名為(σi,Ei),基于ECDL 假設,沒有密鑰si的敵手無法產生合法簽名,篡改的報告在檢測時就會被拒絕.所以,方案可以保證報告的完整性.
(4)錯誤容忍:在方案中,如果某些智能電表SMi發生故障無法發送報告,TA會替故障電表產生聚合的虛擬密文CTA來保證CC可以順利解密密文.因此,本方案可以支持錯誤容忍.
(5)抵抗合謀攻擊:如果GW和CC合謀想獲得某一個SMi的電力數據,通過密鑰K的解密,CC只能獲得mi+ξi,電力數據mi被盲化因子 ξi所保護.因此,本方案可以抵抗合謀攻擊.
(6)抵抗重放攻擊:SMi和GW發送的報告中都包含時間戳Ti或TGW,GW和CC可以檢查報告的新鮮度.因此,本方案可以抵抗重放攻擊.
本小節將所提方案與文獻[14-16]進行功能對比.如表1,其中F1 表示機密性;F2 表示可認證性;F3 表示完整性;F4 表示錯誤容忍;F5 表示抵抗合謀攻擊;F6 表示抵抗重放攻擊.從表1 中可以看出,文獻[14]無法支持錯誤容忍功能,文獻[15]不能抵抗重放攻擊,文獻[16]不能抵抗合謀攻擊.而我們所提出的方案可以滿足所有在第1.2 節中描述的安全需求.

表1 功能對比

表2 密碼學操作執行時間(ms)
對于文獻[14]來說,報告產生階段的計算時間是TE-P+2Te-p+Tm-E+Tmtp=16.04 ms,聚合階段的時間是(n+2)TBP+(n+1)Tmtp+Tm-E=(13.89n+24.58)ms,閱讀階段的時間是2TBP+Tmtp+TD-P+2Te-p=34.35 ms.總的計算開銷是(29.93n+58.93)ms.
對于文獻[15]來說,報告產生階段的計算時間是Te-n2+TE-P+Te-G+Te-n=15.84 ms,聚合階段的時間是(n+2)Te-n+nTe-G=(2n+1.16)ms,閱讀階段的時間是Te-n+TD-P=10.47 ms.總的開銷是(17.84n+11.63)ms.
對于文獻[16]來說,報告產生階段的計算時間是2Te-T+Te-G=2.46 ms,報告聚合階段的計算時間是(n+3)Te-G=(1.42n+4.26)ms,報告閱讀階段的計算時間是3Te-G+TBP+Tlog=15.21 ms.總的計算開銷是(3.88n+19.47)ms.
對于本方案來說,報告產生階段的計算時間是Tm-E+Te-N=0.6 ms,報告聚合階段的計算時間是(n+2)Tm-E=(0.38n+0.76)ms,報告閱讀階段的時間是2Tm-E+Te-N=0.98 ms.總的開銷是(0.98n+1.74)ms.
圖3 展示了總體計算代價與智能電表數量之間的關系比較圖,從圖中可以看出:相比于文獻[14-16],所提方案的總體計算代價的增長是最緩慢的.這很適合于計算資源有限的智能電表和網關.

圖3 總體計算代價比較

表3 通信代價比較(bits)
圖4 形象地展示了通信代價比較圖.從圖中可以看出:相比于文獻[14-16],所提方案的SM到GW之間的和GW到CC之間的通信代價是最低的,十分契合通信資源有限的SM和GW.

圖4 通信代價比較
為了克服現有數據聚合方案的問題,本文提出了一個智能電網中高效的支持錯誤容忍的數據聚合方案,其利用改進的對稱同態加密技術實現高效性,同時利用橢圓曲線密碼學技術滿足了報告的完整性和可認證性.另外該方案可以抵抗合謀攻擊和重放攻擊,保護了用戶的隱私信息.當有智能電表發生故障無法發送報告時,權威中心會幫忙產生聚合的虛擬密文以確??刂浦行恼=饷芫酆蠑祿?最后,本文滿足所提的安全需求,并且輕量級的計算代價和通信代價適用于資源有限的智能電表.