王姝妤,陳建偉,張楨萍
(1.福建師范大學(xué)計(jì)算機(jī)與網(wǎng)絡(luò)空間安全學(xué)院,福建 福州 350117;2.福建省網(wǎng)絡(luò)安全與密碼技術(shù)重點(diǎn)實(shí)驗(yàn)室,福建 福州 350117;3.福建師范大學(xué)數(shù)字福建大數(shù)據(jù)安全技術(shù)研究所,福建 福州 350117)
智能電網(wǎng)作為下一代電網(wǎng),通過(guò)整合先進(jìn)的信息處理和通信技術(shù),提供高效、智能的電力信息交換,最大限度地提高能源使用效率,滿足現(xiàn)代人生活的需求[1-2].電力不能像其他自然資源那樣易于存儲(chǔ),因而電力供應(yīng)商需要實(shí)時(shí)分析電力的需求和消耗,以實(shí)現(xiàn)可靠且經(jīng)濟(jì)的電力分配.智能電網(wǎng)中智能電表定期測(cè)量和報(bào)告用電量,這有助于更好地檢測(cè)、控制和預(yù)測(cè)電力消耗,從而節(jié)省電力供應(yīng)商和消費(fèi)者的成本[3].
智能電網(wǎng)給人們生活帶來(lái)便利的同時(shí),周期性的電量數(shù)據(jù)收集也引發(fā)了人們對(duì)隱私泄露的擔(dān)憂[4-5].細(xì)粒度的電量數(shù)據(jù)可以推斷出用戶是否在家,電器使用狀況,甚至他們的日常生活習(xí)慣等等.谷歌曾推出一項(xiàng)名為Powermeter的服務(wù)[6],訂閱該服務(wù)的用戶可以接收到自家安裝的智能電表的實(shí)時(shí)使用統(tǒng)計(jì)數(shù)據(jù),并以可視化定制網(wǎng)頁(yè)的形式展現(xiàn)出來(lái).但這也使得用戶感到深深的擔(dān)憂,第三方統(tǒng)計(jì)電量數(shù)據(jù)可能會(huì)侵犯到用戶的個(gè)人隱私.因此,如何保護(hù)用戶隱私是一個(gè)重要的研究課題.
近年來(lái),智能電網(wǎng)中的隱私保護(hù)數(shù)據(jù)聚合應(yīng)用[7-9]受到了許多研究者的關(guān)注.基于此模式已有很多數(shù)據(jù)聚合方案[10-20]被提出,但仍然存在一些問(wèn)題.文獻(xiàn)[10-14]采用Paillier同態(tài)加密算法對(duì)智能電表提交的電量數(shù)據(jù)進(jìn)行聚合計(jì)算,而不泄露單個(gè)電量數(shù)據(jù),保護(hù)了用戶的隱私,但Paillier同態(tài)加密算法需要較大的計(jì)算開(kāi)銷.文獻(xiàn)[15-19]采用掩碼的方式或者ECC橢圓曲線加密方案來(lái)對(duì)智能電表的電量數(shù)據(jù)進(jìn)行聚合計(jì)算,提高了計(jì)算和通信效率.然而,這些方案沒(méi)有對(duì)智能電表和聚合器的身份進(jìn)行驗(yàn)證,無(wú)法確保聚合的電量數(shù)據(jù)正確性以及接收方身份的合法性.文獻(xiàn)[20-22]在數(shù)據(jù)聚合方案中對(duì)智能電表和聚合器的身份進(jìn)行了驗(yàn)證,但是這些方案都需要依賴于一個(gè)可信權(quán)威中心,而在實(shí)踐中找到一個(gè)讓所有用戶都信任的權(quán)威中心是不容易的.此外,上述方案[10-22]也難以抵抗系統(tǒng)實(shí)體對(duì)象間的合謀攻擊.
為了應(yīng)對(duì)上述挑戰(zhàn)問(wèn)題,本文提出了一種輕量級(jí)的隱私保護(hù)數(shù)據(jù)聚合方案.該方案首先采用基于雙線性對(duì)的IDMAKE2協(xié)議對(duì)聚合器和智能電表進(jìn)行身份驗(yàn)證;然后利用加法同態(tài)加密算法加密電量數(shù)據(jù)保證用戶的隱私性;同時(shí),使用Boneh-Lynn-Shacham簽名算法[23]來(lái)確保數(shù)據(jù)的完整性.此外,方案不依賴可信權(quán)威中心,并且可以抵抗內(nèi)部實(shí)體對(duì)象間的合謀攻擊.
本文方案采用了一個(gè)有效的加法同態(tài)加密算法[24],它主要由以下3個(gè)部分組成.
(1)加密.對(duì)明文m[0,S-1]進(jìn)行加密,其中S為模,選擇一個(gè)加密密鑰K[0,S-1],計(jì)算密文c為
c=EncK(m)=m+KmodS.
(2)解密.給定密文c及其加密密鑰K,執(zhí)行即可得到明文
m=DecK(m)=c-KmodS.
(3)加法同態(tài).設(shè),c1=EncK1(m1),c2=EncK2(m2),K=K1+K2modS,將密文聚合得到m1+m2的密文
C=EncK1(m1)+EncK2(m2)=EncK(m1+m2).
基于口令認(rèn)證的密鑰協(xié)商協(xié)議(PAKE)最早是由Bellovin和Merritt[25]提出的.在該協(xié)議中,如果2個(gè)實(shí)體對(duì)象擁有相同的密碼,它們將生成1個(gè)共同的會(huì)話密鑰,如果密碼不同,則任何人都不能從該協(xié)議的輸出中獲得關(guān)于另一個(gè)人的密碼的任何信息.在此基礎(chǔ)上,其他人提出了一些提高PAKE安全性的協(xié)議[26-27],本文采用文獻(xiàn)[26]中提出的IDMAKE2協(xié)議來(lái)為本方案提供驗(yàn)證,這是一個(gè)基于雙線性對(duì)的密鑰協(xié)議.
(2)非退化性.存在u,v∈K,使得e(u,v)≠1.
(3)可計(jì)算性.給定任意的u,v∈G,存在有效的多項(xiàng)式時(shí)間算法來(lái)計(jì)算e(u,v).
本文方案的系統(tǒng)模型如圖1所示,其中主要包含3種實(shí)體對(duì)象:在相應(yīng)的家庭區(qū)域網(wǎng)絡(luò)(HANs)中的眾多智能電表(SM)、第三方聚合器(TPA)和電力中心(EPC),HANs內(nèi)部的SM之間通過(guò)安全信道進(jìn)行通信.
圖1 系統(tǒng)模型Fig.1 System model
(1)SM是EPC在HANs中為每個(gè)用戶安裝的智能設(shè)備.它計(jì)量用戶消耗的電量數(shù)據(jù),并對(duì)電量數(shù)據(jù)進(jìn)行加密處理,發(fā)送給TPA.
(2)TPA將EPC下發(fā)的收集指令轉(zhuǎn)發(fā)給每個(gè)SM,另一方面,TPA聚合來(lái)自不同SM的加密數(shù)據(jù),并將聚合數(shù)據(jù)轉(zhuǎn)發(fā)給EPC.
(3)EPC負(fù)責(zé)收集、處理和分析SM上傳的電量數(shù)據(jù),通過(guò)這些數(shù)據(jù)來(lái)優(yōu)化配電策略.為了實(shí)現(xiàn)安全通信,EPC必須驗(yàn)證TPA和每個(gè)SM的身份,并生成相應(yīng)的會(huì)話密鑰.
本文采用“半誠(chéng)實(shí)”的安全模型,即假設(shè)所有實(shí)體對(duì)象都是“誠(chéng)實(shí)且好奇的”.智能電網(wǎng)系統(tǒng)可能會(huì)面臨內(nèi)部和外部攻擊.
(1)外部攻擊.外部攻擊者可以竊聽(tīng)通信通道,試圖通過(guò)監(jiān)聽(tīng)信道流量和信息來(lái)推斷用戶的私人數(shù)據(jù).或進(jìn)行偽造攻擊,即偽造和修改用戶的私人數(shù)據(jù).
(2)內(nèi)部攻擊.本文假設(shè)任何SM都不信任其他實(shí)體對(duì)象(如其他SM、TPA或者EPC).因此,一些實(shí)體對(duì)象可能會(huì)通過(guò)合謀來(lái)推斷其他合法SM的私人數(shù)據(jù),從而產(chǎn)生3種合謀的情況:①SM之間合謀.②SM與TPA合謀.③EPC與TPA合謀.假設(shè)最多有N-2個(gè)SM會(huì)參與合謀,否則它們可以直接推斷模型中其他合法SM的私人數(shù)據(jù).
本文將在智能電網(wǎng)的背景下提出一個(gè)隱私保護(hù)的數(shù)據(jù)聚合方案,其包含以下目標(biāo).
(1)隱私性.一個(gè)安全的數(shù)據(jù)聚合方案應(yīng)該保證用戶數(shù)據(jù)的私密性.必須確保攻擊者無(wú)法獲得用戶的隱私.
(2)驗(yàn)證性.任何設(shè)備在加入系統(tǒng)前都要由EPC對(duì)其身份的合法性進(jìn)行驗(yàn)證,以防止攻擊者可能會(huì)偽裝成合法用戶發(fā)送非法數(shù)據(jù).
(3)抗合謀.本文方案應(yīng)該抗合謀攻擊,即防止不受信任的實(shí)體對(duì)象可能會(huì)通過(guò)合謀來(lái)推斷其他合法SM的電量數(shù)據(jù).
(4)完整性.本文方案要保證電量數(shù)據(jù)的完整性.?dāng)?shù)據(jù)都是在公共通道傳輸?shù)?,因此必須?yàn)證數(shù)據(jù)在傳輸過(guò)程中是否遭到篡改.
這一節(jié)將詳細(xì)描述本文提出的方案.表1給出了方案使用的主要符號(hào)及其含義.
表1 主要符號(hào)及其含義Tab.1 List of main notations
3.1.1 系統(tǒng)參數(shù)生成
EPC生成并發(fā)布系統(tǒng)參數(shù),步驟如下:
步驟2:EPC為了驗(yàn)證TPA和SMi的身份,根據(jù)TPA的IDTPA和SMi的IDi,使用系統(tǒng)主密鑰KEPC分別計(jì)算相應(yīng)的私鑰和公鑰:skTPA=KEPC·pkTPA,pkTPA=H2(IDTPA)和ski=KEPC·pki,pki=H2(IDi).
步驟3:EPC選擇一個(gè)數(shù)字S>N·{mi}max作為加法同態(tài)加密的模數(shù),根據(jù)歷史數(shù)據(jù)其可以是一個(gè)經(jīng)驗(yàn)值.
步驟4:EPC公開(kāi)系統(tǒng)參數(shù){G,GT,l,q,e,P,Ppub,H1,H2,S},KEPC作為系統(tǒng)主密鑰由EPC保存,分別發(fā)送(skTPA,pkTPA)和(ski,pki)給TPA和SMi.
3.1.2 共享密鑰協(xié)商
每個(gè)用戶(Ui∈U)生成N-1個(gè)共享密鑰{ri,1,ri,2,…,ri,i-1,ri,i+1,…,ri,N},每個(gè)共享密鑰都小于S,并安全地分發(fā)給相應(yīng)的用戶.與此同時(shí)用戶Ui還接受其他用戶分發(fā)的共享密鑰(數(shù)量為N-1){r1,i,r2,i,…,ri-1,ri+1,…,rN,i},最終用戶Ui得到的共享密鑰集為{ri,1,ri,2,…,ri,i-1,ri,i+1,…,ri,N;r1,i,r2,i,…,ri-1,i,ri+1,i,…,rN,i}.
3.2.1 TPA身份驗(yàn)證
EPC對(duì)TPA進(jìn)行身份驗(yàn)證,圖2展示了這一過(guò)程,具體步驟如下:
圖2 TPA身份驗(yàn)證過(guò)程Fig.2 TPA identity authentication process
步驟3:EPC選擇一個(gè)隨機(jī)數(shù)NTPA,并計(jì)算KPAT=DTPA·KEPC和AuthTPA=H1(IDTPA,NTPA,Ppub,DTPA,E,KPAT).然后,EPC發(fā)送(NTPA-AuthTPA)給TPA.
步驟5:驗(yàn)證成功后,TPA和EPC建立會(huì)話密鑰KT-E=H1(NTPA,DTPA,E,KTPA)=H1(NTPA,DTPA,E,KPAT).
3.2.2 SMi身份驗(yàn)證
EPC對(duì)SMi進(jìn)行身份驗(yàn)證(圖3),具體步驟如下:
步驟3:EPC為SMi選擇一個(gè)隨機(jī)數(shù)Ni,并計(jì)算KIDi=Di·KEPC和AuthIDi=H1(IDi,Ni,Ppub,Di,Fi,KIDi).然后,EPC根據(jù)每個(gè)用戶的IDi,分別發(fā)送(Ni,AuthIDi)給相應(yīng)的SMi.
圖3 SMi身份驗(yàn)證過(guò)程Fig.3 SMi identity authentication process
身份驗(yàn)證完成后,EPC為了解用戶用電需求,生成收集指令并發(fā)送給每個(gè)SM.
步驟2:TPA接收到{Vi}后,提取β并計(jì)算ε=H2(KT-E‖AuthTPA‖β),并根據(jù)IDi將Vi分配給相應(yīng)的SMi.
SMi接受指令后,對(duì)電量數(shù)據(jù)mi進(jìn)行加密并生成簽名,然后將加密后的數(shù)據(jù)發(fā)送給TPA.
Ci=Encki(mi)=zi+mi+RimodS.
(1)
步驟3:SMi將數(shù)據(jù)報(bào)告{Ci,IDi,TS,σi,PKi}發(fā)送給TPA.
在這個(gè)階段TPA驗(yàn)證并聚合SMi發(fā)送的密文Ci.具體步驟如下:
步驟1:在TPA接收到SMi發(fā)送的數(shù)據(jù)報(bào)告后,TPA首先執(zhí)行批驗(yàn)證來(lái)驗(yàn)證接收到的簽名,即驗(yàn)證下列公式:
(2)
如果式(2)成立,這意味著簽名是有效的.公式推導(dǎo)過(guò)程如下
步驟2:如果簽名驗(yàn)證成功,TPA對(duì)所獲得的密文Ci進(jìn)行聚合,并獲得聚合后的數(shù)據(jù)
(3)
步驟3:TPA生成簽名σTPA=H2(C‖KT-E‖TS‖,其中TS表示當(dāng)前時(shí)間戳.
步驟4:TPA將數(shù)據(jù)報(bào)告{C,TS,σTPA}發(fā)送給EPC.
收到TPA發(fā)送來(lái)的數(shù)據(jù)報(bào)告后,EPC通過(guò)以下步驟來(lái)解密聚合密文:
圖4 舉例說(shuō)明Fig.4 Illustration
(4)
本節(jié)將證明本文方案能實(shí)現(xiàn)第2節(jié)所提出的設(shè)計(jì)目標(biāo).
在本文方案系統(tǒng)初始化階段,EPC采用系統(tǒng)主密鑰KEPC分別計(jì)算TPA和SMi的私鑰和公鑰skTPA=KEPC·pkTPA,pkTPA=H2(IDTPA)和,ski=KEPC·pki,pki=H2(IDi),用于后續(xù)的身份驗(yàn)證.
因此,本文方案采用的IDMAKE2協(xié)議可以提供安全的身份驗(yàn)證,通過(guò)EPC驗(yàn)證TPA和SM身份的合法性,可以檢測(cè)到來(lái)自惡意未經(jīng)驗(yàn)證的SM的非法數(shù)據(jù).
此外,由上面的分析可知加密密鑰Ri是SMi與其他所有SM交互后產(chǎn)生的,zi也是由EPC產(chǎn)生并根據(jù)SMi的會(huì)話密鑰加密傳輸?shù)模捎谕獠抗粽邿o(wú)法同時(shí)妥協(xié)系統(tǒng)中所有的SM,即外部攻擊者無(wú)法獲得目標(biāo)SMi的所有共享密鑰rj,i和zi,所以他無(wú)法恢復(fù)目標(biāo)SMi的電量數(shù)據(jù).
系統(tǒng)中實(shí)體對(duì)象可能會(huì)通過(guò)合謀來(lái)推斷其他合法SM的電量數(shù)據(jù).設(shè)U′為k個(gè)參與合謀SM的集合,2≤k≤N-2.
定理1U′無(wú)法推斷出其他合法SM的電量數(shù)據(jù).
定理2EPC與U′合謀無(wú)法推斷出其他合法SM的電量數(shù)據(jù).
定理3EPC與TPA合謀無(wú)法推斷出任何SM的電量數(shù)據(jù).
證明 EPC與TPA合謀,EPC可以獲得單個(gè)SMi的加密數(shù)據(jù)Ci=zi+mi+Ri,TPA可以獲得SMi的zi,但由于無(wú)法獲知Ri,無(wú)法推斷出任何SM的電量數(shù)據(jù).
SMi使用對(duì)應(yīng)的私鑰SKi和ε生成簽名σi,TPA使用KT-E生成簽名σTPA.由于攻擊者不知道SKi、ε和KT-E,所以無(wú)法生成正確的信息.因此,本文方案可以保證所有用戶的私人數(shù)據(jù)完整性以及合法性.
為了分析本文方案安全特性,本節(jié)考慮在身份驗(yàn)證、用戶隱私、無(wú)可信權(quán)威中心、數(shù)據(jù)完整性、輕量級(jí)聚合等方面與4個(gè)在智能電網(wǎng)領(lǐng)域中具有代表性的隱私保護(hù)數(shù)據(jù)聚合方案(如表2所示)進(jìn)行比較.本文方案可以確保表2中列出的所有安全目標(biāo),而其余方案只能保證其中的一部分.例如,在文獻(xiàn)[15]、[19]和[28]方案中,當(dāng)數(shù)據(jù)聚合時(shí),不驗(yàn)證SM的身份和合法性.一個(gè)不受信任或非法的SM可能偽造數(shù)據(jù),這將導(dǎo)致聚合結(jié)果不準(zhǔn)確.
表2 與相關(guān)方案進(jìn)行安全特性的比較Tab.2 Security comparison of related schemes
本節(jié)從計(jì)算開(kāi)銷和通信開(kāi)銷兩方面對(duì)所提出的方案進(jìn)行性能分析,并將其與文獻(xiàn)[14]中基于Paillier的方案(稱為PDAFT)和文獻(xiàn)[19]中基于ECC的方案(稱為P2MDA)進(jìn)行比較.仿真實(shí)驗(yàn)在一臺(tái)Intel Core i5-1135G7的CPU、16GB的內(nèi)存、安裝有Windows 10系統(tǒng)的筆記本電腦上進(jìn)行,并使用Java中的JPBC函數(shù)庫(kù)構(gòu)造加密函數(shù).在實(shí)驗(yàn)對(duì)比中,設(shè)定SM的數(shù)量N從100逐步增加到400,Paillier加密中的質(zhì)數(shù)長(zhǎng)度、本文方案中的模S都為512 bits,ECC方案中的G長(zhǎng)度為160 bits,并通過(guò)操作運(yùn)行時(shí)間來(lái)衡量計(jì)算開(kāi)銷,一些操作的運(yùn)行時(shí)間如表3所示,對(duì)于一些簡(jiǎn)單的操作(例如:加法、減法操作)可忽略不計(jì).為了減少對(duì)比誤差,實(shí)驗(yàn)取值均為1 000次實(shí)驗(yàn)結(jié)果的平均值.
表3 主要操作的運(yùn)行時(shí)間Tab.3 Running time of main operations
表4給出了3種方案在不同階段的計(jì)算開(kāi)銷對(duì)比.
表4 計(jì)算開(kāi)銷對(duì)比Tab.4 Comparison of computational overhead
在數(shù)據(jù)收集階段,本文方案中SM生成數(shù)據(jù)報(bào)告的計(jì)算開(kāi)銷為2Tm+TH2.在P2MDA方案中,SM使用ECC橢圓曲線加密算法加密電量數(shù)據(jù)并生成簽名,產(chǎn)生的計(jì)算開(kāi)銷為4Tecc.在PDAFT方案中,SM使用Paillier同態(tài)加密算法加密得到密文,產(chǎn)生的計(jì)算開(kāi)銷為TE.
在數(shù)據(jù)聚集階段,3種方案中的EPC或者CC的計(jì)算開(kāi)銷為如下:在本文方案中,EPC需要一個(gè)哈希函數(shù)驗(yàn)證簽名,解密為減法操作可忽略不計(jì),計(jì)算開(kāi)銷為TH2.在P2MDA方案中,CC需要4個(gè)ECC中的縮放乘法運(yùn)算,計(jì)算開(kāi)銷為4Tecc.在PDAFT方案中,CC需要一個(gè)Paillier解密操作,計(jì)算開(kāi)銷為TD.
從表4可以看出,與P2MDA方案和PDAFT方案相比,本文方案的計(jì)算開(kāi)銷有較為明顯的優(yōu)勢(shì).
圖5 通信開(kāi)銷對(duì)比Fig.5 Comparison of communication overhead
所有方案的主要通信開(kāi)銷由SM與TPA(或者SM與GW)之間和TPA與EPC(或者GW與CC)之間的通信開(kāi)銷組成.為了便于比較,設(shè)IDi和TS的大小為64 bits,哈希函數(shù)H2O為160 bits.在本文方案中,SM發(fā)送{Ci,IDi,TS,σi,Wi}給TPA,SM與TPA之間的通信開(kāi)銷為512+64+160+160=896 bits.TPA發(fā)送{C,TS,σTPS}給EPC,TPA與EPC之間的通信開(kāi)銷為512+32+160=704 bits.因此,當(dāng)有N個(gè)SM時(shí)總通信開(kāi)銷是896N+704 bits.在方案P2MDA中,SM發(fā)送{C1,i,C2,i,IDi,Li,vi,T}給GW,SM與GW之間的通信開(kāi)銷為160+160+32+160+160+32=704 bits.GW發(fā)送{C1,C2,IDGW,LGW,vGW,T}給CC,GW與CC之間的通信開(kāi)銷為160+160+32+160+160+32=704 bits.因此,當(dāng)有N個(gè)SM時(shí)總通信開(kāi)銷是704N+704 bits.在方案PDAFT中,SM發(fā)送Cr給GW,SM與GW之間的通信開(kāi)銷為2 048 bits.GW發(fā)送Cr給CC,GW與CC之間的通信開(kāi)銷為2 048 bits.因此,當(dāng)有N個(gè)SM時(shí)總通信開(kāi)銷是2 048N+2 048 bits.圖5顯示了3種方案的通信開(kāi)銷對(duì)比情況.從圖5可以看出,本文方案的通信開(kāi)銷比PDAFT低,比P2MDA略高.當(dāng)N=400時(shí),本文方案比PDAFT低56.34%,比P2MDA高21.38%.之所以本文方案通信開(kāi)銷比P2MDA高,是因?yàn)楸疚姆桨笧榱丝购现\攻擊需要更大的密鑰空間,導(dǎo)致通信量增加,而P2MDA沒(méi)有抗合謀攻擊的功能.
本文設(shè)計(jì)了一種輕量級(jí)的隱私保護(hù)數(shù)據(jù)聚合方案.該方案采用基于雙線性對(duì)的IDMAKE2協(xié)議和加法同態(tài)加密算法,實(shí)現(xiàn)了參與對(duì)象的身份驗(yàn)證,用戶數(shù)據(jù)的隱私保護(hù)和電量數(shù)據(jù)的高效聚合.此外,本文方案不需要可信權(quán)威中心,并且可以抵抗合謀攻擊.安全分析和性能實(shí)驗(yàn)表明該方案能夠很好地滿足設(shè)計(jì)目標(biāo)的要求.
福建師范大學(xué)學(xué)報(bào)(自然科學(xué)版)2022年3期