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

?

基于DHT和區(qū)塊鏈技術(shù)的電網(wǎng)安全穩(wěn)定控制終端分布式認(rèn)證

2022-04-26 09:17賴業(yè)寧封科于同偉王旺唐冠軍
中國(guó)電力 2022年4期
關(guān)鍵詞:哈希控系統(tǒng)分布式

賴業(yè)寧,封科,于同偉,王旺,唐冠軍

(1. 國(guó)網(wǎng)電力科學(xué)研究院有限公司,江蘇 南京 210003;2. 國(guó)網(wǎng)遼寧省電力有限公司電力科學(xué)研究院,遼寧 沈陽(yáng) 110000)

0 引言

安全穩(wěn)定控制系統(tǒng)(下簡(jiǎn)稱安控系統(tǒng))是保障電網(wǎng)安全的第二道防線的重要部分,當(dāng)電網(wǎng)出現(xiàn)緊急狀態(tài)時(shí),安控系統(tǒng)將通過(guò)執(zhí)行切機(jī)、切負(fù)荷、直流功率調(diào)整等緊急控制措施使電網(wǎng)恢復(fù)正常運(yùn)行狀態(tài)[1]。隨著電網(wǎng)安全穩(wěn)定控制業(yè)務(wù)重要性的提升,安全穩(wěn)定控制系統(tǒng)終端(下簡(jiǎn)稱安控終端)數(shù)目和系統(tǒng)復(fù)雜度不斷增加,終端間的信息交互頻率將顯著提升,給安控系統(tǒng)帶來(lái)了極大的網(wǎng)絡(luò)安全風(fēng)險(xiǎn)。一旦安控命令或量測(cè)數(shù)據(jù)被篡改而導(dǎo)致安控系統(tǒng)決策錯(cuò)誤,不但會(huì)使安控系統(tǒng)喪失電網(wǎng)第二道防線的能力,還會(huì)給電網(wǎng)安全穩(wěn)定運(yùn)行造成更大危害。身份認(rèn)證是防止終端接收和處理惡意通信報(bào)文的安全措施之一,也是其他安全措施的基礎(chǔ)。然而,由于安控終端計(jì)算資源和存儲(chǔ)資源十分有限,且控制實(shí)時(shí)性要求極高,傳統(tǒng)的身份認(rèn)證方案難以直接應(yīng)用于安控系統(tǒng)[2],致使安控系統(tǒng)目前的通信缺乏認(rèn)證機(jī)制[3]。

一些學(xué)者曾提出了基于公鑰基礎(chǔ)設(shè)施(public key infrastructure, PKI)的認(rèn)證方案。如文獻(xiàn) [4]提出了基于公鑰技術(shù)的電力數(shù)字證書服務(wù)系統(tǒng)以解決電力應(yīng)用系統(tǒng)網(wǎng)絡(luò)身份認(rèn)證和安全傳輸?shù)葐?wèn)題;文獻(xiàn)[5]使用基于橢圓曲線加密理論的方案,給出了電網(wǎng)數(shù)據(jù)交互中加密通信和通信認(rèn)證的解決方案;文獻(xiàn)[6-7]提出了面向用電信息采集系統(tǒng)的輕量級(jí)認(rèn)證方案。然而,基于PKI的認(rèn)證存在密鑰管理較復(fù)雜、認(rèn)證時(shí)延較長(zhǎng)等問(wèn)題,難以用于電網(wǎng)安全穩(wěn)定控制認(rèn)證。

針對(duì)電力資源受限應(yīng)用系統(tǒng),一些學(xué)者提出了其他認(rèn)證方案。文獻(xiàn)[8]提出了基于區(qū)塊鏈的智能電表認(rèn)證方案,將電網(wǎng)內(nèi)的智能電表信息進(jìn)行處理并存儲(chǔ)在區(qū)塊鏈中,實(shí)現(xiàn)智能電表身份有效認(rèn)證的同時(shí)保障了數(shù)據(jù)可信性;文獻(xiàn)[9]提出了基于S/Key一次性密碼方案的認(rèn)證方案,實(shí)現(xiàn)了電力終端與智能電網(wǎng)服務(wù)器之間的相互身份驗(yàn)證;文獻(xiàn)[10]利用物理不可克隆原理,提出了基于身份的智能電網(wǎng)環(huán)境中的電源線監(jiān)控傳感器認(rèn)證協(xié)議;文獻(xiàn)[11]實(shí)現(xiàn)了一種匿名的安全密鑰分發(fā)方案,使電網(wǎng)終端能利用該安全密鑰實(shí)現(xiàn)快速身份認(rèn)證,且抗攻擊能力優(yōu)秀。這些方案在安全性或效率上具有優(yōu)勢(shì),但仍難以適應(yīng)存儲(chǔ)資源較低、實(shí)時(shí)性要求高的安控系統(tǒng)。

