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

?

基于區(qū)塊鏈的電網(wǎng)可信分布式身份認(rèn)證系統(tǒng)

2022-01-18 08:22楊冠群劉蔭徐浩邢宏偉張建輝李恩堂
關(guān)鍵詞:標(biāo)識(shí)符憑證聲明

楊冠群,劉蔭,徐浩,邢宏偉,張建輝,李恩堂

(1. 國網(wǎng)山東省電力公司信息通信公司,山東 濟(jì)南 250001;2. 山東魯軟數(shù)字科技有限公司,山東 濟(jì)南 250001)

1 引言

隨著微電網(wǎng)行業(yè)的不斷變革,新能源的布局占據(jù)著國家重要的戰(zhàn)略地位[1]。2020年4月,國家能源局綜合司發(fā)布的 《關(guān)于做好可再生能源發(fā)展“十四五”規(guī)劃編制工作有關(guān)事項(xiàng)的通知》,通知指出:“優(yōu)先開發(fā)當(dāng)?shù)胤稚⑹胶头植际娇稍偕茉促Y源,大力推進(jìn)分布式可再生電力、熱力、燃?xì)獾仍谟脩魝?cè)直接就近利用,結(jié)合儲(chǔ)能、氫能等新技術(shù),提升可再生能源在區(qū)域能源供應(yīng)中的比重?!笨稍偕茉捶植际绞俏磥淼陌l(fā)展方向,而在這樣的分布式系統(tǒng)中發(fā)展充電站乃至充放電站無疑是大勢所趨,甚至有可能成為標(biāo)配[2]。

隨著我國新能源的廣泛應(yīng)用,風(fēng)電、太陽能等占比大幅提升。例如,大力發(fā)展光儲(chǔ)充一體化的微電網(wǎng)技術(shù),將清潔能源供電通過光伏發(fā)電后存儲(chǔ)電能,光伏、儲(chǔ)能和充電設(shè)施形成了一個(gè)微網(wǎng),根據(jù)需求與公共電網(wǎng)智能互動(dòng),可實(shí)現(xiàn)并網(wǎng)、離網(wǎng)兩種不同運(yùn)行模式[3]。為了緩解充電樁大電流充電時(shí)對區(qū)域電網(wǎng)的沖擊,儲(chǔ)能系統(tǒng)的傳輸配送過程通常伴隨分布式發(fā)電、分布式售電、智能電表、終端智能充電樁等服務(wù)需求。

微電網(wǎng)在迅速擴(kuò)展的同時(shí),也帶來了愈加嚴(yán)重的安全挑戰(zhàn)[4]。以風(fēng)電、光伏為主的新型供電系統(tǒng)呈現(xiàn)分布式架構(gòu),集中式的用戶管理系統(tǒng)已經(jīng)無法滿足分布式各主體之間進(jìn)行點(diǎn)對點(diǎn)可信交互的需求。此外,能源物聯(lián)網(wǎng)的終端節(jié)點(diǎn)分布廣、范圍寬、數(shù)量大、環(huán)境復(fù)雜且計(jì)算資源有限,極易受到冒用、篡改等攻擊[5-6]。

為適應(yīng)新型的電力發(fā)展要求,2019年,國網(wǎng)公司提出“開展區(qū)塊鏈等新技術(shù)應(yīng)用研究,有效支撐和促進(jìn)‘兩網(wǎng)’融合發(fā)展”,推動(dòng)了區(qū)塊鏈技術(shù)在電力行業(yè)的進(jìn)一步研究和深化應(yīng)用[7]。區(qū)塊鏈開放、共享、協(xié)同的技術(shù)形態(tài)與國網(wǎng)公司建設(shè)中國特色國際領(lǐng)先的微網(wǎng)戰(zhàn)略目標(biāo)高度契合,可以有效解決泛在微網(wǎng)建設(shè)過程中面臨的數(shù)據(jù)融通、設(shè)備安全、個(gè)人隱私、架構(gòu)僵化和多主體協(xié)同等問題,在引領(lǐng)泛在微網(wǎng)建設(shè)方面具有不可替代的重要作用[8-9]。

區(qū)塊鏈技術(shù)以其去中心化、安全透明、不易篡改等特性與分布式能源交易的需求具有極高的契合度[10]。為了解決微網(wǎng)中終端節(jié)點(diǎn)的身份管理、可信接入和業(yè)務(wù)訪問控制等問題,本文基于FISCO BCOS聯(lián)盟區(qū)塊鏈技術(shù),設(shè)計(jì)了一個(gè)多中心的分布式身份認(rèn)證系統(tǒng),支持細(xì)粒度的聲明描述和基于零知識(shí)證明的隱私憑證,實(shí)現(xiàn)了實(shí)體身份的自主控制、屬性級(jí)的細(xì)粒度訪問控制、用戶身份的隱私保護(hù)和可信數(shù)據(jù)交換。具體而言,本文貢獻(xiàn)如下。

