?

霧輔助智能電網中容錯隱私保護數據聚合方案①

2022-11-08 01:36謝金宏陳建偉林力偉張美平
計算機系統應用 2022年10期
關鍵詞:密文發送給攻擊者

謝金宏,陳建偉,林力偉,張美平

1(福建師范大學 計算機與網絡空間安全學院,福州 350117)

2(福建師范大學 福建省網絡空間安全與密碼技術實驗室,福州 350117)

3(福建師范大學 數字福建大數據安全技術研究所,福州 350117)

4(福建工程學院 計算機科學與數學學院,福州 350118)

隨著網絡技術和微電子技術的發展,智能電網應運而生,它作為下一代電網技術受到世界各國的廣泛關注.在我國智能電網已經成為國家重大發展戰略之一,2019年,國家電網提出要求全面加快智能電網建設的戰略部署,隨后國有電力企業投入大量的人力、物力和財力開展相關研究和試點工作[1].智能電網將傳統電網與信息技術相融合,支持雙向通信,能夠對發電、輸電和用電的實時狀況進行采集和分析,通過信息流和能量流的雙向控制實現能源優化,并且減少碳排放量,與新時代的環保理念相呼應[2].

智能電網周期性的收集智能電表的數據并在遠程云服務器上進行處理和分析.然而,智能電網規模的不斷擴大,實時數據量的急劇增加,使得有限的帶寬資源無法滿足遠程云服務器實時數據處理對傳輸低延時的要求.2012年,“霧計算”的概念由思科公司率先提出,相比于單一的云計算架構,霧計算在延遲、聚合、位置感知和地理分布提供了額外的能力.基于該計算模式,智能電表數據上傳到云服務器之前,先在霧節點進行數據聚合處理,從而節約了帶寬資源,滿足實時數據處理的需求.

然而,霧輔助智能電網的架構仍然存在用戶隱私泄露的風險.在整個數據收集過程中,智能電表周期的上報用戶電量數據(如10-15 min 上報一次[3]),大量細粒度的電量數據使得惡意的攻擊者可以推斷出用戶的行為活動、生活習慣、經濟狀況以及其他一些隱私信息.例如,結合電器電力消耗情況在時間維度上的關聯性,可表征用電設備的使用情況,而此類隱私信息將被第三方用于提供準確的商業營銷,以及被惡意人員用于判斷用戶是否居家從而實現入室盜竊.而霧輔助智能電網的架構因為引入了第三方公司提供的霧節點,如Cisco,反而使得隱私泄露的風險增大[4].

為了保護用戶的隱私,一些學者提出了輕量級的數據聚合方案[5-7].此類方案將一組和為零的隨機整數作為盲因子分配給智能電表和聚合器,智能電表利用盲因子對電量數據進行加密,聚合器消除盲因子得到聚合密文,最后控制中心解密獲得聚合結果.在這個過程中,控制中心無法得到任一智能電表的具體數據,在一定的程度上保護了用戶的隱私.但如果其中一個智能電表故障,或者網絡連接中斷,數據提交失敗,將使得整個密文聚合過程中的盲因子無法消除,導致控制中心無法獲得正確聚合結果,因而方案不具備容錯功能.

一些學者提出其他類別的數據聚合方案,并嘗試解決容錯問題,但由于內在的運行機制,給系統帶來額外的計算開銷或者通信開銷.文獻[8]中,Xue 等人提出了一種無可信權威中心的數據聚合方案,該方案對隱私數據進行同態加密,并通過Shamir 秘密共享方案實現了容錯功能.但方案容錯機制中用戶組重新協商密鑰的過程將占用額外的計算和通信資源.Wang 等人[9]提出一種支持容錯的多子集數據聚合方案,該方案同樣存在效率較低的問題.當某些智能電表無法正常工作時,聚合器將發布事件和故障智能電表的標識,隨后相關區域內的智能電表必須重新協商更新盲因子,再加密數據后上報,這些給系統帶來了額外的開銷.Lyu 等人[10]提出了一種霧計算架構下的差分隱私數據聚合方案,該方案使用OTP(one-time-pad)加密算法和高斯機制來最小化數據隱私泄露.但該方案每次執行加密操作之前需要生成新的密鑰; 并且當設備出現故障需要容錯處理時,需要霧節點和可信任中心進行交互,這些都給系統帶來額外的負擔.另外,這類滿足差分隱私的數據聚合方案[10,11],往往只能得到數據聚合結果的近似值,方案設計者需要在數據隱私性和可用性之間取得一個平衡.