針對(duì)上述問(wèn)題,本團(tuán)隊(duì)在考慮安控終端計(jì)算和存儲(chǔ)資源有限、實(shí)時(shí)性要求高等限制后,將哈希鏈與區(qū)塊鏈技術(shù)結(jié)合,提出了一種符合電網(wǎng)安控終端特性的分布式身份認(rèn)證方案[12]。基于區(qū)塊鏈技術(shù)部署的身份認(rèn)證哈希鏈能夠保障終端間業(yè)務(wù)通信安全,基本滿足安控系統(tǒng)通信認(rèn)證的實(shí)時(shí)性需求和信任管理需求。然而,傳統(tǒng)區(qū)塊鏈系統(tǒng)中的每一個(gè)節(jié)點(diǎn)都需要完整地備份整條鏈的數(shù)據(jù),且每經(jīng)過(guò)一次認(rèn)證,鏈高度都會(huì)增加,每個(gè)節(jié)點(diǎn)均需存儲(chǔ)新區(qū)塊[13]。安控終端生命周期較長(zhǎng),隨著時(shí)間推移,不斷膨脹的歷史認(rèn)證數(shù)據(jù)將會(huì)占用有限的終端存儲(chǔ)資源,造成不必要的浪費(fèi)。在文獻(xiàn)[12]的方案中,這一問(wèn)題沒(méi)有得到很好的解決。

分布式哈希表(distributed Hash table, DHT)技術(shù)是一種基于哈希算法實(shí)現(xiàn)分布式存儲(chǔ)的技術(shù),能夠在較大數(shù)據(jù)總量的情況下完成快速且穩(wěn)定的查找[14]。DHT技術(shù)當(dāng)前在一些場(chǎng)景中已經(jīng)得到了廣泛應(yīng)用[15-16],且有學(xué)者提出了將其用于分布式存儲(chǔ)和信任管理的一些方案[17],但尚未針對(duì)安控系統(tǒng)的具體實(shí)施方法。本文利用基于DHT的可拓展分布式存儲(chǔ)方案來(lái)解決文獻(xiàn)[12]方案中區(qū)塊存儲(chǔ)伸縮性受限的問(wèn)題,提出了基于區(qū)塊鏈和DHT技術(shù)的電網(wǎng)安控終端分布式認(rèn)證方案,使經(jīng)過(guò)共識(shí)的認(rèn)證數(shù)據(jù)分布存儲(chǔ)在特定終端中而非完整地備份在每一個(gè)終端上,實(shí)現(xiàn)準(zhǔn)確高效地按需查詢,進(jìn)而在不影響認(rèn)證實(shí)時(shí)性的同時(shí)保障認(rèn)證安全性并提高存儲(chǔ)效率。

1 哈希鏈認(rèn)證技術(shù)與基于DHT的區(qū)塊鏈存儲(chǔ)優(yōu)化方法

1.1 基于哈希鏈的身份認(rèn)證技術(shù)及其不足

文獻(xiàn)[12]使用了基于哈希鏈的身份認(rèn)證方案,是一種利用哈希算法的單向性設(shè)計(jì)的一次性密碼方案。哈希算法的單向性指給定輸入可快速計(jì)算輸出,但是從輸出計(jì)算回輸入極其困難。

(1)基于哈希鏈的身份認(rèn)證關(guān)鍵過(guò)程。

(2)基于哈希鏈的身份認(rèn)證技術(shù)的不足。

文獻(xiàn)[12]方案能夠保障安控終端間業(yè)務(wù)通信安全,基本滿足安控系統(tǒng)通信認(rèn)證的實(shí)時(shí)性和信任管理需求。然而,該方案存在以下不足。

①存儲(chǔ)拓展性差。認(rèn)證成功后,終端會(huì)更新自身的最新哈希值。終端將自身標(biāo)識(shí)和上傳到認(rèn)證區(qū)塊鏈,新身份信息在區(qū)塊鏈網(wǎng)絡(luò)中的所有節(jié)點(diǎn)進(jìn)行復(fù)制。在安控終端生命周期中,區(qū)塊鏈數(shù)據(jù)量將會(huì)不斷膨脹。盡管單次認(rèn)證使用的數(shù)據(jù)規(guī)模較小,但從整個(gè)安控系統(tǒng)范圍和較長(zhǎng)的周期來(lái)看,造成的存儲(chǔ)浪費(fèi)仍難以接受。