1) 用戶身份的自主控制:與傳統(tǒng)身份管理不同,身份不必再掌握在身份提供者手中,用戶的身份由自己建立和保存,用戶自己管理自己的信息,用戶完全擁有、控制和管理自己的身份。

2) 分布式可信接入:提出了基于聯(lián)盟區(qū)塊鏈的分布式身份管理技術(shù),支持扁平化的分布式認(rèn)證,不依賴于單一企業(yè)的認(rèn)證,通過分布式的用戶社會(huì)關(guān)系獲得全面的身份認(rèn)證,真正意義上實(shí)現(xiàn)了用戶身份自治,通過KYC(know your customer)技術(shù)實(shí)現(xiàn)身份監(jiān)管,解決了微網(wǎng)終端節(jié)點(diǎn)的分布式可信接入問題。

3) 用戶信息身份隱私保護(hù):提出了適用于微網(wǎng)的基于用戶細(xì)粒度屬性的可驗(yàn)證憑證,基于零知識(shí)證明技術(shù),系統(tǒng)支持生成匿名憑證,針對用戶的敏感信息,可以在不披露秘密信息的情況下完成驗(yàn)證,有效實(shí)現(xiàn)了用戶身份的隱私保護(hù)。

4) 多中心化機(jī)構(gòu)的移植:基于區(qū)塊鏈技術(shù),支持多個(gè)證書頒發(fā)機(jī)構(gòu)并對應(yīng)不同的信任等級(jí),是一個(gè)分布式多中心的身份管理平臺(tái),支持多平臺(tái)、跨鏈、跨應(yīng)用間身份標(biāo)識(shí)和憑證的移植。

2 相關(guān)工作

隨著互聯(lián)網(wǎng)的普及和發(fā)展,網(wǎng)絡(luò)數(shù)字身份應(yīng)運(yùn)而生,并用于補(bǔ)齊互聯(lián)網(wǎng)缺失的身份層,解決可信交互的問題。第一代網(wǎng)絡(luò)身份為應(yīng)用賬戶,由中心式的身份提供方分配本地賬戶并簡單地提供用戶名和賬戶密碼。

由于不同應(yīng)用間的本地賬戶無法聯(lián)通,人們需要維護(hù)大量的應(yīng)用賬戶,基于聯(lián)盟的賬戶身份產(chǎn)生。SSO單點(diǎn)登錄系統(tǒng)[11]是比較流行的聯(lián)盟身份解決方案,可以解決在多個(gè)應(yīng)用系統(tǒng)中的訪問聯(lián)盟所有應(yīng)用系統(tǒng)和跨系統(tǒng)的信任問題。傳統(tǒng)的微電網(wǎng)的認(rèn)證系統(tǒng)一般也通過SSO單點(diǎn)登錄系統(tǒng)來解決。Celesti等[12]在異構(gòu)環(huán)境中建立聯(lián)盟的體系結(jié)構(gòu),提出了一種基于IdP/SP模型和SAML技術(shù)的身份認(rèn)證解決方案。魏曉菁等[13]為國家電網(wǎng)公司建設(shè)了全網(wǎng)統(tǒng)一索引的身份管理和認(rèn)證系統(tǒng),為國網(wǎng)各大業(yè)務(wù)體系提供了身份認(rèn)證、賬戶管理、SSO單點(diǎn)登錄等基礎(chǔ)設(shè)施服務(wù),節(jié)省了各子應(yīng)用系統(tǒng)之間各自數(shù)據(jù)保持的存儲(chǔ)開銷和降低了安全風(fēng)險(xiǎn),避免了數(shù)據(jù)孤島的困境,基本解決了全網(wǎng)互聯(lián)互通的問題。然而,中心化系統(tǒng)中的用戶的身份信息完全由服務(wù)商所掌控,可能存在信息超量收集、惡意收集分析、數(shù)據(jù)泄露和數(shù)據(jù)買賣等不可控行為。

為了實(shí)現(xiàn)用戶身份自治,研究人員開始探索基于區(qū)塊鏈的數(shù)字身份管理方案[14-15]。公鑰基礎(chǔ)設(shè)施(PKI)[16]是較為常用的身份和證書管理技術(shù)。Yu等[17]設(shè)計(jì)并開發(fā)了基于區(qū)塊鏈的PKI管理框架,用于發(fā)布、驗(yàn)證和撤銷X.509證書,以解決單點(diǎn)故障和實(shí)現(xiàn)對CA中心缺陷的快速反應(yīng)。uPort[18]是基于以太坊和分布式網(wǎng)絡(luò)設(shè)計(jì)的開放式身份系統(tǒng),基于智能合約實(shí)現(xiàn)了支持多中心身份數(shù)據(jù)的自治,支持多中心化應(yīng)用。Kikitamara等[19]將身份管理權(quán)限歸于個(gè)人并在區(qū)塊鏈系統(tǒng)上共享,從而支持多個(gè)系統(tǒng)和應(yīng)用程序之間交互和服務(wù)。

