于潔瀟,于麗瑩,楊 挺
(天津大學電氣自動化與信息工程學院,天津市 300072)
隨著能源互聯(lián)網技術和電力市場的逐漸發(fā)展,電力系統(tǒng)網絡中不僅有眾多的電力設備和裝置,還有海量傳感與通信設備不斷加入[1]。同時,越來越多的電制熱、電制氫、熱儲能等能源裝置將接入電力系統(tǒng)中,使得多能源形式互聯(lián)成為電力系統(tǒng)的發(fā)展趨勢[2-3]。此外,隨著分布式電源和分布式儲能等技術的普及,未來將有更廣泛的用電設備接入電力物聯(lián)網(power Internet of Things,PIoT)[4-6],其可靠性與安全性問題將變得愈發(fā)關鍵。傳統(tǒng)的加密和認證方案主要用于防御外部攻擊,不能有效抵抗由受感染設備發(fā)起的內部攻擊[7]。因此,如何保證已接入PIoT的各類智能終端維持可靠運行,及時發(fā)現并抵御來自網絡內部的攻擊,成為亟待解決的問題之一[8]。
近年來,信任管理被認為是解決網絡內部安全問題的有效途徑之一[9]。目前,在物聯(lián)網領域已有較多關于信任管理的研究。文獻[10]提出了信任管理目標和用于物聯(lián)網整體信任管理的研究模型,并指出了未來的研究趨勢。在智能電網領域也存在一些信任管理與協(xié)作決策、路由和交易等具體應用集成的方案。文獻[11]提出一種智能電網保護系統(tǒng)信任管理工具包,將信任與網絡流算法結合以識別和抵御智能電網中的故障節(jié)點。文獻[12]針對智能電網通信網絡的安全性問題,提出一種基于信任的地理路由協(xié)議,支持分布式信任管理。文獻[13]提出一種微電網節(jié)點信用值評估機制,以信用值影響共識過程,以經濟因素約束節(jié)點誠實守信。文獻[14]設計了一種基于信譽值的光伏交易機制,能有效遏制節(jié)點自私行為,鼓勵節(jié)點在點對點網絡中積極傳輸。
以上研究對PIoT的信任管理具有一定的啟發(fā)價值,但仍存在一些問題?,F存的信任模型普遍假設用于計算信任值的信任參數真實可靠。然而,PIoT的設備數量眾多且種類復雜,時刻面臨各類安全隱患,難以保證信任參數的可靠性。此外,現有的信任管理方法大多從單一節(jié)點角度對評價客體進行評價,不能全面反映評價客體在網絡中的整體信譽情況,存在一定片面性。
本文采用區(qū)塊鏈作為信任管理載體,實現電力物聯(lián)網中信任參數的存儲與共享。區(qū)塊鏈技術是一種能夠在完全分布式環(huán)境中實現可信的數據共享和狀態(tài)共識的分布式存儲機制[15]。根據部署與應用場景的不同,區(qū)塊鏈可分為公有鏈、私有鏈和聯(lián)盟鏈。3種區(qū)塊鏈的特點如附錄A表A1所示。
在3種區(qū)塊鏈中,聯(lián)盟鏈的特點更適合應用于電力物聯(lián)網場景中。聯(lián)盟鏈的本質為半公開區(qū)塊鏈,只有特定群體成員才能參與記賬權限與維護治理,網絡可以自主選擇發(fā)放通行證。在安全性上,聯(lián)盟鏈具有較高的隱私保護能力,數據權限有條件地公開,沒有經過聯(lián)盟鏈授權的其他互聯(lián)網用戶無法查看鏈上數據。因此,聯(lián)盟鏈比公有鏈更適用于對數據隱私要求較高的PIoT。在可信度上,聯(lián)盟鏈具有較高的監(jiān)督管理能力,聯(lián)盟鏈中的各成員機構之間互相監(jiān)督,在聯(lián)盟內部共同維護聯(lián)盟鏈的可靠運行。因此,聯(lián)盟鏈比私有鏈更適用于對可信監(jiān)督要求較高的PIoT。聯(lián)盟鏈既能維護數據隱私安全,又具有一定的可監(jiān)督性。因此,本文選擇聯(lián)盟鏈作為PIoT環(huán)境中的信任管理載體。
在PIoT的有效支撐下,發(fā)電、輸電、配電和用電等電力系統(tǒng)環(huán)節(jié)都在不斷推出新型業(yè)務。比如對內業(yè)務中的現代電力企業(yè)智慧供應鏈和無人機巡檢等,對外業(yè)務中的電動汽車、源網荷儲協(xié)同互動、綜合能源服務和能源互聯(lián)網生態(tài)圈建設等[16]。同時,隨著邊緣計算技術在電力系統(tǒng)中的應用與部署,大量PIoT設備已經具有了一定的邊緣計算功能并愈發(fā)智能化,能夠支持電力系統(tǒng)在邊緣側執(zhí)行態(tài)勢感知、數據分析和安全加密等功能。這些新型業(yè)務和復雜功能分布在電力系統(tǒng)中的各個區(qū)域和各類環(huán)節(jié),由各種類型的PIoT智能電子設備(intelligent electronicdevice,IED)通過大 量的通信 與交互 實現。終端設備的種類眾多,例如集中器或專變終端等智能用電終端、配電變壓器監(jiān)測終端或配電開關監(jiān)控終端等智能配電終端以及變電站內安裝的電力監(jiān)測設備等。這些IED在配電自動化、用電信息采集、輸變電狀態(tài)監(jiān)測、負荷監(jiān)控、分布式能源和充電樁管理等PIoT業(yè)務中起著重要作用。
為評估終端設備可信性、抵御網絡內部攻擊,應針對不同的PIoT場景構建不同的PIoT信任共享子域。本文以電動汽車、充電樁和低壓配電系統(tǒng)為例,基于聯(lián)盟區(qū)塊鏈設計了一種PIoT信任共識系統(tǒng)架構,如圖1所示。該架構分為3層:底層為PIoT終端設備層,中層為物聯(lián)通信網絡層,上層為區(qū)塊鏈管控層。其中,終端設備層內的IED即為充電樁管理業(yè)務中的電動汽車、充電樁和低壓配電系統(tǒng)終端。這些終端設備由電力無線專網或無線公網方式接入無線PIoT自組網中,通過物聯(lián)通信網絡層提供的信息傳輸路徑能夠進行合作或交互以完成業(yè)務功能。
圖1 基于區(qū)塊鏈的PIoT信任共識系統(tǒng)架構示意圖Fig.1 Architecture diagram of blockchain-based PIoT trust consensus system
在區(qū)塊鏈管控層中,為滿足信任參數的安全共享需求,網絡管理者對參與信任管理的相關終端設備發(fā)放聯(lián)盟鏈通行證,使其作為聯(lián)盟鏈的參與節(jié)點維護區(qū)塊鏈的運行,實現不同設備信任參數信息的安全存儲與互相監(jiān)督。記賬節(jié)點負責將信任參數寫入鏈中并與管控平臺進行信息傳遞。管控平臺包含業(yè)務中臺、數據中臺和其他各種類型的服務和應用,負責對終端設備的信譽情況進行監(jiān)督、管理和控制,維護不可信節(jié)點列表,控制不可信節(jié)點的功能權限,及時修復網絡內部風險。
為避免單鏈中存在海量終端帶來的低效問題,本文借鑒文獻[17]中劃分片區(qū)的思想,采取分區(qū)并行高通量的聯(lián)盟鏈形式,以終端種類、業(yè)務功能或地理區(qū)域為劃分依據,對海量IED劃分片區(qū),即分業(yè)務、分區(qū)域地進行信任共識。同一分區(qū)內的IED具有較強的關聯(lián)性與協(xié)作性,數據在不同分區(qū)下并行處理。當需要跨區(qū)域或跨業(yè)務操作時,數據在由各分區(qū)跨鏈節(jié)點組成的跨域鏈中進行傳輸。文獻[18]提到的“基于信息中心網絡和區(qū)塊鏈技術的去中心化物聯(lián)網通信體系結構”目前已獲準國際新標準立項。該標準能為物聯(lián)網提供去中心化、可信、實時和安全的數據通信技術,有效支撐電力物聯(lián)終端分區(qū)并行化后的跨片區(qū)塊鏈數據傳輸,進而可以達到海量終端,進行區(qū)塊鏈實現的規(guī)模化應用。
本文提出的基于區(qū)塊鏈的電力物聯(lián)終端信任共識方法的流程如附錄A圖A1所示。首先,PIoT中的智能終端設備根據交互情況生成信任參數包并廣播發(fā)送,網絡中的其他設備按照一定的共識機制對信任參數進行合法性驗證。其次,通過驗證的信任參數由本周期記賬節(jié)點寫進區(qū)塊中,當需要評價其他設備信任時,從區(qū)塊鏈上查詢所需數據即可。然后,用Beta分布表示設備信任,根據區(qū)塊鏈上的信任參數計算直接信任與推薦信任,針對主觀賦權問題,采用熵值賦權方法得到完整信任值與綜合信任值。最后,由本周期綜合信任值最高的設備擔任下一周期的記賬節(jié)點,生成下一個區(qū)塊并添加在鏈的最末端。
依照通用區(qū)塊鏈結構,本文給出如附錄A圖A2所示的適用于信任共識的區(qū)塊鏈結構示意圖。區(qū)塊鏈由按時間順序相互鏈接的區(qū)塊構成單向鏈式存儲結構,每個區(qū)塊分為區(qū)塊頭和區(qū)塊體2個部分。
區(qū)塊頭包括版本號、前一區(qū)塊哈希值、時間戳和Merkle根。版本號記錄該區(qū)塊頭所用的版本號,用于協(xié)議的更新;前一區(qū)塊哈希值記錄該區(qū)塊的父區(qū)塊哈希值,用以形成鏈式結構;時間戳記錄該區(qū)塊的創(chuàng)建時間;Merkle根記錄該區(qū)塊中Merkle樹的根哈希值。區(qū)塊體包括交互數量和信任參數數據,信任參數數據以Merkle樹的方式逐層構造。Merkle樹由下至上,每2個數據的哈希值串聯(lián)成新的哈希值,重復串聯(lián)哈希過程,直到最上層僅有1個哈希值,即為區(qū)塊頭中的Merkle根。
Beta分布是一種用來計算二項分布參數的共軛先驗分布,文獻[19]詳細證明了Beta分布能與信譽分布很好地擬合,其數學期望作為節(jié)點信任值的可行性,是最經典、最廣泛使用的信任評估模型之一。Beta分布具有計算簡單、靈活性好、統(tǒng)計能力強和適用性強等特點。因此,本文采用Beta分布作為信任的統(tǒng)計概率模型。Beta分布的概率密度函數為:
式中:p(·)為概率密度函數;x為隨機變量;α和β為Beta分布的參數,且α,β>0;Г(·)為伽馬函數。
采用熵值[20]作為權重計算信任值。熵值是描述隨機事件具有多少隨機性的統(tǒng)計學概念。在信息論中,信息熵可以用來描述隨機變量所含信息量多少,離散隨機變量?的信息熵H(?)的表達式為:
式中:Φ(?k)為第k個離散隨機變量?k的概率質量函數;n1為離散隨機變量可以取值的個數。
當?滿足二項分布時,其信息熵H(?)可以用?與1-?計算,即
定義1:直接信任值。評價主體i根據歷史交互情況對評價客體j進行的直接信譽評價結果,記為直接信任值Dij,計算表達式為:
式中:Sij和Fij分別為評價主體i和評價客體j的歷史累計交互成功次數和失敗次數;E(·)為期望函數。
當沒有先驗分布時,節(jié)點的行為服從均勻分布。因此,p(x;α,β)可表示為:
定義2:權重信任值。n個子信任值通過動態(tài)權重構成權重信任值R的表達式為:
式 中;Rx為 第x個 子 節(jié) 點 的 子 信 任 值;wx為Rx的 權重,由Rx的熵值H(Rx)動態(tài)確定。
權重wx的表達式為:
本文的信任參數指計算信任值時需要用到的參數數據,即每2個節(jié)點之間的交互成功次數與交互失敗次數。具體定義如下。
定義3:交互成功與交互失敗。PIoT的IED之間根據應用需求會進行合作與交互,本文根據設備之間通信信道建立時間t和通信數據量Q為標準,判斷交互是否成功。
當設備A與設備B需要進行交互時,如果t小于一定的閾值tthr,并且此次交互結束后通信數據量Q高于一定的閾值Qthr,那么定義此次交互成功;反之,則定義此次交互失敗。設備在每次交互后都會記錄此次交互的結果,作為信任參數。
各節(jié)點的信任值隨著網絡的運行不斷更新,設信任值的更新周期為T,分區(qū)網絡中的每個節(jié)點記錄在這個周期內與其他節(jié)點的交互數據,用于信任值的計算。對周期T進行離散化處理,將T分為h個時隙,因此,第k個時隙的起始時刻tk可表示為:
為了避免沖突,通過合理設置h值使得每個時隙內節(jié)點至多能與一個節(jié)點進行交互。隨著各節(jié)點設備之間交互的進行,分區(qū)網絡中的信任參數也隨之生成。節(jié)點i在第k個時隙生成的信任參數包Pi(tk)可表示為:
式中:oi(j,tk)為在第k個時隙表征評價主體i和評價客體j是否進行交互的狀態(tài)函數;ri(j,tk)為在第k個時隙表征評價主體i和評價客體j交互結果的狀態(tài)函數;Si(j,tk)和Fi(j,tk)分別為從該周期開始至第k個時隙結束時,評價主體i和評價客體j的累計交互成功次數和失敗次數;ci(j,tk)為評價主體i和評價客體j在第k個時隙交互的內容。
如果評價主體i在第k個時隙不與任何節(jié)點發(fā)生 交 互,則 有:Pi(tk)=?,Si(j,tk)=Si(j,tk-1),Fi(j,tk)=Fi(j,tk-1)。節(jié)點生成信任參數后,以廣播方式將其發(fā)送至其他節(jié)點,其他節(jié)點對該數據包進行合法性驗證。
在區(qū)塊鏈系統(tǒng)中,網絡需要通過共識機制使系統(tǒng)中的各節(jié)點遵守一定規(guī)則,判斷每次交互的真實性?,F有的公有鏈總是通過記賬權選擇的競爭實現共識機制,比如工作量證明(proof of work,PoW)機制等。公有鏈中的共識機制與記賬權選擇機制相互依賴。本文采用聯(lián)盟鏈作為信任載體,聯(lián)盟鏈與公有鏈很重要的一點區(qū)別是聯(lián)盟鏈沒有PoW過程,由指定節(jié)點讀寫賬本。因此,聯(lián)盟鏈中的共識機制和記賬權選擇可以分別討論。
由于聯(lián)盟鏈中缺少驗證上鏈數據真實性的有效手段,本文提出5條數據驗證準則,用于驗證上鏈信任參數的合法性與真實性,作為本文共識機制的標準,具體表示如下。
1)存 在 性 準 則 。 若Pi(tk)=?,則 有?j≠i,oj(i,tk)=0。表示如果評價主體i在第k個時隙不與任何節(jié)點發(fā)生交互,則網絡中的任何其他節(jié)點不會有在第k個時隙與評價主體i交互的記錄。
2)對稱性準則。若oi(j,tk)=1,則有oj(i,tk)=oi(j,tk)=1,Si(j,tk)=Sj(i,tk),Fi(j,tk)=Fj(i,tk)。表示對于同一交互行為,在交互雙方記錄的數據包中,交互結果、累計交互成功次數、累計交互失敗次數應一致。
3)唯 一 性 準 則。若oi(j,tk)=1,則 有:ox(i,tk)=0,x≠i,j;oj(y,tk)=0,y≠i,j。該 原 則表示每個節(jié)點在某一時隙至多只能與一個對象進行交互。
4)遞 增 性 準 則 。Si(j,tk)≤Si(j,tk+a),Fi(j,tk)≤Fi(j,tk+a),a∈{x∈N|x≤h-k-1}。該原則表示隨著時間的推移,累計交互成功或失敗次數只能增加,不能減少。
5)逐 次 性 準 則。Si(j,tk+1)≤Si(j,tk)+1,Fi(j,tk+1)≤Fi(j,tk)+1。該原則表示隨著時間的推移,累計交互成功/失敗次數逐次遞增,不可跳變。
當網絡中有至少半數以上參與共識的節(jié)點驗證通過時,被驗證的信任參數才可以被寫進區(qū)塊鏈中,進而能夠參與接下來的信任值計算過程。沒有通過共識機制驗證的信任參數不能被寫進區(qū)塊鏈中,不能參與信任值的計算。如果某節(jié)點發(fā)送的信任參數連續(xù)3次沒有通過共識機制驗證,那么可以認為該節(jié)點是不可信的。由記賬節(jié)點上傳警告信息至管控平臺,管控平臺將其記錄在不可信節(jié)點列表中并進行權限控制等管控操作。
本文設計的這種共識機制可以在進行信任值計算之前對信任參數進行可靠性篩選,從而提早發(fā)現網絡內部安全隱患。
聯(lián)盟鏈具有指定節(jié)點讀寫賬本的特點,因此,聯(lián)盟鏈中記賬權的選擇具有較大的自主性,一般可以根據應用場景與實際需求設計和選擇合適的方法來確定記賬權。
本文選擇每個周期T內綜合信任值Tj最高的節(jié)點擔任下一周期的記賬節(jié)點。記賬節(jié)點負責生成下一區(qū)塊,并加在區(qū)塊鏈的最末端。通過信任值更新周期T,即區(qū)塊的生成時間,每個周期生成一個新區(qū)塊,記錄新周期內的信任參數。當網絡中的信任參數經共識機制驗證合法后,由記賬節(jié)點寫入區(qū)塊中,并全局更新。如果有多個與信任值最高的節(jié)點信任值相差不超過1%的節(jié)點,則選取曾經作為記賬節(jié)點次數最少的節(jié)點擔任下一周期的記賬節(jié)點,使網絡中有盡可能多的節(jié)點參與記賬。
以綜合信任值作為區(qū)塊鏈記賬權的競爭依據,在較大程度上保證了記賬節(jié)點的可靠性。記賬節(jié)點選取的不固定性,一方面降低了記賬節(jié)點受到專門惡意攻擊的可能性,另一方面也激勵網絡中的節(jié)點為了避免信任值過低而受到管控從而作出更好的表現。
隨著網絡中交互與共識的進行,合法的信任參數被依次寫進區(qū)塊中。當計算節(jié)點信任值時,網絡中的任何節(jié)點都能從區(qū)塊鏈上查詢并獲取所需的信任參數。本文的信任值計算步驟如附錄A圖A3所示,包括信任值預定義與初始化、計算直接信任值與推薦信任值、計算完整信任值和計算綜合信任值。
2.4.1信任值預定義與初始化
定義評價主體i對評價客體j的完整信任值為Tij,Tij∈{T∈R|0≤T≤1}。Tij越 接 近1表 示 信 譽度越高。如果將新節(jié)點設備的信任值初始值均設為1,系統(tǒng)會存在偽造身份標識的問題。如果將新節(jié)點設備的信任值初始值均設為0,系統(tǒng)需要一定初始化時間建立信任才能正常運行[21]。因此,本文折中上述2種方法,將初始狀態(tài)節(jié)點的信任值均設為0.5。即認為剛加入PIoT的節(jié)點設備是一定程度上可信的,這樣既能解決偽造身份標識的問題,又能縮短初始化時間。
2.4.2計算直接信任值與推薦信任值
信任值初始化后,信任共識方法在網絡的運行過程中會根據設備的行為不斷更新信任值,達到維護網絡內部的安全運行,監(jiān)控網絡內部可疑節(jié)點發(fā)動內部攻擊的目的。節(jié)點設備的完整信任值主要由2個部分組成,分別為直接信任值與推薦信任值。
直接信任值為評價主體i對評價客體j的直接觀察。當需要計算直接信任值Dij時,評價主體i在區(qū)塊鏈中查詢最新的信任參數Sij與Fij,按式(5)進行計算。
推薦信任值為評價主體i從推薦節(jié)點x處獲取對評價客體j的間接觀察。其中,推薦節(jié)點為與i和j都能發(fā)生交互的節(jié)點。假設評價主體i對評價客體j進行評價時,有n個推薦節(jié)點,從而得到n個子推薦信任值。按定義2中的權重分配方法,得到評價主體i對評價客體j的推薦信任值Rij為:
式中:Rij,x為來自推薦節(jié)點x的子推薦信任值;wx為Rij,x的權重;H(Rij,x)為Rij,x的信息熵。
根據文獻[20],Rij,x的計算方法為:
式中:Sxj和Fxj分別為推薦節(jié)點x與評價客體j的歷史累計交互成功次數和失敗次數;Six和Fix分別為評價主體i與推薦節(jié)點x的歷史累計交互成功次數和失敗次數。
當需要計算推薦信任值Rij時,i在區(qū)塊鏈中查詢最新的信任參數(Sxj,Fxj)和(Six,Fix),按式(13)至式(16)進行計算。
2.4.3計算完整信任值
為了更準確地反映節(jié)點信譽,在進行評價主體對評價客體的信譽評價時,還需要考慮直接信任和推薦信任。以熵值作為2種信任值權重分配的依據,從而避免主觀分配權重引起的問題,得到評價主體i對評價客體j的完整信任值Tij為:
式中:wD和wR分別為直接信任值權重和推薦信任值權重;H(Dij)和H(Rij)分別為Dij和Rij的信息熵。
2.4.4計算綜合信任值
在PIoT網絡中,同一評價客體可能有多個評價主體對其進行評價。為了反映評價客體在網絡中的總體信譽度,考慮多個評價主體的評價結果,本文引入一種新的信任值,即綜合信任值。
對于評價客體j,假設網絡中存在m個評價主體對其進行信譽評估,每個評價主體i都能得出一個完整信任值Tij,同樣用信息熵為Tij分配權重,得到評價客體j的綜合信任值Tj為:
式中:wi為完整信任值Tij的權重;H(Tij)為Tij的信息熵。
綜合信任值作為網絡對節(jié)點信譽度的最終評價指標,反映了節(jié)點在網絡中的可信任程度。綜合信任值越高表明節(jié)點在網絡中的整體信譽越好,即可靠性越高;反之,綜合信任值越低表明節(jié)點在網絡中的整體信譽越差,即節(jié)點的可靠性越低。對于綜合信任值較低的節(jié)點,很有可能是被入侵的節(jié)點或者自私節(jié)點。在每個信任值更新周期T結束后,更新每個節(jié)點的綜合信任值,由記賬節(jié)點將該周期綜合信任值低于一定閾值的節(jié)點情況整理并上報至管控平臺,進而對不可信節(jié)點進行管控操作。綜合考慮2.2節(jié)的共識機制,本文的PIoT信任共識方法識別不可信節(jié)點流程如附錄A圖A4所示。
在多數基于信譽的信任管理方法中,比如基于Beta的信任和信譽評估系統(tǒng)(Beta-basedtrust and reputation evaluation system,BTRES)方 法[22]和 基于貝葉斯和熵的輕量級信任管理(lightweight trust management basedon Bayesian andentropy,LTMBE)方法[20]中各節(jié)點本地存儲直接信任參數,因此,計算直接信任值時不需要節(jié)點間相互通信。然而,在計算推薦信任時,評價主體需要與各推薦節(jié)點之間進行多次信息傳遞來獲取推薦信任參數,每次獲取需要的通信次數至少為4次,即請求發(fā)送、請求應答、推薦信任參數傳遞和接收成功應答。除此之外,隨著網絡生命的延長,如果管控平臺需要查詢某節(jié)點在某歷史時間段內的信任值,傳統(tǒng)信任管理方法需要評價主體與相應的推薦節(jié)點再次進行多次通信重新計算信任值。因此,傳統(tǒng)的信任管理方法在進行信任評價時會產生大量節(jié)點間通信。
本文引入區(qū)塊鏈作為信任管理載體,因此,每個節(jié)點都具有統(tǒng)一的信任參數賬本,賬本中存儲整個網絡的信任參數數據,并且隨著交互的進行不斷更新。當需要計算信任值時,從本地區(qū)塊鏈賬本查詢即可獲得所需信任參數。
在每次交互發(fā)生后,計算所有節(jié)點的新信任值,本文方法和BTRES方法所需的總通信次數分別為:
式中:Mour為本文方法所需的總通信次數;MBTRES為BTRES方法所需的總通信次數;N為節(jié)點數量;nm為節(jié)點密度;w為網絡在周期T內總共發(fā)生的交互次數。
本文方法和BTRES方法各步驟中的詳細通信次數如附錄A表A2所示。由式(25)和式(26)可知,本文方法總通信次數只與節(jié)點數量和交互次數有關,與節(jié)點密度無關。而傳統(tǒng)方法與節(jié)點數量、交互次數和節(jié)點密度均有關系。并且在N和w較大的情況下,本文方法總通信次數是傳統(tǒng)方法總通信次數的1/nm,大幅度節(jié)省了信任值計算過程中的通信資源,反映了引入區(qū)塊鏈存儲與共享信任參數的高效性。
為驗證所提信任共識方法在PIoT無線網絡基礎結構中的性能,本文利用MATLAB R2019b作為仿真工具進行性能評估與安全性分析。假設每個IED的通信、存儲和計算能力相同,分布在800 m×800 m的供電區(qū)域,通信半徑為80 m。為模擬不同節(jié)點密度并保證網絡簡潔性,在邏輯連接中設定IED數量分別為25、100和225,每個節(jié)點的鄰居數分別為2、4和8。通過調節(jié)信任參數,模擬簡單攻擊、開關攻擊和誹謗攻擊這3種惡意攻擊形式,分析本文方法的綜合信任值評價效果、開關攻擊抵御效果和共識機制有效性。
由于IED在非入侵因素下也會發(fā)生一定概率的工作異常情況,比如由環(huán)境干擾、網絡異常等因素引起的數據包丟失和通信時延增加等行為。因此,設置正常節(jié)點的交互成功率為0.95。本節(jié)假設惡意節(jié)點發(fā)起的是簡單攻擊,即攻擊者可能操縱受感染的節(jié)點使其不遵循正常的網絡協(xié)議,但是被感染節(jié)點會提供關于其他節(jié)點的正確信任意見。因此,設置惡意節(jié)點的交互成功率為0.2。具體仿真參數如附錄A表A3所示。
信任共識方法的最終目的為識別出網絡中的不可信節(jié)點。因此,本文采用精確率γ和召回率η作為信任共識方法的評價指標,它們都廣泛用于機器學習和信息檢索中以評估準確性[23]。這2個參數的定義為:
式中:Ntrue_negatives為檢測出的真惡意節(jié)點數;Nfalse_negatives為檢測出的假惡意節(jié)點數;Nfalse_positives為未檢測出的真惡意節(jié)點數。
為分析綜合信任值的評價效果,將本文方法與LTMBE方法[20]進行比較,分析不同節(jié)點密度和惡意節(jié)點比例下的精確率和召回率。采用統(tǒng)一標準,認為信任值低于0.7的正常節(jié)點為假陽性和信任值高于0.35的惡意節(jié)點為假陰性的誤判情況。為消除實驗數據的隨機性,每個實驗進行30次,取統(tǒng)計結果的平均值。附錄A圖A5為惡意節(jié)點比例在20%時不同節(jié)點密度的仿真結果,附錄A圖A6為節(jié)點數量為100時不同惡意節(jié)點比例的仿真結果。
由附錄A圖A5可知,無論是網絡中低節(jié)點密度還是稠密節(jié)點密度,本文方法的精確率和召回率始終高于LTMBE方法。本文方法在精確率的上升程度上顯著高于對比方法。節(jié)點數量為225時,精確率約為76%,比LTMBE方法提升約35%。這是因為在考慮多個評價主體的情況下,隨著節(jié)點密度增加,各評價主體能從更多的良好節(jié)點處獲得真實數據,從而大幅提升精確率,體現了綜合信任值的有效性。
由附錄A圖A6可知,本文方法的精確率和召回率在不同惡意節(jié)點比例下同樣始終高于對比方法。隨著惡意節(jié)點比例逐漸增大,假陽性的正常節(jié)點數量越來越低于真陽性的惡意節(jié)點數量,從而精確率逐漸上升。盡管召回率逐漸下降,但是仍能在30%惡意節(jié)點比例下維持在71%左右的較高水平,說明綜合信任值具有較高的評估準確性。
開關攻擊是另一種常用且更為隱蔽的網絡攻擊形式。惡意節(jié)點會斷續(xù)地表現出惡意行為,并且還可能篡改對自己不利的數據,使得自己難以被發(fā)現。由于沒有足夠的證據來指控惡意節(jié)點,通常很難識別出這種狡猾攻擊[24]。為了模擬開關攻擊,在節(jié)點數量為100的網絡中,假設評價客體j為發(fā)起開關攻擊的惡意節(jié)點,n個評價主體均為正常節(jié)點,評價主體與節(jié)點的共同鄰節(jié)點也均為正常節(jié)點。
假設網絡節(jié)點間的初始交互成功和失敗次數均為0。設每個周期T內與評價客體j共發(fā)生200次交互,在前50個時隙表現正常,能夠正常交互;在第51至100個時隙表現不良,每次交互均失敗;在第101至200個時隙重新表現正常。惡意節(jié)點會把第51至100個時隙中的失敗交互數據隨機篡改為成功交互,篡改數據比例分別設為20%、40%和60%。
將本文方法與廣泛使用的BTRES方法和LTMBE方法進行比較,得到仿真結果如圖2所示。
圖2 不同數據篡改比例情況下的信任值對比Fig.2 Comparison of trust values in the cases with different data tampering ratios
圖2表明,在第51至100次交互期間,隨著不良行為的積累,3種方法得到的信任值都會顯著下降。被篡改的數據比例越高,信任值下降程度越小。其中,BTRES方法的信任值在攻擊期間內波動劇烈,短暫的交互成功/失敗就會使其信任值驟升/驟降,而LTMBE方法與本文方法的信任值均表現為穩(wěn)定下降的趨勢,更能體現評價客體j漸進惡化的信譽情況。在第101次交互后,BTRES方法的信任值會在短期內迅速恢復至最大值,不利于區(qū)分惡意節(jié)點與正常節(jié)點。而LTMBE方法與本文方法對于惡意節(jié)點的信任值恢復較緩,使其需要在一段時間內持續(xù)保持良好才能逐漸積累信譽,體現了歷史不良行為對信任值的延續(xù)影響。除此之外,本文方法在惡意節(jié)點信任值下降程度上優(yōu)于LTMBE方法,這表明本文方法可以更有效地抵御開關攻擊。
本節(jié)以誹謗攻擊為例驗證所提共識機制的有效性。誹謗攻擊的表現形式為惡意節(jié)點會通過提供虛假的信任意見,惡意中傷正常節(jié)點,從而使真正的惡意節(jié)點不會被發(fā)現。為了模擬誹謗攻擊,在節(jié)點數量為100的網絡中,假設n個評價主體為正常節(jié)點,評價客體j也為正常節(jié)點,而評價主體與評價客體之間的推薦節(jié)點均為發(fā)起誹謗攻擊的惡意節(jié)點。
假設網絡節(jié)點間的初始交互成功和失敗次數均為0。設每個周期T發(fā)生200次交互,在前50個時隙推薦節(jié)點還沒有發(fā)起攻擊,進行正確的評價;從第51個時隙起,推薦節(jié)點發(fā)起誹謗攻擊,對正常節(jié)點進行惡意評價;在第151至200個時隙推薦節(jié)點結束誹謗攻擊,再次進行正確評價。
設置當參與共識機制的節(jié)點中分別有60%、80%和100%的節(jié)點通過驗證時,信任參數才能夠寫進區(qū)塊鏈上,從而模擬誹謗數據被共識機制提前識別出來的嚴格程度。同樣地,將本文方法與BTRES方法和LTMBE方法進行比較,對比方法的仿真參數與3.2節(jié)相同,并額外增加一組BTRES方法中θ=0.25的情況,得到的對比結果如圖3所示。
圖3 不同共識機制強度下的誹謗攻擊信任值對比Fig.3 Comparison of trust values of defamatory attacks in different consensus mechanism strengths
圖3表明,發(fā)生誹謗攻擊時,LTMBE方法中良好節(jié)點的信任值會顯著降低,表明LTMBE方法缺少抵御誹謗攻擊的手段。BTRES方法(θ=0.2)中良好節(jié)點的信任值基本維持不變,θ=0.25時的信任值會在第51至54次交互中突然下降,這是由于盡管BTRES方法通過設置θ過濾差異較大的推薦評估能夠抵御一定的誹謗攻擊,但是信任值對θ的細微變化十分敏感,從而影響抵御攻擊能力。本文方法隨著共識比例增加,評價客體j的信任值下降程度逐漸降低,即受到誹謗攻擊的影響逐漸變小。在理想情況下,當共識比例為100%時,誹謗攻擊對正常節(jié)點的信任值將沒有影響。
在誹謗攻擊結束后,BTRES方法(θ=0.2)的信任值會在第179次交互中突變下降,BTRES方法(θ=0.25)會在第166次交互中突然下降,隨后逐漸恢復至最大值,這也是由θ引起的。θ越大,突變越提前發(fā)生,且突變越顯著,體現了BTRES方法在抵御誹謗攻擊方面具有局限性。而LTMBE方法和本文方法的信任值在誹謗攻擊結束后都會逐漸增加,并且本文方法的信任值恢復程度優(yōu)于LTMBE方法,表明本文方法可以更有效地抵御誹謗攻擊,從而體現了共識機制的有效性。
將本文的信任共識方法與現有區(qū)塊鏈中的實用拜 占 庭 容 錯(practical Byzantine fault tolerance,PBFT)方法進行吞吐量對比,在區(qū)塊鏈中一般用每秒交易數(transaction per second,TPS)表示吞吐量,TPS越大反映系統(tǒng)效率越高。在本文中,節(jié)點間發(fā)生一次交互即為一次交易,因此,TPS可以用平均每次交互耗費的共識時間的倒數進行計算。
設置節(jié)點總數N在4至150之間,惡意節(jié)點比例分別為15%、30%和45%,不同節(jié)點總數和惡意節(jié)點比例下本文方法與PBFT方法的吞吐量的對比結果如附錄A圖A7所示。
附錄A圖A7表明,PBFT方法在節(jié)點總數較少時,吞吐量較高,但是其吞吐量隨節(jié)點數目增加顯著下降,本文方法的下降趨勢低于PBFT方法。在節(jié)點總數增至150的情況下,本文方法的TPS在惡意節(jié)點比例為30%時仍能保持在104左右的較高水平,而PBFT方法的TPS已降低至34左右,系統(tǒng)效率明顯降低。隨著惡意節(jié)點比例增加,2種方法的TPS均有所降低,由于惡意節(jié)點比例為45%時,PBFT方法已因不滿足PBFT條件而失效。因此,本文方法的容錯能力高于PBFT方法。此外,由于PBFT方法的一致性協(xié)議需經過三階段廣播,并且按編號順序選出的記賬節(jié)點為惡意節(jié)點的可能性較大。通過視圖切換協(xié)議更換記賬節(jié)點會再次產生大量通信開銷,方法復雜度為O(N2)。因此,PBFT方法不適用于具有大量終端的PIoT環(huán)境。本文方法在共識階段無須多次廣播,共識節(jié)點將共識結果傳給記賬節(jié)點即可。由2.5節(jié)可知,本文方法的復雜度為O(N),明顯優(yōu)于PBFT方法。本文選擇綜合信任值最高的節(jié)點擔任記賬節(jié)點,避免了因記賬節(jié)點惡意而切換記賬節(jié)點的情況,在網絡規(guī)模較大時仍能保持較高的系統(tǒng)效率和較低的復雜度。
本文提出了一種基于區(qū)塊鏈的電力物聯(lián)終端信任共識方法。針對傳統(tǒng)信任管理方法缺少對于信任參數的安全存儲和多元評價主體的相關研究,采用區(qū)塊鏈作為信任管理載體,增強了信任參數的安全性與可靠性,并且基于Beta分布和熵值理論建立了多元信任評價主體機制,得出更準確的設備綜合信任值。此外,為深度融合區(qū)塊鏈技術與信任管理方法,提出了5條共識機制準則和一種記賬權選擇機制,進一步提高方法的可行性與實用性。實驗結果表明,所提信任共識方法具有較高的準確率和召回率,并且能夠有效識別和抵御多種類型的惡意攻擊,節(jié)約通信資源,與現有方法相比能明顯減少通信次數。未來將進一步研究帶有激勵和懲罰機制的信任共識方法,減少目前方法的冗余性,提升PIoT的靈活性、安全性與自適能力。
附錄見本刊網絡版(http://www.aeps-info.com/aeps/ch/index.aspx),掃英文摘要后二維碼可以閱讀網絡全文。