②共識(shí)算法不適用。在電網(wǎng)安控終端認(rèn)證系統(tǒng)中使用諸如工作量證明(proof of work,PoW)和權(quán)益證明(proof of stake,PoS)等共識(shí)算法是較困難的。一方面,PoW的共識(shí)效率低、計(jì)算開銷大,在安控系統(tǒng)中難以被接受;另一方面,二者均需經(jīng)過(guò)復(fù)雜的“發(fā)幣”流程,這在能源交易以外的場(chǎng)景下是無(wú)意義的。因此,認(rèn)證系統(tǒng)需要使用開銷更低、更易于部署的共識(shí)算法。

1.2 基于DHT的可拓展區(qū)塊鏈存儲(chǔ)

1.2.1 DHT技術(shù)概述

DHT技術(shù)是一種數(shù)據(jù)分布式存儲(chǔ)技術(shù),其核心是網(wǎng)絡(luò)中的每個(gè)存儲(chǔ)節(jié)點(diǎn)生成固定結(jié)構(gòu)的身份標(biāo)識(shí)(identification, ID),系統(tǒng)中的每條數(shù)據(jù)都被映射到與節(jié)點(diǎn)ID的取值空間一致的空間中。進(jìn)一步地,每個(gè)節(jié)點(diǎn)負(fù)責(zé)存儲(chǔ)那些被映射到其ID對(duì)應(yīng)的區(qū)域中的數(shù)據(jù)。DHT的一種典型實(shí)現(xiàn)是一致性哈希環(huán)[18],如圖1所示例子,當(dāng)哈希算法的輸出位數(shù)為q時(shí),數(shù)據(jù)和節(jié)點(diǎn)ID被映射到固定大小為2q?1的哈希環(huán)中,3個(gè)節(jié)點(diǎn)的哈希環(huán)共分成3部分:(A,B)、 (B,C)、 (C,A),其中節(jié)點(diǎn) A 存儲(chǔ)被映射到(C,A)部分的數(shù)據(jù),節(jié)點(diǎn)B、C分別存儲(chǔ)(A,B)、 (B,C)部分的數(shù)據(jù)。在本文中,(C,A)部分被稱為節(jié)點(diǎn)A的“存儲(chǔ)域”,相應(yīng)的,節(jié)點(diǎn)B、C的存儲(chǔ)域?yàn)?A,B) 、(B,C)部分。

圖1 哈希環(huán)示例Fig. 1 An example of the Hash ring

在進(jìn)行數(shù)據(jù)查詢時(shí),查詢者發(fā)起請(qǐng)求后,當(dāng)前節(jié)點(diǎn)將數(shù)據(jù)重新映射到該取值空間,即可判別該數(shù)據(jù)是否存在于本地。若數(shù)據(jù)未在本地存儲(chǔ),節(jié)點(diǎn)能判斷出索引該數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的下一跳地址,并轉(zhuǎn)發(fā)該查詢請(qǐng)求直至找到存儲(chǔ)數(shù)據(jù)的節(jié)點(diǎn)。

除了上述哈希環(huán)結(jié)構(gòu),DHT還有其他的實(shí)現(xiàn)方案。本文將使用跳圖(skip graph)結(jié)構(gòu)[19]實(shí)現(xiàn)的DHT完成區(qū)塊鏈數(shù)據(jù)的分布式存儲(chǔ)。

1.2.2 基于 skip graph 結(jié)構(gòu)的分布式存儲(chǔ)

skip graph 結(jié)構(gòu)是在跳表(skip list)基礎(chǔ)上延續(xù)和發(fā)展出的適用于分布式環(huán)境的數(shù)據(jù)結(jié)構(gòu)[19]。