基于區(qū)塊鏈的身份認(rèn)證系統(tǒng)大多基于公共區(qū)塊鏈平臺(tái),沒有針對微電網(wǎng)的聯(lián)盟場景進(jìn)行有效改造和整合,難以滿足微電網(wǎng)中可信接入、細(xì)粒度訪問控制等需求,因此不適合電網(wǎng)場景。雖然區(qū)塊鏈在電網(wǎng)的應(yīng)用較多,但大多是集中于區(qū)塊鏈平臺(tái)在電網(wǎng)交易場景中的應(yīng)用,而缺乏從身份管理的角度來解決分布式身份可信的問題。因此,本文基于FISCO BCOS聯(lián)盟區(qū)塊鏈技術(shù),提出了一個(gè)支持多中心的分布式身份認(rèn)證系統(tǒng),實(shí)現(xiàn)用戶身份的自主控制和可信接入,并通過屬性聲明技術(shù)實(shí)現(xiàn)屬性級(jí)的細(xì)粒度訪問控制。

3 系統(tǒng)模型

3.1 系統(tǒng)目標(biāo)

可信身份認(rèn)證作為身份治理底層基礎(chǔ)設(shè)施,用以解決跨部門、跨組織、跨機(jī)構(gòu)的可信身份認(rèn)證問題,確保用戶的身份信息由自己掌握,保護(hù)隱私與個(gè)人信息,同時(shí)為監(jiān)管保留查驗(yàn)通道(如KYC認(rèn)證或與eID聯(lián)通)。其系統(tǒng)目標(biāo)如下。

(1)自主控制

DID可以由用戶自己建立,自己管理自己的信息。用戶完全擁有、控制和管理自己的身份。

(2)分布式認(rèn)證

不依賴于單一企業(yè)的認(rèn)證,通過分布式的用戶社會(huì)關(guān)系獲得全面的身份認(rèn)證。

(3)建立信任

本文先選取委員會(huì)節(jié)點(diǎn)作為發(fā)證者和記賬節(jié)點(diǎn),而區(qū)塊鏈技術(shù)旨在確保網(wǎng)絡(luò)中每一個(gè)記賬節(jié)點(diǎn)都參與數(shù)據(jù)交互及記錄管理等工作,再根據(jù)KYC的真實(shí)用戶信息記錄及審計(jì)規(guī)則,對用戶所提供的信息進(jìn)行審核,并以委員會(huì)節(jié)點(diǎn)作為憑證頒發(fā)者對用戶憑證進(jìn)行背書,可以實(shí)現(xiàn)多中心機(jī)構(gòu)中信任橋梁的建立,由此實(shí)現(xiàn)支持多中心的特點(diǎn)及節(jié)點(diǎn)間的相互信任。

(4)隱私保護(hù)

用戶的數(shù)字身份標(biāo)識(shí)符無法推測出用戶真實(shí)的身份信息,用戶的可信身份認(rèn)證標(biāo)識(shí)符和可驗(yàn)證數(shù)字憑證鏈下存儲(chǔ),鏈上存證。用戶屬性可表示為離散對數(shù)模型,轉(zhuǎn)換為密碼承諾隱藏用戶隱私,實(shí)現(xiàn)更高級(jí)別的隱私需求。

(5)可撤銷性

使用輔鏈支撐的撤銷策略,實(shí)現(xiàn)密碼憑據(jù)的撤銷查詢,提供未撤銷性證明。

(6)可移植性

支持多平臺(tái)、跨鏈、跨應(yīng)用間身份標(biāo)識(shí)和憑證的移植。

3.2 系統(tǒng)架構(gòu)

與傳統(tǒng)的密鑰證書管理PKI體系相似,在可信身份認(rèn)證生態(tài)中,系統(tǒng)擁有4種角色,分別為發(fā)證者(Issuer)、持有者(Holder)、驗(yàn)證者(Verifier)和標(biāo)識(shí)符注冊機(jī)構(gòu),其中系統(tǒng)可以擁有多個(gè)發(fā)證中心,如圖1所示。此外,機(jī)構(gòu)委員會(huì)成員、系統(tǒng)管理員也是聯(lián)盟鏈角色,分別具有管理發(fā)證機(jī)構(gòu)的權(quán)限和系統(tǒng)管理權(quán)限。系統(tǒng)角色具體描述如下。

圖1 身份認(rèn)證系統(tǒng)模型Figure 1 Identity authentication system model

