国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于雙聯(lián)盟鏈的智能電網(wǎng)數(shù)據(jù)共享模型

2021-04-20 14:06張利華王欣怡胡方舟白甲義
計(jì)算機(jī)應(yīng)用 2021年4期
關(guān)鍵詞:私鑰密文加密

張利華,王欣怡*,胡方舟,黃 陽(yáng),白甲義

(1.華東交通大學(xué)軟件學(xué)院,南昌 330013;2.華東交通大學(xué)電氣與自動(dòng)化工程學(xué)院,南昌 330013)

0 引言

隨著智能電網(wǎng)的信息化建設(shè),電力行業(yè)在發(fā)電、輸電、變電、配電、用電和調(diào)度等各環(huán)節(jié)積累了海量數(shù)據(jù)[1]。例如電源管理單元每年為一個(gè)典型電力公司帶來(lái)近40 TB 的新數(shù)據(jù)[2]。電力大數(shù)據(jù)已經(jīng)成為電力公司的新型資產(chǎn)[3],對(duì)電力數(shù)據(jù)進(jìn)行研究能促進(jìn)電力公司的業(yè)務(wù)管理更加精細(xì)、高效。管理并利用好日益龐大的電力數(shù)據(jù),成為電網(wǎng)企業(yè)亟須解決的問(wèn)題。

隨著互聯(lián)網(wǎng)技術(shù)的高速發(fā)展,人們大規(guī)模運(yùn)用數(shù)字化手段提升電力數(shù)據(jù)的存儲(chǔ)與共享的效率?,F(xiàn)有的電力數(shù)據(jù)存儲(chǔ)與共享方案在不斷優(yōu)化的同時(shí),仍存在以下問(wèn)題[4-6]:1)電力數(shù)據(jù)多以區(qū)塊鏈結(jié)合云服務(wù)器的方式存儲(chǔ),云服務(wù)器中心化存儲(chǔ)存在越權(quán)修改、惡意泄露的風(fēng)險(xiǎn);2)電力數(shù)據(jù)僅在電力專網(wǎng)中流轉(zhuǎn),存在信息“孤島”現(xiàn)象,和電網(wǎng)外研究機(jī)構(gòu)間缺少安全高效的共享渠道;3)數(shù)據(jù)的可追溯性不強(qiáng),面臨自然災(zāi)害、存儲(chǔ)主機(jī)故障導(dǎo)致數(shù)據(jù)丟失的風(fēng)險(xiǎn)。

區(qū)塊鏈?zhǔn)且环N對(duì)等網(wǎng)絡(luò)中各節(jié)點(diǎn)遵從特定共識(shí)機(jī)制的分布式數(shù)據(jù)庫(kù),具有防篡改、可追溯、去中心化的特點(diǎn)[7],區(qū)塊鏈技術(shù)的逐漸成熟有望解決智能電網(wǎng)數(shù)據(jù)共享存在的安全性低、可擴(kuò)展性差等問(wèn)題。本文基于區(qū)塊鏈、星際文件系統(tǒng)(Inter Planetary File System,IPFS)、跨鏈、代理重加密和安全多方計(jì)算等技術(shù),提出以下解決方案:

1)使用分布式文件存儲(chǔ)系統(tǒng)IPFS 結(jié)合區(qū)塊鏈存儲(chǔ)電力數(shù)據(jù)[8],將多重簽名公證人跨鏈技術(shù)[9]應(yīng)用于數(shù)據(jù)安全共享當(dāng)中,解決了智能電網(wǎng)數(shù)據(jù)僅限在內(nèi)部利用導(dǎo)致的“信息孤島”現(xiàn)象,盡可能發(fā)揮電力數(shù)據(jù)的價(jià)值。

2)使用代理重加密技術(shù)解決單節(jié)點(diǎn)跨鏈數(shù)據(jù)數(shù)據(jù)共享過(guò)程的隱私保護(hù)問(wèn)題[10]。引入全同態(tài)加密,在無(wú)須解密電力數(shù)據(jù)密文的情況下,解決智能電網(wǎng)端數(shù)據(jù)重構(gòu)問(wèn)題[11]。

3)將安全多方計(jì)算應(yīng)用于數(shù)據(jù)共享當(dāng)中,用以解決多節(jié)點(diǎn)跨鏈數(shù)據(jù)共享時(shí)的隱私保護(hù)問(wèn)題。

1 相關(guān)工作

對(duì)于電網(wǎng)數(shù)據(jù)的儲(chǔ)存與共享,已有許多學(xué)者進(jìn)行相關(guān)研究。與本文相關(guān)的研究工作可以歸納為三個(gè)方面:

1)數(shù)據(jù)存儲(chǔ)。Zhang等[12]提出了一種基于聯(lián)盟區(qū)塊鏈的安全數(shù)據(jù)存儲(chǔ)與共享系統(tǒng)方案,該方案主要解決集中存儲(chǔ)的安全問(wèn)題,并采用拜占庭容錯(cuò)共識(shí)機(jī)制對(duì)數(shù)據(jù)進(jìn)行驗(yàn)證;但該方案沒(méi)有描述數(shù)據(jù)如何加密,也沒(méi)有合理的成本分析。Nizamuddin等[13]提出一種基于區(qū)塊鏈的文檔共享和版本控制解決方案和框架,使用IPFS 加密存儲(chǔ)檔案原始數(shù)據(jù),利用智能合約觸發(fā)、追蹤每一筆文檔共享交易;未考慮在不同的文件管理系統(tǒng)間進(jìn)行文檔安全共享。López 等[14]針對(duì)智能移動(dòng)數(shù)據(jù)市場(chǎng)多為中央服務(wù)器存儲(chǔ),容易受到黑客攻擊的問(wèn)題,提出了一個(gè)多層區(qū)塊鏈框架,在雙方授權(quán)的情況下才能進(jìn)行數(shù)據(jù)交易;但數(shù)據(jù)存儲(chǔ)于個(gè)人云服務(wù)或者個(gè)人設(shè)備中,存在數(shù)據(jù)濫用的風(fēng)險(xiǎn)。

2)隱私保護(hù)。重視數(shù)據(jù)隱私和安全保護(hù)已成為世界性的趨勢(shì)[15]。Zhou 等[16]提出了一輪通信可驗(yàn)證全同態(tài)秘密共享(Fully Homomorphic Non-interactive Verifiable Secret Sharing,F(xiàn)HNVSS)方案,引入非交互式安全多方計(jì)算技術(shù),并結(jié)合全同態(tài)加密技術(shù),實(shí)現(xiàn)了對(duì)用戶的數(shù)據(jù)秘密共享;但其未考慮數(shù)據(jù)的安全存儲(chǔ)問(wèn)題。Narayanan 等[17]提出一種安全認(rèn)證與云端數(shù)據(jù)共享系統(tǒng)架構(gòu),使用SALSA20 加密算法和基于密度的帶噪應(yīng)用程序聚類算法進(jìn)行加密和數(shù)據(jù)索引,能解決現(xiàn)有加密方案無(wú)法提供適當(dāng)?shù)臄?shù)據(jù)安全保障的問(wèn)題;但該方案使用信任中心進(jìn)行用戶數(shù)據(jù)監(jiān)管,存在隱私泄露風(fēng)險(xiǎn)。Guo 等[18]基于一種新穎的對(duì)稱同態(tài)加密技術(shù),提出了一種有效的智能網(wǎng)格輕量化聚合方案,保證了用電數(shù)據(jù)的機(jī)密性、完整性和用戶隱私;但方案的計(jì)算開(kāi)銷隨數(shù)據(jù)量增加成指數(shù)級(jí)增長(zhǎng),僅適合輕量級(jí)電網(wǎng)數(shù)據(jù)聚合。

3)數(shù)據(jù)共享。Jiang 等[19]提出一種用于安全云存儲(chǔ)的加密數(shù)據(jù)共享方案(Data Sharing scheme based on Conditional Proxy Broadcast Re-Encryption,CPBRE-DS),利用廣播加密實(shí)現(xiàn)廣播動(dòng)態(tài)數(shù)據(jù)共享,通過(guò)使用代理重加密技術(shù),云服務(wù)器直接將加密數(shù)據(jù)共享給目標(biāo)用戶;但是,廣播加密存在密鑰管理困難、結(jié)合云存儲(chǔ)平臺(tái)使用存在效率低下等問(wèn)題,且該方案將數(shù)據(jù)存儲(chǔ)在半可信云設(shè)備中,存在數(shù)據(jù)泄露風(fēng)險(xiǎn)。Sun 等[20]提出一種用于云數(shù)據(jù)共享的代理廣播重加密(Proxy Broadcast Re-Encryption,PBRE)技術(shù),通過(guò)提出代理廣播再加密的概念嘗試解決云數(shù)據(jù)共享問(wèn)題,能抵抗共謀攻擊;但支持用戶動(dòng)態(tài)加入或離開(kāi)共享組,不適合電網(wǎng)環(huán)境下的數(shù)據(jù)共享場(chǎng)景。羅文俊等[21]提出一個(gè)基于區(qū)塊鏈的電子醫(yī)療病例安全共享方案,將分布式密鑰生成技術(shù)結(jié)合基于身份的代理重加密方案,實(shí)現(xiàn)了單對(duì)用戶間加密數(shù)據(jù)共享;但是該方案未考慮多用戶間如何進(jìn)行數(shù)據(jù)共享。

為了提高智能電網(wǎng)電力數(shù)據(jù)共享的安全性、隱私性和可擴(kuò)展性,解決電網(wǎng)數(shù)據(jù)信息“孤島”現(xiàn)象,本文提出基于雙聯(lián)盟鏈的智能電網(wǎng)數(shù)據(jù)共享模型(Data Sharing model based on Double Consortium Blockchains in smart grid,DSDCB)。該模型將聯(lián)盟鏈結(jié)合IPFS 集群高效存儲(chǔ)電力數(shù)據(jù),使用多重簽名公證人實(shí)現(xiàn)數(shù)據(jù)跨鏈,基于全同態(tài)加密、代理重加密、安全多方計(jì)算技術(shù),在保證隱私不被泄露的情況下進(jìn)行數(shù)據(jù)安全共享。

2 整體框架

2.1 模型框架

DSDCB模型框架如圖1所示。

圖1 本文模型框架Fig.1 Framework of proposed model

包括以下三個(gè)部分:

1)智能電網(wǎng)聯(lián)盟鏈(Smart Grid Consortium Blockchain,SGCB)。電網(wǎng)調(diào)度中心將數(shù)據(jù)采集基站采集的電力數(shù)據(jù)文件加密上傳至私有IPFS 集群。上傳前,IPFS 自動(dòng)檢測(cè)電力文件是否重復(fù)以節(jié)約寬帶,存儲(chǔ)未重復(fù)電力文件并返回文件指紋。電網(wǎng)調(diào)度中心將文件哈希值(Hash)、文件指紋等信息上鏈存儲(chǔ)。使用IPFS 結(jié)合聯(lián)盟鏈存儲(chǔ)的方式減輕了鏈上數(shù)據(jù)存儲(chǔ)和高頻訪問(wèn)的壓力[22]。將Hash 與下載文件哈希值對(duì)比校驗(yàn),確保上傳文件保存完整未被篡改。

2)多重簽名公證人。基于公證人創(chuàng)建投票合約,從智能電網(wǎng)聯(lián)盟鏈和數(shù)據(jù)研究聯(lián)盟鏈中選舉出一組可信節(jié)點(diǎn)作為公證人。公證人調(diào)用身份控制合約分別對(duì)數(shù)據(jù)共享雙方身份認(rèn)證后進(jìn)行簽名,當(dāng)簽名數(shù)達(dá)到預(yù)設(shè)數(shù)量時(shí),公證人根據(jù)請(qǐng)求內(nèi)容通過(guò)聯(lián)盟鏈和IPFS 集群下載相應(yīng)電力數(shù)據(jù)文件密文,使用電網(wǎng)調(diào)度中心提供的代理重加密密鑰,對(duì)密文進(jìn)行重加密后鏈下傳輸電力數(shù)據(jù)文件,接收者使用自己私鑰解密獲得電力數(shù)據(jù)明文,完成數(shù)據(jù)共享。

3)數(shù)據(jù)研究聯(lián)盟鏈(Data Research Consortium Blockchain,DRCB)。該鏈節(jié)點(diǎn)為政府機(jī)關(guān)、高校、科研院所等電力數(shù)據(jù)研究機(jī)構(gòu)。各機(jī)構(gòu)從數(shù)據(jù)研究聯(lián)盟鏈獲得IPFS文件指紋、上傳節(jié)點(diǎn)ID 等信息,從公有IPFS 集群下載相應(yīng)電力數(shù)據(jù)文件。

2.2 合約架構(gòu)

DSDCB 智能合約體系由兩部分構(gòu)成:一部分是數(shù)據(jù)研究聯(lián)盟鏈中區(qū)塊鏈數(shù)據(jù)備份合約(Block Data Backup Contract,BDBC),存儲(chǔ)共享的電力數(shù)據(jù);另一部分是智能電網(wǎng)聯(lián)盟鏈中區(qū)塊鏈數(shù)據(jù)管理合約(Block Data Manage Contract,BDMC),執(zhí)行電力數(shù)據(jù)存儲(chǔ)與訪問(wèn)請(qǐng)求等相應(yīng)的合約。BDBC 和BDMC 均包括身份控制合約(Identity Control Contract,ICC)和數(shù)據(jù)管理合約(Data Manage Contract,DMC),如圖2所示。

BDBC 和BDMC 作為全局合約記錄其聯(lián)盟鏈中所有節(jié)點(diǎn)身份標(biāo)志(NA-ID)、對(duì)應(yīng)公鑰(PubKey)、注冊(cè)時(shí)間和對(duì)應(yīng)的ICC與DMC。

BDMC 中ICC 用于節(jié)點(diǎn)身份管理,包括公證人創(chuàng)建投票合約(Notary Creation Vote Contract,NCVC)和數(shù)據(jù)權(quán)限控制合約(Data Authority Control Contract,DACC)。其中:NCVC用于選舉可信節(jié)點(diǎn)作為公證人,DACC 用于電力數(shù)據(jù)的權(quán)限控制。

圖2 智能合約架構(gòu)Fig.2 Architecture of smart contracts

BDMC 中DMC 用于實(shí)現(xiàn)電力數(shù)據(jù)保護(hù)、驗(yàn)證、密文處理和共享等業(yè)務(wù)邏輯,包括數(shù)據(jù)存儲(chǔ)合約(Data Storage Contract,DSC)、數(shù)據(jù)共享(存儲(chǔ))合約(Date Sharing(Storage)Contract,DSSC)和同態(tài)加密合約(Homomorphic Encryption Contract,HEC)。其中,DSC 用于存儲(chǔ)電力數(shù)據(jù)的屬性信息,包括電力數(shù)據(jù)對(duì)象的IPFS 文件指紋、Hash、創(chuàng)建時(shí)間等。DSSC用于雙聯(lián)盟鏈之間共享的檔案信息,包括電力數(shù)據(jù)標(biāo)識(shí)(Data-ID)、節(jié)點(diǎn)身份標(biāo)識(shí)(NA-ID)和共享時(shí)間等。如果DataID 對(duì)應(yīng)的屬性DGrade 值為0,則雙聯(lián)盟鏈內(nèi)所有節(jié)點(diǎn)均可訪問(wèn);如值≥1,則僅特定節(jié)點(diǎn)有權(quán)訪問(wèn)。HEC 根據(jù)請(qǐng)求對(duì)電力數(shù)據(jù)進(jìn)行同態(tài)運(yùn)算處理。