skip list是一種使用概率均衡技術(shù)的特殊鏈表結(jié)構(gòu),其查找效率與二叉樹相近,均為[20]。skip list以層級(jí)式結(jié)構(gòu)排列,每層中的節(jié)點(diǎn)升序排列前后鏈接。底層(0層)包含全部節(jié)點(diǎn),在第i層的每個(gè)節(jié)點(diǎn)以概率存在于第層中。在使用skip list查找時(shí),較高層的鏈提供了快速查找的通道,即在查找特定數(shù)據(jù)鍵時(shí)首先從最高層向右查找,當(dāng)找到最后一個(gè)小于待查找鍵值的節(jié)點(diǎn)時(shí)下降一層,重復(fù)直至找到對(duì)應(yīng)節(jié)點(diǎn)(到達(dá)0層仍未找到時(shí)則查找失?。?。

skip graph結(jié)構(gòu)可以看作是共享底層的一系列skip list構(gòu)成的組合結(jié)構(gòu),節(jié)點(diǎn)所屬的 skip list由節(jié)點(diǎn)的成員向量控制,成員向量的前i位相同的節(jié)點(diǎn)在第 i層處于同一skip list中,如圖2所示。

圖2 Skip graph結(jié)構(gòu)Fig. 2 Structure of skip graphs

文獻(xiàn)[19]證明了skip graph的數(shù)據(jù)查詢過(guò)程時(shí)間復(fù)雜度與skip list基本一致,均為,且skip graph結(jié)構(gòu)中節(jié)點(diǎn)的查詢、插入和節(jié)點(diǎn)刪除過(guò)程均與 skip list類似[21]。

將skip graph結(jié)構(gòu)DHT應(yīng)用在基于區(qū)塊鏈的電網(wǎng)安全穩(wěn)定控制終端分布式認(rèn)證方案中,完成區(qū)塊鏈上數(shù)據(jù)的分布式存儲(chǔ),思路為:將經(jīng)過(guò)共識(shí)的區(qū)塊數(shù)據(jù)經(jīng)過(guò)哈希運(yùn)算映射到與身份標(biāo)識(shí)一致的取值空間后,第0層距離該數(shù)據(jù)最近的兩個(gè)節(jié)點(diǎn)將存儲(chǔ)該數(shù)據(jù),同時(shí)在前層中(作為可變的系統(tǒng)冗余參數(shù)),各skip list在每一層距離該位置最近的兩個(gè)鄰居節(jié)點(diǎn)將冗余地備份該數(shù)據(jù)。這使得特定的區(qū)塊數(shù)據(jù)能夠僅在特定節(jié)點(diǎn)上進(jìn)行復(fù)制而非存儲(chǔ)在所有節(jié)點(diǎn)上,提高了區(qū)塊鏈系統(tǒng)的存儲(chǔ)效率。

1.3 基于DHT和區(qū)塊鏈的安控終端分布式認(rèn)證可行性及優(yōu)勢(shì)

當(dāng)前安控系統(tǒng)多采用“主站-子站-執(zhí)行站”的3層架構(gòu)完成業(yè)務(wù)通信。其中,執(zhí)行站向子站、子站向主站依次上送本站狀態(tài)和可切負(fù)荷等運(yùn)行信息,主站向子站、子站向執(zhí)行站依次下發(fā)切負(fù)荷輪次命令等控制信息。同時(shí),子站之間以及主站之間將互通投停信息和跳閘信息等[22]。以上用于實(shí)現(xiàn)電網(wǎng)安全穩(wěn)定控制的主站、子站和執(zhí)行站設(shè)備均被稱為安控終端,此外,安控系統(tǒng)還包括負(fù)責(zé)監(jiān)視并記錄各終端運(yùn)行信息、重要事件動(dòng)作的穩(wěn)定控制集中管理系統(tǒng)(stability control management system, SCMS)。SCMS通過(guò)調(diào)度數(shù)據(jù)網(wǎng)與各安全穩(wěn)定控制站內(nèi)設(shè)備進(jìn)行通信。

終端間通過(guò)調(diào)度數(shù)據(jù)網(wǎng)和SCMS的中轉(zhuǎn)能夠?qū)崿F(xiàn)點(diǎn)對(duì)點(diǎn)通信,具有部署區(qū)塊鏈系統(tǒng)的網(wǎng)絡(luò)基礎(chǔ)。在終端注冊(cè)階段,安控系統(tǒng)運(yùn)維人員在終端完成哈希鏈生成、發(fā)布操作的同時(shí)分配終端標(biāo)識(shí)和成員向量;終端入網(wǎng)時(shí),執(zhí)行查詢找到其在由安控終端構(gòu)成的skip graph中所處的位置,隨后調(diào)用插入算法。

認(rèn)證階段的主要流程和2.1節(jié)所述過(guò)程類似,不同之處在于收到對(duì)方終端認(rèn)證材料的終端將執(zhí)行skip graph查詢算法,找到存儲(chǔ)該部分區(qū)塊數(shù)據(jù)的終端并獲取相應(yīng)數(shù)據(jù),完成后續(xù)認(rèn)證流程。

基于skip graph結(jié)構(gòu)的DHT優(yōu)勢(shì)是能夠?qū)崿F(xiàn)分布式存儲(chǔ)和相對(duì)高效的數(shù)據(jù)查詢,相對(duì)于其他分布式存儲(chǔ)方案,新節(jié)點(diǎn)的加入對(duì)存儲(chǔ)布局的影響較小[23]。這一特性與基于區(qū)塊鏈的安控終端身份認(rèn)證方案的存儲(chǔ)優(yōu)化需求吻合,這使得基于skip graph結(jié)構(gòu)的安控終端分布式存儲(chǔ)方案能在時(shí)間復(fù)雜度較低、不影響終端間認(rèn)證實(shí)時(shí)性的前提下,實(shí)現(xiàn)安全性和存儲(chǔ)效率平衡的區(qū)塊鏈數(shù)據(jù)存儲(chǔ)。