發(fā)證者:擁有用戶數(shù)據(jù)并能開具可驗(yàn)證聲明憑證的實(shí)體,如政府、銀行、大學(xué)等。區(qū)塊鏈中的委員會(huì)充當(dāng)發(fā)證者。針對用戶的身份社會(huì)屬性多樣化與統(tǒng)一身份管理中心之間的矛盾,本文采用多機(jī)構(gòu)頒發(fā)代替?zhèn)鹘y(tǒng)的中心化證書中心。假設(shè)已有一個(gè)用于選擇委員會(huì)節(jié)點(diǎn)的許可模型,系統(tǒng)中選取委員會(huì)作為證書的頒發(fā)者。令Cmt表示委員會(huì),由n個(gè)節(jié)點(diǎn)組成。委員會(huì)節(jié)點(diǎn)各自存儲(chǔ)一個(gè)私鑰 sk,用于頒發(fā)憑據(jù)。相應(yīng)的公鑰pk用于驗(yàn)證憑據(jù)。任何一方(分布式應(yīng)用程序或委員會(huì)節(jié)點(diǎn))都可以充當(dāng)憑據(jù)發(fā)證者,發(fā)證者的主要功能包括發(fā)證方注冊/注銷、發(fā)布憑證模板、簽發(fā)用戶憑證等。輔助以KYC規(guī)則,對用戶所提供的信息進(jìn)行審核,并以委員會(huì)節(jié)點(diǎn)作為憑證頒發(fā)者對用戶憑證進(jìn)行背書,為多中心機(jī)構(gòu)建立信任的橋梁。

驗(yàn)證者:也稱應(yīng)用方,接受可驗(yàn)證聲明憑證并進(jìn)行驗(yàn)證,由此可以提供給出示可驗(yàn)證聲明憑證者某種類型的服務(wù)。驗(yàn)證者的主要功能包括發(fā)布驗(yàn)證規(guī)則、通過鏈上信息驗(yàn)證用戶DID、驗(yàn)證用戶憑證等。驗(yàn)證者包括雇主、安全人員和網(wǎng)站等。

持有者:向Issuer請求可驗(yàn)證聲明憑證的實(shí)體。向驗(yàn)證者出示可驗(yàn)證聲明憑證。開具的可驗(yàn)證聲明憑證可以放在可驗(yàn)證聲明憑證錢包里,方便再次使用。持有者的主要功能包括DID注冊/注銷/更新、向發(fā)證者申請憑證、向驗(yàn)證者展示憑證等。持有者包括學(xué)生、員工和客戶等。

標(biāo)識(shí)符注冊機(jī)構(gòu):負(fù)責(zé)維護(hù)DID的數(shù)據(jù)庫,如某條區(qū)塊鏈、分布式賬本(DID里的example字段),方便驗(yàn)證者驗(yàn)證可驗(yàn)證聲明憑證、Holder、Issuer、可信身份認(rèn)證數(shù)據(jù)庫。

微網(wǎng)區(qū)塊鏈分布式身份認(rèn)證系統(tǒng)可以擁有多個(gè)CA發(fā)證中心,一般由電網(wǎng)機(jī)構(gòu)或其他機(jī)構(gòu)承擔(dān),如圖2所示。此外,微網(wǎng)中終端節(jié)點(diǎn)眾多,同一個(gè)用戶既可以作為持有者,也可以作為驗(yàn)證者。

圖2 多授權(quán)中心的微網(wǎng)接入架構(gòu)Figure 2 Microgrid access architecture with multiple authorization centers

4 基于區(qū)塊鏈的分布式身份認(rèn)證系統(tǒng)

4.1 符號(hào)定義

本節(jié)的符號(hào)定義如表1所示。

表1 符號(hào)定義Table 1 Symbol definition

(1)DID

DID也可以記為did,參考比特幣的雙 hash方式,DID標(biāo)識(shí)符的設(shè)計(jì)可以采用base58 (ripemd160 (sha256()))計(jì)算方式,其中Public Key是用戶公鑰。DID標(biāo)識(shí)符的具體形式可以表示為"did:did:1:0x0086eb1f712ebc6f1c27 6e12ec21"。

(2)Subject

Subject表示主體對象,是聲明描述的主體對象。實(shí)體示例包括人、動(dòng)物和事物等。

(3)Claim

Claim指用戶憑證中的聲明,是對自己所持有屬性、內(nèi)容等的聲明。

(4)Verifiable Credential

Verifiable Credential指用戶向發(fā)證方申請和簽發(fā)的憑證,由元數(shù)據(jù)、聲明和證明組成。

(5)Presentation

可驗(yàn)證展示來自同一主體的一個(gè)或多個(gè)可驗(yàn)證憑證的數(shù)據(jù)。

4.2 算法描述

