• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    支持雙向選擇聚合的智能電網(wǎng)隱私保護方案

    2021-10-21 05:13:24吳立強包詩琦
    科學(xué)技術(shù)與工程 2021年28期
    關(guān)鍵詞:賬單密文電表

    王 玨, 楊 勇, 吳立強, 包詩琦

    (1.武警警官學(xué)院信息通信系, 成都 610213; 2.武警工程大學(xué)密碼工程學(xué)院, 西安 710086)

    智能電網(wǎng)是傳統(tǒng)電網(wǎng)的智能化,以實體電網(wǎng)設(shè)施和信息交互平臺為基礎(chǔ),整合各種實時生產(chǎn)和運營信息,加強對電網(wǎng)業(yè)務(wù)流動態(tài)的分析、診斷和優(yōu)化,并給出相應(yīng)的輔助決策支持,最大程度地實現(xiàn)精細、準(zhǔn)確、及時、績優(yōu)的電網(wǎng)運行和管理[1]。

    高級測量技術(shù)是智能電網(wǎng)的核心組成部分,包括智能電表、通信網(wǎng)絡(luò)、計量數(shù)據(jù)管理系統(tǒng)等。智能電表(smart meter,SM)根據(jù)預(yù)先設(shè)定的時間間隔(如15 min)測量多種電力計量值,如用電量、電壓、電流等。SM具有雙向通信功能,因此支持?jǐn)嚯妶蟾?、分時或?qū)崟r電價,甚至需求側(cè)響應(yīng)等高級應(yīng)用。

    用戶耗電數(shù)據(jù)是敏感信息,攻擊者從中可以推測出用戶是否在家、電器使用情況、生活方式及偏好等,因此,精細粒度的數(shù)據(jù)泄露會嚴(yán)重威對用戶隱私。

    數(shù)據(jù)聚合是解決上述矛盾的一個有效方法。典型的聚合模型中,智能電表實時地收集用電數(shù)據(jù),并周期性地發(fā)送給網(wǎng)關(guān)或者霧節(jié)點(通常被稱作聚合者),聚合者進行求和,將最終結(jié)果發(fā)送給控制中心(control center,CC),控制中心根據(jù)耗電總量實現(xiàn)預(yù)測分析、平衡調(diào)度等,但無法獲知單個用戶耗電數(shù)據(jù)。為了防止聚合者或者第三方獲取隱私數(shù)據(jù),智能電表通常先將數(shù)據(jù)加密再傳輸,聚合者在密文域上聚合,因此,聚合方案滿足加法同態(tài)性。

    數(shù)據(jù)聚合還應(yīng)提供賬單功能。在一個較長周期后,控制中心根據(jù)用戶在本周期內(nèi)的耗電量,結(jié)合價目表,計算付費賬單。在實時電價中,價目表每天甚至每小時都在變化,因此,提供動態(tài)賬單也是數(shù)據(jù)聚合的一項內(nèi)在需求。

    敏感數(shù)據(jù)的隱私保護一直是智能電網(wǎng)研究的熱點?,F(xiàn)有的數(shù)據(jù)聚合方法根據(jù)其功能性,可以劃分為3類。第一類是多維多子集數(shù)據(jù)聚合。Chen等[2]在一條報告消息中攜帶多種類型的數(shù)據(jù),支持單因素方差分析。朱嵩等[3]采用超遞增序列來構(gòu)造多維數(shù)據(jù),并采用同態(tài)Paillier算法實現(xiàn)了智能電網(wǎng)數(shù)據(jù)聚合和激勵方案。Alsharif等[4]提出了一種高效的、隱私保護的多維、多子集數(shù)據(jù)聚合方案。第二類是支持復(fù)雜運算的統(tǒng)計方法。這類數(shù)據(jù)聚合方法能夠支持求和、方差、最大/最小值、中位數(shù)、百分位數(shù)和計數(shù)。Nabil等[5]和Ibrahem等[6]針對數(shù)據(jù)聚合、動態(tài)計費、竊電檢測等不同需求,生成了不同私鑰,可解密相應(yīng)密文。Chen等[7]的方案能夠統(tǒng)計平均值、方差、單因素方差分析。Zhao等[8]基于格上同態(tài)加密方案,可實現(xiàn)更復(fù)雜和更高階的聚合。第三類是安全增強的數(shù)據(jù)聚合。Wang[9]提出了可驗證的數(shù)據(jù)聚合方法。Ni等[10]允許行為不端的智能電表發(fā)起錯誤數(shù)據(jù)注入攻擊,實現(xiàn)安全性和效率的平衡。Dimitriou等[11]考慮了惡意對抗模型,發(fā)現(xiàn)惡意實體不僅窺探敏感數(shù)據(jù),還破壞協(xié)議執(zhí)行。Ding等[12]構(gòu)建了基于身份的數(shù)據(jù)聚合方案。

    根據(jù)基于的同態(tài)加密技術(shù),數(shù)據(jù)聚合方案可以分為4類:①基于Paillier的聚合方案[2-3];②基于雙線性對或離散對數(shù)的聚合方案[9-14]; ③基于OTP (one-time pad)的聚合方案[11-16]; ④基于格的聚合方案[8-17]。

    從數(shù)據(jù)使用者來看,目前的耗電數(shù)據(jù)是智能電表產(chǎn)生的但是僅為控制中心所用。但是用戶端通常也需要一些數(shù)據(jù)統(tǒng)計。例如,采用新計價方式后,一個星期內(nèi)的電費(非正常計費周期)相比上一個計價方案是否降低;用戶每天耗電量的峰值。因此,數(shù)據(jù)聚合應(yīng)該具有雙向性,即聚合者不僅為控制中心聚合出用戶維度的實時數(shù)據(jù),還應(yīng)該為用戶統(tǒng)計出時間維度的電量值或者賬單。

    從數(shù)據(jù)源來看,目前的聚合對象是全部用戶的數(shù)據(jù),而無法聚合某個子集。但是,控制中心或用戶可能只關(guān)注某些子集數(shù)據(jù)。例如,控制中心只需要統(tǒng)計使用計價方案1或者工業(yè)用電的總量。聚合方案應(yīng)該支持選擇性聚合,用戶數(shù)據(jù)可以附帶一些屬性標(biāo)簽,聚合者根據(jù)標(biāo)簽進行篩選出相應(yīng)的數(shù)據(jù)源,再做聚合。

    從聚合結(jié)果來看,目前的聚合結(jié)果大都只給出耗電總和。分區(qū)間聚合不僅能夠呈現(xiàn)出每個區(qū)間的總電量,也能給出相應(yīng)區(qū)段用戶數(shù)量,給控制中心更豐富更細致的數(shù)據(jù)視圖。目前現(xiàn)存的多區(qū)間數(shù)據(jù)聚合方案[3-4]不能支持動態(tài)計費。因此,能夠支持動態(tài)電價的多區(qū)間聚合非常重要。

    本文方案采用雙霧節(jié)點聚合模型。通過修改的支持雙代理的重加密操作,霧節(jié)點能夠為控制中心和用戶提供服務(wù),支持雙向聚合。通過給數(shù)據(jù)附加屬性標(biāo)簽,支持選擇性聚合;通過修改分區(qū)間聚合方法,可支持計算動態(tài)電價。方案整合Paillier加密系統(tǒng)與離散對數(shù)困難假設(shè),利用Diffie-Hellman (DH)密鑰交換協(xié)議,以最小計算代價產(chǎn)生SM和霧節(jié)點、霧節(jié)點和CC之間的共享密鑰,以對稱密碼方法實現(xiàn)高效加密數(shù)據(jù),以哈希運算消息認(rèn)證碼(hash-based message authentication code,HMAC)實現(xiàn)數(shù)據(jù)完整性和來源可靠性的驗證,防止重放和錯誤數(shù)據(jù)注入攻擊。最后通過實驗,評估了方案性能。

    1 預(yù)備知識

    1.1 系統(tǒng)模型

    本文方案基于智能電網(wǎng)三層網(wǎng)絡(luò)框架,如圖1所示。主要涉及4類實體,包括密鑰生成中心、控制中心、霧節(jié)點和智能電表。

    圖1 雙霧節(jié)點模型Fig.1 Double fog nodes model

    (1)密鑰生成中心(KGC): KGC的職責(zé)是初始化Paillier密碼系統(tǒng),并為控制中心、智能電表和霧節(jié)點生成、分發(fā)私鑰。

    (2)控制中心(CC): CC具有強大的計算能力,負責(zé)收集、處理和分析各類電力數(shù)據(jù),并完成相應(yīng)的電網(wǎng)控制。

    (3)霧節(jié)點(FN):FN實現(xiàn)數(shù)據(jù)聚合;存儲用戶歷史數(shù)據(jù);選擇數(shù)據(jù)源,聚合數(shù)據(jù);計算賬單。每個小區(qū)包括2個霧節(jié)點,屬于不同的運營商,每個霧節(jié)點獨立工作。

    (4)智能電表(SM):每個用戶裝備一個智能電表。SM每隔一個固定間隔將收集的耗電數(shù)據(jù)加密,并附加一些用戶屬性標(biāo)簽發(fā)給霧節(jié)點,兩個霧節(jié)點收到的耗電數(shù)據(jù)相同。

    1.2 攻擊模型

    攻擊者包括誠實但好奇的內(nèi)部實體(CC、FN)和惡意的外部對手。密鑰生成中心是誠實可信的,智能電表是誠實且防篡改的。

    1.2.1 內(nèi)部實體

    FN和CC遵循協(xié)議,但是渴望獲取單個用戶的隱私。具體來說,F(xiàn)N收到一個加密報告,試圖推斷出用戶敏感數(shù)據(jù),并嘗試獲取總用電量。CC允許腐化單個霧節(jié)點,但不能同時腐化兩個霧節(jié)點。

    1.2.2 外部攻擊

    惡意的外部對手可能會竊聽通信信道,試圖獲取敏感信息,可能發(fā)起錯誤數(shù)據(jù)注入、重放攻擊等,甚至腐化CC獲取用戶隱私。

    1.3 設(shè)計目標(biāo)

    1.3.1 功能要求

    (1)雙向選擇性聚合。FN支持來自CC或SM的聚合請求,兩個霧節(jié)點獨立工作,根據(jù)給定參數(shù)選擇相應(yīng)數(shù)據(jù)源并進行最大/最小值、平均、計數(shù)等統(tǒng)計。

    (2)支持動態(tài)電價的區(qū)間聚合。聚合結(jié)果可分區(qū)間顯示,且可支持動態(tài)賬單。

    1.3.2 安全和隱私要求

    (1)單個用戶數(shù)據(jù)隱私保護。任何實體都不應(yīng)能訪問到單個用戶的耗電量。

    (2)聚合數(shù)據(jù)機密性。除CC外,任何實體都不能訪問總耗電量。

    (3)抗合謀。即使單個霧節(jié)點和CC相互合謀,也無法獲得單個用戶數(shù)據(jù)。

    (4)抗錯誤數(shù)據(jù)注入、重放攻擊。外部攻擊者無法對系統(tǒng)注入錯誤數(shù)據(jù),也無法進行密文重放。

    1.4 支持雙代理的代理重加密方案

    代理重加密[18-20]是通過一個半可信的代理,將原本屬于授權(quán)者的密文轉(zhuǎn)化為被授權(quán)者可以解密的密文,代理無法獲取明文信息。在新方案中,代理的角色由兩個霧節(jié)點來擔(dān)任,可以將原本SM的密文轉(zhuǎn)化為CC可以解密的密文。支持雙向代理重加密功能的數(shù)據(jù)聚合方案包括:Keygen、Enc、Dec1、RekeyGen、ReEnc、Dec2共6個算法,其過程如下。

    (1)密鑰生成算法Keygen(k):選擇兩個大素數(shù)p和q,滿足|p|=|q|=k,計算整數(shù)N=pq,選擇生成元g,系統(tǒng)公鑰為(N,g)。另外,隨機選擇私鑰xi和xcc,計算hi=gximodN2,hcc=gxccmodN2,其中mod表示取模運算。SMi和CC公鑰分別為hi和hcc,私鑰為xi和xcc。

    (2)加密算法Enc(h,m)→(C1,C2): 輸入待加密消息為m∈ZN和公鑰h,隨機選擇整數(shù)r∈[1,N/2] 計算出密文C1和C2,其中,C1=grmodN2,C2=hr(1+mN)modN2。

    (4)代理密鑰產(chǎn)生算法

    1.5 支持動態(tài)計費的多區(qū)間聚合

    將連續(xù)的電力消耗數(shù)據(jù)劃分為l個等價的子集R1=[r1,r2),R2=[r2,r3),…,Rl=[rl,L),r1=0,L-1為最大用電量。設(shè)有兩個超遞增序列{a1,a2,…,al}和{b1,b2,…,bl},其中ai和bi都是整數(shù)。

    (1)對于小區(qū)內(nèi)的每個用戶SMi,如果聚合周期內(nèi),它的耗電數(shù)據(jù)ei滿足ri≤ei

    解碼函數(shù)m=Decode(M)恢復(fù)ai和bi的系數(shù),如算法2所示??梢钥闯觯孩倬幋a函數(shù)和解碼函數(shù)具有加法同態(tài)性;②正確編碼和解碼的條件是aiΔmin≤ai+1且bin≤bii+1。即在整數(shù)域上,不同的區(qū)間不能出現(xiàn)重疊,否則解密混亂。

    (3)計算價格時,霧節(jié)點需要用電量乘以相應(yīng)價格,但這種線性運算在編碼條件下不成立。設(shè)某時刻電價為p,pEncode(ei)=pΔmiai+p|Ui|bi,若要正確解密,必須拓寬每個區(qū)段寬度,因此將超遞增序列生成方法修改為PmaxΔmiain≤ai+1和Pmaxbin≤bii+1,其中Pmax為聚合周期內(nèi)單位電價的最大值,Decode得到的是各個區(qū)間電價之和,再將所有區(qū)間值相加即可。支持動態(tài)計費的編碼和解碼如圖2所示。

    算法1 數(shù)據(jù)編碼Encode輸入:整數(shù)m,數(shù)據(jù)分段相關(guān)參數(shù){Ri}、{ai,bi}。輸出:編碼后的整數(shù)M。算法: 對于整數(shù)m∈[ri,ri+1),計算整數(shù)Δm=m-ri,輸出整數(shù)M=Δmai+bi。 算法2 數(shù)據(jù)解碼Decode輸入:編碼值M,數(shù)據(jù)分段相關(guān)參數(shù){Ri}、{ai,bi}。輸出:多區(qū)間聚合結(jié)果和相應(yīng)的用戶數(shù)量。算法: For i=l to 1 do |Ui|=(M-Mmodbi)/bi M=(M-bi|Ui|) end for For i=l to 1 do m=(M-Mmodai)/ai M=(M-aim) mi=m+ri|Ui| End for輸出{|U1|,|U2|,…,|Ul|}{m1,m2,…,ml}。

    圖2 支持動態(tài)計費的編碼和解碼Fig.2 Encoding and decoding supporting dynamic billing

    2 方案構(gòu)造

    2.1 設(shè)計思想

    新方案的功能如圖3所示,具體如下。

    圖3 方案功能Fig.3 Functionalities

    (1)實時電量聚合。在一個聚合周期內(nèi),智能電表測量用戶耗電量,然后使用自己公鑰加密,附加其他屬性標(biāo)簽,通過SM與單個霧節(jié)點共享的密鑰進行二次對稱加密,并轉(zhuǎn)發(fā)給兩個霧節(jié)點。霧節(jié)點解密后按照時間序列進行存儲。同時對電量密文進行重加密,并將所有轉(zhuǎn)化密文聚合后發(fā)送給CC,兩個霧節(jié)點獨立執(zhí)行上述操作。CC合并兩部分聚合密文,解密得到相應(yīng)聚合結(jié)果。

    (2)動態(tài)賬單。計算賬單時,霧節(jié)點從存儲的歷史數(shù)據(jù)中,取出本計費周期內(nèi)SMi所有電量密文,根據(jù)其用電性質(zhì)和選擇的計價方案,得到價目表,計算相應(yīng)費用并按時間序列聚合。最后,霧節(jié)點將計算結(jié)果的一個副本發(fā)送SMi,另一個副本進行重加密后發(fā)送給CC。SMi從兩個霧節(jié)點中的任意一個即可解密出賬單。而CC需要將兩個霧節(jié)點的數(shù)據(jù)聚合后,解密出相應(yīng)的賬單。

    (3)支持選擇性聚合。當(dāng)CC或者SM需要統(tǒng)計信息時,可以向霧節(jié)點發(fā)送統(tǒng)計請求,霧節(jié)點根據(jù)相應(yīng)參數(shù)產(chǎn)生數(shù)據(jù)源,并執(zhí)行相應(yīng)統(tǒng)計。在SM上報數(shù)據(jù)時,除了耗電量密文,還包括〈key: value〉形式定義的屬性標(biāo)簽,如〈用電性質(zhì):居民用電〉、〈計價方案:方案1〉等,利用這些屬性可以篩選出特定數(shù)據(jù)源。方案支持的詢問參數(shù)為(User,{〈k1,v1〉,〈k2,v2〉,…,〈kw,vw〉}, OP)。其中,User為本次詢問的發(fā)起者,可以是SMi或者CC,ki(1≤i≤w)為屬性名,vi(1≤i≤w)為相應(yīng)的屬性值,共有整數(shù)w組屬性。屬性標(biāo)簽用來過濾數(shù)據(jù),屬性匹配支持各類比較運算符,如“<”“=”“>”“>=”“!=”“<=”;多個屬性之間支持“and”“or”“not”等布爾運算。OP為統(tǒng)計類型,包括分區(qū)間計數(shù)、計算賬單、最大/最小值、求和等。表1定義了方案中相關(guān)參數(shù)含義。

    表1 參數(shù)含義

    2.2 電量聚合

    2.2.1 系統(tǒng)設(shè)置

    KGC根據(jù)安全參數(shù)k,選擇兩個大素數(shù)p和q滿足|p|=|q|=k,計算整數(shù)N=pq,選擇一個生成元g。約定聚合相關(guān)參數(shù),包括設(shè)置用電數(shù)據(jù)區(qū)間R1,R2,…,Rl,超遞增序列{a1,a2,…,al}和{b1,b2,…,bl},選定對稱加解密算法Dec和Enc,以及HMAC算法。系統(tǒng)發(fā)布相關(guān)參數(shù)。保留住密鑰{p,q}。

    2.2.2 用戶注冊

    SMs、FNs和CC在KGC處注冊。

    (1)KGC隨機選擇xcc∈(N/2,N)作為CC私鑰,計算hcc=gxccmodN2作為CC的公鑰。

    (2)KGC為SMi、FN1和FN2選擇它們的私鑰xi,xf,1,xf,2∈(N,N2/2)(i=1,2,…,n),計算相應(yīng)公鑰hi=gximodN2,hf,j=gxf,jmodN2(j=1,2),將私鑰通過安全信道發(fā)送給相應(yīng)實體。

    KGC將所有公鑰發(fā)布在一個公開目錄中,用戶可以查詢,但是不能修改。

    2.2.3 數(shù)據(jù)產(chǎn)生

    (2)用戶數(shù)據(jù)為datai=(SMi,Ci,1,Ci,t,Ts,{〈k1,v1〉,〈k2,v2〉,…,〈kw,vw〉}),其中為屬性標(biāo)簽。其中Ts為時間戳,在本次聚合周期內(nèi)保持不變。

    (3)SMi通過DH密鑰交換協(xié)議計算共享密鑰ki,j=(hf,j)ximodN2(j=1,2),通過偽隨機函數(shù)PRF(ki,j)→(EncKi,j,MacKi,j)衍生出2個密鑰(首次需要進行計算,之后可以緩存)。計算Ci,j=Enc(EncKi,j,datai‖HMAC(MacKi,j,datai))并發(fā)給FNj(j=1,2)。

    2.2.4 數(shù)據(jù)聚合

    (1)FNj(j=1,2)同樣基于密鑰交換協(xié)議,計算ki,j=(hi)xf,jmodN2, PRF(ki,j)→(EncKi,j,MacKi,j),計算Dec(EncKi,j,Ci,j)解密并使用MacKi,j驗證消息的來源和完整性。

    (2)獲取相應(yīng)數(shù)據(jù)datai=(SMi,Ci,1,Ci,2,Ts, {〈k1,v1〉,〈k2,v2〉,…,〈kw,vw〉}),按照時間序列存儲。

    霧中心的兩個霧節(jié)點獨立完成上述計算。

    2.2.5 解密

    (4)使用算法2解碼得到每個區(qū)間的總電量,以及相應(yīng)的用戶數(shù)量。

    正確性驗證可表示為

    2.3 動態(tài)賬單

    假設(shè)計費周期為T,當(dāng)一個計費周期結(jié)束后,計算用戶賬單。

    2.3.1 賬單生成

    霧節(jié)點FNj(j=1,2)選擇出SMi在T周期內(nèi)所有耗電數(shù)據(jù)(Ci,1,γ,Ci,2,γ),γ∈T,假設(shè)時刻γ電力單價為pγ,用戶本周期的電費總量為

    (1)

    (2)

    2.3.2 SM獲取賬單

    (3)

    計算Λ(P′)得到最終賬單值P,最后調(diào)用解碼算法3得到SMi的賬單。實際上,SMi只需要解密一個霧節(jié)點返回的賬單密文,即可得到賬單。

    算法3 擴展的數(shù)據(jù)解碼ExDecode輸入:編碼值M,數(shù)據(jù)分段相關(guān)參數(shù){Ri}、{ai,bi},以及操作符OP。輸出:相應(yīng)統(tǒng)計結(jié)果。算法: Setp1 調(diào)用Decode算法得到:{|U1|,|U2|,…,|Ul|}{m1,m2,…,ml}Step2 Case:OP=求最小值運算min 按照i=1,2,…,l的順序遍歷mi,找到索引w滿足|Uw|≠0,對應(yīng)數(shù)據(jù)為mw,返回mw/|Uw|; Case:OP=求最大值運算max 按照i=l,…,2,1的順序遍歷mi,找到索引w滿足|Uw|≠0,對應(yīng)數(shù)據(jù)為mw,返回mw/|Uw|; Case:OP=計數(shù)運算Count 返回∑lw=1Uw; Case:OP=求均值mean 返回∑lw=1mw∑lw=1Uw; Case:OP=賬單Bill or 求和運算SUM 返回∑lw=1mw。

    2.3.3 CC獲取賬單

    (4)

    計算Λ(P′)/2→P,最后調(diào)用解碼算法3得到SMi賬單。

    SMi賬單的正確性如下,CC賬單的正確性可以類似證明。

    (5)

    2.4 雙向選擇詢問

    霧節(jié)點具有較強的計算和存儲能力,能夠為CC聚合出用戶維度的實時統(tǒng)計,也可以為SM統(tǒng)計出時間維度的電量值或者賬單。基于屬性標(biāo)簽的方法,可以對數(shù)據(jù)源實施選擇,下面通過2個統(tǒng)計請求,解釋霧節(jié)點執(zhí)行相應(yīng)統(tǒng)計的過程。

    詢問1SMi統(tǒng)計過去3 d中用電量的峰值。

    請求參數(shù):{SMi;〈Ts≥Ts-288〉; Max},假設(shè)當(dāng)前的聚合時間點為Ts。當(dāng)霧節(jié)點收到這樣請求后,從數(shù)據(jù)庫中找到SMi在最近96×3=288個報告周期(假設(shè)每隔15 min報告1次,每天報告96次)內(nèi)生成的密文Ci,聚合并將結(jié)果返回給SMi。SMi使用算法3,計算出近似用電峰值。

    詢問2CC需要統(tǒng)計當(dāng)前周期,居民用電類型中選擇計價方案1用戶數(shù)量。

    請求參數(shù):{CC;〈計價方案=方案1〉,〈用電性質(zhì)=居民用電〉;Count},霧節(jié)點篩選出當(dāng)前聚合周期內(nèi),標(biāo)簽為 “方案1”和“居民用電”的所有Ci,進行重加密后聚合,將結(jié)果返回給CC。CC對兩部分密文進行聚合并解密。最后,調(diào)用算法3得到用戶數(shù)量。

    3 安全性分析

    3.1 機密性和完整性

    外部攻擊者無法獲取單個用戶數(shù)據(jù)和聚合結(jié)果,也無法重放和注入錯誤數(shù)據(jù)。假設(shè)一個攻擊者潛伏在小區(qū)中,能夠竊取SM和FN之間,以及FN和CC之間的通信。在公開信道上,攻擊者可以獲取對稱加密后的密文,其安全性根據(jù)Kerckhoff準(zhǔn)則,取決于密鑰的保密性。方案中的密鑰是通過DH密鑰交換協(xié)議獲取的。

    定理1在模數(shù)為N2的群上,計算性DH問題和判定性DH問題和大整數(shù)分解一樣困難[18]。

    因此攻擊者想要直接獲取對稱密鑰是不可能的,其困難性相對于分解大整數(shù)。DH密鑰交換最大的安全威脅來源于中間人攻擊,為此設(shè)立一個公開的、不可修改的電子公告板, KGC才有權(quán)限將用戶公鑰寫入,這就杜絕了外部攻擊者偽造公鑰進行冒充。除了對稱機制保證信息機密性,data中包含著時間戳,密文新鮮性可防范重放攻擊;采用HMAC機制能夠保證數(shù)據(jù)完整性和來源可靠性,可防止注入錯誤數(shù)據(jù)。

    3.2 隱私性

    用戶隱私數(shù)據(jù)能夠得到有效保護。

    (1)耗電數(shù)據(jù)是非常敏感的。數(shù)據(jù)產(chǎn)生后,用戶使用自己公鑰加密,這樣的密文只有SM可以解密。

    定理2如果判定性DH困難假設(shè)在ZN2群上成立,那么改進的Pailler加密系統(tǒng)是語義安全的[18]。

    原始數(shù)據(jù)是通過Pailler進行加密的,根據(jù)同態(tài)屬性,聚合后的密文仍然是一個合法的Paillier密文,僅從密文中恢復(fù)出明文信息是不可行的[19-20]。

    為了統(tǒng)計和計費,需要將用戶數(shù)據(jù)提供給CC,以明文形式給CC必然會泄露隱私,因此通過代理重加密技術(shù),代理將原本SM的密文轉(zhuǎn)化為CC可以解密的密文,轉(zhuǎn)化后立刻進行聚合,因此CC得到的是聚合密文,無法接觸到單個密文。在代理重加密中,如果CC和霧節(jié)點合謀的話,可以將單個密文隨意轉(zhuǎn)化成CC的密文。為解決這個問題,使用雙霧節(jié)點模型,即將密文的轉(zhuǎn)化權(quán)限分散給兩個霧節(jié)點,因此合謀需要CC同時腐化兩個霧節(jié)點。在假設(shè)中,這兩個霧節(jié)點屬于不同的運營商,考慮到霧節(jié)點和CC的信譽問題,同時腐化兩者是不可能的。

    (2)霧節(jié)點誠實執(zhí)行用戶數(shù)據(jù)篩選和轉(zhuǎn)化,但也渴望獲取用戶隱私。從兩個方面來防范霧節(jié)點,一方面SM提供的密文使用Paillier加密了,F(xiàn)N從密文恢復(fù)明文是不可行的;另一方面,每個霧節(jié)點僅擁有部分代理密鑰,無法成功轉(zhuǎn)化密文,也無法獲取明文信息,因此用戶的隱私是能夠得到有效保護的。

    4 性能評估

    通過測量SM、FN和CC的計算負荷來評估方案的性能,同時也給出通信和存儲開銷。在進行實驗分析時,代碼基于 Java BigInteger 進行開發(fā),仿真系統(tǒng)為Intel Core i7-7700HQ, 2.8 GHz CPU, 8 GB內(nèi)存的筆記本。Paillier同態(tài)密碼系統(tǒng)使用512位素數(shù)p和q,密文長度為2 048 bits。對稱加密算法為AES,使用SHA-256實現(xiàn)偽隨機函數(shù),選擇的Hmac為Javax.crypto.Mac庫中的HmacSHA1。在聚合周期內(nèi),每個電表耗電量為1 000之內(nèi)的一個隨機值,每隔15 min聚合一次,實驗測的基本運算耗時如表2所示。

    表2 基本運算耗時

    4.1 計算復(fù)雜度

    在常規(guī)聚合過程中,SM進行加密、FN進行重加密并聚合、CC進行解密。在SM的計算過程中,比較耗時的是Paliier加密和 DH密鑰生成,分別涉及2次和1次指數(shù)運算,但是DH密鑰生成只需要執(zhí)行一次,之后可緩存結(jié)果。同樣,F(xiàn)N可以緩存FN和SM之間的密鑰。FN運算中重加密過程需要涉及1次求逆運算和1次指數(shù)運算,其余都是乘法運算,執(zhí)行次數(shù)和數(shù)據(jù)量正向相關(guān)。解密過程中,僅需要1次求逆運算和1次指數(shù)運算。

    將本文方案和FESDA[21]方案進行對比,F(xiàn)ESDA是基于標(biāo)準(zhǔn)Paillier構(gòu)造的典型數(shù)據(jù)聚合方案。圖4為兩個方案隨著電表數(shù)量的增加,SM平均加密時間、FN的聚合時間、CC解密時間的對比??梢钥闯觯疚姆桨钢兄悄茈姳淼倪\算量要比FESDA低很多,而霧節(jié)點的計算量要比FESDA高出很多,而現(xiàn)實中,智能電表是資源受限設(shè)備,而FN具有一定的計算和存儲資源,因此,本文方案更為實用。

    圖4 本文方案和FESDA效率比較Fig.4 The efficiency comparison between the proposed scheme and FESDA

    在計算動態(tài)賬單時,霧節(jié)點能夠根據(jù)實時電價生成動態(tài)賬單,假設(shè)聚合周期內(nèi)電費單價是1 000之內(nèi)的隨機數(shù),用戶數(shù)量分別從100增加到1 000,其FN進行電量聚合和賬單聚合的耗時如圖5所示??梢钥闯?,兩者計算量相差不大。

    圖5 FN實現(xiàn)電量聚合和動態(tài)賬單的耗時比較Fig.5 Time comparison between power aggregation and dynamic billing for FN

    4.2 通信和存儲負荷

    對CC和FN之間、FN和SM之間的通信負荷以及存儲負荷進行評估。耗電密文在模N2后,為2×2 048 bits。假設(shè)智能電表的序列號為64 bits,時間戳為128 bits,有10個屬性對,每個屬性標(biāo)簽長度為256 bits,生成的Mac值為256 bits,對稱加密不存在密文擴展。因此,在一個聚合周期內(nèi),每個SM發(fā)送給單個FN的數(shù)據(jù)量大約為7 104 bits。而單個FN聚合后,發(fā)送給CC的聚合密文為2×2 048 bits,加上時間戳和Mac值,共計4 496 bits。

    在存儲方面,每個SM需要存儲自己私鑰 2 048 bits,同時需要緩存與每個霧節(jié)點的共享DH密鑰,是2×2 048 bits,因此每個SM的存儲負荷為6 KB。單個FN需要存儲的共享密鑰為(n+1)2 048 bits,其中整數(shù)n為SM的數(shù)量;存儲的重加密密鑰為n×2 048 bit;私鑰2 048 bits,共計2(n+1) KB??刂浦行腃C只需要存儲自己的私鑰,以及與兩個霧節(jié)點共享DH密鑰的緩存,共計為3 KB。

    可以看出,通信量主要集中在FN和SM之間,在霧節(jié)點模型中,它們之間僅一跳,傳輸效率高。而大部分存儲負荷也集中在FN處,新方案充分利用了霧計算的優(yōu)勢。

    5 結(jié)論

    針對智能電網(wǎng)中用戶數(shù)據(jù)安全和隱私保護問題,提出了一種支持雙向選擇聚合和動態(tài)電價的智能電網(wǎng)隱私保護方案。其中霧節(jié)點不僅能夠?qū)⒂脩艉碾娏窟M行安全聚合,為控制中心提供決策支持,也能夠計算動態(tài)電價,統(tǒng)計用戶歷史耗電數(shù)據(jù),為用戶提供信息服務(wù),具有雙向服務(wù)的能力。另外,基于代理重加密技術(shù),首次提供了智能電網(wǎng)數(shù)據(jù)的選擇性聚合。實驗表明,新方案充分利用霧計算的優(yōu)勢,降低了智能電表端的計算量,有較強實用價值。

    猜你喜歡
    賬單密文電表
    一種針對格基后量子密碼的能量側(cè)信道分析框架
    巧判電表測量對象
    一種支持動態(tài)更新的可排名密文搜索方案
    電表“對”與“錯”歸類巧掌握
    基于模糊數(shù)學(xué)的通信網(wǎng)絡(luò)密文信息差錯恢復(fù)
    賬單式小康
    中外文摘(2020年2期)2020-11-12 12:02:19
    賬單式小康
    群眾(2019年2期)2019-03-11 06:29:40
    又至一年“賬單”發(fā)布時
    中國公路(2017年14期)2017-09-26 11:51:35
    看電表
    閩南媽媽的“生娃”賬單
    海峽姐妹(2016年1期)2016-02-27 15:14:56
    毕节市| 广宗县| 婺源县| 二连浩特市| 湘乡市| 噶尔县| 元氏县| 郑州市| 聂荣县| 荆州市| 彰武县| 神木县| 罗甸县| 梓潼县| 绥滨县| 崇明县| 房山区| 禄丰县| 涪陵区| 平江县| 晋城| 织金县| 塘沽区| 竹溪县| 株洲市| 阳西县| 积石山| 巍山| 澎湖县| 花莲市| 洛阳市| 黑河市| 托克托县| 色达县| 锡林郭勒盟| 永寿县| 彝良县| 台北市| 湖口县| 太原市| 泰州市|