此外,整個數據收集應用系統部署在大范圍復雜的環境下,容易受到各種外部攻擊.Pan 等人[12]利用中國剩余定理實現了多維數據聚合,但該方案無法抵御篡改和偽造等攻擊,不能保證數據的完整性.Li 等人[13]基于Paillier 同態加密算法提出了一種多子集的隱私保護數據聚合方案,但該方案無法確認數據源的合法性和確保數據的完整性,給系統帶來了安全隱患.

針對現有方案存在的不足,本文提出了一種新的高效隱私保護數據聚合方案.本文工作包含以下3 點:(1)將BGN 同態加密算法和Shamir 秘密共享方案進行巧妙地結合,構建了擴展的BGN 同態加密算法,確保了用戶數據的隱私性.(2)實現了兩種容錯措施,當智能電表端電量數據無法到達服務端時,或者服務端云服務器出現故障時,系統還能繼續運作.(3)基于橢圓曲線離散對數困難問題構造了高效的簽名認證方法,實現了數據完整性和數據源合法性的有效驗證.此外,采用標量乘法運算代替較為耗時的雙線性配對運算,極大提高了方案計算效率.理論分析和性能實驗證明了本文方案的安全性和有效性.

1 預備知識

在本節中,簡要回顧相關的背景知識,包括BGN加密算法、Shamir 秘密共享方案和橢圓曲線離散對數困難問題.

1.1 BGN 加密算法

BGN 加密算法[14]是Boneh、Goh 和Nissim 于2005年提出的一種同態加密算法,該算法支持無限次加法運算但最多只支持一次乘法運算,它由以下3 個子算法構成:

密鑰生成: 給定安全參數τ ∈Z+,運行算法?(τ)得到元組(p,q,G),其中,p和q是2 個不同的大素數,G是N=pq階的乘法循環群.隨機選取G的2 個生成元g和x,并計算χ=xq.最后公布公鑰PK=(N,G,g,χ),保存私鑰SK=p.

明文加密: 給定消息m∈[0,M],M<q,選取隨機數r∈[0,N-1],計算密文C=gmχr.

密文解密: 使用私鑰SK=p解密密文C,計算Cp=(gmχr)p=gmp(xpq)r=(gp)m,令g1=gp,則Cp=g1m,隨后使用Pollard’s Lambda 算法[15]求解離散對數得到明文m.

1.2 Shamir 秘密共享方案

Shamir 秘密共享方案[16]存在管理者和k個參與者,秘密θ被管理者劃分為k個碎片,只有當秘密的碎片數達到給定的閾值d+1才能恢復出秘密θ.方案由以下兩部分組成.

秘密分發: 管理者通過以下多項式對秘密進行分發:

其中,σ是一個大素數,秘密θ為f(x)的常數項,即θ=f(0).管理者為每個參與者選擇一個公開值xi,并計算子份額yi=f(xi),隨后將份額(xi,yi)發送給相應的參與者.

秘密重構: 任意不少于d+1個參與者通過拉格朗日插值法可重構出秘密θ,如下所示:

1.3 困難問題

橢圓曲線離散對數問題(elliptic curve discrete logarithm problem,ECDLP):G1為定義在橢圓曲線E上的ω 階循環群,存在B=αP,其中P,B∈G1,α ∈Zω*,在已知B和P的情況下求出整數α使其滿足B=αP屬于ECDLP.

橢圓曲線離散對數問題假設(elliptic curve discrete logarithm assumption,ECDLA): 不存在算法能夠在多項式時間內以不可忽略的優勢ε解決橢圓曲線離散對數問題.

2 模型與目標

2.1 系統模型

智能電網下典型的系統模型如圖1 所示,其中包含4 種實體對象,即智能電表、霧節點、云服務器和可信任機構.

圖1 系統模型

智能電表(SM): 周期性地收集用戶用電數據,并將加密數據提交給霧節點.

霧節點(FN): 負責對SM的數據進行合法性認證(包括數據源認證和數據完整性認證),并對加密數據進行聚合計算.

云服務器(CS): 由一組服務器CSj組成,其中j=1,2,···,k,k≥3,在這組服務器中選舉計算資源最大的服務器作為主服務器,讓其負責FN和SM的注冊以及對FN數據的認證,并對聚合的密文進行解密.

可信任機構(TA): 是可信任的第三方實體對象,負責生成系統所需參數并分配給相應實體對象.