可信身份認(rèn)證系統(tǒng)包括數(shù)字身份管理體系和憑證管理系統(tǒng)。數(shù)字身份管理體系包括身份注冊階段、身份驗(yàn)證階段、KYC過程;憑證管理系統(tǒng)包括憑證創(chuàng)建階段、存證創(chuàng)建階段、憑證驗(yàn)證階段、憑證更新階段、憑證撤銷階段。

(1)數(shù)字身份管理體系

① 身份注冊階段createDid (addr) →{pk, sk,did}:注冊是獲取身份的過程,需要由鏈上的機(jī)構(gòu)來承認(rèn)該所有者的身份,由身份所有者執(zhí)行。輸入用戶節(jié)點(diǎn)的地址addr,系統(tǒng)創(chuàng)建公私鑰(pk,sk)和鏈上注冊用戶身份標(biāo)識(shí)符did并返回(did可以直接使用公鑰地址)。其中系統(tǒng)用戶的公私鑰記為(pku, sku),發(fā)證者公私鑰記為(pkc, skc),驗(yàn)證者公私鑰為(pkv, skv)。

② 身份驗(yàn)證階段verifyDid (did, sign, pku)→result:驗(yàn)證是校驗(yàn)所提供的身份是否為合法身份的過程。身份所有者提供身份標(biāo)識(shí)符did、相關(guān)挑戰(zhàn)信息的簽名sign和身份公鑰 pku,sign=Signsku(ch),ch為驗(yàn)證者的挑戰(zhàn)。驗(yàn)證者在鏈上查詢did的存在性,用公鑰 pku驗(yàn)證用戶簽名sign的正確性,然后調(diào)用智能合約,查詢did的屬性,返回查詢結(jié)果result,其中result={TRUE/FALSE},TRUE表示身份驗(yàn)證通過,F(xiàn)ALSE表示身份驗(yàn)證失敗。

③ KYC過程:聯(lián)盟委員會(huì)對用戶所提供的身份信息進(jìn)行核驗(yàn),核驗(yàn)通過后加密存儲(chǔ)于數(shù)據(jù)庫中,用于后續(xù)監(jiān)管和用戶憑證信息比對核實(shí),以防違法交易發(fā)生。

(2)憑證管理系統(tǒng)

① 憑證創(chuàng)建階段createCredential(did,a,v)→cred:憑證創(chuàng)建算法由憑證的發(fā)證者執(zhí)行。DID持有者提供其身份標(biāo)識(shí)符did、用戶屬性a及對應(yīng)的屬性值v,發(fā)證者核驗(yàn)屬性后,首先生成其聲明claimi={a,v}。然后,計(jì)算屬性值摘要,并為聲明簽名生成簽名證明S=Signskc(h),h=H(v),其中H為哈希函數(shù);接著,發(fā)證者為授權(quán)證書添加憑證授權(quán)時(shí)間、憑證更新時(shí)間、用戶相關(guān)屬性、用戶did的使用方法、驗(yàn)證類型(密鑰類型)、使用端口、更新屬性和發(fā)證者的簽名信息等元數(shù)據(jù)信息,以完成授權(quán)證書的創(chuàng)建和簽發(fā)。

如果用戶所持屬性為隱私屬性,選定群G的生成元為g?G,計(jì)算A=ga( modq)。選取盲因子r,其承諾值c=gr,于是匿名聲明為claim={a,A}并發(fā)送給發(fā)證者。發(fā)證者核驗(yàn)承諾值,驗(yàn)證成功則接受承諾;為聲明簽名生成簽名證明S,S=Signskc(c),并為授權(quán)證書添加憑證授權(quán)時(shí)間、軟件相關(guān)屬性、使用方自身屬性和發(fā)證者的簽名信息,完成授權(quán)證書的創(chuàng)建和簽發(fā)。選?。╟h, rp)作為結(jié)果證明,該證明可被其他用戶和驗(yàn)證者驗(yàn)證。普通憑證創(chuàng)建算法和隱私憑證創(chuàng)建算法分別如算法1、算法2所示。

算法1普通憑證創(chuàng)建算法

輸入用戶身份標(biāo)識(shí)符did,屬性a及對應(yīng)屬性值v

輸出憑證結(jié)果

② 存證創(chuàng)建階段createEvidence (object,skc) →ev:輸入未上鏈的對象object(一般為所頒發(fā)的憑證對象)和身份私鑰skc,算法輸出存證ev。計(jì)算傳入的object對象的哈希值,通過身份私鑰skc簽名,So=Signskc(ho),生成存證ev={ho,So,ex},ex為其他輔助消息或備注消息,并將存證ev上鏈。存證創(chuàng)建算法可以由持有者或發(fā)證者調(diào)用。