3 基于雙聯(lián)盟鏈的數(shù)據(jù)共享模型

將DSDCB 中各節(jié)點(diǎn)分為數(shù)據(jù)提供方、數(shù)據(jù)需求方、公證人三個(gè)角色。數(shù)據(jù)需求方發(fā)起申請(qǐng)數(shù)據(jù)共享請(qǐng)求;數(shù)據(jù)提供方對(duì)其進(jìn)行身份驗(yàn)證后提供重加密密鑰給公證人;公證人下載所請(qǐng)求的電力數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)處理后,再將電力數(shù)據(jù)加密傳輸給數(shù)據(jù)需求方。數(shù)據(jù)共享結(jié)構(gòu)如圖3所示。

圖3 數(shù)據(jù)共享結(jié)構(gòu)Fig.3 Data sharing structure

3.1 單節(jié)點(diǎn)跨鏈數(shù)據(jù)共享

將代理重加密技術(shù)引入DSDCB,能有效防止半誠(chéng)實(shí)公證人竊取電力數(shù)據(jù)[23],在減輕電網(wǎng)調(diào)度中心負(fù)擔(dān)的同時(shí),增強(qiáng)電力數(shù)據(jù)跨鏈傳輸?shù)陌踩院碗[私性??紤]到數(shù)據(jù)需求方可能請(qǐng)求特定數(shù)據(jù),引入全同態(tài)加密技術(shù),在無(wú)須解密的情況下,對(duì)電力密文進(jìn)行合理整合。

單節(jié)點(diǎn)跨鏈數(shù)據(jù)共享模型設(shè)計(jì)思路如圖4 所示。數(shù)據(jù)研究聯(lián)盟鏈中某個(gè)節(jié)點(diǎn)請(qǐng)求跨鏈數(shù)據(jù)共享。電網(wǎng)調(diào)度中心利用DACC 驗(yàn)證數(shù)據(jù)需求方的身份和權(quán)限。電網(wǎng)調(diào)度中心使用自己私鑰ski和數(shù)據(jù)需求方提供的公鑰pkj生成代理重加密密鑰rki→j,將代理重加密密鑰和數(shù)據(jù)需求方請(qǐng)求內(nèi)容提供給多重簽名公證人。當(dāng)前公證人將數(shù)據(jù)提供方的請(qǐng)求信息寫(xiě)入DSSC 中,返回對(duì)應(yīng)的IPFS 文件指紋,通過(guò)文件指紋下載相應(yīng)加密電力數(shù)據(jù)文件,使用陷門驗(yàn)證是否是數(shù)據(jù)需求方所請(qǐng)求電力數(shù)據(jù)。調(diào)用HEC,根據(jù)請(qǐng)求內(nèi)容對(duì)下載的電力數(shù)據(jù)密文進(jìn)行合理整合。使用代理重加密密鑰rki→j對(duì)密文數(shù)據(jù)進(jìn)行二次加密,將二次加密后的密文數(shù)據(jù)通過(guò)鏈下通道傳給數(shù)據(jù)需求方。數(shù)據(jù)需求方用自己的私鑰skj解密得到所需電力數(shù)據(jù)明文。

圖4 單節(jié)點(diǎn)跨鏈數(shù)據(jù)共享模型Fig.4 Single-node cross-chain data sharing model

基于代理重加密的單節(jié)點(diǎn)跨鏈數(shù)據(jù)共享模型由以下8 個(gè)算法組成:Setup、KeyGen、Encrypt、Trapdoor、Test、ReKeyGen、ReEnc和Decrypt。

1)Setup(1λ) 。輸入系統(tǒng)安全參數(shù)1λ,初始化算法輸出系統(tǒng)公共參數(shù)pp。

2)KeyGen(pp)。輸入公共參數(shù)pp,密鑰生成算法給用戶i輸出公鑰pki和私鑰ski。

3)Encrypt(pki,m)。由數(shù)據(jù)提供方執(zhí)行,輸入公鑰pki和電力數(shù)據(jù)m。輸出密文Ci,將密文Ci上傳至智能電網(wǎng)私有IPFS集群。

4)Trapdoor(Ci,pki)。輸入密文Ci,用戶的私鑰pki。根據(jù)部分密文輸出陷門td。

5)Test(Ci,Cj,tdi,tdj)。將用戶生成的陷門td和含有關(guān)鍵字的密文C上傳由IPFS 集群進(jìn)行測(cè)試,利用用戶上傳的陷門對(duì)儲(chǔ)存的密文關(guān)鍵字進(jìn)行測(cè)試,測(cè)試結(jié)果相等返回1,不相等則返回0。檢索是否搜索到用戶所需要的數(shù)據(jù),即檢測(cè)電力數(shù)據(jù)是否mi=mj。

6)ReKeyGen(ski,pkj)。輸入數(shù)據(jù)提供方(用戶i)私鑰ski和數(shù)據(jù)需求方(用戶j)公鑰pkj,輸出重加密密鑰rki→j。

7)ReEnc(Ci,rki→j)。輸入智能電網(wǎng)私有IPFS 集群所下載的密文Ci和代理重加密密鑰rki→j,輸出代理重加密密文Cj。