2 基于DHT和區(qū)塊鏈的電網(wǎng)安全穩(wěn)定控制終端分布式認(rèn)證方案

2.1 方案概述

本文方案在將區(qū)塊鏈與哈希鏈技術(shù)結(jié)合實(shí)現(xiàn)安控終端認(rèn)證的同時(shí),使用基于DHT的分布式存儲(chǔ)提高該區(qū)塊鏈系統(tǒng)的存儲(chǔ)拓展性。方案的總體思路為:在基于實(shí)用拜占庭容錯(cuò)算法(practical Byzantine fault tolerance,PBFT)的聯(lián)盟區(qū)塊鏈系統(tǒng)中,根據(jù)skip graph結(jié)構(gòu)對(duì)終端進(jìn)行標(biāo)識(shí)和分組,使在區(qū)塊鏈系統(tǒng)中經(jīng)過(guò)共識(shí)的身份認(rèn)證材料數(shù)據(jù)僅在特定終端上進(jìn)行復(fù)制而非存儲(chǔ)在所有終端上;進(jìn)行認(rèn)證時(shí),收到認(rèn)證請(qǐng)求的終端將根據(jù)skip graph查詢算法執(zhí)行查詢,獲取區(qū)塊鏈上的身份哈希信息并根據(jù)哈希鏈認(rèn)證方法完成身份認(rèn)證。

方案整體架構(gòu)如圖3所示,在以安控終端業(yè)務(wù)架構(gòu)為基礎(chǔ)的點(diǎn)對(duì)點(diǎn)通信網(wǎng)絡(luò)上,基于skip graph結(jié)構(gòu)DHT劃分各終端的存儲(chǔ)域,形成分布式存儲(chǔ)結(jié)構(gòu)。根據(jù)冗余參數(shù)的不同,該存儲(chǔ)結(jié)構(gòu)也相應(yīng)變化。區(qū)塊鏈賬本中各區(qū)塊將根據(jù)其哈希值被映射到終端網(wǎng)絡(luò)中的對(duì)應(yīng)終端上進(jìn)行存儲(chǔ)。下文將從終端注冊(cè)、終端入網(wǎng)和終端認(rèn)證3部分闡述方案細(xì)節(jié)。

圖3 系統(tǒng)架構(gòu)Fig. 3 System architecture

2.2 終端注冊(cè)

終端的注冊(cè)階段一般在其入網(wǎng)前離線完成,過(guò)程分為終端標(biāo)識(shí)生成和身份哈希鏈生成2個(gè)步驟。由于此時(shí)終端尚未加入認(rèn)證系統(tǒng),注冊(cè)階段信息生成操作的合規(guī)性由安控系統(tǒng)運(yùn)維人員保障。

(1)終端標(biāo)識(shí)生成。

文獻(xiàn)[12]提出了終端的唯一身份ID結(jié)構(gòu),包含網(wǎng)絡(luò)通信地址(IP地址和端口號(hào))、隨機(jī)驗(yàn)證碼和附加字段,終端間依據(jù)此ID進(jìn)行交互認(rèn)證和識(shí)別。電網(wǎng)內(nèi)終端隨機(jī)驗(yàn)證碼保障了該ID 在認(rèn)證系統(tǒng)中的唯一性,同時(shí)網(wǎng)絡(luò)通信地址字段使得終端能夠在獲取其他終端ID后與其進(jìn)行認(rèn)證和通信。

為便于實(shí)現(xiàn)基于skip graph結(jié)構(gòu)的分布式存儲(chǔ),本文對(duì)文獻(xiàn)[12]中的終端ID進(jìn)行如下擴(kuò)充:加入包含成員向量在內(nèi)的存儲(chǔ)標(biāo)識(shí)字段。擴(kuò)充后的終端ID如表1所示。

表1 終端IDTable 1 Terminal ID

在電網(wǎng)安全穩(wěn)定控制這一特定應(yīng)用背景下,終端ID的成員向量字段可由運(yùn)維人員進(jìn)行設(shè)置而非完全依賴隨機(jī)生成,這更有利于數(shù)據(jù)查詢和監(jiān)管。

(2)身份哈希鏈生成。

2.3 終端入網(wǎng)

當(dāng)終端注冊(cè)完成后,身份標(biāo)識(shí)和身份哈希鏈被公布,該終端將以此為基礎(chǔ)進(jìn)行入網(wǎng)申請(qǐng)。終端入網(wǎng)過(guò)程實(shí)質(zhì)是在skip graph網(wǎng)絡(luò)中插入新節(jié)點(diǎn)的過(guò)程。入網(wǎng)主要流程如圖4所示。