2.2 安全模型

安全模型包含以下兩點假設:

1)SM被認為是完全可信的,而FN和CS則設定為“誠實且好奇”的角色,即FN和CS能正確的執行協議,但他們仍嘗試各種方法推斷用戶的隱私數據.

2)惡意的攻擊者可能對CS進行攻擊并使其癱瘓.由于CS是強大的實體,攻擊者破壞CS需要付出極大的代價,因此假設攻擊者只能破壞或妥協一定數量的CS,即不超過,但系統仍然有(k-d)個CSj用來恢復聚合數據,其中,k-d≥d+1.

2.3 設計目標

根據安全模型中的假設,同時考慮到系統內各實體之間傳輸的信道是不安全的,惡意的攻擊者可能發起數據修改、數據偽造以及重放攻擊等.方案應實現以下設計目標:

1)隱私性: 應確保授權的實體能獲得聚合數據,但不能獲得單一用戶的具體數據,同時又要防止沒有授權的外部實體竊取用戶的隱私數據.

2)容錯性: 部分智能電表可能會出現故障或因為網絡波動等原因導致數據無法正常上傳,部分服務器也可能受到惡意攻擊而停止工作.所提聚合方案應具備容錯功能以保證聚合方案能夠有條不紊地進行.

3)完整性: 攻擊者可能竊取數據進行修改,并利用錯誤的數據進行犯罪,消息接收方應能檢測接收的數據是否被篡改.

4)認證性: 攻擊者可能偽裝成合法實體發送錯誤信息,消息接收方應能認證發送方是否為合法實體.

3 具體方案

所提方案包含6 個階段: 初始化階段、注冊階段、數據收集階段、數據聚合階段、數據解密階段和容錯處理階段.

3.1 初始化階段

TA 通過執行以下步驟生成系統所需參數.

步驟1.給定安全的參數τ ∈Z+,TA 運行算法?(τ)得到元組(p,q,G),其中p和q是2 個不同的素數,G是N=pq階的乘法循環群.TA 選取G的3 個隨機生成元η、g和u,并計算χ=uq.

步驟2.設Fρ是一個有限域,ρ是素數,TA 定義橢圓曲線E:y2=x3+ax+bmod ρ,其中a,b∈Fρ.TA 從E上選取一個階為 ω的加法循環群G1,P為G1的生成元,TA 選取隨機數β ∈Zω*并計算公鑰Ppub=βP.

步驟3.T A 選取隨機數λ ∈Zω*,計算Pcs=λP.TA 將(λ,Pcs)作為所有CS共同的私鑰和公鑰,并通過安全信道發送給所有CS.

步驟4.TA 選取3 個安全的哈希函數H1,H2,H3:{0,1}*→Zω*.

步驟5.TA 使用偽隨機數生成器生成n+1個偽隨機數π0,π1,···,πn∈Zω*,偽隨機數滿足下式關系:

TA 將πi和 π0分別作為SMi和CS 的密鑰并通過安全通道發送給SMi和CS,隨后TA 計算Qi=ηπi并發送給CS.

步驟6.TA 利用 π0生成哈希值h1=H1(π0)并計算p·h1,隨后將其作為密鑰嵌入隨機生成的d次多項式函數:

其中,ai∈Zn,σ是一個素數.TA 將F(xj)和lj(0)作為CSj的私鑰并通過安全通道發送給CSj,其中lj(0)=

步驟7.TA 公布系統參數(ω,η,g,h1,N,G,G1,P,Ppub,χ,Hi:i=1,2,3).

3.2 注冊階段

為了成為系統的合法實體,SMi和FNi分別向CS進行注冊.詳細的步驟如下:

(1)SMi注冊

步驟1.SMi的身份標識為idi,SMi隨機選擇私鑰vi∈Zω*和ri∈Zω*,計算公鑰Ri=riP,并計算簽名:

SMi獲取當前的時間戳treq,隨后將(idi,Vi,Ri,si,treq)通過安全通道發送給CS.

步驟2.CS在收到注冊請求消息(idi,Vi,Ri,si,treq)后,如果檢查時間戳為最新,則驗證式(7)是否成立:

如果式(7)成立,CS將參數Pcs發送給SMi,以此證明其為合法實體.

(2)FNi注冊

步驟1.FNi的身份標識為idFN,FNi隨機選擇私鑰vFN∈Zω*和rFN∈Zω*,計算公鑰RFN=rFNP,并計算簽名:

FNi獲取當前的時間戳treq,并將(idFN,VFN,RFN,sFN,treq)通過安全通道發送給CS.

步驟2.CS在收到注冊請求消息(idFN,VFN,RFN,sFN,treq)后,如果檢查時間戳為最新,則驗證式(9)是否成立:

如果式(9)成立,CS將參數Pcs發送給FNi,以此證明其為合法實體.

3.3 數據收集階段

SMi周期性地(如每隔15 min)收集用電數據mi∈ZN*,隨后對數據mi進行加密,并生成相應的簽名,SMi執行如下步驟.

步驟1.SMi收集實時的用電數據,隨后選擇一個隨機數di∈ZN*并結合πi對數據進行加密:

步驟2.SMi選取隨機數wi∈Zω*并計算簽名:

其中,ti為當前的時間戳.

步驟3.SMi將(idi,Vi,Ri,Wi,ci,ei,ti)發送給FNi.

3.4 數據聚合階段

在收到n個SMi發送的消息(idi,Vi,Ri,Wi,ci,ei,ti)后,FNi開始執行以下步驟.

步驟1.FNi先檢查ti是否有效,如果無效,輸出拒絕.否則,驗證式(12)是否相等:

為了提高驗證速度,將在FNi上運用小指數測試技術[17]對消息進行批量驗證.FNi隨機選擇一系列的小數o1,o2,···,on∈[1,2n],并驗證式(13)是否成立:

步驟2.如果式(13)成立,FNi將對密文進行聚合:

步驟3.FNi選取隨機數wFN∈Zω*并計算簽名:

步驟4.FNi將(idFN,VFN,RFN,WFN,Cγ,eFN,ti)發送給CS.

3.5 數據解密階段

在收到FNi發送的消息(idFN,VFN,RFN,WFN,Cγ,eFN,ti)后,CS將執行以下步驟.

步驟1.CS先檢查ti是否有效,如果無效,則輸出拒絕.否則,驗證式(16)是否成立:

步驟2.如果式(16)成立,主服務器使用密鑰 π0進行解密操作:

步驟3.各個服務器CSj利用{lj(0),F(xj)}計算φj=lj(0)F(xj),其中:

隨后主服務器負責收集所有的 φj進行密鑰重構,得到密鑰ph1(只有主服務器被妥協或自然宕機,才進行新一輪的主服務器選舉以及密鑰的重構):

步驟4.主服務器通過使用密鑰ph1進行解密:

步驟5.主服務器使用Pollard’s Lambda 方法[15]求解式(20)獲得數據聚合值:

3.6 容錯處理階段

服務器端容錯: 系統部署了k臺服務器進行協同工作.正如安全模型的假設,在最壞情況下攻擊者也只能破壞或妥協d個服務器并獲得它們的私鑰{lj(0),F(xj)},但本著Shamir 秘密共享方案“全有或全無”的屬性,至少需要d+1個份額才能重構密鑰ph1進行解密,系統仍有k-d(≥d+1)個服務器能正常進行解密,保證聚合方案能夠有條不紊地進行.

智能電表端容錯: 當部分SM數據無法正常發送,FN仍然能進行數據聚合,CS也能將密文進行解密.假設用戶總數為U,未能正常上傳數據的用戶為具體步驟如下.

步驟1.FN聚合的密文為:

步驟2.FN將和發送給CS,隨后CS計算:

步驟3.CS計算聚合密文C:

步驟4.同數據解密階段,CS可獲得數據聚合值:

4 安全性分析

結合文獻[18,19]中的加密模型,本節將證明在隨機預言機模型下本方案具有不可偽造性,并在此基礎上對本方案是否實現所提的設計目標進行分析.

4.1 安全屬性說明

安全屬性(不可偽造性)通過挑戰者 C和攻擊者A 之間的博弈來定義.挑戰者 C和攻擊者 A在進行博弈的過程中,攻擊者 A向挑戰者 C發起以下查詢:

hash查詢: 在C 中存在列表LHi,其中i=1,2,3,后文將會詳細說明.在A 的查詢下,C返回隨機值給A .

CreateS Mi查詢: A輸入idi,C生成相對應SMi的公鑰、私鑰和偽隨機數并發送給A .

ExtractS Mi查詢: A輸入idi,C生成相對應SMi的私鑰并發送給A .

Signcrytion查詢: A輸入SMi的明文mi,C生成相對應SMi的密文ci并發送給A .