8)Decrypt():

a)Decrypt(ski,Ci)。由數(shù)據(jù)提供方(用戶i)執(zhí)行,解密密文。輸入密鑰ski,密文Ci,輸出電力數(shù)據(jù)m。

b)Decrypt(skj,Cj)。由數(shù)據(jù)需求方(用戶j)執(zhí)行,數(shù)據(jù)提供方授權(quán)數(shù)據(jù)需求方解密密文。輸入數(shù)據(jù)需求方私鑰skj,重加密密文Cj,輸出電力數(shù)據(jù)m。

3.2 安全多方跨鏈數(shù)據(jù)共享

當(dāng)數(shù)據(jù)研究聯(lián)盟鏈中多個(gè)節(jié)點(diǎn)為了進(jìn)行不同的數(shù)據(jù)研究,需要在保證各節(jié)點(diǎn)隱私的情況下,分別從智能電網(wǎng)聯(lián)盟鏈請(qǐng)求特定數(shù)據(jù)共享時(shí),采用安全多方計(jì)算(Secure Multi-Party Computation,SMPC)的方式實(shí)現(xiàn)[24]。安全多方計(jì)算是n個(gè)參與者P1,P2,…,Pn,共同執(zhí)行一個(gè)計(jì)算任務(wù):

每一方Pi只能輸入自己的xi,并且最終只能得到自己的輸出yi。通過(guò)安全多方計(jì)算可以解決不可信群體間協(xié)同工作的問(wèn)題,能保證多方參與者之間共同完成計(jì)算任務(wù)而不會(huì)泄露各自的隱私信息。

在單節(jié)點(diǎn)跨鏈數(shù)據(jù)共享模型基礎(chǔ)上,結(jié)合安全多方計(jì)算技術(shù)實(shí)現(xiàn)多節(jié)點(diǎn)跨鏈數(shù)據(jù)共享模型,設(shè)計(jì)思路如圖5 所示。由圖5 可知:數(shù)據(jù)需求方生成電力數(shù)據(jù)共享請(qǐng)求后,公證人根據(jù)數(shù)據(jù)需求方請(qǐng)求內(nèi)容從IPFS 集群查詢?cè)紨?shù)據(jù),調(diào)用HEC,計(jì)算不同節(jié)點(diǎn)所請(qǐng)求的數(shù)據(jù)集合(密文s)。將密文s其分割成多個(gè)信息塊,通過(guò)代理重加密對(duì)密文分片重加密后進(jìn)行跨鏈傳輸,數(shù)據(jù)需求方根據(jù)指定重構(gòu)算法進(jìn)行密文分片重構(gòu)得到密文s,將得到的電力數(shù)據(jù)集合密文s上傳至公有IPFS集群和數(shù)據(jù)研究聯(lián)盟鏈上。此過(guò)程中,每個(gè)節(jié)點(diǎn)均不知道智能電網(wǎng)元數(shù)據(jù)及其他數(shù)據(jù)需求方請(qǐng)求內(nèi)容。各節(jié)點(diǎn)從研究數(shù)據(jù)聯(lián)盟鏈和公有IPFS集群中自行下載所請(qǐng)求的電力數(shù)據(jù)。

圖5 多節(jié)點(diǎn)跨鏈數(shù)據(jù)共享流程Fig.5 Flowchart of multi-node cross-chain data sharing

安全多方計(jì)算模型中的秘密共享[25-27]能安全地共享某個(gè)秘密。DSDCB 的秘密共享技術(shù)基于使用拉格朗日插值法的Shamir Secret Sharing Scheme[28]實(shí)現(xiàn)。假設(shè)有t個(gè)節(jié)點(diǎn)分別向智能電網(wǎng)聯(lián)盟鏈請(qǐng)求電力數(shù)據(jù)d1,d2,…,dt。

步驟1 數(shù)據(jù)提供方將電力數(shù)據(jù)d1,d2,…,dt基于全同態(tài)加密技術(shù)轉(zhuǎn)換成密文s,生成k-1 個(gè)隨機(jī)數(shù){a1,a2,…,ak-1},得到多項(xiàng)式:

步驟2 從式(4)中生成n個(gè)點(diǎn)。通過(guò)函數(shù)Scatter()分發(fā)給每個(gè)參與者Pi(i∈n),即有n個(gè)參與者共同參與密文s的共享,將s切分成n份(i,si)。

步驟3 調(diào)用函數(shù)Gather()收集密文片段si,由式(5)得f(x)中a0=s,因此問(wèn)題轉(zhuǎn)換為利用n個(gè)點(diǎn)中的k個(gè)點(diǎn)求f(x),且已知k個(gè)點(diǎn)可以唯一決定一條k-1次方的曲線。使用拉格朗日插值法實(shí)現(xiàn)并得到密文片段si:

步驟4 使用Recon()函數(shù)將密文重構(gòu),將收集到k(k≤(n-1)/2)份以上的密文分片重構(gòu)出s,密文s為所請(qǐng)求的電力數(shù)據(jù)d1,d2,…,dt的集合。

4 安全性分析

4.1 單節(jié)點(diǎn)跨鏈安全性分析