③ 憑證驗(yàn)證階段verifyCredential (did, cred,pk) →result:輸入持有者的身份標(biāo)識(shí)did、一個(gè)或多個(gè)待驗(yàn)證憑證cred和身份公鑰pk,驗(yàn)證者首先從憑證cred重構(gòu)憑證摘要ho'=H(cred),然后使用發(fā)證方公鑰pkc驗(yàn)證憑證的簽名So,并與鏈上的簽名So和摘要ho進(jìn)行比對,比較ho'與ho是否相等。然 后 返 回 驗(yàn) 證 結(jié) 果result,其 中result={TRUE/FALSE},TRUE表示憑證驗(yàn)證通過,F(xiàn)ALSE表示憑證驗(yàn)證失敗。普通憑證驗(yàn)證算法如算法3所示。

算法3普通憑證驗(yàn)證算法

輸入用戶身份標(biāo)識(shí)符did,憑證cred,公鑰pk

輸出TRUE / FALSE

check(did) //查 驗(yàn)did的 存 在 性tag1=verSignpkc(So)//驗(yàn)證簽名值

ho'=H(cred) //重構(gòu)憑證摘要

tag2=isEqual(ho,ho')//從鏈上讀取摘要ho,并與ho'比較

零知識(shí)憑證驗(yàn)證算法中,除了常規(guī)的輸入以外,還需輸入一些零知識(shí)輔助參數(shù),以支撐不披露屬性值的零知識(shí)驗(yàn)證;除了常規(guī)的憑證驗(yàn)證步驟,還需進(jìn)行零知識(shí)挑戰(zhàn)和回應(yīng)的驗(yàn)證,并從鏈上讀取摘要,并與算法所恢復(fù)的摘要數(shù)據(jù)比較,具體驗(yàn)證如算法4所示。

算法4零知識(shí)憑證驗(yàn)證算法

輸入用戶身份標(biāo)識(shí)符did,憑證cred,公鑰pk,挑戰(zhàn)/回應(yīng)值(ch, rp),承諾A

輸出TRUE / FALSE

check(did) //查 驗(yàn)did的 存 在 性tag1=verSignpkc(So)//驗(yàn)證簽名值

ho'=H(cred) //重構(gòu)憑證摘要

tag2=isEqual(ho,ho')//從鏈上讀取摘要ho,并與oh'比較

憑證驗(yàn)證包含兩種模式,分別為鏈下模式和鏈上模式。鏈下模式中驗(yàn)證者只需驗(yàn)證憑證的簽名、有效期、是否撤銷等屬性項(xiàng)來判斷授權(quán)證書的真?zhèn)?,這適用于安全需求較低的場景或者離線/應(yīng)急場景;鏈上模式中,除上述驗(yàn)證之外,驗(yàn)證者還需要反向構(gòu)造存證,調(diào)用智能合約向鏈上查詢和比較存證來證明與所持憑證的一致性。鏈上模式適用于安全需求較高的場景。

④ 憑證更新階段updateCredential(did, cred,newClaim)→newCred:輸入持有者的身份標(biāo)識(shí)did、憑證主體cred和新聲明newClaim,newClaimi={a tt'i,val'i}。發(fā)證者核驗(yàn)原證書cred和新的屬性聲明newClaim后,更新授權(quán)證書的update屬性、版本號(hào)和聲明主體,并添加簽名信息,完成授權(quán)證書的更新。

憑證撤銷階段revokeCredential(did,cid,cred)→result:輸入持有者的身份標(biāo)識(shí)did、憑證主體cred,發(fā)證者核驗(yàn)原證書cred后,更新授權(quán)證書的revoke屬性,并重新添加簽名信息,將撤銷憑證編號(hào)cid和存證上鏈。然后返回撤銷結(jié)果result,其中result={TRUE/FALSE},TRUE表示憑證撤銷成功,F(xiàn)ALSE表示憑證撤銷失敗。

4.3 系統(tǒng)應(yīng)用

基于區(qū)塊鏈的電網(wǎng)可信分布式身份認(rèn)證系統(tǒng)應(yīng)用于微網(wǎng)的分布式交易體系中。通過使用DID,用戶持有全局唯一的身份標(biāo)識(shí)符,且該DID標(biāo)識(shí)符可以由用戶自己建立,自己管理自己的信息,因此用戶可以完全擁有、控制和管理自己的身份。

由于用戶自己掌握身份信息,用戶與驗(yàn)證者(應(yīng)用)之間缺少信任。通過區(qū)塊鏈技術(shù),可以對每個(gè)節(jié)點(diǎn)用戶所發(fā)布的信息進(jìn)行確認(rèn)和共識(shí),以建立鏈上信息在節(jié)點(diǎn)間的信任。

得益于區(qū)塊鏈的分布式賬本技術(shù),用戶無須在每個(gè)電網(wǎng)交易系統(tǒng)(甚至是電網(wǎng)以外系統(tǒng))都注冊賬號(hào),只要用戶和驗(yàn)證者在同一個(gè)鏈中,均可以通過分布式的用戶社會(huì)關(guān)系獲得全面的身份認(rèn)證;驗(yàn)證者可以通過屬性對電網(wǎng)用戶執(zhí)行身份準(zhǔn)入,擁有對應(yīng)屬性才能接入訪問。

雖然用戶的數(shù)字身份標(biāo)識(shí)符無法推測出用戶真實(shí)的身份信息,但憑證中可能包含用戶的隱私信息。針對敏感的身份信息,用戶可以將用戶屬性表示為離散對數(shù)模型,并加密為承諾來隱藏用戶隱私,驗(yàn)證者只需要通過零知識(shí)證明技術(shù)即可有效驗(yàn)證,實(shí)現(xiàn)了隱私的保護(hù)。針對過期的或存在問題的憑證,用戶和管理者可以撤銷密碼憑據(jù)。另外,基于區(qū)塊鏈的電網(wǎng)可信分布式身份認(rèn)證系統(tǒng)可以實(shí)現(xiàn)跨平臺(tái)的移植,如兼容電網(wǎng)以外的系統(tǒng)身份驗(yàn)證。

5 實(shí)驗(yàn)評估

本文通過在CentOS主機(jī)上部署FISCO BCOS和身份認(rèn)證系統(tǒng)服務(wù)器、實(shí)驗(yàn)室主機(jī)模擬電網(wǎng)客戶端來模擬電網(wǎng)的分布式接入驗(yàn)證過程,以驗(yàn)證本文系統(tǒng)的高效性和可用性。服務(wù)器主機(jī)的參數(shù)為:Intel(R) Core i7-7700 CPU @3.60 GHz 3.60 GHz,RAM 16.00 GB,CentOS 7系統(tǒng)??蛻舳酥鳈C(jī)的參數(shù)為Intel(R) Core i5-4590 CPU @ 3.30 GHz 3.30 GHz,RAM 8.00 GB,采用Apache JMeter測試工具分別對系統(tǒng)的各接口執(zhí)行了Http請求測試,所有的實(shí)驗(yàn)數(shù)據(jù)為運(yùn)行10 次的平均值。區(qū)塊鏈部署的節(jié)點(diǎn)數(shù)為6個(gè)節(jié)點(diǎn)。

5.1 智能合約設(shè)計(jì)

系統(tǒng)中的智能合約從數(shù)據(jù)對象上分為DID合約、Credential合約、CPT(憑證模板合約);從數(shù)據(jù)結(jié)構(gòu)的定義和設(shè)計(jì)維度可以分為DidData合約、CredentialData合約、CptData合約、IssuerData合約和其他角色以及對象的權(quán)限控制合約,其依賴關(guān)系如圖3所示。

圖3 合約依賴關(guān)系Figure 3 Contract dependencies

DID智能合約負(fù)責(zé)鏈上ID體系建立,包括生成DID、生成DID相關(guān)文檔、DID在鏈上的讀取與更新。

Authority智能合約負(fù)責(zé)進(jìn)行聯(lián)盟鏈權(quán)限管理,包括鏈上DID角色的定義、操作與權(quán)限的定義與控制。

5.2 系統(tǒng)性能測試

系統(tǒng)性能測試時(shí),模擬客戶端首先發(fā)起身份注冊請求,即DID創(chuàng)建請求。不同用戶并發(fā)數(shù)量下DID創(chuàng)建的時(shí)間變化趨勢如圖4所示,從圖4可以看出,身份創(chuàng)建時(shí)間隨用戶并發(fā)數(shù)量增加而增大。

圖4 不同用戶并發(fā)數(shù)量下DID創(chuàng)建的時(shí)間變化趨勢Figure 4 DID creation time under different concurrent users

聲明創(chuàng)建時(shí)間隨用戶屬性個(gè)數(shù)的變化如圖5所示??梢钥闯?,聲明創(chuàng)建時(shí)間隨用戶屬性數(shù)量的增加而增大,基本呈線性趨勢,但增大趨勢較弱。實(shí)際上分布式的憑證聲明中的屬性個(gè)數(shù)是有限的,不會(huì)超過20個(gè),因此該系統(tǒng)完全滿足實(shí)際運(yùn)行的需要。

圖5 聲明創(chuàng)建時(shí)間隨用戶屬性個(gè)數(shù)的變化Figure 5 Claim creation time with different number of user attributes

不同用戶并發(fā)數(shù)量下普通憑證創(chuàng)建的時(shí)間和零知識(shí)憑證創(chuàng)建的時(shí)間分別如圖6和圖7所示。從圖6和圖7可以看出,憑證創(chuàng)建時(shí)間均隨用戶并發(fā)數(shù)量的增加而增大,但增長幅度逐漸減弱。且零知識(shí)憑證的性能幾乎與普通憑證相近,使用性能可以滿足實(shí)際需要。雖然用戶并發(fā)數(shù)量在增加,但分布式的憑證發(fā)放方式降低了系統(tǒng)的總體開銷,相比集中式的憑證發(fā)放方式,效率有所提高。在實(shí)際的系統(tǒng)中,憑證創(chuàng)建分別由不同的委員會(huì)節(jié)點(diǎn)承擔(dān),實(shí)際上是互不干擾的獨(dú)立和并行運(yùn)行子模塊,并不會(huì)累計(jì)于系統(tǒng)總時(shí)間中。

圖6 不同用戶并發(fā)數(shù)量下普通憑證創(chuàng)建的時(shí)間Figure 6 Credential creation time under different concurrent users

圖7 不同用戶并發(fā)數(shù)量下零知識(shí)憑證創(chuàng)建的時(shí)間Figure 7 Zero-knowledge credential creation time under different concurrent users

不同用戶并發(fā)數(shù)量下普通憑證驗(yàn)證的時(shí)間和零知識(shí)憑證驗(yàn)證的時(shí)間分別如圖8、圖9所示??梢钥闯?,與憑證創(chuàng)建相似,憑證驗(yàn)證時(shí)間隨用戶并發(fā)數(shù)量的增加而增大,但增長幅度逐漸減弱。因?yàn)橛脩舨l(fā)數(shù)量在增加,但分布式的憑證驗(yàn)證方式降低了系統(tǒng)的總體開銷,相比集中式的驗(yàn)證方式,效率有所提高,總體情況在可接受范圍之內(nèi)。