Designcrytion查詢: C對密文ci進行解密,隨后將明文mi發送給A .

上述查詢是自適應的,即每次查詢都可以根據上一次的詢問結果進行調整.

博弈.自適應選擇消息攻擊下具有不可偽造性(existentially unforgeable under the adaptive chosen message attack,EUF-CMA)由以下博弈定義:

設置: C生成系統所需參數并發送給A ,A選擇一個挑戰者的身份idi′并發送給C .

查詢: A可以進行hash查詢,CreateSMi查詢,ExtractSMi查詢,S igncrytion查詢和Designcrytion查詢,但不能使用挑戰者的身份idi′進行ExtractSMi查詢和Designcrytion查詢.

偽造: A用挑戰者的身份idi′輸出一個有效的密文ci.

攻擊者A 想贏得博弈,需滿足以下條件:

1)A從 未使用挑戰者的身份idi′進行ExtractSMi查詢.

2)輸出的密文ci是有效的.

定義1.不可偽造性: 若不存在攻擊者 A能夠在多項式時間內以不可忽略的優勢ε贏得上述博弈,則所提方案在自適應選擇消息攻擊下具有不可偽造性.

4.2 安全屬性證明

定理1.基于橢圓曲線離散對數問題,所提方案能夠抵抗自適應選擇消息偽造攻擊.

證明: 假設攻擊者 A能夠在多項式時間內以不可忽略的優勢ε贏下上述博弈,則證明在自適應選擇消息偽造攻擊下,存在挑戰者 C可以解決橢圓曲線離散對數問題(ECDLP).

設置: 假定提供一個橢圓曲線離散對數問題(ECDLP)的實例(P,B=αP).C選擇一個挑戰者的身份idi′,隨機選擇β ∈Zω*計算Ppub=βP,隨后將生成的系統參數(ω,η,g,h1,N,G,G1,P,Ppub,χ,α,Hi:i=1,2,3)和身份idi′一起發送給A .

查詢: 在博弈中,為了及時回應A ,C進行以下查詢:

H1查詢: 列表LH1由元組(π0,h1)構成,C首先檢查(π0,h1)是否存在于LH1中.如果存在,C將LH1中的數據h1=H1(π0)返回給A .否則,C將隨機選取h1∈Zω*存入列表LH1,并返回h1給A .

H2查詢: 列表LH2由元組(idi,Vi,Ri,Ppub,h2,i)構成,當A查詢(idi,Vi,Ri,Ppub)時,C首先檢查(idi,Vi,Ri,Ppub,h2,i)是否存在于LH2中.如果存在,C將LH2中的數據h2,i=H2(idi||Vi||Ri||Ppub)返回給A .否則,C將隨機選取h2,i∈Zω*存入列表LH2,并返回h2,i給A .

H3查詢: 列表LH3由元組(idi,Pcs,Vi,Wi,ci,ti,h3,i)構成,當 A查詢(idi,Pcs,Vi,Wi,ci,ti)時,C首先檢查(idi,Pcs,Vi,Wi,ci,ti)是否存在于LH3中.如果存在,C將LH3中的數據h3,i=H3(idi||Pcs||Vi||Wi||ci||ti)返回給A .否則,C將隨機選取h3,i∈Zω*存入列表LH3,并返回h3,i給A .

CreateSMi查詢: 列表LSMi由元組(idi,vi,Vi,ri,Ri,si,πi)構成,當A 查詢SMi的idi時,C首先檢查(idi,vi,Vi,ri,Ri,si,πi)是否存在于LSMi中.如果存在,C將LSMi中的數據(Vi,Ri)返回給A .否則,C將執行以下過程:

1)如果idi′≠idi,C隨機選取vi,ri,h2,i,πi∈Zω*,計算Vi=viP,Ri=riP和si=vi+rih2,i,隨后分別將(idi,Vi,Ri,h2,i)和(idi,vi,Vi,ri,Ri,si,πi)存入列表LH2和LSMi,最后C 將(Vi,Ri)返回給A .

2)否則(idi′=idi),C隨機選取si,h2,i,πi∈Zω*,計算Vi=viP,Ri=αP和siP=Vi+Rih2,1,隨后分別將(idi,Vi,Ri,h2,i)和(idi,vi,Vi,⊥i,Ri,si,πi)存入列表LH2和LSMi.最后C將(Vi,Ri)返回給A .