定理1在數(shù)據(jù)共享中,設(shè)電網(wǎng)調(diào)度中心A 和公證人S 均可信,且數(shù)據(jù)提供方B 私鑰skB未被泄露。則攻擊者C 無(wú)法獲得電力數(shù)據(jù)明文。

證明

情況一 C給A發(fā)送電力數(shù)據(jù)共享請(qǐng)求。

A 接收C 發(fā)送的電力數(shù)據(jù)共享請(qǐng)求,由于C 沒(méi)有節(jié)點(diǎn)信息,無(wú)法通過(guò)DACC 的節(jié)點(diǎn)身份與權(quán)限校驗(yàn),因此C 請(qǐng)求失敗,無(wú)法得到電力數(shù)據(jù)明文。

情況二 C 攔截B 已發(fā)出的電力數(shù)據(jù)共享請(qǐng)求再次發(fā)送給A。

A 將C 視為B,因?yàn)锽 擁有節(jié)點(diǎn)身份能通過(guò)DACC 校驗(yàn),A使用自己私鑰結(jié)合B公鑰生成代理重加密密鑰。將代理重加密密鑰提供給S。S 根據(jù)請(qǐng)求內(nèi)容下載相應(yīng)電力數(shù)據(jù)文件,并使用代理重加密密鑰生成重加密密文發(fā)送給C。由于C 沒(méi)有私鑰skB,仍無(wú)法得到電力數(shù)據(jù)明文。

定理2在數(shù)據(jù)共享中,設(shè)電網(wǎng)調(diào)度中心A 可信,公證人S 半可信,且數(shù)據(jù)提供方B 私鑰skB未被泄露,則公證人S 無(wú)法獲得電力數(shù)據(jù)明文。

證明

情況一 重加密前,S嘗試獲得電力數(shù)據(jù)明文。

S根據(jù)文件指紋從智能電網(wǎng)私有IPFS 集群下載相應(yīng)加密電力數(shù)據(jù)文件,此時(shí),S 嘗試解密得到電力數(shù)據(jù)明文。由于A的私鑰僅由自己保管與使用,且A是可信的,因此,S無(wú)法獲取到A的私鑰,無(wú)法解密得到電力數(shù)據(jù)文件明文。

情況二 重加密后,S嘗試獲得電力數(shù)據(jù)明文。

下載得到相應(yīng)加密電力數(shù)據(jù)文件后,S使用A提供的代理重加密密鑰得到電力數(shù)據(jù)重加密密文,此時(shí),S 嘗試獲得電力數(shù)據(jù)明文。由于數(shù)據(jù)提供方B 的私鑰僅由自己保管與使用,且私鑰未被泄露,因此,S 無(wú)法獲取到B 的私鑰,S 無(wú)法解密得到電力數(shù)據(jù)文件明文。

由定理1 和定理2,DSDCB 能抵抗51%攻擊、女巫攻擊、重放攻擊和中間人攻擊:

1)51%攻擊。實(shí)驗(yàn)結(jié)果表明進(jìn)行51%攻擊是非常困難的[29],且如果發(fā)生51%攻擊,由于區(qū)塊鏈存儲(chǔ)的是IPFS 集群文件指紋,并未存儲(chǔ)電力數(shù)據(jù)文件,因此不會(huì)對(duì)元數(shù)據(jù)產(chǎn)生影響。因此,DSDCB能抵抗51%攻擊。

2)女巫攻擊。由于電網(wǎng)調(diào)度中心A 在接收到電力數(shù)據(jù)共享請(qǐng)求時(shí),首先校驗(yàn)節(jié)點(diǎn)身份權(quán)限再進(jìn)行數(shù)據(jù)共享。即攻擊者無(wú)法通過(guò)偽造多個(gè)無(wú)效身份,對(duì)系統(tǒng)數(shù)據(jù)冗余機(jī)制造成影響,因此,DSDCB能抵抗女巫攻擊。

3)重放攻擊。模型中鏈下傳輸?shù)氖请娏?shù)據(jù)重加密密文,且密鑰均由節(jié)點(diǎn)保管而不在模型中流通。攻擊者攔截節(jié)點(diǎn)共享請(qǐng)求但無(wú)法獲取相應(yīng)節(jié)點(diǎn)私鑰,即無(wú)法對(duì)接收到的電力數(shù)據(jù)重加密密文解密,因此,DSDCB能抵抗重放攻擊。

4)中間人攻擊。DSDCB 中的“中間人”為多重簽名公證人。多重簽名公證人機(jī)制需要由多位公證人在各自賬本上簽名達(dá)成共識(shí)后才能完成跨鏈共享;且密鑰由本人保管不在模型中流通,公證人無(wú)法獲取電網(wǎng)調(diào)度中心A 或數(shù)據(jù)提供方B私鑰,即公證人在數(shù)據(jù)共享各環(huán)節(jié)均無(wú)法獲得電力數(shù)據(jù)文件明文。因此,DSDCB能抵抗中間人攻擊。

4.2 安全多方跨鏈安全性分析