圖4 終端入網(wǎng)流程Fig. 4 Terminal network access flow

終端入網(wǎng)過(guò)程需要進(jìn)行一次skip graph查詢操作,尋找終端在skip graph底層的位置。此次查詢操作從一個(gè)初始引入節(jié)點(diǎn)開始進(jìn)行,該節(jié)點(diǎn)由安控運(yùn)維人員指定。

終端找到其在skip graph底層的位置后,與其在底層中的鄰居終端執(zhí)行首次連接操作,即互相記錄對(duì)方網(wǎng)絡(luò)地址并交換區(qū)塊鏈數(shù)據(jù)。隨后終端將從底層開始,向上逐層尋找鄰居節(jié)點(diǎn)并建立連接,直至頂層,并在層數(shù)不大于冗余參數(shù)時(shí)與其鄰居節(jié)點(diǎn)交換區(qū)塊鏈數(shù)據(jù)。

為提高后續(xù)認(rèn)證過(guò)程的查詢速度,在終端交換區(qū)塊鏈數(shù)據(jù)的同時(shí),它們會(huì)維護(hù)一個(gè)區(qū)塊鏈視圖[24]。該區(qū)塊鏈視圖是一個(gè)不斷更新的元組表,其中以身份標(biāo)識(shí)為索引,存儲(chǔ)了各終端的最新數(shù)據(jù)所在區(qū)塊的區(qū)塊頭哈希、當(dāng)前哈希鏈高度和最新身份哈希。

2.4 終端認(rèn)證

當(dāng)終端A向終端B發(fā)起認(rèn)證請(qǐng)求以獲取終端B的信任時(shí),認(rèn)證流程如圖5所示。

圖5 終端認(rèn)證流程Fig. 5 Terminal authentication flow

(1)認(rèn)證請(qǐng)求發(fā)送。

(2)認(rèn)證數(shù)據(jù)查詢。

終端B需要在基于skip graph結(jié)構(gòu)存儲(chǔ)的認(rèn)證區(qū)塊鏈上查詢終端A的最新身份哈希。詳細(xì)認(rèn)證數(shù)據(jù)查詢算法如下。

上列操作中,終端均指終端的存儲(chǔ)標(biāo)識(shí),而非終端ID。

(3)認(rèn)證結(jié)果判斷。

(4)認(rèn)證結(jié)果回復(fù)。

(5)身份數(shù)據(jù)更新。

在收到認(rèn)證成功的消息后,終端A在認(rèn)證區(qū)塊鏈上更新認(rèn)證信息和自身的身份。這一過(guò)程實(shí)質(zhì)是向當(dāng)前主節(jié)點(diǎn)發(fā)起新數(shù)據(jù)上鏈申請(qǐng)。當(dāng)此次認(rèn)證過(guò)程中區(qū)塊鏈最新數(shù)據(jù)為時(shí),終端A取新的種子,再次執(zhí)行哈希鏈生成操作,得到新哈希鏈,以為憑據(jù)將新哈希鏈的最后一項(xiàng)發(fā)布,并將中的各項(xiàng)作為后續(xù)認(rèn)證的憑據(jù)。主節(jié)點(diǎn)將在網(wǎng)絡(luò)中收集一定時(shí)間段內(nèi)的認(rèn)證數(shù)據(jù)并將其打包成區(qū)塊,基于PBFT共識(shí)算法進(jìn)行全網(wǎng)共識(shí)。終端A在認(rèn)證區(qū)塊鏈上的最新身份哈希將在共識(shí)成功后被更新。

3 安全性與效率分析

3.1 安全性

本文方案使用了區(qū)塊鏈技術(shù)和基于skip graph結(jié)構(gòu)DHT的分布式存儲(chǔ),具有以下安全特性。

(1)認(rèn)證信息可追溯性。認(rèn)證完成后,認(rèn)證發(fā)起方會(huì)將本次認(rèn)證時(shí)間、認(rèn)證雙方標(biāo)識(shí)等信息上傳到認(rèn)證區(qū)塊鏈,確保了認(rèn)證信息的可追溯性。該特性提高了電網(wǎng)安控終端認(rèn)證系統(tǒng)的可監(jiān)管性,降低了安控系統(tǒng)審計(jì)取證的復(fù)雜度。