ExtractSMi查詢: 當A 查詢SMi的idi時,C首先檢查idi和idi′是否相等.如果是,游戲結束.否則,C將檢查在列表LSMi中的(idi,vi,Vi,ri,Ri,si,πi),并將(ri,si,πi)返回給A .

S igncrytion查詢: 當A 輸入數據mi時,C首先檢查idi′和idi是否相等.如果相等,C隨機選擇ei,h2,i,h3,i∈Zω*,計算和Vi=eiP-(h2,iRi+h3,iWi),隨后 C分別將(idi,Vi,Ri,Ppub,h2,i)和(idi,Pcs,Vi,Wi,ci,ti,h3,i)存入列表LH2和列表LH3.最后 C將密文(Vi,Wi,ci,ei,ti)返回給 A.否則,C根據本方案的既定流程生成密文(Vi,Wi,ci,ei,ti)并返回給A .

Designcrytion查詢: 當A 輸入密文ci時,C首先檢查idi和idi′是否相等.如果相等,游戲結束.否則,C按照本方案既定流程對密文進行解密.

偽造: A以SMi的idi偽造并輸出密文(Vi,Wi,ci,ei,ti),其中:

C首先檢查idi和idi′是否相等.如果相等,游戲結束.否則,基于交叉引理[20],C 在選擇不同的哈希函數H2下可以輸出有效密文(Vi,Wi,ci,e′i,ti),可得:

根據式(26)和式(27)可得:

最后,C輸出α=(h2,i-h′2,i)-1(ei-e′i)作為橢圓曲線離散對數問題(ECDLP)解決方案.

優勢分析: 為了評估挑戰者C 解決橢圓曲線離散對數問題(ECDLP)的優勢,進行了以下3 個操作:

O1: 在進行ExtractSMi和Designcrytion查詢過程中,C不會停止上訴博弈.

O2: 進行上述查詢時idi和idi′相等.

O3: A偽造出合法密文.

根據以上操作,可得出優勢分別為Pr[O1]=(1-1/qH2)qe+qd、Pr[O2|O1]=1/qH2和Pr[O3|O1∧O2]=ε,其中qH2、qe和qd分別表示H2查詢次數、ExtractSMi查詢次數和Designcrytion查詢次數.因此,C解決橢圓曲線離散對數問題(ECDLP)的優勢為Pr[O1∧O2∧O3]=Pr[O3|O1∧O2]Pr[O2|O1]Pr[O1]=ε·1/qH2·(1-1/qH2)qe+qd.因為優勢ε是不可忽略的,所以優勢Pr[O1∧O2∧O3]也是不可忽略的,但這與橢圓曲線離散對數困難問題相矛盾.因此假設不成立,證得所提方案具備不可偽造性.

4.3 設計目標分析

本節將證明方案實現了第2.3 節所提出的設計目標,即隱私性、完整性、認證性和容錯性.

隱私性: 在數據收集階段,數據mi通過式(10)加密成規范且有效的BGN 密文.BGN 加密算法被證明在子群決策假設下是語義安全的[14],即使密文被攻擊者竊聽或攔截,也無法在多項式時間內破解密文; 在加密時選取的偽隨機數 πi是由TA隨機生成的,攻擊者無法獲取全部的偽隨機數用以消除密文中的ηNπi; 并且根據安全模型的假設,惡意的攻擊者最多只能妥協d個服務器,所以攻擊者無法重構秘密ph1進行解密.因此,密文中的數據是語義安全的.另外,本方案利用密文的同態性在霧節點對密文進行聚合操作,避免了“誠實且好奇”的霧節點從中獲取單一用戶的隱私數據,而CS也只能從聚合數據中解析出總聚合數據,仍無法獲得單一用戶的隱私數據.因此,所提方案具有隱私保護功能.

完整性: 在方案的數據生成和數據聚合階段,SMi和FN分別生成數字簽名(Wi,ei)和(WFN,eFN),FN和CS會對收到的簽名進行驗證.由定理1 可知,任何的攻擊者都不能偽造出有效的數字簽名,一旦數字簽名中的數據被篡改,篡改數據將會被及時檢測.因此,所提方案能夠確保數據的完整性.

認證性: 在方案的注冊階段,SM和FN的注冊信息由CS進行驗證,隨后CS會將參數Pcs發送給注冊成功的實體以此證明該實體是合法的.另外,由定理1 可知,任何的攻擊者都不能偽造出有效的密文,并且在報告的消息(idi,Vi,Ri,Wi,ci,ei,ti)和(idFNVFN,RFN,WFN,Cγ,eFN,ti)中,SM和FN的身份標識被包含在其中,SM和FN可以通過驗證式(13)和式(16)是否相等以此證明發送方是否為合法實體.因此,所提方案具有認證性.