安全多方跨鏈數(shù)據(jù)共享模型主要通過(guò)安全多方計(jì)算計(jì)算實(shí)現(xiàn),安全多方計(jì)算模型一般分為半誠(chéng)實(shí)模型和惡意模型[30]。半誠(chéng)實(shí)模型中的半誠(chéng)實(shí)參與方會(huì)忠實(shí)執(zhí)行模型,但會(huì)嘗試獲得模型執(zhí)行結(jié)果和更多參與者的隱私信息;惡意模型中的惡意參與方會(huì)違背模型命令或者惡意傳輸錯(cuò)誤數(shù)據(jù)。

定理3在惡意模型下,若惡意參與方數(shù)量不超過(guò)k個(gè),則電力數(shù)據(jù)密文s不會(huì)被泄露。

證明 假設(shè)惡意攻擊者的數(shù)量為k-1,即惡意攻擊者只知道“f1(x),f2(x),…,ft(x) 是k-1 次多項(xiàng)式”。其中,f1(x),f2(x),…,ft(x)可以被表示為如下形式:

設(shè)k-1個(gè)惡意攻擊者分別為SC1,SC2,…,SCk-1,其他的參與方都是誠(chéng)實(shí)者。其中,SCi的分片為f1(xi),f2(xi),…,ft(xi)。為求各分片的系數(shù),將k-1個(gè)惡意攻擊者建立如下形式的t個(gè)方程組:

在第i個(gè)方程組中,由于r(A)≠r(A|Xi),線性方程組式(8)無(wú)解,類比得到其他方程組均無(wú)解。對(duì)i∈[1,t],si為自由變量,因此當(dāng)惡意攻擊者的數(shù)量為k-1時(shí),s無(wú)法被確定。

對(duì)惡意攻擊者的數(shù)量逐次遞減進(jìn)行類比分析,得證,惡意攻擊者的數(shù)量不超過(guò)k的情況下,均不能得到電力數(shù)據(jù)密文s。

定理4在半誠(chéng)實(shí)模型下,若誠(chéng)實(shí)參與方數(shù)量超過(guò)1 個(gè),則電力數(shù)據(jù)密文s不會(huì)被泄露。

證明 令參與方的數(shù)量為j,j個(gè)參與方P1,P2,…,Pj請(qǐng)求電力數(shù)據(jù)內(nèi)容為x1,x2,…,xj,則密文s可表示為:

設(shè)誠(chéng)實(shí)參與方的數(shù)量為2,令P1和P2是兩個(gè)誠(chéng)實(shí)參與方,而其他都是半誠(chéng)實(shí)攻擊者。在計(jì)算得到密文s后,半誠(chéng)實(shí)攻擊者可聯(lián)合得到:

由于P1和P2不會(huì)暴露自己的電力數(shù)據(jù)請(qǐng)求內(nèi)容x1和x2,因此半誠(chéng)實(shí)攻擊者無(wú)法從式(10)解出x1和x2。得證,半誠(chéng)實(shí)攻擊者僅能得到自己所請(qǐng)求的電力數(shù)據(jù),無(wú)法獲取其他參與者的隱私信息。

綜上所述,在DSDCB 中,誠(chéng)實(shí)參與方請(qǐng)求的秘密是安全且保密的充要條件是:惡意參與方不超過(guò)k個(gè),誠(chéng)實(shí)參與方的數(shù)量超過(guò)1個(gè)。

5 方案性能分析

DSDCB 以Remix-IDE[13]作為以太坊智能合約的開(kāi)發(fā)工具,使用Solidity 0.4.7 編寫(xiě),在以太坊測(cè)試網(wǎng)Ropsten-Test Network 上運(yùn)行,運(yùn)行在Ubuntun 18.04 LTS 電腦上,測(cè)試電腦的配置是:ryzen 1700 3.0 GHz 8C16T、16 GB DDR4 2 666 MHz。本章將通過(guò)3 個(gè)指標(biāo)評(píng)估此模型:1)單節(jié)點(diǎn)跨鏈數(shù)據(jù)共享計(jì)算成本;2)安全多方跨鏈數(shù)據(jù)共享的運(yùn)行時(shí)間;3)電力數(shù)據(jù)索引值上鏈區(qū)塊同步時(shí)間。

5.1 計(jì)算成本

將DSDCB 與Sun 等的PBRE 方案[20]和Jiang 等的CPBRE-DS 方案[19]比較,分析DSDCB 的單節(jié)點(diǎn)跨鏈數(shù)據(jù)共享計(jì)算成本。為了便于理解,定義了以下符號(hào):ta和tm分別是點(diǎn)加法和點(diǎn)乘法,tb是雙線性對(duì)計(jì)算,在算法中點(diǎn)乘法比點(diǎn)加法復(fù)雜,雙線性配對(duì)計(jì)算比點(diǎn)乘法復(fù)雜,即ta<tm<tb。另外,n表示完整用戶集大小,r表示一次共享一個(gè)文件的目標(biāo)用戶集大小。計(jì)算成本對(duì)比結(jié)果如表1所示。

對(duì)于DSDCB 和CPBRE-DS 方案,所有算法的計(jì)算代價(jià)與完整用戶集的大小無(wú)關(guān),其中DSDCB 和CPBRE-DS 方案的“Encrypt”和“Decrypt-Ⅱ”與目標(biāo)用戶集的大小成線性關(guān)系。另一方面,除了DSDCB 的“Decrypt-Ⅱ”的效率略低于CPBREDS 方案外,DSDCB 的其他算法都明顯比CPBRE-DS 的效率高,而DSDCB 的所有算法都比PBRE 的效率高。在整體計(jì)算成本上,所提出的DSDCB 優(yōu)于CPBRE-DS 方案,遠(yuǎn)優(yōu)于PBRE方案。