圖8 不同用戶并發(fā)數(shù)量下普通憑證驗(yàn)證的時(shí)間Figure 8 Credential verification time under different concurrent users

圖9 不同用戶并發(fā)數(shù)量下零知識(shí)憑證驗(yàn)證時(shí)間Figure 9 Zero-knowledge credential verification time under different concurrent users

存證創(chuàng)建時(shí)間和憑證撤銷時(shí)間隨憑證個(gè)數(shù)的變化分別如圖10和圖11所示,憑證更新時(shí)間隨屬性個(gè)數(shù)的變化如圖12所示。

圖10 存證創(chuàng)建時(shí)間隨憑證個(gè)數(shù)的變化Figure 10 Evidence creation time with the number of vouchers

圖11 憑證撤銷時(shí)間隨憑證個(gè)數(shù)的變化Figure 11 Credential revocation time with the number of vouchers

圖12 憑證更新時(shí)間隨屬性個(gè)數(shù)的變化Figure 12 Credential update time with the number of vouchers

如圖10和圖11所示,存證創(chuàng)建時(shí)和憑證撤銷時(shí)間,限制在同一個(gè)用戶和模塊中,但是系統(tǒng)中的發(fā)證者實(shí)際上是分布式的而不是集中式的,分布式的存證生成及撤銷方式可以降低系統(tǒng)的總體開銷,相比集中式的驗(yàn)證方式,效率有所提高。