容錯性: 詳見第3.6 節.

5 性能分析

本文實驗運行在Intel Core i7-5500U CPU @2.40 GHz,8 GB RAM 以及64 位Windows 10 操作系統的筆記本電腦上.實驗采用基于配對的密碼學庫JPBC[21].設置參數|p|=|q|=512 bits,|N|=1024 bits.選定的橢圓曲線E中的兩個素數 ρ和 ω都為160 bits.為了更好評估本文方案的性能(包括計算開銷和通信開銷),實驗將本文方案與文獻[22-24]進行比較.為了減少實驗誤差,實驗取1 000 次測試結果的平均值.除非特別說明,本文方案中的霧節點等同于其他方案的聚合器.

5.1 計算開銷

各方案中的主要操作的基準執行時間如表1 所示,實驗忽略如哈希運算、ECC 點加運算和整數乘法等計算.為了方便比較,假設存在l個霧節點FN,每個霧節點FN下有n個智能電表SM.表2 列出各階段的主要操作.

表1 相關運算和運行時間

表2 各階段的主要操作

圖2 展示了4 個方案在數據收集階段SM計算開銷的對比情況.在文獻[22]中,SM進行加密和簽名需要4 次指數運算和2 次群上乘法運算.在文獻[23]中,SM進行加密和簽名需要4 次群上指數運算和2 次群上乘法運算.在文獻[24]中,SM進行加密和簽名需要3 次群上指數運算,1 次群上乘法運算,1 次群上點乘運算和2 次雙線性配對運算.在本文方案中,SM進行加密和簽名需要3 次群上指數運算,2 次群上乘法運算和1 次ECC 標量乘法運算.由圖2 可知,本文方案在此階段需要的計算開銷最小.

圖2 數據收集階段計算開銷對比

圖3 展示了4 個方案在數據聚合階段FN計算開銷的對比情況,假設每個FN下有200 個SM.在文獻[22]中,FN進行驗證需要3 次群上指數運算、3n-2次群上乘法運算和n+2次雙線性配對運算.FN聚合密文和生成簽名需要執行2n-1次乘法運算和2 次指數運算.在文獻[23]中,FN進行認證需要n+1次雙線性配對運算和2(n-1)次群上乘法運算,FN聚合密文需要1 次群上指數運算和n次群上乘法運算,FN生成簽名需要1 次指數運算.在文獻[24]中,FN需要先認證來自終端的詢問信息,需執行 2n次雙線性配對運算,FN進行認證需要2 次雙線性配對運算,FN聚合密文需要2(n-1)次群上乘法運算,FN生成簽名需要1 次群上的點乘運算.在本文方案中,FN進行認證和簽名需要3n+2次ECC 上標量乘法運算,FN聚合密文需要n-1次群上乘法運算.由圖3 可知,本文方案相比較其他3 種方案具有較好的計算性能.其主要原因是本文方案使用橢圓曲線中標量乘法運算代替較為耗時的雙線性配對運算.

圖3 數據聚合階段計算開銷對比

圖4 展示了4 個方案在數據解密階段CS計算開銷的對比情況,假設CS下有20 個FN.在文獻[22]中,CS進行驗證需要3 次雙線性配對運算,恢復密文數據需要2 次群上乘法運算和1 次雙線性配對運算.在文獻[23]中,CS進行批驗證需要(l+1)次雙線性配對運算和2(l-1)次群上乘法運算,聚合密文需要(l-1)次群上乘法運算,恢復密文數據需要1 次群上指數運算.在文獻[24]中,CS進行驗證需要2 次雙線性配對運算,恢復密文數據需要1 次群上指數運算和1 次群上乘法運算.在本文方案中,CS進行驗證需要3 次ECC 上標量乘法運算,恢復密文數據需要2 次群上指數運算和1 次群上乘法運算.由圖4 可知,由于避免使用雙線性配對運算,本文方案在此階段的計算開銷均小于其他方案.

圖4 數據解密階段計算開銷對比

5.2 通信開銷

本小節將分析SM和FN之間以及FN和CS之間的通信開銷.G,G1,Zω*,ZN,ZN2中元素的長度分別為1 024 bits,160 bits,160 bits,1 024 bits 和2 048 bits.假設單向哈希函數長度是160 bits,時間戳和身份的長度分別是64 bits 和32 bits.