(2)終端身份不可偽造性。方案使用身份哈希鏈進(jìn)行基于一次性密碼的認(rèn)證。各安控終端將根據(jù)隨機(jī)種子生成的身份哈希鏈與包含設(shè)備信息在內(nèi)的終端ID相互綁定,有效地防止了惡意設(shè)備使用偽造身份與合法安控終端通信。此外,根據(jù)哈希算法的單向性,即使攻擊者通過(guò)竊聽等手段獲取了某次認(rèn)證中所使用的哈希秘密信息仍無(wú)法推斷出及哈希次數(shù)更低的哈希鏈數(shù)據(jù),保障了通信認(rèn)證的安全性。

(3)兼具容錯(cuò)性與存儲(chǔ)拓展性。區(qū)塊鏈系統(tǒng)通過(guò)冗余備份確保信息不會(huì)因單點(diǎn)故障而丟失或被惡意篡改,但冗余性導(dǎo)致系統(tǒng)的存儲(chǔ)拓展性較低。本方案使用了DHT技術(shù)進(jìn)行數(shù)據(jù)分布式存儲(chǔ),降低了數(shù)據(jù)的冗余度,但對(duì)于映射到每個(gè)位置上的數(shù)據(jù),系統(tǒng)仍在skip graph結(jié)構(gòu)的前層進(jìn)行冗余備份,因此,單點(diǎn)故障不會(huì)破壞整個(gè)系統(tǒng)的數(shù)據(jù)完整性。綜上所述,本方案能夠在不影響區(qū)塊鏈系統(tǒng)容錯(cuò)性的前提下提高其存儲(chǔ)拓展性。

(4)抗攻擊性。盡管安控系統(tǒng)在電網(wǎng)內(nèi)的保護(hù)級(jí)別較高,但仍可能出現(xiàn)部分終端被劫持或受到DoS攻擊等情況。本方案使用PBFT共識(shí)機(jī)制,具有33%拜占庭容錯(cuò)性能[25],即只有當(dāng)攻擊者劫持了認(rèn)證系統(tǒng)內(nèi)1/3終端時(shí),共識(shí)結(jié)果才會(huì)被惡意更改,這在電網(wǎng)安全穩(wěn)定控制環(huán)境下是難以實(shí)現(xiàn)的。另一種攻擊場(chǎng)景是攻擊者通過(guò)被劫持的設(shè)備注入大量虛假數(shù)據(jù),影響認(rèn)證數(shù)據(jù)的正常存儲(chǔ),但分布式存儲(chǔ)方法能很好地緩解該問(wèn)題,使得認(rèn)證系統(tǒng)不會(huì)在短時(shí)間內(nèi)宕機(jī),為反制攻擊提供了條件。

3.2 時(shí)空效率分析

3.2.1 時(shí)間復(fù)雜度

設(shè)認(rèn)證系統(tǒng)內(nèi)安控終端數(shù)為n。終端認(rèn)證過(guò)程首先調(diào)用skip graph數(shù)據(jù)搜索算法。在該算法中,從任意節(jié)點(diǎn)開始的搜索將沿著該終端所在的skip list搜索路徑進(jìn)行,直至找到目標(biāo)或到達(dá)0層,即在skip graph中進(jìn)行搜索的時(shí)間復(fù)雜度與skip list一致。根據(jù)文獻(xiàn)[20]的分析,在底層節(jié)點(diǎn)數(shù)為n的skip list中,平均每層被搜索的節(jié)點(diǎn)數(shù)為個(gè),總時(shí)間復(fù)雜度和消息復(fù)雜度均為O(ln n/((r?1)ln r)),因此,在認(rèn)證系統(tǒng)中固定時(shí),搜索算法的時(shí)間復(fù)雜度為。

終端入網(wǎng)階段執(zhí)行skip graph的節(jié)點(diǎn)插入算法。在該算法中,終端首先執(zhí)行一次查詢,之后在每一層對(duì)平均個(gè)終端進(jìn)行訪問(wèn),在各層的查詢時(shí)間復(fù)雜度均為。系統(tǒng)共有層,因此前后時(shí)間復(fù)雜度均為。入網(wǎng)過(guò)程中終端尚未開始實(shí)際業(yè)務(wù)通信,時(shí)延要求不高,因此本方案入網(wǎng)時(shí)延能夠滿足安控系統(tǒng)實(shí)際需求。

3.2.2 空間復(fù)雜度

4 實(shí)驗(yàn)分析

由于安控系統(tǒng)對(duì)設(shè)備算力和存儲(chǔ)資源的特殊需求,基于本文方案實(shí)現(xiàn)的認(rèn)證原型系統(tǒng)使用go語(yǔ)言自行編寫,實(shí)現(xiàn)了輕量化和功能的定制化。部署該系統(tǒng)的實(shí)驗(yàn)裝置使用了與電網(wǎng)安控終端通信模塊性能相近的嵌入式系統(tǒng)終端(運(yùn)行Ubuntu 18.04的嵌入式Linux系統(tǒng))。