從圖12可以看出,憑證更新時(shí)間隨用戶屬性數(shù)量的增加而增大,呈線性趨勢,由于每個(gè)屬性的量級(jí)限制,增大趨勢較弱。在實(shí)際應(yīng)用中,屬性個(gè)數(shù)是有限的,一般為個(gè)位數(shù),該時(shí)間完全滿足實(shí)際運(yùn)行的需要。

6 結(jié)束語

為了解決微網(wǎng)中終端節(jié)點(diǎn)或應(yīng)用的可信接入和業(yè)務(wù)訪問控制等問題,本文基于FISCO BCOS區(qū)塊鏈提出了一個(gè)支持多中心的分布式身份管理平臺(tái),支持用戶身份的自主控制和多平臺(tái)、跨鏈、跨應(yīng)用間身份標(biāo)識(shí)和憑證的移植。用戶完全擁有、控制和管理自己的身份,為微網(wǎng)系統(tǒng)和上層應(yīng)用構(gòu)建了一個(gè)公開透明可信的分布式身份底層框架,實(shí)現(xiàn)了身份的自治和細(xì)粒度的訪問控制。未來將著重研究認(rèn)證過程的隱私保護(hù)問題。

猜你喜歡
標(biāo)識(shí)符憑證聲明
本刊聲明
基于底層虛擬機(jī)的標(biāo)識(shí)符混淆方法
本刊聲明
2021年《理財(cái)》《財(cái)經(jīng)審計(jì)法規(guī)選編》征訂單
基于區(qū)塊鏈的持久標(biāo)識(shí)符系統(tǒng)①
《中國農(nóng)業(yè)會(huì)計(jì)》(月刊)收款憑證
《中國農(nóng)業(yè)會(huì)計(jì)》(月刊)收款憑證
本刊聲明
本刊聲明
暢捷通T3憑證處理常見問題解析