首先,分析SM和FN之間的通信開銷.在文獻[22]中,SM發送信息{CTi,Vi,Ti}給FN,其中CTi={c1i,c2i},(c1i,c2i)∈G,Vi∈G和Ti是時間戳,此階段通信開銷為|CTi|+|Ti|+|Vi|=3136bits.在文獻[23]中,SM發送信息{IDTDij,tij,Cij,σij}到FN,其中(Cij,σij)∈G,IDTDij和tij分別是身份和時間戳.因此,此階段通信開銷為|Cij|+|σij|+|IDTDij|+|tij|=2144bits.在文獻[24] 中,SM和FN需要先交互來完成認證,假設授權消息Autd為32 bits,SM向FN發送{PStd,Autd,S igpcs-td},其中S igpcs-td∈G和PStd是身份.該過程|S igpcs-td|+|Autd|+|PStd|=1088bits.FN向SM發送{IDfn,Aufn,S igpcs-fn}完成認證,該過程|S igpcs-fn|+|Aufn|+|IDfn|=1088 bits.再者,SM發送信息{ci,PStd,Ti,σi}到FN,其中ci={ci1,ci2},(ci1,ci2,σi)∈G和Ti是時間戳.該過程通信開銷為|ci|+|σi|+|Ti|+|PStd|=3168bits.因此,此階段通信開銷為1088+1088+3168=5344 bits.在本文方案中,SM發送信息{idi,Vi,Ri,Wi,ci,ei,ti}到FN,其中ci∈G,(Vi,Ri,Wi)∈G1,ei∈Zω*,idi和ti分別是身份和時間戳.因此,此階段通信開銷計算為|ci|+|ei|+|ti|+|idi|+|Vi|+|Ri|+|Wi|=1760bits.

其次,分析FN和CS之間的通信開銷.在文獻[22]中,FN發送信息{CT,σ,Tc}到CS,其中CT={C1,C2},(C1,C2)∈G,σ={U,V},(U,V)∈G和Tc是時間戳.因此,此階段通信開銷為|CT|+|σ|+|Tc|=4160 bits.在文獻[23] 中,FN發送信息{IDESi,Ci,σi,ti}到CS,其中(Ci,σi)∈G,IDESi和ti分別是身份和時間戳.因此,此階段通信開銷為|σi|+|ti|+|Ci|+ |IDESi|=2144 bits.在文獻[24]中,FN發送信息{c,PStd,IDfn,T,σfn}到CS,其中c={c1,c2},(c1,c2,σfn)∈G,PStd和IDfn是身份,T是時間戳.因此,此階段通信開銷計算為|c|+|σfn|+|T|+|PStd|+|IDfn|=3200bits.在本文方案中,FN發送信息(idFNVFN,RFN,WFN,Cγ,eFN,ti)到C S,其中Cγ∈G,(VFN,RFN,WFN)∈G1,eFN∈Zω*,idFN和ti分別是身份和時間戳.因此,此階段通信開銷計算為|Cγ|+|VFN|+|RFN|+|WFN|+|eFN|+|ti|+|idFN|=1760bits.

圖5 展示了4 個方案一次會話的總通信開銷對比情況.設置FN數量逐步遞增到40 個,每個FN下的SM數量逐步遞增到100 個.圖5 可以直觀反映出本文方案具有較優的通信開銷性能.原因是本文方案采用橢圓曲線加密算法進行簽名,在同等安全水平下,其簽名數據占用空間小,有效地減少通信成本.

圖5 通信開銷對比

6 結論

本文提出了一種基于霧計算的高效隱私保護數據聚合方案,該方案巧妙地結合了BGN 同態加密算法和Shamir 秘密共享方案確保了數據的隱私性,利用橢圓曲線離散對數問題構造高效的簽名認證算法保證數據的完整性,并且該方案實現了兩種容錯措施.安全性分析證明了該方案滿足智能電網的安全要求.性能分析表明了該方案具有較低的計算和通信開銷.

猜你喜歡
密文發送給攻擊者
基于貝葉斯博弈的防御資源調配模型研究
一種新的密文策略的屬性基加密方案研究
密碼分類和攻擊類型
【微信小課堂】:如何向好友發送語音
一種抗攻擊的網絡加密算法研究
正面迎接批判
正面迎接批判
你說我說大家說
條件型非對稱跨加密系統的代理重加密方案
公告
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合