王凌宇,傅 宏,馬 創(chuàng),楊 云
(1.國(guó)網(wǎng)重慶市電力公司營(yíng)銷(xiāo)服務(wù)中心 重慶 400015;2.重慶郵電大學(xué) 軟件工程學(xué)院 重慶 400065)
智能電網(wǎng)憑借先進(jìn)的信息技術(shù)、傳感器技術(shù)、自動(dòng)控制技術(shù)[1-2],實(shí)現(xiàn)了電網(wǎng)的安全和高效性,也促使智能電網(wǎng)的應(yīng)用越來(lái)越廣泛。智能電網(wǎng)除了提供基本供電之外,還涉及監(jiān)控設(shè)備實(shí)時(shí)狀態(tài)、用電數(shù)據(jù)收集、配電方式調(diào)整以及價(jià)格方案制訂等領(lǐng)域[3]。
智能電網(wǎng)要保證每個(gè)用戶(hù)用電數(shù)據(jù)的隱私信息,還要將所有用戶(hù)的用電信息聚合起來(lái)傳輸?shù)娇刂浦行腫4]。隨著智能電網(wǎng)應(yīng)用的迅速擴(kuò)大,眾多問(wèn)題也逐漸暴露出來(lái)[5-6],其中數(shù)據(jù)安全以及隱私保護(hù)是被廣泛關(guān)注的問(wèn)題。電力系統(tǒng)的隱私行為、用電特征等隱私信息泄露事件不斷發(fā)生,偽造的虛假數(shù)據(jù)數(shù)量不斷增加,發(fā)送錯(cuò)誤指令影響電力網(wǎng)絡(luò)運(yùn)行穩(wěn)定性和安全性[7]的行為不斷發(fā)生,都說(shuō)明了智能電網(wǎng)數(shù)據(jù)安全以及隱私保護(hù)的重要性。智能電網(wǎng)促進(jìn)了新服務(wù)、新業(yè)務(wù)的發(fā)展,與此同時(shí),隱私泄露問(wèn)題也凸顯出來(lái)。智能電網(wǎng)中的聚合器得到了使用者用電的詳細(xì)信息,用戶(hù)敏感的私人信息在電力網(wǎng)絡(luò)內(nèi)部或外部進(jìn)行傳播,對(duì)用戶(hù)的隱私和安全構(gòu)成了一定的威脅。
針對(duì)目前智能電網(wǎng)存在的數(shù)據(jù)隱私泄露問(wèn)題,傳統(tǒng)的解決方案大都依賴(lài)于數(shù)據(jù)加密算法[8]。對(duì)稱(chēng)加密算法、非對(duì)稱(chēng)加密算法以及混合加密算法[9]都是目前常用的方法。高級(jí)加密標(biāo)準(zhǔn)(advanced encryption standard, AES)計(jì)算量比較小,加密速度快,但是忽略了加密過(guò)程中的安全性。橢圓曲線加密算法(ellipse curve ctyptography, ECC)不適合對(duì)大量的電力數(shù)據(jù)進(jìn)行加密,效率比較低。傳統(tǒng)加密方法存在著數(shù)據(jù)傳輸過(guò)程中加/解密效率低下和安全實(shí)現(xiàn)條件過(guò)于苛刻等問(wèn)題,不適于對(duì)大量的電力數(shù)據(jù)進(jìn)行加密操作。
為了保證用戶(hù)用電信息在數(shù)據(jù)聚合過(guò)程中的通信安全,眾多學(xué)者提出了不同的數(shù)據(jù)聚合方案。Paillier同態(tài)加密算法[10]是數(shù)據(jù)聚合中最常見(jiàn)的一種算法,它可以在不解密用戶(hù)加密數(shù)據(jù)的情況下執(zhí)行聚合操作,已經(jīng)應(yīng)用于許多現(xiàn)有的數(shù)據(jù)聚合方案中[11-13]。文獻(xiàn)[14]關(guān)注了現(xiàn)有方法中較少提及的多維用戶(hù)數(shù)據(jù),把數(shù)據(jù)聚合擴(kuò)大到多維用戶(hù)數(shù)據(jù),提出了一種隱私保護(hù)和安全的多維聚合方案,但是該方案不能抵抗內(nèi)部攻擊,如果操作權(quán)限受到攻擊,用戶(hù)的數(shù)據(jù)將會(huì)被泄露。文獻(xiàn)[15]提出了一種增強(qiáng)隱私的數(shù)據(jù)聚合方案,每個(gè)用戶(hù)的密文中結(jié)合盲因子,利用盲因子隱藏電力網(wǎng)絡(luò)中的隱私信息,以保護(hù)數(shù)據(jù)免受內(nèi)部攻擊者的攻擊。這種盲因子技術(shù)已得到了許多的應(yīng)用[16-20]。當(dāng)智能傳感器發(fā)生錯(cuò)誤,出現(xiàn)傳感器故障或者沒(méi)有上傳其數(shù)據(jù)時(shí),聚合器將會(huì)得到錯(cuò)誤的聚合結(jié)果。文獻(xiàn)[21]進(jìn)一步提出一種保護(hù)隱私的數(shù)據(jù)聚合方案,將盲因子分配給聚合者和用戶(hù),即使部分用戶(hù)的智能電表出現(xiàn)故障,通過(guò)受信任的權(quán)威機(jī)構(gòu)幫助,該聚合方案仍然能夠不受故障影響繼續(xù)很好地工作。但是該方案的通信開(kāi)銷(xiāo)非常大,不能進(jìn)行簽名數(shù)據(jù)的驗(yàn)證。
從以上分析可以看出,基于傳統(tǒng)Paillier同態(tài)加密算法的數(shù)據(jù)聚合方案加密效率以及聚合過(guò)程中的安全性不能滿(mǎn)足在實(shí)際應(yīng)用中的需求。因此,為了有效解決智能電網(wǎng)用戶(hù)用電數(shù)據(jù)聚合上傳通信過(guò)程中存在的計(jì)算效率低、傳輸不安全、泄露用戶(hù)隱私等問(wèn)題,本文提出了一種基于同態(tài)加密的電網(wǎng)隱私數(shù)據(jù)多維聚合優(yōu)化算法。本文的主要貢獻(xiàn)如下。
1)針對(duì)加密數(shù)據(jù)的安全性問(wèn)題,提出了一種基于盲因子技術(shù)的Paillier加密算法,對(duì)多維數(shù)據(jù)進(jìn)行整體加密和簽名,使得入侵者即使獲得了數(shù)據(jù)解密的密鑰也無(wú)法解密每個(gè)用戶(hù)的加密信息從而保證數(shù)據(jù)的安全性,進(jìn)一步體現(xiàn)出數(shù)據(jù)聚合的特性。
2)針對(duì)簽名驗(yàn)證過(guò)程中計(jì)算成本高的問(wèn)題,提出了一種雙線性配對(duì)的高效批量驗(yàn)證簽名數(shù)據(jù)方案,實(shí)現(xiàn)消息簽名的快速驗(yàn)證以降低整個(gè)系統(tǒng)的計(jì)算成本和通信成本。
本文所提出的基于同態(tài)加密的電網(wǎng)隱私數(shù)據(jù)多維聚合優(yōu)化算法,由Paillier加密算法和隱私數(shù)據(jù)聚合算法兩部分組成。Paillier加密算法通過(guò)傳輸過(guò)程中對(duì)智能電網(wǎng)中的多維數(shù)據(jù)進(jìn)行密鑰的生成以及加密和解密,確保數(shù)據(jù)在該過(guò)程中隱私數(shù)據(jù)的安全性。隱私數(shù)據(jù)聚合算法利用Paillier算法中的同態(tài)特性,實(shí)現(xiàn)數(shù)據(jù)的聚合;利用雙線性配對(duì)的雙線性,進(jìn)行高效的數(shù)據(jù)簽名批量驗(yàn)證方案,實(shí)現(xiàn)數(shù)據(jù)的快速驗(yàn)證,降低整個(gè)算法的通信成本和計(jì)算成本。
Paillier加密方案通過(guò)對(duì)智能電網(wǎng)中的多維數(shù)據(jù)進(jìn)行密鑰生成、加密和解密,確保隱私數(shù)據(jù)的安全性;利用概率公鑰加密算法以及Paillier加密算法,滿(mǎn)足加法和乘法同態(tài)。該加密算法被廣泛應(yīng)用于各種保護(hù)用戶(hù)隱私的場(chǎng)景中,它包括密鑰生成、加密和解密3個(gè)部分。Paillier加密算法的具體流程如圖1所示。
圖1 Paillier加密流程圖Fig.1 Flow chart of Paillier encryption algorithm
Paillier加密算法的具體算法流程如下。
3)解密。由前述流程可知,消息m的密文為c=E(m)=gm·rNmodN2,私鑰為(λ,μ),計(jì)算得消息m的明文為m=L(cλ mod n2)·μmodn。
本文提出的隱私數(shù)據(jù)聚合系統(tǒng)包括大量用戶(hù)、聚合器、可信權(quán)威機(jī)構(gòu)3類(lèi)實(shí)體。大量用戶(hù)U={U1,U2,…,Un}都配有智能電表,可以用來(lái)記錄實(shí)時(shí)的用電量信息,將這些信息通過(guò)同態(tài)加密和簽名算法生成加密和簽名的數(shù)據(jù)集,并將這些加密和簽名的數(shù)據(jù)向聚合器報(bào)告一次,不過(guò)有時(shí)候會(huì)出現(xiàn)故障導(dǎo)致停止報(bào)告;聚合器可以接收到智能電表總用電量數(shù)據(jù)但是無(wú)法知道每個(gè)智能電表的詳細(xì)用電量;可信權(quán)威機(jī)構(gòu)是系統(tǒng)模型中最受信任的實(shí)體,在初始化階段,可信權(quán)威機(jī)構(gòu)選擇盲因子,并將盲因子發(fā)送給每個(gè)用戶(hù)和聚合器,對(duì)隱私數(shù)據(jù)進(jìn)行整體加密來(lái)保障整個(gè)系統(tǒng)的安全性。
本文在數(shù)據(jù)加密階段提出了基于盲因子技術(shù)的Paillier加密算法。先利用Paillier加密算法對(duì)隱私多維數(shù)據(jù)進(jìn)行加密,然后可信權(quán)威機(jī)構(gòu)隨機(jī)選擇盲因子發(fā)送給每個(gè)用戶(hù)進(jìn)行保護(hù),使得入侵者即使獲得了數(shù)據(jù)的解密密鑰也無(wú)法解密每個(gè)用戶(hù)的加密信息。在數(shù)據(jù)聚合階段,本文提出了一種雙線性配對(duì)驗(yàn)證方案對(duì)簽名數(shù)據(jù)進(jìn)行驗(yàn)證,實(shí)現(xiàn)了數(shù)據(jù)簽名的快速驗(yàn)證。
目前,智能電網(wǎng)中各個(gè)智能傳感器讀數(shù)時(shí)存在數(shù)據(jù)隱私泄漏的問(wèn)題,計(jì)算和通信時(shí)存在效率較低的問(wèn)題。本文將盲因子技術(shù)和高效批量驗(yàn)證數(shù)據(jù)簽名方案加入到同態(tài)加密算法中,提出了一個(gè)基于同態(tài)加密的電網(wǎng)隱私數(shù)據(jù)多維聚合優(yōu)化算法。該算法包括初始化、數(shù)據(jù)生成與加密、聚合3個(gè)步驟,如圖2所示。初始化階段,對(duì)系統(tǒng)中的3類(lèi)實(shí)體進(jìn)行初始化,生成系統(tǒng)參數(shù)并對(duì)應(yīng)注冊(cè);數(shù)據(jù)生成與加密階段,將采集到的數(shù)據(jù)進(jìn)行同態(tài)加密和簽名,并向聚合器報(bào)告密文和簽名;聚合階段,對(duì)收到的報(bào)告進(jìn)行簽名正確性驗(yàn)證,對(duì)驗(yàn)證之后的報(bào)告進(jìn)行聚合。
本文算法具體步驟如下。
圖2 基于同態(tài)加密的電網(wǎng)隱私數(shù)據(jù)多維聚合優(yōu)化算法圖Fig.2 Multi-dimensional aggregation optimization algorithm based on homomorphic encryption
3)報(bào)告聚合階段。聚合器接收到n個(gè)用戶(hù)傳送過(guò)來(lái)的某個(gè)時(shí)刻t產(chǎn)生的用電數(shù)據(jù)報(bào)告,即用電數(shù)據(jù)的密文和簽名{CTi,σi},聚合器也已經(jīng)計(jì)算出hi=H3(CTI),W=H1(t)。
算法1:數(shù)據(jù)聚合恢復(fù)算法
輸出:(D1,D2,…,Dl)
1:SetXl=M
2: forn=lto2do
3:Xn-1=Xnmodan
5: end for
7: return(D1,D2,…,Dl)
本文仿真實(shí)驗(yàn)在64位Windows10操作系統(tǒng)上進(jìn)行。CPU為Intel Core i7 3.5 GHz處理器,運(yùn)行內(nèi)存為8 GB。采用基于Java的配對(duì)密碼學(xué)庫(kù)(JPBC)。
實(shí)驗(yàn)評(píng)價(jià)主要是安全性分析和性能分析。安全性分析分為攻擊安全性、解密安全性以及批量驗(yàn)證安全性的分析;性能分析從計(jì)算效率和通信效率兩個(gè)方面進(jìn)行評(píng)價(jià)。
計(jì)算效率評(píng)價(jià)從本文所提方法的加密方案和簽名方案效率的角度進(jìn)行,采用Paillier密碼系統(tǒng)、傳統(tǒng)基于身份的密碼系統(tǒng)、傳統(tǒng)基于量子密鑰的系統(tǒng)以及EPPA系統(tǒng)[24]和文獻(xiàn)[25]采用的方案,隨機(jī)生成一系列的整數(shù)Z1,Z2,…,Zn(將n定義為10、20、30、40、50、60、70、80、90、100),計(jì)算加密和簽名的時(shí)間并進(jìn)行對(duì)比,此外,還分別對(duì)加密和簽名在聚合器驗(yàn)證階段所花時(shí)間進(jìn)行對(duì)比。
通信主要是指用戶(hù)生成各種用電量數(shù)據(jù),將其加密簽名之后傳送到聚合器的過(guò)程。通信效率的評(píng)價(jià)指標(biāo)由隨機(jī)生成的數(shù)據(jù)Z1,Z2,…,Zn(將n定義為10、20、30、40、50、60、70、80、90、100)利用不同的方案以進(jìn)行驗(yàn)證。
2.2.1 安全性分析
1)攻擊安全性。分別對(duì)外部攻擊和內(nèi)部攻擊進(jìn)行分析。
2)解密安全性。文獻(xiàn)[26]提出一種基于模糊集的改進(jìn)區(qū)塊鏈DPoS共識(shí)機(jī)制,大大提高了區(qū)塊鏈當(dāng)中的解密安全性。本文運(yùn)用Paillier加密算法和盲因子技術(shù)對(duì)多維數(shù)據(jù)進(jìn)行整體加密,智能電表在加密自己的用電數(shù)據(jù)信息時(shí)采用了盲因子技術(shù),攻擊者即使獲得Paillier加密算法的解密密鑰,也無(wú)法解密每個(gè)智能電表的密文信息,也就不能獲取每個(gè)用戶(hù)的用電信息。
3)批量驗(yàn)證安全性。本文根據(jù)文獻(xiàn)[27]對(duì)短簽名批量驗(yàn)證過(guò)程中的安全性進(jìn)行證明??芍?如果Verify(M1,SK1,σ1)=…=Verify(Mn,SKn,σn)=1,那么一定有Batch((M1,SK1,σ1),…,(Mn,SKn,σn))=1。本方案的驗(yàn)證過(guò)程如下。
如果Batch((M1,SK1,σ1),…,(Mn,SKn,σn))=1,因?yàn)閝是其中一個(gè)比較大的質(zhì)數(shù),所以βj會(huì)有一個(gè)逆γj使得βjγj≡1modq,由此得出,存在j,使得公式Verify(Mj,SKj,σj)=0,但是Verify(M1,SK1,σ1)=…=Verify(Mn,SKn,σn)=1,很明顯就可以看出這違背了批量驗(yàn)證的定義。將存在一個(gè)j的公式Verify(Mj,SKj,σj)=0和Batch((M1,SK1,σ1),…,(Mn,SKn,σn))=1的事件定義為E,根據(jù)向量Δ(δ1,…,δn)可以計(jì)算事件E發(fā)生的概率性很小,可以忽略不計(jì),由此可知,本文所提出的批量驗(yàn)證安全性可靠。
2.2.2 性能分析
1)計(jì)算效率。為了驗(yàn)證本文的方案,分別進(jìn)行了以下3個(gè)實(shí)驗(yàn)。第1個(gè)實(shí)驗(yàn),用本文所提出的同態(tài)加密算法與另外4個(gè)對(duì)比算法將隨機(jī)生成的整數(shù)進(jìn)行加密,計(jì)算出整個(gè)加密時(shí)間進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如圖3所示;第2個(gè)實(shí)驗(yàn),將隨機(jī)生成的整數(shù)進(jìn)行簽名,計(jì)算出整個(gè)簽名時(shí)間進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如圖4所示;第3個(gè)實(shí)驗(yàn),模擬數(shù)據(jù)上傳到聚合器之后,對(duì)消息簽名進(jìn)行批量驗(yàn)證,將其和另外4個(gè)算法中的單一驗(yàn)證計(jì)算出驗(yàn)證的時(shí)間進(jìn)行比較,實(shí)驗(yàn)結(jié)果如圖5所示。
圖3 數(shù)據(jù)加密時(shí)間對(duì)比圖Fig.3 Data encryption time comparison diagram
圖4 數(shù)據(jù)簽名時(shí)間對(duì)比圖Fig.4 Data signature time comparison diagram
圖5 簽名驗(yàn)證時(shí)間對(duì)比圖Fig.5 Comparison of signature verification time
由圖3可見(jiàn),當(dāng)n<30時(shí),本文所提出的算法加密效率更高;當(dāng)n>30時(shí),基于量子密鑰系統(tǒng)加密效率更好。假設(shè)每個(gè)用戶(hù)所產(chǎn)生的各種類(lèi)型的用電數(shù)據(jù)大小相等,在用戶(hù)量小于30時(shí),本文提出的優(yōu)化算法具有更好的加密效率。在用戶(hù)量比較大的時(shí)候,由于在加密時(shí)將盲因子和Paillier加密算法進(jìn)行混合整體加密,因此本文算法在加密階段會(huì)花費(fèi)大量的時(shí)間。本文所提出的算法更適用于用戶(hù)量小于30的情況。
由圖4可以看出,本文算法的簽名方案不管在多大的用戶(hù)量下效率都比其他兩種對(duì)比方法要高。從圖5可以明顯看出,本文所提出的批量驗(yàn)證方案花費(fèi)的時(shí)間要遠(yuǎn)遠(yuǎn)小于其他4種對(duì)比算法,證明本文所提出的用雙線性配對(duì)去驗(yàn)證簽名的正確性是有效的。
綜上所述,本文算法具有更好的計(jì)算效率。
2)通信成本。本文所述通信指用戶(hù)與聚合器之間的通信。通信成本用計(jì)算出加密簽名之后的數(shù)據(jù)上傳到聚合器的時(shí)間進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如圖6所示。
圖6 通信時(shí)間對(duì)比圖Fig.6 Communication time comparison diagram
從圖6可以看出,本文算法上傳所需時(shí)間最少,通信成本比較低。表1是不同用戶(hù)數(shù)下不同方案的時(shí)間指標(biāo)數(shù)據(jù)。由表1可知,本文方案在簽名時(shí)間、上傳時(shí)間以及驗(yàn)證時(shí)間上都較其他都幾種方案表現(xiàn)更優(yōu)。
表1 計(jì)算效率、通信效率對(duì)比
綜上所述,本文方案能夠抵抗外部攻擊和內(nèi)部攻擊,可以顯著降低計(jì)算效率以及通信開(kāi)銷(xiāo),能夠有效地對(duì)用電數(shù)據(jù)進(jìn)行加密以保證其用電數(shù)據(jù)的安全,同時(shí)以更小的通信成本,有效解決智能電網(wǎng)中用戶(hù)用電數(shù)據(jù)聚合上傳通信過(guò)程中存在的計(jì)算效率低、傳輸不安全、泄露用戶(hù)隱私等問(wèn)題,可以廣泛應(yīng)用到智能電網(wǎng)場(chǎng)景中。
本文提出了一種基于同態(tài)加密的電網(wǎng)隱私數(shù)據(jù)多維聚合優(yōu)化算法。首先,利用基于盲因子技術(shù)的Paillier加密算法對(duì)從智能電表實(shí)時(shí)采集的各種類(lèi)型的用電數(shù)據(jù)進(jìn)行整體加密和簽名;然后,采用了雙線性配對(duì)的高效批量驗(yàn)證對(duì)數(shù)據(jù)簽名進(jìn)行快速驗(yàn)證以提高計(jì)算效率;最后,利用Paillier加密算法的同態(tài)特性實(shí)現(xiàn)多維數(shù)據(jù)的聚合。在安全性分析中詳細(xì)證明了批量驗(yàn)證的內(nèi)外攻擊安全性和解密安全性。為了驗(yàn)證所提方法的計(jì)算效率和通信效率,本文進(jìn)行了一系列實(shí)驗(yàn),隨機(jī)生成數(shù)據(jù)模擬多維用戶(hù)所產(chǎn)生的用電數(shù)據(jù)量,將本文提出的算法與基于身份的同態(tài)方案、基于量子密鑰系統(tǒng)、EPPA系統(tǒng)[24]以及文獻(xiàn)[25]所提出的方案進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果表明,本文算法的計(jì)算效率和通信效率都較優(yōu)。
所有實(shí)驗(yàn)都表明,本文優(yōu)化算法是有效的,但是仍有許多改進(jìn)的余地。進(jìn)一步的工作將考慮聚合算法的容錯(cuò)功能,即用戶(hù)在進(jìn)行信息受到錯(cuò)誤的智能電表無(wú)法發(fā)送消息的影響,也可以正常發(fā)送到聚合器。