王 棟,楊 珂,王 瑜,玄佳興,陳 亞,5,許洪華
(1. 國(guó)網(wǎng)電子商務(wù)有限公司,北京市 100053;2. 國(guó)網(wǎng)區(qū)塊鏈科技(北京)有限公司,北京市 100053;3. 國(guó)家電網(wǎng)有限公司區(qū)塊鏈技術(shù)實(shí)驗(yàn)室,北京市 100053;4. 中國(guó)科學(xué)院信息工程研究所,北京市 100093;5. 中國(guó)科學(xué)院大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,北京市 100093;6. 國(guó)網(wǎng)江蘇省電力有限公司南京供電分公司,江蘇省 南京市 210019)
電力業(yè)務(wù)融合5G、邊緣計(jì)算、物聯(lián)網(wǎng)、人工智能等前沿技術(shù),推動(dòng)了充電樁、智能家居、電費(fèi)金融等眾多新電力業(yè)務(wù)的快速發(fā)展。各新業(yè)務(wù)系統(tǒng)終端與用戶量持續(xù)增加,出現(xiàn)海量接入、異構(gòu)認(rèn)證、頻繁交互[1]等新的需求。數(shù)字身份認(rèn)證體系作為防護(hù)電力行業(yè)網(wǎng)絡(luò)安全的第一道關(guān)口,既要滿足新業(yè)務(wù)跨域統(tǒng)一身份認(rèn)證需求,又要應(yīng)對(duì)前沿技術(shù)帶來(lái)的問(wèn)題和挑戰(zhàn)[2]。
面對(duì)中國(guó)電力行業(yè)新業(yè)務(wù)規(guī)模越來(lái)越大、分布越來(lái)越廣的情景,現(xiàn)有電力業(yè)務(wù)身份認(rèn)證系統(tǒng)大多停留在中心化身份或聯(lián)盟式身份階段,運(yùn)用分布式認(rèn)證技術(shù)建立統(tǒng)一、適應(yīng)新業(yè)務(wù)的安全身份認(rèn)證體系的探索剛剛開(kāi)始[3-4],仍存在諸多問(wèn)題。一是傳統(tǒng)基于中心式的數(shù)字證書(shū)認(rèn)證體系中[5-7]用戶身份難以可信高效互通,分布式業(yè)務(wù)系統(tǒng)上架設(shè)單一身份認(rèn)證服務(wù)器使得數(shù)據(jù)完全被中心機(jī)構(gòu)管理控制,無(wú)法實(shí)現(xiàn)用戶身份主權(quán)自我控制。二是隨著電力物聯(lián)網(wǎng)建設(shè)過(guò)程中微服務(wù)、微應(yīng)用的發(fā)展,身份管理不只是考慮人的認(rèn)證,設(shè)備和服務(wù)同樣需要身份認(rèn)證[8-10]。因此,需要將人、設(shè)備、服務(wù)等建立統(tǒng)一身份標(biāo)識(shí)庫(kù)進(jìn)行管理。三是實(shí)際應(yīng)用中使用頻次較高的電力應(yīng)用通常安全風(fēng)險(xiǎn)低,重便攜性,而安全風(fēng)險(xiǎn)高的通常使用頻次低,重安全性[11-12],各應(yīng)用間的認(rèn)證交互較差。
針對(duì)電力新型業(yè)務(wù)提出的更高需求,基于區(qū)塊鏈的新型分布式數(shù)字身份引起了電力行業(yè)高度關(guān)注。目前,分布式數(shù)字身份已取得了一些成果,如MicrosoftDID[13]、HyperLedger Indy[14]、uPort[15]、Civic[16]、SelfKey[17]等分布式數(shù)字認(rèn)證驗(yàn)證原型。此外,萬(wàn)維網(wǎng)聯(lián)盟(World Wide Web Consortium,W3C)、全球去中心化身份聯(lián)盟(Decentralized Identity Foundation,DIF)以及結(jié)構(gòu)化信息標(biāo)準(zhǔn)促進(jìn)組 織(Organization for the Advancement of Structured Information Standards,OASIS)[18-19]等國(guó)際組織也正加緊制定相關(guān)標(biāo)準(zhǔn)規(guī)范。這些方案實(shí)現(xiàn)了用戶完全自主控制身份信息,但缺乏對(duì)用戶身份的嚴(yán)格審核和監(jiān)管,存在惡意用戶注冊(cè)為合法身份的重大隱患,并且危害服務(wù)系統(tǒng)后,因用戶完全自主控制身份生成的特點(diǎn)造成難以追蹤。新型電力系統(tǒng)的新業(yè)態(tài)、新服務(wù)模式具有大規(guī)模分布式能源主體接入、設(shè)備種類繁多、交互頻繁等特點(diǎn),需要嚴(yán)格管控接入電力業(yè)務(wù)實(shí)體,最大限度地保證電力業(yè)務(wù)系統(tǒng)的安全,上述基于區(qū)塊鏈的身份認(rèn)證技術(shù)難以滿足電力行業(yè)可監(jiān)管自主控制和安全可移植的身份認(rèn)證要求。此外,區(qū)塊鏈在支撐能源電力行業(yè)新業(yè)態(tài)、新服務(wù)模式上成為重要的創(chuàng)新方向[20-22]。針對(duì)能源區(qū)塊鏈業(yè)務(wù),該體系可以采用雙鏈模式或與原有能源區(qū)塊鏈集成等方式[23-25]部署,在不影響原有業(yè)務(wù)的情況下提供更為安全、靈活可靠的身份認(rèn)證服務(wù)。
本文構(gòu)建了基于區(qū)塊鏈的電力行業(yè)聯(lián)盟信任分布式數(shù)字身份認(rèn)證體系,建立了電力行業(yè)數(shù)字身份,根據(jù)業(yè)務(wù)模式詳細(xì)闡述了系統(tǒng)架構(gòu)與運(yùn)行機(jī)制,同時(shí)設(shè)計(jì)了涵蓋聯(lián)盟數(shù)字身份注冊(cè)、驗(yàn)證、更新、撤銷等環(huán)節(jié)的全生命周期彈性管控機(jī)制。最后,設(shè)計(jì)和實(shí)現(xiàn)了該認(rèn)證系統(tǒng),并對(duì)聯(lián)盟分布式身份認(rèn)證的3 個(gè)典型應(yīng)用場(chǎng)景提出實(shí)施思路。
電力行業(yè)業(yè)務(wù)系統(tǒng)身份認(rèn)證體系由中心化身份、聯(lián)盟式身份、以用戶為中心數(shù)字身份逐漸向聯(lián)盟去中心化身份體系演進(jìn)。以下從網(wǎng)絡(luò)架構(gòu)、用戶身份控制、隱私保護(hù)角度分析區(qū)塊鏈聯(lián)盟分布式身份認(rèn)證在電力系統(tǒng)的適用性。
1)網(wǎng)絡(luò)架構(gòu)
目前,電力行業(yè)中不少業(yè)務(wù)系統(tǒng)采用微服務(wù)架構(gòu)[26-27],將單體結(jié)構(gòu)系統(tǒng)轉(zhuǎn)換為分布式系統(tǒng),大多使用中心化統(tǒng)一身份認(rèn)證體系[3,5]。然而,中心化身份認(rèn)證服務(wù)器易遭受惡意攻擊[28],比如分布式拒絕服務(wù)(distributed denial of service,DDoS)攻擊、單點(diǎn)故障等。區(qū)塊鏈技術(shù)的分布式架構(gòu)[29-30]契合身份認(rèn)證需求,多個(gè)組織構(gòu)建可信聯(lián)盟網(wǎng)絡(luò)[31],去中心化節(jié)點(diǎn)在多個(gè)服務(wù)器上運(yùn)行,消除了對(duì)集中化服務(wù)器的依賴。該技術(shù)可為電力行業(yè)實(shí)體建立身份標(biāo)識(shí)庫(kù),實(shí)現(xiàn)身份跨域統(tǒng)一安全管理。
2)用戶身份控制
用戶對(duì)身份信息的控制要求愈加細(xì)化[32],但中心化數(shù)字身份的第三方機(jī)構(gòu)和聯(lián)盟數(shù)字身份的超級(jí)中心使用戶無(wú)法實(shí)現(xiàn)身份控制。區(qū)塊鏈將信息上鏈存儲(chǔ)過(guò)程記錄進(jìn)分布式賬本,根據(jù)智能合約自動(dòng)執(zhí)行策略,實(shí)現(xiàn)用戶身份的注冊(cè)管理[33],身份控制權(quán)由第三方機(jī)構(gòu)或組織轉(zhuǎn)移到用戶手中,并保證記錄的可追溯、防篡改,安全性較高。根據(jù)電力業(yè)務(wù)場(chǎng)景的需求,本文設(shè)計(jì)了用戶身份監(jiān)管機(jī)制,可促進(jìn)跨部門(mén)、跨地域的身份認(rèn)證和數(shù)據(jù)協(xié)同。
3)隱私保護(hù)
異構(gòu)分布式網(wǎng)絡(luò)中任意系統(tǒng)的暴露都會(huì)泄露其他系統(tǒng)用戶隱私,區(qū)塊鏈分布式身份認(rèn)證利用隱私保護(hù)策略改變用戶數(shù)字身份數(shù)據(jù)的所有權(quán),采用零知識(shí)證明和同態(tài)加密[34]技術(shù)有選擇地共享用戶身份信息,以實(shí)現(xiàn)隱私保護(hù)。
綜上所述,聯(lián)盟分布式身份認(rèn)證技術(shù)依托區(qū)塊鏈實(shí)現(xiàn)電力行業(yè)實(shí)體的數(shù)字身份全生命周期管理、安全交互以及彈性管控,保障身份信息的可信存儲(chǔ)、可追溯和防篡改[35],并確保電力業(yè)務(wù)系統(tǒng)的安全。此外,身份認(rèn)證的去中心化特點(diǎn)可以避免服務(wù)器因受到攻擊而造成全網(wǎng)癱瘓。
電力行業(yè)數(shù)字身份的標(biāo)準(zhǔn)化是電力行業(yè)實(shí)現(xiàn)統(tǒng)一身份認(rèn)證的基礎(chǔ)。本文采用聯(lián)盟分布式數(shù)字身份作為電力行業(yè)數(shù)字身份,其由聯(lián)盟分布式數(shù)字身份標(biāo)識(shí)符(以下簡(jiǎn)稱聯(lián)盟ID)和聯(lián)盟數(shù)字身份憑證(以下簡(jiǎn)稱憑證)組成。前者為聯(lián)盟內(nèi)實(shí)體的唯一標(biāo)識(shí),后者本質(zhì)上是與實(shí)體相關(guān)聯(lián)的身份屬性聲明集合,以證明實(shí)體身份真實(shí)性。數(shù)字身份相關(guān)信息由聯(lián)盟分布式身份賬本存儲(chǔ)。
聯(lián)盟ID 用來(lái)代表電力系統(tǒng)中實(shí)體的一個(gè)數(shù)字身份,由標(biāo)識(shí)符以及與之關(guān)聯(lián)的公私鑰對(duì)[18]組成,其中,公私鑰用于控制身份和簽署身份證明。聯(lián)盟ID 具有聯(lián)盟內(nèi)公開(kāi)唯一、分布式與自主可控等特點(diǎn)。電力服務(wù)系統(tǒng)或設(shè)備、業(yè)務(wù)或監(jiān)管部門(mén)、安全管理人員、上下游單位、外部第三方(如銀行金融機(jī)構(gòu))等各類實(shí)體可以自主完成聯(lián)盟ID 的注冊(cè)、解析、更新或撤銷操作。
單個(gè)電力系統(tǒng)中的實(shí)體可擁有多個(gè)數(shù)字身份,結(jié)合電力行業(yè)標(biāo)識(shí)規(guī)范可以分配多個(gè)聯(lián)盟ID,在不同場(chǎng)景下?lián)碛信c之對(duì)應(yīng)的身份憑證,如圖1 所示。聯(lián)盟ID 及其公鑰存儲(chǔ)在賬本上,同一實(shí)體的不同身份標(biāo)識(shí)符之間沒(méi)有關(guān)聯(lián)信息,攻擊者難以分析聯(lián)盟ID 和實(shí)體之間的聯(lián)系,有效避免信息歸集造成隱私泄露。聯(lián)盟ID 雖然對(duì)全局公開(kāi),但是不包括和實(shí)體真實(shí)身份相關(guān)的信息,需依賴實(shí)體的憑證[19]驗(yàn)證身份。
圖1 用戶的多個(gè)數(shù)字身份示意圖Fig.1 Schematic diagram of multiple digital identities of a user
憑證是電力系統(tǒng)中實(shí)體身份信息真實(shí)性的證明,也是電力行業(yè)聯(lián)盟信任分布式數(shù)字身份認(rèn)證體系架構(gòu)對(duì)接入電力系統(tǒng)實(shí)體進(jìn)行監(jiān)管的手段。該憑證核心是一組實(shí)體身份屬性的集合,并附上了頒發(fā)者的簽名及憑證元數(shù)據(jù)。憑證用于描述實(shí)體的某些身份屬性,聯(lián)盟ID 持有者通過(guò)憑證向其他實(shí)體證明自己的屬性可信。憑證由用戶保存,數(shù)據(jù)結(jié)構(gòu)由賬本存儲(chǔ)。
1)憑證數(shù)據(jù)結(jié)構(gòu)
憑證的數(shù)據(jù)結(jié)構(gòu)包括3 個(gè)部分:元數(shù)據(jù)、屬性定義集合和頒發(fā)者相關(guān)簽名信息。元數(shù)據(jù)包括憑證名稱、頒發(fā)者、頒發(fā)日期等;屬性定義集合包含用戶具體身份屬性信息,內(nèi)容可包括人員姓名、性別、編號(hào)、所屬部門(mén)、職稱等;簽名信息包括頒發(fā)者使用的簽名算法、憑證創(chuàng)建時(shí)間、創(chuàng)建者、數(shù)字簽名信息等。
2)業(yè)務(wù)交互流程
憑證的業(yè)務(wù)交互流程如圖2 所示,包括憑證頒發(fā)者、持有者和驗(yàn)證者3 類角色,三者在業(yè)務(wù)交互前根據(jù)場(chǎng)景需求注冊(cè)聯(lián)盟ID 并將其上鏈存儲(chǔ)。業(yè)務(wù)交互雙方須完成對(duì)雙方聯(lián)盟ID 的解析和驗(yàn)證,建立可信連接進(jìn)行業(yè)務(wù)交互,實(shí)現(xiàn)一種以身份持有者為主導(dǎo),憑證頒發(fā)者和驗(yàn)證者不需要直接通信的憑證流轉(zhuǎn)與驗(yàn)證方式。
圖2 基于憑證的業(yè)務(wù)交互示意圖Fig.2 Schematic diagram of certificate-based business interaction
頒發(fā)者是指審核電力系統(tǒng)中實(shí)體身份信息真實(shí)性并能開(kāi)具憑證的實(shí)體,如電力業(yè)務(wù)管理或監(jiān)管部門(mén);持有者即實(shí)體用戶,如電力系統(tǒng)或設(shè)備、安全管理人員、上下游單位、外部第三方機(jī)構(gòu)等。電力系統(tǒng)中實(shí)體用戶向頒發(fā)者請(qǐng)求頒發(fā)身份憑證,接受頒發(fā)者對(duì)其身份信息的審核,向驗(yàn)證者出示憑證,身份憑證由用戶保存,便于“一次頒發(fā)、多次使用”。驗(yàn)證者接受憑證并進(jìn)行匿名或最小化披露驗(yàn)證,若通過(guò)則為該用戶提供后續(xù)服務(wù)。該用戶在聯(lián)盟ID 的基礎(chǔ)上完成憑證的認(rèn)證從而進(jìn)行跨域業(yè)務(wù)應(yīng)用。
聯(lián)盟鏈作為底層技術(shù)[29]符合電力行業(yè)可信交互、無(wú)縫對(duì)接需求,具有性能較優(yōu)、監(jiān)管友好等特性。各電力業(yè)務(wù)組織機(jī)構(gòu)都有記賬權(quán),維護(hù)同一份賬本實(shí)現(xiàn)身份互認(rèn)。智能合約作為區(qū)塊鏈的跨域服務(wù)協(xié)議[36],完成不同應(yīng)用間高效認(rèn)證交互。認(rèn)證體系編寫(xiě)智能合約實(shí)現(xiàn)聯(lián)盟ID 和憑證的業(yè)務(wù)邏輯處理,包括聯(lián)盟ID 的注冊(cè)、查詢、更新和撤銷操作,以及身份憑證數(shù)據(jù)結(jié)構(gòu)的定義、查詢、更新和撤銷操作。
聯(lián)盟分布式身份賬本用于維護(hù)存儲(chǔ)聯(lián)盟ID 的數(shù)據(jù)庫(kù)及各憑證的數(shù)據(jù)結(jié)構(gòu),在聯(lián)盟內(nèi)公開(kāi)可見(jiàn)。憑證中包含用戶身份屬性信息,由用戶自身保存,若存到賬本中聯(lián)盟內(nèi)全局可見(jiàn),易產(chǎn)生隱私泄露問(wèn)題。
基于區(qū)塊鏈的電力行業(yè)聯(lián)盟信任分布式認(rèn)證體系架構(gòu)如圖3 所示。架構(gòu)分為基礎(chǔ)層、服務(wù)層及應(yīng)用層?;A(chǔ)層主要由不同的電力業(yè)務(wù)組織機(jī)構(gòu)共同搭建底層聯(lián)盟分布式身份網(wǎng)絡(luò),各區(qū)塊鏈節(jié)點(diǎn)通過(guò)共識(shí)機(jī)制維護(hù)同一份賬本。服務(wù)層的中間代理程序作為身份層協(xié)議接收上層用戶接口請(qǐng)求,進(jìn)行業(yè)務(wù)邏輯處理,根據(jù)隱私保護(hù)策略為用戶提供存儲(chǔ)方案。憑證協(xié)議提供數(shù)字身份憑證的頒發(fā)、更新、驗(yàn)證以及撤銷過(guò)程的處理邏輯。應(yīng)用層面向電力業(yè)務(wù)系統(tǒng)構(gòu)建應(yīng)用程序,支持用戶進(jìn)行聯(lián)盟分布式數(shù)字身份的全生命周期管理,提供必要的應(yīng)用程序管理服務(wù),其中,身份錢(qián)包存儲(chǔ)用戶的聯(lián)盟ID 和身份憑證。
圖3 基于區(qū)塊鏈的電力行業(yè)聯(lián)盟信任分布式認(rèn)證的體系架構(gòu)Fig.3 Architecture of blockchain-based distributed authentication with alliance trust in power industry
基于區(qū)塊鏈的電力行業(yè)聯(lián)盟信任分布式認(rèn)證體系運(yùn)行機(jī)制如圖4 所示。運(yùn)行機(jī)制包括4 個(gè)部分。
1)聯(lián)盟ID 生成:電力業(yè)務(wù)用戶注冊(cè)聯(lián)盟ID 及其公私鑰對(duì),進(jìn)行Hash 計(jì)算與數(shù)字簽名后發(fā)送到賬本。
2)聯(lián)盟身份憑證生成:憑證頒發(fā)者將憑證的數(shù)據(jù)結(jié)構(gòu)進(jìn)行簽名后發(fā)送到賬本。頒發(fā)者在自身數(shù)據(jù)庫(kù)中創(chuàng)建身份注冊(cè)表,檢索身份注冊(cè)表后關(guān)聯(lián)憑證與申請(qǐng)者線下角色。頒發(fā)者基于該憑證的數(shù)據(jù)結(jié)構(gòu)、身份注冊(cè)表與申請(qǐng)者基本信息為用戶頒發(fā)憑證。
3)聯(lián)盟數(shù)字身份區(qū)塊生成:接收用戶聯(lián)盟ID 以及憑證數(shù)據(jù)結(jié)構(gòu),驗(yàn)證電子簽名,通過(guò)后生成新區(qū)塊并廣播至全網(wǎng),達(dá)成共識(shí)后寫(xiě)入賬本。
4)聯(lián)盟數(shù)字身份驗(yàn)證:查詢賬本上的用戶聯(lián)盟ID 和憑證數(shù)據(jù)結(jié)構(gòu),如果用戶聯(lián)盟ID 和憑證都通過(guò)驗(yàn)證,則用戶身份驗(yàn)證通過(guò),否則驗(yàn)證不通過(guò)。
目前,電力信息系統(tǒng)認(rèn)證體系多采用由獨(dú)立認(rèn)證服務(wù)器來(lái)處理系統(tǒng)認(rèn)證請(qǐng)求的方案,存在依賴于中心服務(wù)器以及隱私泄露、難以應(yīng)對(duì)DDoS 攻擊等安全風(fēng)險(xiǎn)?;趨^(qū)塊鏈的聯(lián)盟信任分布式身份認(rèn)證系統(tǒng)在電力行業(yè)場(chǎng)景下的優(yōu)勢(shì)如表1 所示。
表1 電力系統(tǒng)聯(lián)盟信任分布式認(rèn)證體系和傳統(tǒng)身份認(rèn)證體系的對(duì)比Table 1 Comparison of blockchain-based distributed authentication system with alliance trust and traditional identity authentication system for power system
電力行業(yè)聯(lián)盟分布式身份認(rèn)證系統(tǒng)示意圖如圖5 所示,主要由聯(lián)盟分布式數(shù)字身份賬本、聯(lián)盟分布式身份協(xié)議節(jié)點(diǎn)和分布式身份客戶端3 個(gè)部分組成。底層構(gòu)建聯(lián)盟鏈賬本,存儲(chǔ)聯(lián)盟ID 和憑證數(shù)據(jù)結(jié)構(gòu)信息。此外,聯(lián)盟鏈網(wǎng)絡(luò)支持各組織節(jié)點(diǎn)動(dòng)態(tài)進(jìn)入與退出。聯(lián)盟分布式身份協(xié)議節(jié)點(diǎn)連接賬本和客戶端,與下層用戶相關(guān)聯(lián),接收用戶客戶端請(qǐng)求。各節(jié)點(diǎn)運(yùn)行同一組智能合約,通過(guò)聯(lián)盟ID 協(xié)議和憑證協(xié)議提供業(yè)務(wù)邏輯處理??蛻舳藶橛脩籼峁┞?lián)盟ID 及憑證管理、消息通知等服務(wù)。用戶在客戶端自主生成聯(lián)盟ID,經(jīng)協(xié)議節(jié)點(diǎn)在對(duì)應(yīng)的賬本上鏈存儲(chǔ)。用戶通過(guò)客戶端可向相關(guān)權(quán)威機(jī)構(gòu)申請(qǐng)憑證,實(shí)現(xiàn)憑證與聯(lián)盟ID 的綁定,以適應(yīng)不同應(yīng)用場(chǎng)景的跨域身份認(rèn)證需求。
圖5 分布式身份認(rèn)證系統(tǒng)示意圖Fig.5 Schematic diagram of distributed identity authentication system
全生命周期管理包括聯(lián)盟ID 全生命周期管理和憑證管理2 個(gè)部分。
4.2.1 聯(lián)盟ID 全生命周期管理
聯(lián)盟ID 全生命周期管理如附錄A 圖A1(a)所示,包括聯(lián)盟ID 的注冊(cè)、驗(yàn)證、更新與撤銷流程。
首先,根據(jù)聯(lián)盟ID 的數(shù)據(jù)結(jié)構(gòu)定義,各類電力業(yè)務(wù)系統(tǒng)用戶根據(jù)自身類型進(jìn)行注冊(cè)。聯(lián)盟ID 的頭部信息固定,用戶選擇對(duì)應(yīng)的類型綁定相應(yīng)公私鑰對(duì)。用戶將信息發(fā)送給賬本上鏈存儲(chǔ),并存儲(chǔ)在本地身份錢(qián)包中。其次,用戶利用聯(lián)盟ID 及私鑰,附以時(shí)間戳與數(shù)字簽名后發(fā)送驗(yàn)證請(qǐng)求,接收方查詢發(fā)送方聯(lián)盟ID 及公鑰,利用該公鑰信息進(jìn)行驗(yàn)證。
當(dāng)用戶需要更新時(shí),將變更請(qǐng)求發(fā)送至服務(wù)節(jié)點(diǎn),經(jīng)查詢賬本審核通過(guò)后在賬本上更新聯(lián)盟ID,標(biāo)識(shí)舊聯(lián)盟ID 不可用,同步更新身份錢(qián)包。最后,用戶可以提交撤銷請(qǐng)求,審核后將聯(lián)盟ID 標(biāo)識(shí)為已撤銷。錢(qián)包中已撤銷聯(lián)盟ID相應(yīng)變?yōu)橛脩舨豢捎脿顟B(tài)。
4.2.2 憑證全生命周期管理
1)憑證頒發(fā)
憑證頒發(fā)流程如附錄A 圖A1(b)所示。頒發(fā)者向電力業(yè)務(wù)系統(tǒng)合法用戶頒發(fā)憑證,該用戶能夠在系統(tǒng)中取得信任。第1 階段:用戶與頒發(fā)者相互驗(yàn)證。以頒發(fā)者驗(yàn)證用戶的聯(lián)盟ID 為例,頒發(fā)者收到用戶消息后,查詢賬本中用戶的聯(lián)盟ID 及其對(duì)應(yīng)公鑰,驗(yàn)證消息的簽名,通過(guò)后頒發(fā)者與用戶建立起初步可信連接。第2 階段:用戶向頒發(fā)者請(qǐng)求獲取憑證,并向賬本發(fā)出請(qǐng)求,頒發(fā)者驗(yàn)證請(qǐng)求消息的簽名。通過(guò)后頒發(fā)者識(shí)別參與實(shí)體角色,設(shè)置特定權(quán)限,為用戶頒發(fā)數(shù)字身份憑證,用戶接受憑證并存儲(chǔ)在本地身份錢(qián)包中。
2)憑證驗(yàn)證
憑證驗(yàn)證流程如附錄A 圖A1(c)所示。首先,擁有者與驗(yàn)證者進(jìn)行聯(lián)盟ID 與公鑰的驗(yàn)證,具體過(guò)程類似憑證頒發(fā)的第1 階段。驗(yàn)證通過(guò)則擁有者從錢(qián)包中取出憑證,向賬本請(qǐng)求憑證的數(shù)據(jù)結(jié)構(gòu)。擁有者創(chuàng)建證明消息,將消息發(fā)送給驗(yàn)證者。驗(yàn)證者接收證明消息,向賬本請(qǐng)求得到憑證數(shù)據(jù)結(jié)構(gòu),對(duì)擁有者的憑證進(jìn)行驗(yàn)證,通過(guò)則提供后續(xù)服務(wù)。
為實(shí)現(xiàn)隱私保護(hù),憑證擁有者利用隱私保護(hù)策略有選擇地暴露部分身份屬性信息。隱私保護(hù)策略結(jié)合同態(tài)加密與零知識(shí)證明技術(shù)保證數(shù)據(jù)的安全性和隱私性。憑證驗(yàn)證協(xié)議采用Feige-Fiat-Shamir 零知識(shí)身份認(rèn)證協(xié)議,參與方為憑證擁有者和驗(yàn)證者,聯(lián)盟鏈為可信第三方。憑證擁有者計(jì)算自己某些身份屬性的零知識(shí)證明值用以驗(yàn)證,驗(yàn)證者通過(guò)驗(yàn)證后將自身聯(lián)盟ID 寫(xiě)入Merkle 樹(shù)中,并廣播到整個(gè)聯(lián)盟鏈所有節(jié)點(diǎn)。同時(shí),零知識(shí)證明中的zk-SNARK 密碼技術(shù)包含同態(tài)加密思想,使用zk-SNARK 加密身份數(shù)據(jù),僅有通過(guò)認(rèn)證的機(jī)構(gòu)或組織,即擁有解密密鑰者,才能夠查看數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)安全共享。
3)憑證更新與撤銷
憑證更新與撤銷流程如附錄A 圖A1(d)所示。首先,憑證擁有者與頒發(fā)者進(jìn)行聯(lián)盟ID 與公鑰的驗(yàn)證,過(guò)程類似憑證頒發(fā)的第1 階段。頒發(fā)者更新賬本上的憑證數(shù)據(jù)結(jié)構(gòu),向擁有者發(fā)出通知。擁有者向賬本請(qǐng)求數(shù)據(jù)結(jié)構(gòu),請(qǐng)求更新憑證。頒發(fā)者接收請(qǐng)求對(duì)用戶進(jìn)行驗(yàn)證,通過(guò)則頒發(fā)者更新憑證發(fā)送給用戶,用戶接受更新憑證并存儲(chǔ)在身份錢(qián)包中。撤銷操作中,當(dāng)憑證到達(dá)有效期即視為撤銷。
為驗(yàn)證本文提出的基于區(qū)塊鏈的電力行業(yè)聯(lián)盟信任分布式數(shù)字身份認(rèn)證體系的有效性,本節(jié)將身份認(rèn)證系統(tǒng)部署在聯(lián)盟鏈上,針對(duì)分布式電力交易場(chǎng)景開(kāi)展仿真驗(yàn)證。
聯(lián)盟鏈中服務(wù)器的操作系統(tǒng)均為L(zhǎng)inux 6.8,內(nèi)存容量為32 GB,CPU 核心個(gè)數(shù)為16,智能合約采用Solidity 語(yǔ)言編寫(xiě),在HyperEVM 上執(zhí)行。該仿真場(chǎng)景包括1 個(gè)電力交易中心節(jié)點(diǎn)、6 個(gè)電力用戶節(jié)點(diǎn)(購(gòu)電方或售電方)和2 個(gè)電網(wǎng)企業(yè)節(jié)點(diǎn),1 組認(rèn)證合約,并選取權(quán)威電力機(jī)構(gòu)的節(jié)點(diǎn)作為5 個(gè)魯棒拜占庭容錯(cuò)(robust Byzantine fault tolerance,RBFT)共識(shí)節(jié)點(diǎn),包括1 個(gè)電力交易中心節(jié)點(diǎn)、2 個(gè)電網(wǎng)企業(yè)節(jié)點(diǎn)與2 個(gè)信用強(qiáng)的電力用戶節(jié)點(diǎn)。其中,RBFT 共識(shí)算法是本文對(duì)實(shí)用拜占庭容錯(cuò)(practical Byzantine fault tolerance,PBFT)的改進(jìn)算法,具有通信開(kāi)銷小、吞吐量高、可擴(kuò)展性強(qiáng)、容錯(cuò)性強(qiáng)等優(yōu)點(diǎn)[37-40],更適用于大規(guī)模分布式電力節(jié)點(diǎn)網(wǎng)絡(luò)。分布式電力交易流程如下:首先,電力用戶在電力交易中心節(jié)點(diǎn)通過(guò)身份認(rèn)證后在區(qū)塊鏈上發(fā)布售電信息或購(gòu)電信息,按照符合交易條件就近匹配機(jī)制完成匹配;然后,與電網(wǎng)企業(yè)節(jié)點(diǎn)經(jīng)過(guò)身份認(rèn)證后簽訂三方供用電電子合同;最后,再次通過(guò)身份認(rèn)證完成付款。
設(shè)計(jì)一組售電和購(gòu)電數(shù)據(jù)如表2 所示,在電力交易平臺(tái)上通過(guò)主流性能測(cè)試工具Loadrunner 11(該客戶端運(yùn)行在性能測(cè)試機(jī)上,測(cè)試機(jī)的操作系統(tǒng)為Windows7,內(nèi)存容量為16 GB,CPU 型號(hào)為Intel Core i5),運(yùn)行完成1 000 次身份認(rèn)證測(cè)試過(guò)程。仿真測(cè)試在2 種情形下分別執(zhí)行一次。情形1:全部采用基于證書(shū)頒發(fā)機(jī)構(gòu)(certification authority,CA)頒發(fā)證書(shū)的身份認(rèn)證;情形2:全部采用基于區(qū)塊鏈的分布式身份認(rèn)證。分別計(jì)算2 種情形下1 000 次驗(yàn)證的平均值,身份認(rèn)證驗(yàn)證耗時(shí)結(jié)果如表3 所示。聯(lián)盟分布式身份認(rèn)證平均驗(yàn)證耗時(shí)為86 ms/次,比一般系統(tǒng)的CA 證書(shū)認(rèn)證時(shí)間效率提高約13.1%,能夠滿足電力行業(yè)各參與主體之間的認(rèn)證需求。此外,進(jìn)一步測(cè)試了該分布式電力交易仿真場(chǎng)景中基于區(qū)塊鏈的身份認(rèn)證系統(tǒng)的性能。如表4 所示,針對(duì)不同并發(fā)用戶數(shù),基于區(qū)塊鏈的身份認(rèn)證平均響應(yīng)時(shí)間隨并發(fā)用戶數(shù)的增加而逐漸增加,認(rèn)證吞吐量先增加后降低,其中認(rèn)證平均響應(yīng)時(shí)間不超過(guò)93 ms,認(rèn)證吞吐量約為500 筆/s。而應(yīng)用服務(wù)器CPU 利用率不高于9%,內(nèi)存利用率穩(wěn)定在35.6%左右,事務(wù)通過(guò)率均為100%。可見(jiàn),基于區(qū)塊鏈的身份認(rèn)證能夠滿足分布式電力交易下的業(yè)務(wù)需求。
表2 電力用戶購(gòu)售電信息Table 2 Information on purchase and sale of electricity by electricity users
表3 身份認(rèn)證驗(yàn)證耗時(shí)對(duì)比Table 3 Time-consumption comparison of identity authentication verification
表4 基于區(qū)塊鏈的身份認(rèn)證系統(tǒng)性能分析Table 4 Performance analysis of blockchain-based identity authentication system
從法律可行性角度分析,文獻(xiàn)[41]明確指出當(dāng)事人提交的證據(jù)通過(guò)區(qū)塊鏈技術(shù)存證,并經(jīng)技術(shù)核驗(yàn)推定該證據(jù)材料上鏈后未經(jīng)篡改,人民法院可確認(rèn)該證據(jù)的真實(shí)性,為區(qū)塊鏈證據(jù)的法律效力提供了依據(jù)。
從技術(shù)可行性角度分析,區(qū)塊鏈具有不可篡改、多方共識(shí)、集體維護(hù)、防抵賴等特性,基于區(qū)塊鏈的聯(lián)盟信任分布式身份認(rèn)證體系由高可信區(qū)塊鏈生成身份憑證,共同背書(shū)其身份和公鑰的綁定關(guān)系,能夠代替CA 證書(shū),與基于CA 證書(shū)的身份認(rèn)證體系具有同等級(jí)別的保密性、認(rèn)證性、完整性、防篡改性和安全性,同時(shí)節(jié)約CA 機(jī)構(gòu)高額的第三方服務(wù)費(fèi),成本更低,使用也更加便捷。
從可擴(kuò)展性分析,區(qū)塊鏈身份認(rèn)證體系可以通過(guò)標(biāo)準(zhǔn)接口提供服務(wù),在監(jiān)管前提下支持自由擴(kuò)展節(jié)點(diǎn)和自定義智能合約,集成開(kāi)發(fā)工作量小,具有優(yōu)秀的可擴(kuò)展性。
充電樁運(yùn)營(yíng)商多采用中心化身份認(rèn)證管理方式,充電樁和用戶身份數(shù)據(jù)難以在生態(tài)圈內(nèi)全局公開(kāi)易形成孤島,導(dǎo)致充電樁接入認(rèn)證難,抵御單點(diǎn)攻擊能力弱[42]。而聯(lián)盟分布式身份認(rèn)證可構(gòu)建起統(tǒng)一、安全、互信的充電樁身份認(rèn)證生態(tài)圈。
充電樁業(yè)務(wù)的應(yīng)用結(jié)構(gòu)示意圖如附錄B 圖B1所示。管理部門(mén)作為身份憑證頒發(fā)者,通過(guò)憑證全生命周期管理實(shí)現(xiàn)對(duì)各類充電樁有效管理。充電樁作為憑證持有者,出示憑證提供充電服務(wù)。充電用戶作為驗(yàn)證者,也是電力最終消費(fèi)者。認(rèn)證過(guò)程的4 個(gè)階段如下:
身份初始化:參與主體通過(guò)客戶端調(diào)用聯(lián)盟ID協(xié)議生成聯(lián)盟ID,將其存儲(chǔ)在身份錢(qián)包中。
身份注冊(cè):參與主體將聯(lián)盟ID 通過(guò)共識(shí)和身份隱私保護(hù)存儲(chǔ)在賬本中,保證其身份安全共享互通。
憑證頒發(fā):管理部門(mén)根據(jù)客戶端接入請(qǐng)求及各運(yùn)營(yíng)商的申請(qǐng)資料,統(tǒng)一對(duì)接入電網(wǎng)的充電樁做聯(lián)盟ID 驗(yàn)簽和可信性審核,頒發(fā)用電服務(wù)的憑證。客戶端將憑證以加密方式保存于本地身份錢(qián)包中。憑證中包含頒發(fā)日期、參考電價(jià)信息、頒發(fā)者簽名信息等,管理部門(mén)借助憑證頒發(fā)管理防止不可信充電樁接入。
數(shù)字身份驗(yàn)證:電動(dòng)汽車在不同運(yùn)營(yíng)商的充電樁充電時(shí),充電樁客戶端出示憑證給電動(dòng)汽車用戶客戶端進(jìn)行驗(yàn)證。通過(guò)后電動(dòng)汽車充電結(jié)算,監(jiān)督企業(yè)定價(jià)合理性,反饋給管理部門(mén)。
電力調(diào)度業(yè)務(wù)中各部門(mén)子業(yè)務(wù)需要跨部門(mén)、跨工區(qū)協(xié)同完成。各部門(mén)工作人員身份認(rèn)證系統(tǒng)根據(jù)自身業(yè)務(wù)需求獨(dú)立建設(shè)而無(wú)法共享,造成身份盜用和冒用、行為難以追溯。聯(lián)盟分布式身份認(rèn)證采用身份標(biāo)識(shí)跨鏈復(fù)用,具有可擴(kuò)展、安全性高等特點(diǎn)。
電網(wǎng)人員安全管理結(jié)構(gòu)示意圖如附錄B 圖B2 所示。同一部門(mén)身份數(shù)據(jù)注冊(cè)保存于同一份身份賬本,與其他部門(mén)的身份數(shù)據(jù)安全隔離。如人員A 要跨部門(mén)進(jìn)入工區(qū)2操作設(shè)備,其認(rèn)證管理的3個(gè)階段如下:
跨鏈身份注冊(cè):首先,人員A 通過(guò)客戶端攜帶自身聯(lián)盟ID 向協(xié)議節(jié)點(diǎn)1 發(fā)送請(qǐng)求,A 在身份賬本1 驗(yàn)證后,轉(zhuǎn)發(fā)認(rèn)證請(qǐng)求給公證人模塊;然后,該模塊采用多重簽名機(jī)制對(duì)請(qǐng)求校驗(yàn)并簽名,公證人可由各工區(qū)及上級(jí)管理部門(mén)組成,都擁有一對(duì)公私密鑰。當(dāng)該認(rèn)證請(qǐng)求獲得2/3 以上公證人簽名后,該簽名結(jié)果轉(zhuǎn)發(fā)給節(jié)點(diǎn)2;最后,人員A 通過(guò)節(jié)點(diǎn)2 完成在賬本2 中跨鏈聯(lián)盟ID 的注冊(cè)。
數(shù)字身份憑證頒發(fā):節(jié)點(diǎn)2 申請(qǐng)頒發(fā)人員A 憑證。工區(qū)2 管理部門(mén)根據(jù)賬本2 中憑證數(shù)據(jù)結(jié)構(gòu)給A 頒發(fā)憑證,憑證認(rèn)證可細(xì)粒度到具體門(mén)禁和某一設(shè)備。該憑證發(fā)送到人員A 分布式身份客戶端。
數(shù)字身份驗(yàn)證:人員A 進(jìn)入工區(qū)2 或操作工區(qū)2的設(shè)備時(shí),驗(yàn)證通過(guò),獲得該設(shè)備的訪問(wèn)權(quán)限,否則拒絕訪問(wèn)。
不同地域多業(yè)務(wù)主體參與、身份認(rèn)證不統(tǒng)一和信用機(jī)制不完善等問(wèn)題給電網(wǎng)供應(yīng)鏈安全增加風(fēng)險(xiǎn)。金融機(jī)構(gòu)不能有效獲取上下游供應(yīng)商的商業(yè)信用情況[43]。
電網(wǎng)供應(yīng)鏈金融結(jié)構(gòu)示意圖如附錄B 圖B3 所示。數(shù)據(jù)上鏈實(shí)現(xiàn)數(shù)字身份聯(lián)盟內(nèi)全局公開(kāi)、分布式和自主可控的互聯(lián)互通。認(rèn)證響應(yīng)過(guò)程分為如下5 個(gè)階段。1)申請(qǐng)憑證:上下游供應(yīng)商向電網(wǎng)核心企業(yè)申請(qǐng)貸款許可相關(guān)憑證;2)頒發(fā)憑證:企業(yè)查詢供應(yīng)商的債權(quán)交易信息頒發(fā)憑證;3)申請(qǐng)貸款:供應(yīng)商向金融機(jī)構(gòu)申請(qǐng)貸款出示憑證;4)驗(yàn)證憑證:金融機(jī)構(gòu)查詢賬本,驗(yàn)證聯(lián)盟ID 和憑證;5)授權(quán)放貸:驗(yàn)證通過(guò)后金融機(jī)構(gòu)為供應(yīng)商發(fā)放貸款,不通過(guò)則拒絕貸款。
應(yīng)用場(chǎng)景對(duì)比如表5 所示。在技術(shù)可行性方面,不改變?cè)须娏I(yè)務(wù),僅將身份認(rèn)證平滑移植到基于區(qū)塊鏈的聯(lián)盟分布式身份認(rèn)證系統(tǒng),可增強(qiáng)系統(tǒng)安全性。在經(jīng)濟(jì)可行性方面,由于該身份認(rèn)證系統(tǒng)的擴(kuò)展性良好,部署一套基于區(qū)塊鏈的身份認(rèn)證體系,可應(yīng)用于多個(gè)業(yè)務(wù)場(chǎng)景,解決了一個(gè)業(yè)務(wù)系統(tǒng)需要建設(shè)一套身份認(rèn)證系統(tǒng)以及各個(gè)企業(yè)需要獨(dú)立建設(shè)和維護(hù)自身的身份認(rèn)證體系的難題,可節(jié)約百萬(wàn)甚至千萬(wàn)級(jí)的系統(tǒng)建設(shè)和維護(hù)成本。此外,相較于CA 機(jī)構(gòu)的第三方服務(wù)費(fèi)與用戶規(guī)模成正比的情況,即用戶數(shù)量越多,成本越高,而基于區(qū)塊鏈的身份認(rèn)證系統(tǒng)具有規(guī)模效應(yīng),用戶數(shù)量越大,人均成本越低。
表5 應(yīng)用場(chǎng)景對(duì)比Table 5 Comparison of application scenarios
基于區(qū)塊鏈的聯(lián)盟分布式認(rèn)證體系包括聯(lián)盟ID 協(xié)議、憑證協(xié)議以及上層應(yīng)用程序。相比傳統(tǒng)身份認(rèn)證體系,能夠?qū)崿F(xiàn)用戶身份數(shù)據(jù)的安全共享與自主控制,但是仍存在向原有電力業(yè)務(wù)系統(tǒng)快速遷移實(shí)施難的問(wèn)題。下一步,將研究電力行業(yè)基于區(qū)塊鏈的聯(lián)盟信任分布式認(rèn)證所涉及的隱私保護(hù)方案改進(jìn)與認(rèn)證機(jī)制的效率優(yōu)化等方向,推動(dòng)分布式認(rèn)證技術(shù)在更多場(chǎng)景的應(yīng)用落地。
本文在研究過(guò)程中得到中國(guó)科學(xué)院信息工程研究所科研人員的支持,尤其是王雅哲副研究員、呂朋輝博士研究生和劉超碩士研究生對(duì)本研究的方案設(shè)計(jì)提出了寶貴的意見(jiàn),特此感謝!
附錄見(jiàn)本刊網(wǎng)絡(luò)版(http://www.aeps-info.com/aeps/ch/index.aspx),掃英文摘要后二維碼可以閱讀網(wǎng)絡(luò)全文。