表1 不同算法的計(jì)算成本對(duì)比Tab.1 Computational cost comparison of different algorithms

5.2 運(yùn)行時(shí)間

將DSDCB與FHNVSS方案[16]進(jìn)行對(duì)比,測(cè)試DSDCB的安全多方跨鏈數(shù)據(jù)共享的算法運(yùn)行時(shí)間。將算法核心部分分割為秘密s分片函數(shù)Fragment 和秘密恢復(fù)函數(shù)Recover,分發(fā)者使用Fragment算法產(chǎn)生核心分片,接收者使用Recover恢復(fù)請(qǐng)求的結(jié)果。在實(shí)際使用中,由于兩個(gè)算法屬于不同的參與方,因此,在電腦上模擬分別執(zhí)行,令k表示請(qǐng)求可以處理的多項(xiàng)式最大次數(shù),設(shè)置k從4 到10,測(cè)試函數(shù)Fragment 和Rcover 的運(yùn)行效率,測(cè)試結(jié)果分別如圖6~7所示。

圖6 基于最大可尋址請(qǐng)求度的算法性能(Fragment)Fig.6 Algorithm performance based on tmaximum addressable request degree(Fragment)

圖7 基于最大可尋址請(qǐng)求度的算法性能(Recover)Fig.7 Algorithm performance based on maximum addressable request degree(Recover)

從圖6~7 可以得到函數(shù)Fragment 和函數(shù)Recover 均只需消耗非常少的時(shí)間,函數(shù)Recover 消耗的時(shí)間高于函數(shù)Fragment。DSDCB 的運(yùn)行時(shí)間略低于FHNVSS 方案算法運(yùn)行時(shí)間,且DSDCB 比FHNVSS 方案有更好的安全性,因此,DSDCB更符合實(shí)際需求。

5.3 同步時(shí)間

通過(guò)測(cè)試子節(jié)點(diǎn)區(qū)塊同步時(shí)間,評(píng)估DSDCB 的鏈上存儲(chǔ)網(wǎng)絡(luò)性能。設(shè)置1 個(gè)主節(jié)點(diǎn),當(dāng)主節(jié)點(diǎn)完成電力數(shù)據(jù)索引值上鏈后,分別測(cè)試4~10 個(gè)子節(jié)點(diǎn)的同步時(shí)間,每個(gè)節(jié)點(diǎn)進(jìn)行10 次測(cè)試計(jì)算平均同步時(shí)間。分別對(duì)200 組、400 組、600 組電力數(shù)據(jù)索引值上鏈同步時(shí)間測(cè)試進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如圖8所示。仿真結(jié)果表明,DSDCB模型能正常運(yùn)行,在較理想的情況下,節(jié)點(diǎn)平均同步時(shí)間小于10 ms。隨著子節(jié)點(diǎn)數(shù)量增加,平均同步時(shí)間逐漸增加;隨著存儲(chǔ)的電力數(shù)據(jù)索引值增大,平均同步時(shí)間逐漸增加,但漲幅較小。因此,DSDCB 模型基本滿足電力數(shù)據(jù)存儲(chǔ)所需的處理速度。

圖8 聯(lián)盟鏈區(qū)塊同步時(shí)間Fig.8 Block synchronization time of consortium blockchain

6 結(jié)語(yǔ)

本文設(shè)計(jì)了一種基于雙聯(lián)盟鏈的智能電網(wǎng)數(shù)據(jù)安全共享模型(DSDCB),使用分布式文件存儲(chǔ)系統(tǒng)IPFS 結(jié)合聯(lián)盟鏈實(shí)現(xiàn)電力數(shù)據(jù)高效存儲(chǔ);通過(guò)多重簽名公證人技術(shù)實(shí)現(xiàn)電力數(shù)據(jù)跨鏈;引入全同態(tài)加密對(duì)電力數(shù)據(jù)進(jìn)行合理整合;結(jié)合代理重加密與安全多方計(jì)算技術(shù),實(shí)現(xiàn)了單節(jié)點(diǎn)與多節(jié)點(diǎn)分別進(jìn)行跨鏈電力數(shù)據(jù)安全共享。實(shí)驗(yàn)結(jié)果表明,DSDCB 是有效的。未來(lái)研究工作中,將進(jìn)一步研究更安全高效的跨鏈方法,進(jìn)一步提高系統(tǒng)效率。

猜你喜歡
私鑰密文加密
一種支持動(dòng)態(tài)更新的可排名密文搜索方案
比特幣的安全性到底有多高
嵌入式異構(gòu)物聯(lián)網(wǎng)密文數(shù)據(jù)動(dòng)態(tài)捕獲方法
程序員把7500枚比特幣扔掉損失巨大
保護(hù)數(shù)據(jù)按需創(chuàng)建多種加密磁盤(pán)
一種新的密文策略的屬性基加密方案研究
谷歌禁止加密貨幣應(yīng)用程序
一種抗攻擊的網(wǎng)絡(luò)加密算法研究
加密與解密
基于身份的聚合簽名體制研究