4.1 認(rèn)證時(shí)延

利用實(shí)現(xiàn)的原型系統(tǒng),進(jìn)行了多次實(shí)驗(yàn)并統(tǒng)計(jì)了系統(tǒng)內(nèi)不同終端數(shù)時(shí)系統(tǒng)的平均單次認(rèn)證時(shí)延,如圖6所示。

圖6 認(rèn)證時(shí)延與終端數(shù)量的關(guān)系Fig. 6 Relationship between authentication latency and number of terminals

由圖6可以看出,隨著終端數(shù)量的增加,單次認(rèn)證時(shí)延呈現(xiàn)增長(zhǎng)趨勢(shì)。增加的時(shí)延主要來(lái)自skip graph結(jié)構(gòu)中的數(shù)據(jù)搜索過(guò)程,實(shí)驗(yàn)結(jié)果符合

3.2 節(jié)中的分析與預(yù)期。

根據(jù)調(diào)研,目前安控系統(tǒng)中需要進(jìn)行相互認(rèn)證的終端數(shù)不超過(guò)100臺(tái)。在實(shí)驗(yàn)中,終端數(shù)為30時(shí),系統(tǒng)內(nèi)的單次認(rèn)證時(shí)延低于370 ms,同時(shí)根據(jù)方案的時(shí)間復(fù)雜度可知,在終端數(shù)達(dá)到最大的100臺(tái)時(shí),時(shí)延不會(huì)超過(guò)570 ms,符合安控系統(tǒng)內(nèi)終端認(rèn)證需求。

4.2 平均存儲(chǔ)開銷

在固定終端數(shù)為10的情況下,實(shí)驗(yàn)分別測(cè)試了本文方案在不同值下,即不同系統(tǒng)冗余參數(shù)下的終端平均存儲(chǔ)開銷隨認(rèn)證總次數(shù)的變化,并與文獻(xiàn)[12]方案進(jìn)行了對(duì)比,實(shí)驗(yàn)結(jié)果如圖7所示。

圖7 平均存儲(chǔ)開銷對(duì)比Fig. 7 Comparison on average storage overhead

5 結(jié)語(yǔ)

現(xiàn)有認(rèn)證方法難以兼顧安全性、實(shí)時(shí)性和存儲(chǔ)效率,因此,本文提出了基于DHT和區(qū)塊鏈的安控終端分布式認(rèn)證方案,從終端注冊(cè)、終端入網(wǎng)和終端認(rèn)證3部分給出了認(rèn)證系統(tǒng)設(shè)計(jì)和關(guān)鍵算法。本文方案使用基于skip graph結(jié)構(gòu)的DHT實(shí)現(xiàn)分布式存儲(chǔ),在不影響認(rèn)證安全性的同時(shí),為安控終端分布式認(rèn)證提供了高效的數(shù)據(jù)查詢能力和較強(qiáng)的存儲(chǔ)拓展性。理論分析說(shuō)明,本文方案在具有安全性的同時(shí),有較低的時(shí)間和空間復(fù)雜度;實(shí)驗(yàn)結(jié)果顯示,基于本文方案實(shí)現(xiàn)的認(rèn)證系統(tǒng)的平均認(rèn)證時(shí)延和平均存儲(chǔ)開銷均能滿足安控系統(tǒng)的要求。

猜你喜歡
哈希控系統(tǒng)分布式
基于RTDS的分布式光伏并網(wǎng)建模研究
基于特征選擇的局部敏感哈希位選擇算法
關(guān)于DALI燈控系統(tǒng)的問(wèn)答精選
哈希值處理 功能全面更易用
文件哈希值處理一條龍
聯(lián)調(diào)聯(lián)試中列控系統(tǒng)兼容性問(wèn)題探討
數(shù)字電視播控系統(tǒng)關(guān)鍵技術(shù)探究
基于Arduino的智能家居燈控系統(tǒng)設(shè)計(jì)
基于預(yù)處理MUSIC算法的分布式陣列DOA估計(jì)
分布式并聯(lián)逆變器解耦電流下垂控制技術(shù)
通州区| 扶绥县| 延长县| 惠水县| 津市市| 安庆市| 华坪县| 抚顺市| 榕江县| 宝清县| 雅江县| 永胜县| 山阳县| 酉阳| 米脂县| 贵州省| 屏东市| 凤山市| 元氏县| 浦东新区| 泊头市| 扎兰屯市| 宝坻区| 六盘水市| 安顺市| 宜川县| 阳山县| 邳州市| 合作市| 天长市| 达日县| 涿鹿县| 县级市| 仙居县| 天柱县| 历史| 宁武县| 古丈县| 三穗县| 龙川县| 嘉祥县|