文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190124
中文引用格式: 陳孝蓮,徐曉海,過烽,等. 基于Hyperledger的電力物聯網分布式認證研究[J].電子技術應用,2019,45(5):57-60,65.
英文引用格式: Chen Xiaolian,Xu Xiaohai,Guo Feng,et al. Research on distributed authentication of power IoT based on Hyperledger blockchain[J]. Application of Electronic Technique,2019,45(5):57-60,65.
0 引言
隨著智能電網和能源互聯網的發展,電力物聯網在電力生產的各個環節起到了越來越重要的作用。特別是在作為電力傳輸最后10公里的配電網中,在用電計量、售電服務、分布式發電、新能源并網、智能充電樁等應用場景中,電力物聯網的應用更加常見。
現有電力業務系統大部分采用中心化的架構,隨著分布式電源、可控負荷、增量配電網、物資服務等業務的不斷發展,各主體之間的信息交互的頻度、復雜性和時效性要求越來越高,集中化的信息交互手段已無法滿足源網荷儲互動、物資精準供應等由多方參與的業務系統信任需求。
電力物聯網在廣泛應用的同時,也帶來了愈加嚴峻的安全挑戰。一方面,電力物聯網終端節點數量多、部署范圍廣,節點物理環境不可控,容易受到物理劫持、節點復制、信號截獲竊取重放、中間人攻擊等威脅;另一方面,電力物聯網終端由于體積和電量限制,其計算、存儲和通信能力有限,無法部署完整的密碼算法。此外,信息傳遞和交互多采用集中式廣播和組播實現,容易出現單點失效問題。
區塊鏈(Blockchain)技術具有去中心化、防篡改、高度可擴展等特點,正成為繼大數據、云計算、人工智能、虛擬現實等技術后又一項將對未來產生重大影響的新興技術。在美國、日本和歐盟一些國家和地區已將區塊鏈發展上升為國家重要發展戰略。我國政府亦高度重視區塊鏈技術創新與產業發展,積極推動國內區塊鏈的相關領域研究、標準化制定,大力推進區塊鏈技術研發和應用推廣,《“十三五”國家信息化規劃》、《國務院辦公廳關于積極推進供應鏈創新與應用的指導意見》及習總書記在中國科學院第十九次院士大會、中國工程院第十四次院士大會上發表的講話中,均明確指出了區塊鏈等技術在科技強國中的戰略意義。
區塊鏈可分為公有鏈、私有鏈、聯盟鏈、許可鏈等類型。其中聯盟鏈是指由聯盟或行業內若干個機構共同參與管理的區塊鏈,較為適合應用于電力場景。其數據只允許系統內的機構進行讀取修改和訪問等活動,通過制定接入準測和訪問權限,保證系統安全性。聯盟鏈的典型開發平臺是Hyperledger項目,它提供一個模塊化的構架,實現節點、鏈碼(智能合約)執行以及可配置的共識和成員服務。在接入認證方面,通過MSP(Membership Service Provider)服務,實現X.509證書管理和成員身份驗證。本文基于Hyperledger聯盟鏈架構,研究適用于電力物聯網的分布式認證策略,改進傳統物聯網安全協議中對認證中心節點的依賴,實現群體接入認證,在保證安全的前提下,提高電力物聯網中大量節點并發接入的響應速度。
1 相關工作
傳統物聯網安全接入認證方面的研究多側重于降低安全算法的計算復雜度、存儲復雜度和通信開銷,例如CHANG Q等人[1]提出了一種基于橢圓曲線加密算法的無線傳感節點認證協議;鄒長忠等人[2]提出的基于節點ID驗證的抗DoS攻擊節點認證協議在保證良好攻擊防御性的前提下,降低了認證的時間開銷和網絡的通信負載。在去中心化的分布式認證方面,有研究者提出了采用秘密共享概念的分布式節點認證機制[3],通過利用節點的ID生成會話密鑰或采用數字簽名算法達到安全認證的目的。
基于公鑰基礎設施(PKI)的身份認證是目前較為成熟的認證技術,目前的算法中為了實現其分布式應用,往往采用門限密碼機制,需要消耗較大的計算和通信開銷,不利于在電力物聯網中大范圍部署。為了達到去中心化的效果,有學者開始研究區塊鏈技術在身份認證領域的應用。文獻[4]基于比特幣系統提出了分布式PKI認證體系,但是存在用戶公鑰等敏感信息泄露的問題。針對這個問題,文獻[5]提出了一種帶隱私保護的PKI認證方案進行改進。文獻[6]基于以太坊平臺提出了提高證書撤銷和證書查詢效率的方案。
在聯盟鏈方面,佘維等人[7]針對分布式能源交易認證中的安全問題,探討了基于聯盟鏈的分布式能源交易認證模型。通過區塊鏈權益證明、數據加密、時間戳和分布式共識的方法,提高了分布式能源交易數據安全性、信息透明度和自動化認證水平。
目前基于區塊鏈的物聯網接入認證方案大多基于公共區塊鏈平臺,實現了分布式PKI的模擬,但未能針對電力物聯網業務將聯盟鏈和輕量級分布式認證協議進行有效的整合,難以滿足智能電網和能源互聯網去中心化、泛在接入、廣域互聯的需求。本文基于Hyperledger架構,設計分布式門限加密認證算法,提高電力物聯網分布式安全級別,支撐安全可靠的電力物聯網應用。
2 預備知識
2.1 Hyperledger區塊鏈
超級賬本(Hyperledger)是Linux基金會于2015年發起的開源區塊鏈項目,目標是滿足行業用戶案例,并簡化業務流程。基于完全共享、透明和去中心化特征,Hyperledger非常適合制造、能源、物聯網等行業應用。
Hyperledger由成員服務(Membership)、區塊鏈服務(Blockchain)和鏈碼服務(Chaincode)3個組件構成,具有成員節點身份驗證、共識算法靈活、智能合約易于實現等優點。Hyperledger架構如圖1所示。
不同于以太坊等區塊鏈平臺,Hyperledger在成員服務中,利用PKI 體系、數字證書、加解密算法等安全技術,加強了身份證書管理服務,實現了權限管理、交易加解密、分布式賬本機制等模塊化可拔插架構,用戶可以根據業務需要靈活部署應用。
在區塊鏈服務中,分布式賬本是最核心的結構,基于前后關聯的鏈式結構,Hyperledger通過P2P網絡、數據庫和共識機制,記錄應用信息。應用則通過發起交易來向賬本中記錄數據。
智能合約部分通過鏈碼服務實現,鏈碼基于容器、狀態機等技術,可基于第三方開發語言和相應SDK實現,應用程序可以通過API實現安全的業務邏輯和功能。
超級賬本Fabric平臺采用兩種類型節點:(1)order節點,負責執行數據的讀寫、查詢操作,借助區塊鏈共識算法、一致性協議,維護區塊鏈賬本數據庫;(2)Peer節點,用來連接用戶和鄰近的Peer節點,執行查詢驗證操作,不執行記入交易數據操作。
在基于Hyperledger的區塊鏈認證系統中,電力物聯網終端APP從CA獲取合法的數字證書,使用SDK訪問Fabric網絡并發起認證請求,構造交易申請并提交給Endorser 進行背書,終端收集到足夠的背書支持后可以構造一個合法的請求,發給Orderer進行記賬處理。
2.2 Difffe-Hellman密鑰交換
Diffe-Hellman算法是電力物聯網系統中常用的密鑰交換算法,該算法基于有限域中離散對數難解問題,可在公開信道中安全交換密鑰信息。假設密鑰交換雙方為Alice和Bob,算法步驟如下:
初始化階段,雙方約定隨機選取的大素數n和原始根g。
Alice產生一個秘密的隨機數x,計算X=gx mod n并通過公開信道發送給Bob。
Bob產生一個秘密的隨機數y,計算Y=gy mod n并通過公開信道發送給Alice。
A通過計算Key=Yx mod n獲得密鑰Key,B通過計算Key=Xy mod n獲得密鑰Key。
3 認證模型和算法
3.1 認證模型
身份認證技術是通過密碼學手段在計算機系統中確認實體對某種資源或服務是否有訪問權限的方法和機制[8]。電力物聯網中終端節點數量多、單點計算存儲能力弱,其身份認證需要采用效率高的方案。基于區塊鏈技術的電力物聯網分布式認證過程中,從電力應用場景中選擇同屬一個應用或者覆蓋區域的終端認證組,負責對新接入的節點進行接入認證。終端認證組節點通過電力物聯網業務流程和規范對新入節點進行準入投票,獲得51%的節點通過后獲得認證區塊鏈記賬權限,調用Hpyerledger功能創建區塊鏈節點。具體認證模型如圖2所示。
其中,認證過程可分為3個階段:(1)終端節點向接入網關發送接入請求,網關對請求進行應答,終端獲得內網訪問權限;(2)終端向認證組中的排序節點發送認證請求,認證組Peer節點發起分布式認證,排序節點結合認證結果訪問超級賬本系統并記賬,記賬完成后返回認證結果;(3)認證組排序節點,向接入網關下發令牌,接入網關將授權令牌反饋給終端,終端因此獲得業務接入權限。
3.2 認證算法
認證算法分為注冊階段、密鑰協商階段和認證階段三個過程:注冊階段生成公鑰和私鑰,排序節點公布系統參數,認證組節點根據系統公布的參數生成自己的秘密多項式;密鑰協商階段,排序節點廣播發送認證請求報文,認證組Peer節點通過電力物聯網業務邏輯選擇對新接入節點的準入結果,如果同意節點接入,則向排序節點提交簽名,排序節點得到多于門限數量份簽名后可以形成認證許可,發送給電力物聯網接入網關作為認證依據;認證階段,網關可通過公開參數中的群公鑰驗證簽名的合法性。
得到群密鑰Sk,說明滿足門限數量的合法終端已經確認對新入終端的認證。排序節點將認證信息提交記賬節點,生成新的區塊,同時,用Sk加密令牌,將結果發送給網關。
網關用公鑰Pk解密令牌,發送給請求入網的電力物聯網終端,認證結束。
4 仿真驗證
本節通過在實驗室部署Hyperledger和鏈碼來模擬電力物聯網接入認證過程,用于驗證本文所提算法的有效性。實驗環境為Intel CoreTM i7-7700HQ CPU@2.80 GHz,8 GB內存,CentOS 7操作系統。仿真實驗時,模擬終端發起接入認證請求,用docker模擬認證組節點和排序節點,通過在鏈碼上部署認證算法進行接入認證仿真。所有仿真數據為運行10次的平均值。
圖3 是不同節點數量下接入認證時間的曲線圖,可以看出,認證時間隨節點數量的增加呈增大趨勢,但是增大幅度有所降低,這是因為隨著節點數量的增加,基于區塊鏈的接入認證方案通過分布式認證降低了系統總體開銷,效率較集中式接入認證有所提高。
圖4是系統并發數量與認證網關CPU負載的關系圖,數據顯示,并發數量增加會導致接入網關CPU負載增高,這是因為網關需要處理更多的認證信息,但是負載總體情況在可接受的范圍內。
5 結論
電力物聯網是信息通信技術和電力系統基礎設施的有效融合,對電網發、輸、變、配、用電等環節提供了重要技術支撐。本文基于超級賬本區塊鏈技術,提出了適用于電力物聯網的分布式接入認證系統,可提高電力物聯網系統安全性和有效性。下一步將在電網實際應用場景中,研究基于區塊鏈的高并發的電力物聯網終端接入技術。
參考文獻
[1] CHANG Q,ZHANG Y G,QIN L L.A node authentication protocol based on ECC in WSN[C].International Conference on Computer Design And Appliations(ICCDA 2010),NJ United States:IEEE Computer Society,2010,2:606-609.
[2] 鄒長忠.線傳感器網絡中基于節點ID驗證的防御DOS攻擊策略[J].小型微型計算機系統,2012,33(3):486-491.
[3] HAIMABATI D,RAJA D.Monitoring threshold cryptography based wireless sensor networks with projective plane[C].5th International Conference on Computers and Devices for Communication(CO-DEC),Kanyakumari,India,Washington DC United States:IEEE Computer Society,2012:1-4.
[4] SUN Y,YU Y,LI X,et al.Batch verifiable computation with public verifiability for outsourcing polynomials and matrix computations[C].Proceedings of the 21st Australasian Conference on Information Security and Privacy:Part I,LNCS 9722.Cham:Springer,2016:293-309.
[5] 張昕偉,張華,郭肖旺,等.基于區塊鏈的電子投票選舉系統研究分析[J].電子技術應用,2017,43(11):132-135.
[6] GARG S,GENTRY C,HALEVI S.Candidate multilinear maps from ideal lattices[C].EUROCRYPT 2013:Proceedings of the2013 Annual International Conference on the Theory and Applications of Cryptographic Techniques,LNCS 7881.Berlin:Springer,2012:1-17.
[7] 佘維,胡躍,楊曉宇,等.基于能源區塊鏈網絡的虛擬電廠運行與調度模型[J].中國電機工程學報,2017,37(13):3729-3736.
[8] 徐琳,溫蜜,李晉國.智能配電網中具有隱私保護的數據安全認證方案[J].電子技術應用,2015,41(12):98-101.
作者信息:
陳孝蓮1,徐曉海2,過 烽1,李 洋3,蔡世龍3,高 雪3
(1.國網無錫供電公司,江蘇 無錫214002;2.國網鎮江供電公司,江蘇 鎮江212050;
3.南瑞集團有限公司(國網電力科學研究院),江蘇 南京211106)