朱 嵩,王化群
(南京郵電大學(xué) 計算機學(xué)院,南京 210023)
智能電網(wǎng)的基本要求是使操作中心可以通過用戶配備的智能電表收集電力數(shù)據(jù),獲得其管轄范圍內(nèi)所有用戶的實時電力數(shù)據(jù),從而能夠進行動態(tài)的電力調(diào)度、電價制定等操作。然而,在這個過程中存在較大的隱私安全問題。由于智能電網(wǎng)與日常生活緊密相連,電力數(shù)據(jù)在傳送過程中可能被非法攻擊者竊取,從而造成用戶隱私信息泄露[1]。例如,攻擊者通過收集大量某用戶在各個時段的電力數(shù)據(jù),即可推測出用戶的作息習(xí)慣,這樣會暴露用戶的個人隱私。另一方面,近年來分布式光伏發(fā)電產(chǎn)業(yè)發(fā)展迅速,對智能電網(wǎng)提出了新的要求。2017 年,德國1/3 的家庭已在房頂上安裝太陽能電池板,自發(fā)自用,分布式光伏發(fā)電約占全國年用電量的8%。此外,德國實行溢價補貼,即光伏發(fā)電可獲得固定發(fā)電補貼。電網(wǎng)用戶在獲得光伏發(fā)電獎勵時,并不想暴露個人信息,因此,隱私安全顯得尤為重要,尤其是電網(wǎng)用戶的匿名性。智能電網(wǎng)的實現(xiàn)需滿足以下3 個需求:安全性需求,即保證個體用戶實時電力信息的數(shù)據(jù)保密;實用性需求,即保證操作中心可以得到所有用戶的真實電力數(shù)據(jù)總和;匿名性需求,即保證用戶在上傳電力數(shù)據(jù)和獲得光伏發(fā)電獎勵時保持匿名。
NAKAMOTO[2]于2008 年在比特幣論壇上提出區(qū)塊鏈的概念,十年來區(qū)塊鏈技術(shù)得到飛速發(fā)展,相關(guān)研究與應(yīng)用呈爆發(fā)式增長態(tài)勢,許多研究者從不同角度探討了將區(qū)塊鏈應(yīng)用在電力系統(tǒng)上的意義。KUSHCH 等[3]分析了智能電網(wǎng)技術(shù)的發(fā)展前景、可再生能源成本降低的趨勢以及智能計量的技術(shù)路線,提出開發(fā)基于區(qū)塊鏈的解決方案以提高智能電網(wǎng)生態(tài)的總體安全性。MYLREA 等[4]探討了將區(qū)塊鏈以及智能合約應(yīng)用于智能電網(wǎng),進一步提升智能電網(wǎng)的彈性和安全性。區(qū)塊鏈可以將信任商品化,并使自動化的智能合約根據(jù)預(yù)定義規(guī)則支持可審計的多方交易。WU 等[5]研究區(qū)塊鏈技術(shù)在智能電網(wǎng)需求側(cè)響應(yīng)管理中的應(yīng)用,并給出一個區(qū)塊鏈被用來促進機器對機器(M2M)交互的實例。
本文基于Paillier 算法提出一個新的智能電網(wǎng)數(shù)據(jù)聚合和激勵方案。利用同態(tài)Paillier 加密技術(shù)實現(xiàn)外包計算下的數(shù)據(jù)安全聚合,并通過區(qū)塊鏈獲得光伏發(fā)電獎勵時電網(wǎng)用戶和電網(wǎng)管理中心的雙向匿名性和不可鏈接性。
隨著智能電網(wǎng)的發(fā)展,越來越多的研究者開始關(guān)注智能電網(wǎng)中的數(shù)據(jù)聚合和激勵。2012 年,LU等[6]提出一種隱私保護的智能電網(wǎng)通信聚合方案,采用超遞增序列來構(gòu)造多維數(shù)據(jù),并采用同態(tài)Paillier 加密技術(shù)對結(jié)構(gòu)化數(shù)據(jù)進行加密。一旦本地網(wǎng)關(guān)受到攻擊而聚合錯誤的密文,運營中心并不能及時地發(fā)現(xiàn),從而不能恢復(fù)出正確的聚合明文信息。2013 年,ROTTONDI 等[7]提出一種基于客戶端網(wǎng)關(guān)的分布式數(shù)據(jù)聚合安全體系結(jié)構(gòu)。2016 年,WANG等[8]提出平衡匿名性和可跟蹤性的智能電網(wǎng)外包小規(guī)模數(shù)據(jù)線性聚合方案。該方案支持基于外包計算的多維數(shù)據(jù)線性聚合,但該方案中設(shè)置了可信第三方,用戶的隱私并不能得到充分保障。2017 年,HE等[9]提出一種新的隱私保護數(shù)據(jù)聚合方案,利用Boneh-Goh-Nissim 公鑰密碼對抗內(nèi)部攻擊者且計算效率更高,但是在多維數(shù)據(jù)聚合上的表現(xiàn)并不理想。這方面的研究成果還有很多,但是抗內(nèi)部攻擊的多維數(shù)據(jù)聚合仍是亟需解決的問題。
因此,對于智能電網(wǎng)中的能源交易,研究者們做了大量的工作。2011 年,YANG 等[10]提出一種保密通信和精確的車聯(lián)網(wǎng)(V2G)獎勵架構(gòu),這是一種精確而公平的激勵模式,V2G 網(wǎng)絡(luò)的運營商為每個參與的用戶提供每項服務(wù)獎勵??紤]到V2G 網(wǎng)絡(luò)的特殊性,他們首次嘗試解決隱私問題。2015 年,WANG等[11]提出一種新的可跟蹤隱私保護通信和精確獎勵方案,但并不滿足不可鏈接性。2018 年,AITZHAN等[12]通過區(qū)塊鏈技術(shù)、多簽名和匿名加密消息流實現(xiàn)了分布式能源交易系統(tǒng)的概念驗證,使用戶能夠匿名協(xié)商能源價格,并安全地進行交易,但是該方案中仍然需要存在可信第三方。2019 年,DORRI 等[13]提出一個基于區(qū)塊鏈的私有框架,使能源消費者能夠以分布式的方式協(xié)商能源價格和交易能源,采用路由方法來轉(zhuǎn)發(fā)協(xié)商流量,從而減少了相關(guān)開銷,但并沒有給出具體的算法。GAI 等[14]提出一種基于聯(lián)盟鏈的方案來解決無限制交易的隱私泄露問題。該方法主要解決了智能電網(wǎng)中能源交易用戶的隱私問題,并對賣家的能源銷售分布進行篩選。
智能電網(wǎng)中的數(shù)據(jù)聚合和激勵得到了眾多研究者的關(guān)注,然而現(xiàn)有方案仍存在一些安全隱私問題。
定義一個在有限域Fq上的橢圓曲線E,其中q為一個素數(shù)。E(Fq) 由下式給出:E:y2=x3+ax+bmodq,其中,G為E(Fq) 素數(shù)階l的一個生成元。離散對數(shù)問題(Discrete Logarithm Problem,DLP)和計算Diffie-Hellman問題(Calculation Diffie-Hellman Problem,CDHP)給出如下定義:
定義1(DLP)給定(G,G1)∈E(Fq),尋找使得G1=xG。
定義2(CDHP)給定(G,G1,G2)∈E(Fq)3,其中G1=xG,G2=yG,x,y未知,計算x、y、G。
選擇一個雙線性群對(G1,G2),G1、G2分別為素數(shù)階p的一個循環(huán)加法群和循環(huán)乘法群,P是G1的一個生成元。令e:G1×G1→G2為一個具有以下性質(zhì)的雙線性映射。
Paillier 密碼系統(tǒng)可以實現(xiàn)加法同態(tài),在隱私保護方面得到了廣泛的應(yīng)用。加密系統(tǒng)由密鑰生成、加密和解密3 種算法組成。
環(huán)簽名是一種數(shù)字簽名方案,最初由RIVEST等[15]提出。環(huán)簽名是一種簡化的群簽名,環(huán)簽名中只有環(huán)簽名成員沒有管理者,不需要環(huán)簽名成員間的合作。由于環(huán)簽名具有無條件匿名性和不可偽造性的特點,使其在隱秘性方面比一般的群簽名更突出。而環(huán)簽名的代表項目是Monero 區(qū)塊鏈[16]。Monero 區(qū)塊鏈?zhǔn)且环N公有鏈,其交易由分布式共識機制同步,然后記錄在區(qū)塊鏈上。Monero 區(qū)塊鏈?zhǔn)褂铆h(huán)簽名、環(huán)保密交易和隨機地址來混淆所有交易的來源、金額和目的地。它集合了去中心化加密貨幣的所有優(yōu)勢,而沒有任何隱私方面的缺陷。因發(fā)送和接收地址以及交易金額在默認(rèn)情況下是混淆的,所以Monero 區(qū)塊鏈上的交易不能鏈接到特定用戶或真實身份。
在本文方案存在5 個實體,分別為電網(wǎng)管理中心(State Grid Management Center,SGMC)、云計算中心(Cloud Computation Center,CCC)、電 網(wǎng)用戶(Ui)、智能電表(SMi)和Monero 區(qū)塊鏈。
1)電網(wǎng)管理中心是整個智能電網(wǎng)的管理員,通過SMi為Ui提供電力保障,可以遠程查詢數(shù)據(jù)線性聚合信息進行統(tǒng)計和預(yù)測,制定分時電價來指導(dǎo)用戶用電習(xí)慣,并通過區(qū)塊鏈對自發(fā)電用戶進行獎勵。
2)云計算中心具有龐大的存儲空間和計算資源來維護用戶數(shù)據(jù),負(fù)責(zé)聚合用戶上傳的電力數(shù)據(jù)。在聚合計算過程中,有可能會遺漏一些數(shù)據(jù),或者受到外部攻擊聚合一些錯誤數(shù)據(jù)。在聚合密文出錯時,SGMC 可以及時發(fā)現(xiàn)并向其追責(zé)。SGMC 可能通過交易這些隱私數(shù)據(jù)來牟利。此外,由于在獎勵自發(fā)電用戶過程中,CCC 負(fù)責(zé)發(fā)放相關(guān)收據(jù)和憑證,有可能將獎勵錯誤導(dǎo)向利益相關(guān)的區(qū)塊鏈地址或者修改獎勵金額。
3)默認(rèn)電網(wǎng)用戶Ui都已經(jīng)安裝了SMi,用戶可以將自己隨機選擇的區(qū)塊鏈地址寫入SMi,以便接收獎勵。
4)假設(shè)SMi基于可信硬件[17],誠實且不可篡改,并在固定的時間間隔將電力信息以密文形式發(fā)送給CCC。智能電表SMi對電網(wǎng)用戶Ui不完全透明,相關(guān)電力數(shù)據(jù)和收據(jù)對Ui公開,但與其他實體協(xié)商產(chǎn)生的密鑰和參數(shù)對Ui保密。
5)SGMC 通過區(qū)塊鏈(本文為Monero 區(qū)塊鏈)將獎勵發(fā)送給Ui。Ui也可以檢查它們的獎勵是否已經(jīng)由SGMC 發(fā)送。
安全是智能電網(wǎng)安全通信成功的關(guān)鍵。在安全模型方面,默認(rèn)SGMC 是可信的,SMi誠實且不可篡改。本文方案必須滿足以下3 個安全目標(biāo):
1)身份驗證和數(shù)據(jù)完整性,CCC 驗證SGMC 授權(quán)用戶發(fā)送的密文數(shù)據(jù),并且在傳輸過程中未被更改,即如果敵手偽造或者修改數(shù)據(jù),則應(yīng)及時檢測到該惡意操作。同時只有正確的聚合密文才能被SGMC 接收,在此情況下才能完成對電網(wǎng)狀況的監(jiān)控和自發(fā)電獎勵。
2)Ui的匿名性,在SMi上傳數(shù)據(jù)的過程中,CCC無法通過SMi識別Ui的身份。在授權(quán)和獎勵的過程中,SGMC 也無法識別Ui的身份。
3)SGMC 的匿名性,雖然Ui接收SGMC 的獎勵,但Ui無法識別SGMC 在區(qū)塊鏈上的地址。
根據(jù)上述安全需求,給出以下安全定義:
定義3(Ui的匿名性)在本文方案中,Ui是無條件匿名的,即使敵手的計算能力是無限的,也無法識別Ui的真實身份。
定義4(SGMC 的匿名性)假設(shè)SGMC 在發(fā)送獎勵時只有一個地址,本文方案滿足SGMC 的匿名性,需滿足以下兩個條件。
1)當(dāng)SGMC 有n1個輸出地址時,如果所有的輸出地址都不屬于敵手,那么識別SGMC 變化地址的概率不超過(1/n1)。如果n2個輸出地址屬于敵手,那么識別SGMC 變化地址的概率不超過[1/(n1-n2)]。
2)如果SGMC 計算有n個區(qū)塊鏈地址的環(huán)簽名,任何不屬于該環(huán)的敵手猜測到SGMC 地址的概率應(yīng)不大于1/n。如果該環(huán)中有n'個地址屬于敵手,那么猜測到SGMC 地址的概率不大于(1/(n-n'))。
定義5(不可追蹤性)對于發(fā)送到區(qū)塊鏈上的每個交易請求,所有可能的發(fā)送方都是等概率的。
為體現(xiàn)方案設(shè)計的直觀性,本文方案的具體架構(gòu)如圖1 所示。
圖1 本文方案架構(gòu)Fig.1 Architecture of the proposed scheme
3.3.1 初始化
本文方案采用兩種類型的系統(tǒng)參數(shù)。一種類型參數(shù)是針對Monero 區(qū)塊鏈,另一種用于授權(quán)、認(rèn)證、加密、驗證等。其生成步驟是使用與Monero 區(qū)塊鏈同樣的橢圓曲線參數(shù)。在有限域Fq上定義橢圓曲線E=-x2+y2=1+dx2y2,其中q=2255-19,d=-122 665/121666。選擇 一個素數(shù)階的生成元G,=2252+27 742 317 777 372 353 535 851937 790 883 648 493。此外,選擇兩個安全的密碼散列函數(shù)H1:{0,1}*→Fl,H2:E(Fq)→E(Fq),用戶Ui選擇作為它的私鑰。對應(yīng)的公鑰為(Ai,Bi),其中Ai=aiG,Bi=biG,并將(Ai,Bi)寫入SMi。SGMC 選擇作為它的私鑰,對應(yīng)的公鑰為(X,X1),其中X=xG,X1=x1G。在這個階段,SGMC 在區(qū)塊鏈的地址X上存儲了大量的Monero 幣。
在公鑰基礎(chǔ)設(shè)施(Public Key Infrastructwe,PKI)中,給定安 全參數(shù)?,?1,首先通 過Gen(?) 生 成(p,P,G1,G2,e),其中(G1,G2)為素數(shù)階p的雙線性群對,雙線性映射為e:G1×G1→G2,P是G1的一個生成元。SGMC 選擇一個隨機數(shù)作為它的私鑰并計算它的公鑰Y=yP。CCC 選擇一個隨機數(shù)作為它的私鑰并計算其公鑰Z=zP。SGMC 計算Paillier 密碼系統(tǒng)的公鑰(n=p1q1,g)和對應(yīng)的私鑰(λ,μ),其中p1和q1是兩個足夠大的素數(shù)并滿足|p1|=|q1|=?1。假設(shè)聚合的總數(shù)據(jù)量不超過一個常數(shù)N,且有3 種類型的數(shù)據(jù)(φ1,φ2,φ3)需要在Paillier 密碼系統(tǒng)中進行加密,其中φ1是用戶的用電數(shù)據(jù),φ2是用戶的發(fā)電數(shù)據(jù),φ3是一個基于哈希的消息驗證碼,且φi值始終小于一個足夠大的常數(shù)d。SGMC 構(gòu)造一個超遞增序列α→=(a1=1,a2,a3),其中a2,a3是足夠大的素數(shù)并滿足|a2|,|a3|≥?1,且然后計算(g1,g2,g3),其中此外,選擇2 個安全的密碼散列函數(shù)H和HMACk,其中H:{0,1}*→G1,HMACk:{0,1}*→Fd,一個對 稱加密算法(E,D),如AES,與一個安全的簽名/驗證算法對(Sign,Verify)。
3.3.2 基于合同的授權(quán)
為了能夠匿名上傳電力數(shù)據(jù)和獲得自發(fā)電獎勵,SMi需要定期獲得SGMC 授權(quán)。同時,SGMC 也需要收集SMi的狀態(tài)信息,根據(jù)這些信息來創(chuàng)建合同Conti,其中包含SMi的狀態(tài)信息、所屬社區(qū)等。為了保護Ui的隱私,Conti中不包含Ui的身份信息。但是,(Ai,Bi)被包含到Conti中以獲得授權(quán)。同時,為了進行安全交互,Ui和SGMC 共同協(xié)商一個會話密鑰ki。SGMC 還初始化一個表格,其中列出了授權(quán)SMi的隨機公鑰(Ai,Bi)、認(rèn)證期限和合同有效期限Ti。SGMC 執(zhí)行以下2 個步驟以授權(quán)SMi:1)SGMC 初始化一個表格,為Conti生成簽 名σi=yH(Conti),將(Ai,Bi)、認(rèn)證期限和合同有效期限Ti添加到Tab;2)SGMC 將(Conti,σi,ki,g1,g2,g3)發(fā)送給SMi,將更新后的Tab 發(fā)送給CCC。
3.3.3 匿名認(rèn)證
當(dāng)SMi接收到(Conti,σi,ki,g1,g2,g3)后需要在認(rèn)證期限內(nèi)向CCC 完成認(rèn)證。首先它選擇一個隨機數(shù)作為臨時私鑰,并計算Wi=wi P作為臨時公鑰,然后將(Conti,σi,Wi)發(fā)送給CCC。CCC 接收到(Conti,σi,Wi)后,執(zhí)行以下3 個步驟驗證授權(quán)的有效性。
1)在一段時間內(nèi),CCC 接收到很多(Conti,σi,Wi),其中i∈I,且|I|≤N。
2)CCC 選擇隨機數(shù)δi∈Fp,其中i∈I,之后驗證是否成立。如果公式不成立,CCC 找出其中的無效對,并拒絕它們,然后繼續(xù)執(zhí)行后續(xù)步驟。
3)對于每 個i∈I,CCC 從Conti提取其公鑰(Ai,Bi)。如果(Ai,Bi)屬于Tab 并在認(rèn)證期限內(nèi)第一次提出認(rèn)證請求,則將Wi添加到Tab 對應(yīng)的(Ai,Bi);否則,CCC 拒絕SMi的認(rèn)證請求。
3.3.4 數(shù)據(jù)上傳
每隔固定的時間間隔智能電表SMi會自動收集這一時間段t內(nèi)用戶Ui的電力數(shù)據(jù),并執(zhí)行以下步驟:1)SMi選擇一個隨機數(shù)儲存在本地并計算其中,di1為用戶Ui在時間段t內(nèi)的用電數(shù)據(jù),di2為用戶Ui在時間段t內(nèi)的發(fā)電數(shù)據(jù),di3=HMACki(Ai,Bi,t);2)SMi利用對稱密鑰ki加密得 到計算發(fā)送給CCC。
3.3.5 數(shù)據(jù)聚合
在時間段t內(nèi),智能電表發(fā)送一系列的密文數(shù)據(jù),CCC 需要對這些數(shù)據(jù)驗證后存儲、存儲后聚合。
3.3.6 驗證和解密
SGMC 接收到CCC 發(fā)送的聚合密文后,執(zhí)行以下步驟驗證和解密密文。
算法1恢復(fù)聚合數(shù)據(jù)
3.3.7 匿名獎勵
當(dāng)合同有效期限Ti到期后,CCC 計算SMi在合同有效期限Ti內(nèi)上傳數(shù)據(jù)的聚合密文,并將其發(fā)送給SMi和SGMC 分別作為收據(jù)和憑證,其中|Ti|≤N×|t|。
當(dāng)SMi接收到后,先驗證的有效性。利用保存在本地的合同有效期限Ti內(nèi)的用電和發(fā)電總量以及每次上傳數(shù)據(jù)時生成的消息驗證碼和ri,t計算:
3.3.8 驗證和接收獎勵
當(dāng)接收到SGMC 發(fā)送的(P0,…,Pnr,m,σ)后,區(qū)塊鏈驗證者執(zhí)行以下步驟來驗證σ的有效性:
定理1(正確性)如果SGMC 是誠實的,那么通過調(diào)用算法1,能夠成功地將聚合密文恢復(fù)為明文。
證明令X3=M,則:
定理2(正確性)如果SGMC 和區(qū)塊鏈驗證者是誠實的,并且遵循所提出的方案,那么SGMC 的簽名就可以通過區(qū)塊鏈的驗證。
證明在SGMC 簽名的生成過程中,已知以下2 點。
定理3(不可偽造性)本文方案SMi來自SGMC的授權(quán),來自CCC 的收據(jù)和憑證,SMi上傳的密文數(shù)據(jù),以及SGMC 的環(huán)簽名都滿足了不可偽造性。
證明為了獲得高效的授權(quán)算法、收據(jù)和憑證生成算法,BONEH 等[18]提出在PKI 中的短簽名方案,該方案是可證安全的。對于SMi上傳的密文數(shù)據(jù),利用KRAWEZYK 等[19]提出密鑰相關(guān)的哈希運算消息認(rèn)證碼(Hash-based Message Authentication Code,HMAC)來確保密文數(shù)據(jù)的不可偽造性。在利用Paillier 密碼系統(tǒng)進行加密時,將HMAC 作為多維數(shù)據(jù)中的一種與電力數(shù)據(jù)一起加密。證明過程和KRAWEZYK 等人的證明過程類似。對于SGMC 的環(huán)簽名,利用WANG 等[20]提出的簽名方案,該方案是可證安全的,文獻[20]已給出詳細(xì)的證明過程。
定理4(機密性)SMi上傳的單個密文數(shù)據(jù)只能由SMi和SGMC 解密,聚合密文數(shù)據(jù)只能由SGMC 解密。
定理5(Ui的匿名性)在本文方案中,Ui是無條件匿名的。即使敵手的計算能力是無限的,它也無法識別Ui的真實身份。
證明基于合同的認(rèn)證階段,SMi提交的Conti不包含Ui的身份信息。選定的公鑰對(Ai,Bi)也和Ui的身份信息無關(guān)。在匿名認(rèn)證階段,SMi向CCC 提交(Conti,σi),而被提交的信息中心也不包含任何與Ui身份有關(guān)的信息。綜上所述,本文方案不需要Ui的身份信息且滿足Ui的匿名性。
定理6(SGMC 的匿名性)本文方案滿足SGMC 的匿名性。
證明基于定理5,本文從以下兩個部分來證明:
1)當(dāng)SGMC 有n1個輸出地址而所有的輸出地址都不屬于敵手時,由于哈希函數(shù)H1的性質(zhì),所有的一次 性公鑰都是隨機的。Ui對應(yīng)的獎勵被發(fā)送到隨機區(qū)塊鏈地址。因此,所有n1個輸出地址對于敵手都是隨機的,SGMC 的變化地址被識別的概率不超過(1/n1)。當(dāng)n2個輸出地址屬于敵手時,其他(n1-n2)個輸出地址對于敵手仍然是隨機的。SGMC 的變化地址被識別的概率不超過(1/(n1-n2))。
2)在匿名獎勵階段本文方案利用環(huán)簽名思想來實現(xiàn)SGMC 的匿名性。從最后發(fā)送給驗證者的簽名σ=(I,A,c0,…,cnr,r0,…,rnr) 中可以得知I=xs H2(Ps),ci,ri,i≠s是隨機的。也是隨機的。因此,如果SGMC 計算nr個區(qū)塊鏈地址的環(huán)簽名,SGMC 的匿名性可以被保證。
本文使用GMP(GMP-6.20)和PBC(pbc-0.5.14)的python 編程語言。本文實驗是在使用Intel(R)CoreTMi7-8750H CPU(2.20 GHz)、4 GB 內(nèi)存和運行unbuntu14.04 操作系統(tǒng)的個人計算機上進行的。為更好地對比系統(tǒng)各實體時間開銷,采用單線程方式編寫仿真程序。除上述仿真環(huán)境外,本文還利用Monero 區(qū)塊鏈和對應(yīng)的PKCs。對于PKI 中的PKCs,利用雙線性群對(G1,G2),其中G1被定義在有限域是階為160 bits 的超奇異橢圓曲線。同時,在Paillier 密碼系統(tǒng)中,|?1|=128 bits。本文方案整個流程的時間開銷如圖2 所示,合同期限內(nèi)電網(wǎng)用戶上傳數(shù)據(jù)的次數(shù)j=5,環(huán)簽名參與者數(shù)量nr+1=11,其中Total 對應(yīng)系統(tǒng)執(zhí)行一次方案中所有步驟時間開銷包括SMi、SGMC、CCC和Monero 區(qū)塊鏈的總和。從圖2 可以看出,該系統(tǒng)計算成本與用戶數(shù)量基本呈線性關(guān)系。
圖2 系統(tǒng)時間開銷Fig.2 Time cost of the system.
在匿名獎勵階段SGMC 和CCC 的時間開銷對比如圖3 所示。電網(wǎng)用戶Ui的數(shù)量為100,環(huán)簽名參與者數(shù)量nr+1=11。驗證和接收獎勵階段區(qū)塊鏈的時間開銷如圖4 所示。
圖3 匿名獎勵階段SGMC 和CCC 的時間開銷對比Fig.3 Time cost comparison of SGMC and CCC in anonymous reward
圖4 驗證和接收獎勵階段區(qū)塊鏈的時間開銷Fig.4 Time cost of blockchain in vertification and anonymous reward
2012 年,LU 等[6]提出基于超遞增序列構(gòu)造多維數(shù)據(jù)和同態(tài)Paillier 密碼技術(shù)的智能電網(wǎng)通信聚合方案EPPA。2019 年,WANG 等[20]提出 基于橢圓曲線的V2G 網(wǎng)絡(luò)匿名獎勵機制BBARS。本文方案、EPPA 方案、BBARS 方案安全屬性對比如表1 所示。從表1 可以看出,EPPA 方案可以在聚合器可信的前提下進行線性聚合,然而當(dāng)聚合器受到攻擊或自發(fā)修改密文數(shù)據(jù)時,EPPA 方案無法及時發(fā)現(xiàn)。本文方案基于半可信的第三方外包計算和儲存,即使CCC受到攻擊或自發(fā)修改密文數(shù)據(jù),電網(wǎng)管理中心也可以及時發(fā)現(xiàn)并更正。
表1 EPPA、BBARS 和本文方案的安全屬性對比Table 1 Security property comparison of EPPA,BBARS and the proposed schemes
BBARS、EPPA 和本文方案在數(shù)據(jù)聚合階段加密和解密的時間開銷對比如圖5 所示。從圖5 可以看出,BBARS、EPPA 與本文方案在數(shù)據(jù)聚合階段的加密和解密時間開銷均與用戶數(shù)量呈線性相關(guān)。由于BBARS 方案基于橢圓曲線,在解密時需解決涉及離散對數(shù)問題,因此時間開銷最大。本文方案與EPPA 方案都基于Paillier 同態(tài)加密算法,時間開銷近似,本文方案在加密時涉及可聚合驗證消息驗證碼的計算,因此時間開銷略大于EPPA 方案。
圖5 BBARS、EPPA 和本文方案加密和解密時間開銷對比Fig.5 Time cost of encryption and decryption comparison of BBARS,EPPA and the proposed schemes
針對智能電網(wǎng)數(shù)據(jù)聚合和激勵過程中存在的安全問題,本文提出一種基于Paillier 算法的智能電網(wǎng)數(shù)據(jù)聚合和激勵方案。采用超遞增序列設(shè)計多維同態(tài)加密算法,并加入可聚合驗證消息以保證聚合數(shù)據(jù)的真實性和完整性。此外,通過引入Monero 區(qū)塊鏈保護光伏發(fā)電獎勵時用戶和電網(wǎng)管理員的雙向匿名性和不可鏈接性。分析結(jié)果表明,本文方案安全高效,且其計算開銷與智能電網(wǎng)規(guī)模呈線性相關(guān)。后續(xù)將把可信計算技術(shù)引入云計算中心,進一步提高云計算的安全性和高效性。