亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于區(qū)塊鏈的工業(yè)控制系統(tǒng)數(shù)據(jù)完整性保護(hù)

        2022-10-11 08:33:26孫彥棨張正道
        關(guān)鍵詞:哈希攻擊者共識

        孫彥棨,張正道,2+

        (1.江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 無錫 214122;2.江南大學(xué) 教育部物聯(lián)網(wǎng)技術(shù)應(yīng)用工程中心,江蘇 無錫 214122)

        0 引言

        工業(yè)控制系統(tǒng)(Industrial Control System, ICS)是工業(yè)物聯(lián)網(wǎng)的主要形式之一,已廣泛應(yīng)用于航天、能源、運(yùn)輸?shù)阮I(lǐng)域[1-3]。隨著ICS的開放性與日俱增,其面臨的安全隱患也大大增加,主要是攻擊者通過內(nèi)部攻擊破壞數(shù)據(jù)的完整性以達(dá)到操控工業(yè)過程的目的。因此,與其他工業(yè)物聯(lián)網(wǎng)系統(tǒng)相比,工業(yè)控制系統(tǒng)受到攻擊后,不僅會造成其信息系統(tǒng)部分的破壞,還將導(dǎo)致其物理系統(tǒng)部分出現(xiàn)嚴(yán)重故障,進(jìn)而造成人員和財產(chǎn)損失[4]。因此,工業(yè)控制系統(tǒng)的安全性保護(hù)是一個值得研究的問題。

        目前,數(shù)據(jù)完整性攻擊包括:虛假數(shù)據(jù)注入攻擊(False Data Injection attack, FDI)、拒絕服務(wù)攻擊(Denial-of-Service attack, DoS)、中間人攻擊(Man-in-the-Middle attack, MITM)和重放攻擊(Replay Attacks),是工業(yè)控制系統(tǒng)面臨的主要攻擊類型[5]?,F(xiàn)有的數(shù)據(jù)完整性保護(hù)方案則可以分為基于模型的方案、基于數(shù)據(jù)的方案和基于密碼學(xué)的方案3類。其中基于模型的方案需要對ICS建立精確的數(shù)學(xué)模型;基于數(shù)據(jù)的方案一般需要大量精確而有效的系統(tǒng)采樣數(shù)據(jù),易受系統(tǒng)和環(huán)境噪聲的影響;而基于密碼學(xué)的方案則要求設(shè)備具有足夠的計算資源以執(zhí)行復(fù)雜的密碼學(xué)運(yùn)算。而ICS不但精確建模困難,數(shù)據(jù)受噪聲影響大,而且計算資源有限?,F(xiàn)有方案在應(yīng)用時均存在局限性。

        區(qū)塊鏈技術(shù)是一種全新的去中心化基礎(chǔ)架構(gòu)和分布式計算范式[6],且具有不可篡改的特性,因此可實現(xiàn)數(shù)據(jù)完整性保護(hù)[7]。文獻(xiàn)[8]將區(qū)塊鏈與車輛和電網(wǎng)(V2G)相結(jié)合,提出一種能源交易認(rèn)證方案。通過哈希函數(shù)與非對稱密鑰對交易實體進(jìn)行多方認(rèn)證。文獻(xiàn)[9]提出一種私有的區(qū)塊鏈架構(gòu)管理工業(yè)物聯(lián)網(wǎng)數(shù)據(jù),將數(shù)據(jù)通過非對稱密鑰進(jìn)行加密并存儲在區(qū)塊鏈上以保證數(shù)據(jù)的完整性。然而,上述方案需要大量計算資源,難以在ICS中進(jìn)行部署。文獻(xiàn)[10]結(jié)合區(qū)塊鏈與無證書密碼學(xué)技術(shù)提出一種物聯(lián)網(wǎng)數(shù)據(jù)分布式存儲方案,利用區(qū)塊鏈礦工存儲與審計物聯(lián)網(wǎng)數(shù)據(jù),消除了傳統(tǒng)的中心服務(wù)器,避免了單點故障問題。文獻(xiàn)[11]提出一種名為ICS-BlockOpS的新型區(qū)塊鏈架構(gòu),以保護(hù)智能工廠中歷史數(shù)據(jù)的安全性,并通過完整性檢查機(jī)制和數(shù)據(jù)冗余提高了歷史數(shù)據(jù)的安全性與魯棒性。然而上述方案沒有考慮數(shù)據(jù)傳輸過程中的安全性,無法保證數(shù)據(jù)在存儲到區(qū)塊鏈分類賬之前的真實性。文獻(xiàn)[12]提出一種基于區(qū)塊鏈的移動邊緣計算物聯(lián)網(wǎng)數(shù)據(jù)存儲與共享方案,通過邊緣節(jié)點管理區(qū)塊鏈網(wǎng)絡(luò),采用鏈上鏈下雙重存儲模式,將數(shù)據(jù)存儲地址與其數(shù)字簽名存儲在區(qū)塊鏈中,數(shù)據(jù)以分布式的方式存儲在鏈下數(shù)據(jù)庫中,提高了數(shù)據(jù)的安全性與容錯性。結(jié)合基于屬性的數(shù)字簽名算法,文獻(xiàn)[13]提出一種霧環(huán)境下的基于區(qū)塊鏈的物聯(lián)網(wǎng)數(shù)據(jù)安全分享方案,通過將區(qū)塊鏈操作卸載到霧節(jié)點上,提高了方案的可用性與可拓展性,增強(qiáng)了數(shù)據(jù)傳輸過程中的可信性。上述方案雖然考慮了物聯(lián)網(wǎng)設(shè)備資源的受限性并作了相應(yīng)的改進(jìn),然而方案所需的通信量較大,在達(dá)成共識時存在較大的延遲,難以滿足工業(yè)生產(chǎn)的實時性要求。

        目前區(qū)塊鏈在工業(yè)控制系統(tǒng)安全的研究主要集中于控制臺到服務(wù)器的網(wǎng)絡(luò)級,很少涉及從控制臺到現(xiàn)場單元的現(xiàn)場級。相比較而言,從控制臺到現(xiàn)場單元的部分具有以下特點:①計算資源更為受限。工業(yè)控制系統(tǒng)中的設(shè)備普遍存在計算資源受限問題。而在現(xiàn)場級,參與運(yùn)行的主要是傳感器、智能儀表、可編程邏輯控制器和少量工業(yè)控制計算機(jī),它們擁有的計算資源無法支持復(fù)雜計算。②通信能力受限?,F(xiàn)場級的通信一般依托現(xiàn)場總線完成,不但缺乏安全性措施,而且通信速率低、通信延時大。因此,現(xiàn)有區(qū)塊鏈方案難以滿足ICS中的安全性需求與可用性需求。為此,本文提出一種用于保護(hù)ICS數(shù)據(jù)完整性的區(qū)塊鏈方案。首先,為降低系統(tǒng)的計算與通信開銷,提出一種隨機(jī)驗證機(jī)制,從網(wǎng)絡(luò)中隨機(jī)選擇部分節(jié)點參與區(qū)塊鏈共識過程。該機(jī)制利用隨機(jī)局部節(jié)點取代了全體節(jié)點參與共識過程,在降低計算與通信開銷的同時還給攻擊者帶來了不確定性。其次,提出一種新型共識模型,按照共識節(jié)點的狀態(tài)采用不同的共識策略。該模型進(jìn)一步節(jié)約了系統(tǒng)通信資源,有效避免了節(jié)點之間的無效通信,最大程度降低了共識過程的延遲與通信量。通過安全分析以及在半實物仿真平臺進(jìn)行性能仿真驗證了本文方案對于ICS的有效性。

        1 方案概述

        本文討論的工業(yè)控制系統(tǒng)模型如圖1所示,其中現(xiàn)場級主要包括現(xiàn)場儀表與傳感器、控制器和控制臺3類實體。具體描述如下:

        (1)現(xiàn)場儀表與傳感器 由各種控制儀表或傳感器組成,用于獲取實時工業(yè)數(shù)據(jù)并上傳控制器。

        (2)控制器(Control Unit, CU) 如可編程邏輯控制器(Programmable Logic Controller, PLC)等,獲取現(xiàn)場儀表與傳感器的測量數(shù)據(jù),并進(jìn)行數(shù)據(jù)預(yù)處理。

        (3)控制臺(Industrial Control Console, ICC) 一般為工業(yè)控制計算機(jī),是擬議模型的中心節(jié)點。通過現(xiàn)場總線網(wǎng)絡(luò)與控制器相連接,并接收控制器預(yù)處理測量數(shù)據(jù)與下達(dá)控制命令。

        由于傳統(tǒng)區(qū)塊鏈方案資源要求高、通信量大,不適用于資源有限、實時性要求高的工業(yè)生產(chǎn)環(huán)境。對此,本文基于授權(quán)的方式構(gòu)建了一個許可的私有區(qū)塊鏈網(wǎng)絡(luò)[14]。根據(jù)設(shè)備資源的多少,設(shè)置資源較少的控制器作為輕節(jié)點,資源較強(qiáng)的控制臺作為全節(jié)點?,F(xiàn)場儀表與傳感器僅用于采集工業(yè)數(shù)據(jù),并不實現(xiàn)區(qū)塊鏈邏輯。在許可的私有區(qū)塊鏈網(wǎng)絡(luò)中,輕節(jié)點負(fù)責(zé)將所屬現(xiàn)場儀表與傳感器上傳的數(shù)據(jù)生成區(qū)塊鏈交易并在網(wǎng)絡(luò)中廣播,同時驗證網(wǎng)絡(luò)中廣播的區(qū)塊鏈交易。全節(jié)點負(fù)責(zé)驗證網(wǎng)絡(luò)中廣播的區(qū)塊鏈交易,并生成區(qū)塊鏈賬本。

        2 方案詳細(xì)設(shè)計

        本文提出的基于區(qū)塊鏈數(shù)據(jù)完整性保護(hù)方案主要包括區(qū)塊鏈網(wǎng)絡(luò)初始化、區(qū)塊鏈交易生成、動態(tài)隨機(jī)驗證、共識過程以及區(qū)塊鏈分類賬更新5個階段,方案的具體執(zhí)行邏輯如算法1所示。

        算法1擬議方案的執(zhí)行邏輯。

        1:for all CUs, ICC do

        2: 執(zhí)行區(qū)塊鏈網(wǎng)絡(luò)初始化過程

        3:end for

        4:for CUs do

        5: 執(zhí)行區(qū)塊鏈交易生成過程

        6: for VNs, ICC do//驗證節(jié)點(VNs)

        7: 執(zhí)行動態(tài)隨機(jī)驗證過程與共識過程

        8: for ICC do

        9: 執(zhí)行區(qū)塊鏈賬本更新過程

        10: end for

        11: end for

        12:end for

        2.1 區(qū)塊鏈網(wǎng)絡(luò)初始化

        擬議方案首先需要初始化。ICC為注冊中心,節(jié)點在加入?yún)^(qū)塊鏈網(wǎng)絡(luò)之前,需要在ICC進(jìn)行注冊以獲取數(shù)字證書。假設(shè)網(wǎng)絡(luò)中有N個節(jié)點,即{ICC,CU1,CU2,…,CUN-1}。采用文獻(xiàn)[15]的密鑰分發(fā)機(jī)制,每個節(jié)點需要一對非對稱密鑰來收發(fā)信息。因此,在初始化之前,網(wǎng)絡(luò)中的節(jié)點在本地生成一對公私鑰,其中CUi的密鑰對表示為(PKi,SKi),ICC密鑰對表示為(ICCPK,ICCSK)。

        首先,CUi(i=1,…,N-1)利用自身MAC地址和隨機(jī)數(shù)組合的哈希值生成唯一的身份標(biāo)識符OIDi。然后,CUi向ICC發(fā)送注冊請求(Mi),即

        Mi=EncICCPK{signSKi(OIDi,TS,noncei)}。

        (1)

        式中:EncICCPK表示Mi通過ICC的公鑰ICCPK進(jìn)行加密;signSKi表示CUi的私鑰簽名;TS表示時間戳;noncei表示隨機(jī)值,其用于發(fā)起回應(yīng)挑戰(zhàn),如果ICC可以回應(yīng)正確的隨機(jī)值,則認(rèn)為ICC已經(jīng)成功解密了Mi。隨后,ICC接收Mi并解密。若CUi尚未注冊,則ICC將為CUi生成數(shù)字證書Certi=ICCSK(OIDi);否則,ICC將忽略CUi的注冊請求。ICC在完成所有CUi注冊后,基于各CUi的Mi和Certi生成白名單Whitelist。如表1所示,其主要包括OIDi,Certi,Timei,其中Timei表示CUi生成的最新區(qū)塊鏈交易的時間戳。在初始化階段,由于區(qū)塊鏈交易還未生成,因此Timei設(shè)置為0。ICC的數(shù)字證書設(shè)置為Cert0=ICCSK(OID0),其中OID0為ICC的身份標(biāo)識符,生成機(jī)制與OIDi相同。由于ICC不參與生成區(qū)塊鏈交易,白名單中ICC對應(yīng)的Timei設(shè)為null。

        表1 白名單

        接著,ICC發(fā)送AMi到網(wǎng)絡(luò)中的CUi,即

        AMi=EncPKi{signICCSK(Whitelist,noncei,

        TS,nonceb)}。

        (2)

        式中nonceb同樣是一個回應(yīng)挑戰(zhàn)。CUi解密AMi并從中提取白名單,白名單將保存在CUi的本地,并隨著區(qū)塊鏈交易的生成而實時更新。之后,CUi通過FMi向ICC反饋nonceb以完成初始化,其中

        FMi=EncICCPK{signSKi(TS,nonceb)}。

        (3)

        由于初始化僅執(zhí)行一次,其中涉及到的密碼學(xué)操作也僅執(zhí)行一次,不會影響擬議方案整體性能。

        2.2 區(qū)塊鏈交易生成過程

        CUi依據(jù)數(shù)據(jù)采集周期從現(xiàn)場儀表與傳感器獲取測量數(shù)據(jù)并進(jìn)行預(yù)處理。之后,CUi基于測量數(shù)據(jù)生成區(qū)塊鏈交易。區(qū)塊鏈交易結(jié)構(gòu)為:

        TXi={OIDi,indexk,TStx,data,

        HASH(OIDi,indexk,TStx,data,Certi)}。

        (4)

        式中:indexk為交易索引,TStx為交易時間戳,data為測量數(shù)據(jù),HASH(OIDi,indexk,TStx,data,Certi)為交易哈希值,HASH()表示MD5哈希函數(shù)。CUi將TXi在區(qū)塊鏈網(wǎng)絡(luò)中廣播。

        2.3 動態(tài)隨機(jī)驗證過程

        接收到廣播的區(qū)塊鏈交易之后,輕節(jié)點將執(zhí)行驗證過程。為了降低驗證過程的計算與通信開銷,本文提出一種動態(tài)隨機(jī)驗證機(jī)制。具體來說,每個輕節(jié)點在本地維護(hù)一個定時器。當(dāng)節(jié)點執(zhí)行驗證過程時,若在定時器時間范圍內(nèi)完成驗證,則節(jié)點被視為驗證節(jié)點;若超出了定時器時間范圍,節(jié)點沒有完成驗證,則節(jié)點直接丟棄交易。由于節(jié)點的驗證速度與區(qū)塊鏈交易傳輸時間和節(jié)點實時可用資源有關(guān),上述機(jī)制可以動態(tài)地隨機(jī)選擇部分節(jié)點參與交易驗證過程,節(jié)約開銷的同時也給攻擊者引入了不確定性。

        由于網(wǎng)絡(luò)中所有數(shù)據(jù)都需要發(fā)送至ICC。因此,ICC將驗證網(wǎng)絡(luò)中廣播的所有交易且不受定時器的約束。區(qū)塊鏈交易校驗規(guī)則如下:

        規(guī)則1交易中的時間戳(TStx)與白名單中的Timei之差應(yīng)大于預(yù)設(shè)的閾值Te,即

        TStx-Whitelist(Timei)>Te。

        (5)

        規(guī)則2交易中的時間戳(TStx)與驗證節(jié)點的系統(tǒng)當(dāng)前時間戳(TSC)之差小于系統(tǒng)最大延遲ΔT,即

        TSC-TStx<ΔT。

        (6)

        規(guī)則3交易中的哈希值應(yīng)滿足:

        RHash=HASH(OIDi,indexk,TStx,

        data,Certi)。

        (7)

        式中RHash為驗證節(jié)點重新計算的交易哈希值。

        規(guī)則1用于限制CUi生成交易的速度,防止攻擊者不斷生成虛假的交易而淹沒網(wǎng)絡(luò);規(guī)則2規(guī)定了交易廣播的最大延遲時間,可防止攻擊者發(fā)起重放攻擊;規(guī)則3通過重新計算交易哈希值RHash以驗證交易完整性。驗證節(jié)點檢索白名單獲取CUi的數(shù)字證書Certi,并利用交易中的信息重新計算RHash。若RHash與交易中的哈希值相等,則驗證通過。若區(qū)塊鏈交易滿足以上驗證規(guī)則,則交易有效;否則,交易無效。

        2.4 共識過程

        假設(shè)驗證過程中驗證節(jié)點的數(shù)量為P,則驗證節(jié)點集表示為{VN1,VN2,…,VNi,…,VNP-1,ICC}。ICC依據(jù)多數(shù)節(jié)點的驗證結(jié)果判定交易合法性以達(dá)成共識。根據(jù)區(qū)塊鏈交易驗證結(jié)果,共識過程可分為以下4種情況,根據(jù)不同的情況將采取不同的策略。

        情況1驗證節(jié)點集{VN1,VN2,…,VNi,…,VNP-1,ICC}中的節(jié)點均驗證成功。

        此時,{VN1,VN2,…,VNi,…,VNP-1}無需向ICC反饋驗證結(jié)果。ICC等待預(yù)設(shè)時間閾值TW后,未收到驗證失敗的結(jié)果反饋,則執(zhí)行交易更新過程。

        情況2ICC驗證失敗,{VN1,VN2,…,VNi,…,VNP-1}驗證成功。

        此時,ICC在等待預(yù)設(shè)時間閾值TW之后,未收到反饋。因此,ICC廣播一則交易轉(zhuǎn)發(fā)請求Req,即

        Req={TSm,OIDi,indexk,Oid=1,

        HASH(TSm,OIDi,indexk,Oid=1,Cert0)}。

        (8)

        式中:TSm為時間戳,Oid表示操作標(biāo)識符,1表示轉(zhuǎn)發(fā)操作。

        VNi接收Req并驗證其合法性。首先,VNi生成當(dāng)前時間戳(TSC)并與Req中的時間戳TSm做差。若兩者之差小于系統(tǒng)最大延遲ΔT,即TSC-TSm<ΔT,則驗證通過。接著,VNi利用Req中的信息重新計算哈希值RHash,即

        RHash=HASH(TSm,OIDi,

        indexk,Oid=1,Cert0)。

        (9)

        式中Cert0為ICC的數(shù)字證書,可通過檢索本地白名單獲得。若RHash與Req中的哈希值相等,則驗證通過。若Req滿足以上兩條驗證規(guī)則,則Req有效;否則,Req無效。本文中所有信息的驗證均遵循上述規(guī)則。

        若Req驗證成功,VNi根據(jù)其中的身份標(biāo)識符OIDi和交易索引indexk轉(zhuǎn)發(fā)對應(yīng)的區(qū)塊鏈交易;否則,VNi忽略Req。當(dāng)VNi執(zhí)行轉(zhuǎn)發(fā)操作時,將構(gòu)建一則反饋信息(Feedback)發(fā)送給ICC。Feedback數(shù)據(jù)結(jié)構(gòu)如下:

        Feedback={TSm,TXi,

        (10)

        Stop={TSm,OIDi,indexk,Oid=0,

        HASH(TSm,OIDi,indexk,Oid=0,Cert0)}。

        (11)

        式中Oid=0表示停止轉(zhuǎn)發(fā)操作。VNi接收并驗證Stop的有效性。若驗證通過,VNi停止轉(zhuǎn)發(fā)交易到ICC;否則,驗證節(jié)點忽略Stop。若Feedback驗證失敗,ICC忽略Feedback,等待其余的驗證節(jié)點轉(zhuǎn)發(fā)交易。

        情況3ICC驗證成功,{VN1,VN2,…,VNi,…,VNP-1}中存在節(jié)點驗證失敗。

        此時,驗證失敗的節(jié)點將驗證結(jié)果(Fail)反饋給ICC。Fail的數(shù)據(jù)結(jié)構(gòu)如下:

        Fail={TSm,OIDi,indexk,VR=00,

        (12)

        式中:VR表示驗證結(jié)果,00表示驗證失敗。ICC接收并驗證Fail。若驗證通過,ICC廣播一則信息(Report),要求其余驗證節(jié)點反饋驗證結(jié)果,即

        Report={TSm,OIDi,indexk,Rt=01,

        HASH(TSm,OIDi,indexk,Rt=01,Cert0)}。

        (13)

        式中Rt=01表示驗證節(jié)點需要向ICC報告驗證結(jié)果。驗證節(jié)點接收Report并驗證。若驗證通過,則驗證節(jié)點發(fā)送信息(Success1)到ICC,即

        Success1={TSm,OIDi,indexk,VR=11,

        (14)

        式中VR=11代表交易驗證成功。ICC驗證Success1的有效性并統(tǒng)計驗證節(jié)點的數(shù)量P,即

        P=number(Fail)+number(Success1)+1。

        (15)

        式中:number(Fail)和number(Success1)分別表示ICC接收并驗證通過的Fail與Success1的數(shù)量,1表示ICC自身的驗證結(jié)果。若滿足number(Success1)>P/2,則交易合法,ICC執(zhí)行交易更新過程;否則,ICC將丟棄該交易。

        情況4ICC驗證失敗,{VN1,VN2,…,VNi,…,VNP-1}中也存在節(jié)點驗證失敗。

        與情況3類似,唯一不同的地方在于驗證節(jié)點向ICC報告驗證結(jié)果時,報告信息Success2的結(jié)構(gòu)變化如下:

        Success2={TSm,OIDi,indexk,VR=11,TXi,

        (16)

        ICC接收并驗證Success2。與式(15)類似,驗證節(jié)點的數(shù)量

        P=number(Fail)+number(Success2)+1。

        (17)

        式中number(Success2)表示ICC驗證通過的Success2的數(shù)量。若滿足number(Success2)>P/2,則交易合法。ICC從Success2中提取TXi以執(zhí)行交易更新過程。

        2.5 區(qū)塊鏈賬本更新過程

        ICC判定區(qū)塊鏈交易為合法交易之后,將其放入交易池中,并執(zhí)行交易更新過程。首先,ICC廣播一則更新信息(Update),即

        Update={OIDi,TStx,TSm,

        HASH(OIDi,TStx,TSm,Cert0)}。

        (18)

        網(wǎng)絡(luò)中所有輕節(jié)點接收Update并驗證。若Update有效,輕節(jié)點從中提取TStx,以更新白名單中OIDi對應(yīng)的Timei;若驗證失敗,則直接忽略Update。同時,ICC也利用TXi中的TStx更新其本地白名單。

        當(dāng)交易池中的交易數(shù)量達(dá)到預(yù)設(shè)的閾值時,ICC將交易池中的交易打包成一個區(qū)塊,其結(jié)構(gòu)如圖2所示。區(qū)塊由頭與主體組成。區(qū)塊頭中包含5個參數(shù),即區(qū)塊版本號(version number)、前一個區(qū)塊的哈希值(PreHASH)、區(qū)塊哈希值(BlockHASH)、時間戳(TSBlock)和區(qū)塊簽名(SignSK=ICCSK(Block))。區(qū)塊體用于存儲交易列表。生成區(qū)塊之后,ICC將區(qū)塊添加到區(qū)塊鏈中,并清空交易池,完整的區(qū)塊鏈將存儲在ICC的本地磁盤中。

        3 安全分析

        3.1 風(fēng)險概率模型

        現(xiàn)有區(qū)塊鏈技術(shù)都存在51%攻擊的問題[14]。本文方案中,攻擊者可對網(wǎng)絡(luò)中廣播的信息進(jìn)行惡意操作,如攔截并篡改驗證節(jié)點反饋給控制臺的驗證結(jié)果,重放控制臺的轉(zhuǎn)發(fā)請求等。但是受攻擊的信息將被合法節(jié)點識別而不會被計入共識過程。然而,若攻擊者對廣播的區(qū)塊鏈交易進(jìn)行惡意攻擊而導(dǎo)致其無法通過合法節(jié)點的驗證,此時被攻擊的區(qū)塊鏈交易的驗證結(jié)果將計入?yún)^(qū)塊鏈交易的投票過程,從而干擾區(qū)塊鏈共識。為此,若網(wǎng)絡(luò)中的區(qū)塊鏈節(jié)點接收到的交易無法通過其合法性校驗,則認(rèn)為該交易為虛假交易。此時,該區(qū)塊鏈節(jié)點為受損節(jié)點。若驗證節(jié)點集{VN1,VN2,…,VNi,…,VNP-1,ICC}中超過一半的節(jié)點為受損節(jié)點,區(qū)塊鏈方案將失效。

        若區(qū)塊鏈網(wǎng)絡(luò)中節(jié)點數(shù)量為N,受損節(jié)點數(shù)量為CA,驗證節(jié)點數(shù)量為P,受損驗證節(jié)點的數(shù)量為PA,則:

        PA≤CA≤N,PA≤P≤N。

        (19)

        區(qū)塊鏈?zhǔn)У南孪蘅梢员硎緸椋?/p>

        P*=P/2。

        (20)

        式中P/2為上取整函數(shù)。若滿足PA≥P*,此時區(qū)塊鏈方案將失效。利用離散概率分布中的超幾何分布原理,區(qū)塊鏈方案失敗率fd可由以下4種情況計算得出:

        (1)CA

        由式(19)可知PA≤CA,因此有PA

        (2)P*≤CA

        在該情況下,區(qū)塊鏈?zhǔn)璧氖軗p驗證節(jié)點數(shù)最小為P*。又因為CA

        (21)

        (3)P≤CA≤N-P*

        此時,受損驗證節(jié)點數(shù)最大為P。區(qū)塊鏈方案失敗率

        (22)

        (4)N-P*

        由于N-P*P/2

        對于大規(guī)模的ICS網(wǎng)絡(luò),其滿足P≤CA

        表2 區(qū)塊鏈方案成功率sd %

        3.2 抗攻擊能力分析

        (1)虛假數(shù)據(jù)注入攻擊(FDI)和中間人攻擊(MITM)

        攻擊者通過向ICS中注入虛假數(shù)據(jù)或截獲并篡改測量數(shù)據(jù)達(dá)到破壞工業(yè)過程的目的。例如,在擬議方案中,攻擊者可能會通過構(gòu)建虛假區(qū)塊鏈交易以將惡意數(shù)據(jù)注入到網(wǎng)絡(luò)中,或攔截并篡改網(wǎng)絡(luò)中廣播的Req,F(xiàn)eedback,Stop,Verify,Report和Update信息以干擾方案共識過程。

        本文中,網(wǎng)絡(luò)中廣播的交易和信息都包含唯一的哈希值,該哈希值是通過將交易或信息與數(shù)字證書拼接在一起獲得的。例如,區(qū)塊鏈交易的哈希值為HASH(OIDi,indexk,TStx,data,Certi),Req的哈希值為HASH(TSm,OIDi,indexk,Oid=1,Cert0)。由于節(jié)點的數(shù)字證書(Certi)保存在本地白名單中,攻擊者無法獲取,也就無法計算有效的哈希值。攻擊者對交易或信息的任何更改都將造成哈希值變化,從而被合法節(jié)點識別。因此,擬議方案可有效防止虛假數(shù)據(jù)注入與中間人攻擊。

        (2)拒絕服務(wù)攻擊(DoS)

        攻擊者可能會在網(wǎng)絡(luò)中廣播大量無效區(qū)塊鏈交易,消耗節(jié)點的計算與通信資源,致使其無法處理合法的區(qū)塊鏈?zhǔn)聞?wù),從而使網(wǎng)絡(luò)癱瘓。在擬議方案中,區(qū)塊鏈網(wǎng)絡(luò)中每個節(jié)點均在本地維護(hù)一份白名單,其中包含區(qū)塊鏈節(jié)點生成的最新交易的時間戳(Timei)。當(dāng)區(qū)塊鏈節(jié)點執(zhí)行交易驗證過程時,首先檢查當(dāng)前交易的時間戳(TStx)與白名單(Whitelist)中對應(yīng)的最新交易時間戳Timei的差是否大于預(yù)設(shè)的閾值Te,若滿足TStx-Whitelist(Timei)>Te,節(jié)點繼續(xù)執(zhí)行驗證過程;否則,節(jié)點將直接忽略該交易。該規(guī)則規(guī)定了節(jié)點廣播交易的頻率,可防止攻擊者不斷生成虛假的區(qū)塊鏈交易而淹沒網(wǎng)絡(luò)。因此擬議方案可有效緩解DoS攻擊。

        (3)重放攻擊

        攻擊者可能記錄并重放網(wǎng)絡(luò)中廣播的交易或信息。例如,攻擊者可能會假扮CUi在網(wǎng)絡(luò)中重放先前記錄的區(qū)塊鏈交易,假扮ICC重放Req,Stop,Report和Update,假扮VNi重放Feedback,F(xiàn)ail,Success1和Success2,從而使節(jié)點接收不準(zhǔn)確的結(jié)果,降低ICS性能。然而,時間戳的存在將有效地防止重放攻擊。在擬議方案中,網(wǎng)絡(luò)中廣播的每條交易和信息中都包含時間戳,只有當(dāng)交易或信息中的時間戳與當(dāng)前系統(tǒng)時間戳的差小于系統(tǒng)最大延遲ΔT時,驗證節(jié)點才認(rèn)定該交易或信息是正常狀態(tài);否則,即認(rèn)為發(fā)生了重放攻擊。

        4 仿真實驗分析

        為了檢測本文方案的性能,在一個半實物仿真平臺上進(jìn)行了區(qū)塊鏈部署。仿真平臺由1臺筆記本計算機(jī)和6個樹莓派Raspberry 3B組成,模擬了一個鍋爐控制系統(tǒng)。其中,6個樹莓派分別作為6個控制器,筆記本模擬控制臺,其主要配置Intel(R) Core(TM) i5-5200U處理器,4 GB RAM?,F(xiàn)場總線協(xié)議為Modbus-TCP協(xié)議。仿真中1次數(shù)據(jù)采集的數(shù)據(jù)量為32字節(jié)。

        4.1 擬議方案性能

        半實物仿真平臺測量不同區(qū)塊鏈操作的時間如表3所示。從表中可以看出,區(qū)塊鏈操作的時間成本與區(qū)塊鏈操作中需要傳輸?shù)臄?shù)據(jù)量有關(guān)。傳輸數(shù)據(jù)量越大,其操作所需的時間成本越高。例如,Req操作包含的數(shù)據(jù)量較少,其時間成本約為68.57 ms;Success2操作需要傳輸?shù)臄?shù)據(jù)量較大,其時間成本高達(dá)141.35 ms;而Verify操作無需通信,其時間成本最低,為1.43 ms。

        表3 不同區(qū)塊鏈操作的時間成本

        設(shè)置仿真中驗證節(jié)點的個數(shù)為3,表4列舉了本文4種共識過程情況的時間開銷。在情況1中,共識過程需要執(zhí)行1次TXi,1次Verify和1次Update,時間成本約為167.42 ms;在情況2中,共識過程比情況1增加1次Req,1次Feedback和1次Stop,時間開銷為417.59 ms;對于情況3,設(shè)置驗證節(jié)點集中有1個受損驗證節(jié)點,與情況1相比,共識過程需增加1次Fail,1次Report和1次Success1,時間開銷為377.05 ms;對于情況4,仿真過程中除設(shè)置控制臺為受損節(jié)點之外,還設(shè)置1個受損驗證節(jié)點,此時共識過程比情況1增加了1次Fail,1次Report和1次Success2,時間開銷為446.87 ms。從仿真結(jié)果可以看出,共識過程中包含的區(qū)塊鏈操作越復(fù)雜,傳輸?shù)臄?shù)據(jù)量越多,時間成本就越高。

        表4 不同共識過程情況下的時間開銷

        4.2 性能比較

        為評估擬議方案性能,與文獻(xiàn)[9]、文獻(xiàn)[11]和文獻(xiàn)[12]所提方案的安全性能、時間與通信成本進(jìn)行比較。

        (1)安全性能

        表5展示了4種方案的安全性能比較。文獻(xiàn)[9]和文獻(xiàn)[11]僅可防御拒絕服務(wù)攻擊,對于其余的攻擊類型不提供防御機(jī)制。而文獻(xiàn)[12]除可抵御拒絕服務(wù)攻擊外還可抵御虛假數(shù)據(jù)注入攻擊與中間人攻擊。本文方案除了可抵御工控系統(tǒng)中常見的4種攻擊類型之外,還有可能抵御51%攻擊。因此,本文方案安全性能優(yōu)于現(xiàn)有方案。

        表5 安全性能比較

        (2)時間和通信成本

        利用仿真平臺模擬采集1次數(shù)據(jù)后執(zhí)行相應(yīng)區(qū)塊鏈操作并達(dá)成共識的時間成本,并與文獻(xiàn)[9]、文獻(xiàn)[11]和文獻(xiàn)[12]方案的時間成本比較,結(jié)果如圖3所示。文獻(xiàn)[11]采用輕量級的數(shù)據(jù)驗證框架,其系統(tǒng)延遲較低,為569.41 ms。而文獻(xiàn)[9]利用非對稱密鑰對數(shù)據(jù)進(jìn)行加密并存儲到區(qū)塊鏈,計算復(fù)雜,時間成本最高,為837.53 ms。本文方案采用動態(tài)隨機(jī)驗證機(jī)制和新型共識模型,減少了共識過程中的驗證開銷與通信次數(shù),共識過程最高時間成本為446.87 ms,最低時間成本為167.42 ms。時間開銷低于同類方法,且區(qū)塊鏈網(wǎng)絡(luò)規(guī)模越大,本文方案的時間成本優(yōu)勢越明顯。

        如圖4所示為不同區(qū)塊鏈方案中共識過程的通信成本。本文定義共識過程中節(jié)點廣播的數(shù)據(jù)包的數(shù)量為其通信成本。仿真過程中節(jié)點總數(shù)量N=7,擬議方案驗證節(jié)點的數(shù)量P=3。本文采用一種新型共識模型,根據(jù)共識節(jié)點的狀態(tài)選擇不同的共識策略。由于共識情況1中沒有數(shù)據(jù)包傳輸,ICC僅需等待預(yù)定時間之后執(zhí)行交易更新過程,其通信成本為0;共識情況2中需要執(zhí)行1次Req,1次Feedback和1次Stop,因此其通信成本為3;共識情況3與4中僅有廣播的數(shù)據(jù)包數(shù)據(jù)結(jié)構(gòu)不同,其余均相同,因此,其通信成本為P,即共識情況3與共識情況4的通信成本驗證節(jié)點數(shù)均為3。然而,文獻(xiàn)[9]、文獻(xiàn)[11]和文獻(xiàn)[12]中均采用了傳統(tǒng)的區(qū)塊鏈共識機(jī)制,即網(wǎng)絡(luò)中的所有節(jié)點都參與共識,因此其通信成本節(jié)點總數(shù)為7。顯然,本文方案相較于同類型方法,具有較低的通信成本。而且,新型共識模型保證了擬議方案的通信成本不會隨著區(qū)塊鏈網(wǎng)絡(luò)規(guī)模的增加而顯著增加,進(jìn)一步保證了擬議方案的可用性。

        5 結(jié)束語

        本文針對計算資源與通信帶寬有限的工業(yè)控制系統(tǒng)提出一種基于區(qū)塊鏈的數(shù)據(jù)完整性保護(hù)方案。為降低設(shè)備計算與通信開銷,采用一種私有區(qū)塊鏈網(wǎng)絡(luò),并根據(jù)節(jié)點的計算資源與通信能力分配不同的區(qū)塊鏈職能。采用一種動態(tài)隨機(jī)驗證機(jī)制和一種新型共識機(jī)制,很大程度上降低了擬議區(qū)塊鏈方案達(dá)成共識的計算開銷與通信延遲。安全分析與仿真結(jié)果表明,本文方案在滿足工業(yè)控制系統(tǒng)安全性的前提下,與同類型方法相比具有較低的時間成本與較少的通信量。未來將探討工業(yè)控制系統(tǒng)中現(xiàn)場級與網(wǎng)絡(luò)級交互的區(qū)塊鏈方案,以構(gòu)建完整的工業(yè)控制系統(tǒng)區(qū)塊鏈架構(gòu),為工業(yè)數(shù)據(jù)完整性提供更加完善的保護(hù)機(jī)制。

        猜你喜歡
        哈希攻擊者共識
        基于微分博弈的追逃問題最優(yōu)策略設(shè)計
        共識 共進(jìn) 共情 共學(xué):讓“溝通之花”綻放
        論思想共識凝聚的文化向度
        商量出共識
        正面迎接批判
        愛你(2018年16期)2018-06-21 03:28:44
        基于OpenCV與均值哈希算法的人臉相似識別系統(tǒng)
        有限次重復(fù)博弈下的網(wǎng)絡(luò)攻擊行為研究
        基于維度分解的哈希多維快速流分類算法
        別讓“PX共識”在爆炸中瓦解
        基于同態(tài)哈希函數(shù)的云數(shù)據(jù)完整性驗證算法
        色窝窝无码一区二区三区2022| 国产自国产自愉自愉免费24区| 夜夜躁狠狠躁日日躁2022| 色妞www精品视频| 亚洲欧洲日产国码久在线| 亚州中文字幕乱码中文字幕 | 男人扒开女人双腿猛进女人机机里| 成年女人片免费视频播放A | 婷婷成人亚洲综合国产| 国产精品熟女少妇不卡| 成人无码av一区二区| 中文字幕美人妻亅u乚一596| yy111111少妇影院| 精品亚洲av乱码一区二区三区| 国内精品久久久久久久97牛牛| 在线观看av永久免费| 日韩不卡无码三区| 成人自拍一二在线观看| 亚洲成在人线在线播放无码| 亚洲综合无码| 亚洲国产成人精品一区刚刚| 亚洲av网一区二区三区| 中年熟妇的大黑p| 亚洲国产欧美另类va在线观看| 在线观看一区二区三区国产| 国产乱人偷精品人妻a片| 国产做无码视频在线观看浪潮| 国产不卡一区二区三区视频| 中文字幕人妻少妇伦伦| 中国农村妇女hdxxxx| 国产乱色国产精品免费视频| 国产激情视频在线观看首页| 亚洲欧洲成人精品香蕉网| 76少妇精品导航| 日韩少妇人妻一区二区| 久久红精品一区二区三区| 国产精品_国产精品_k频道| 国产欧美日韩不卡一区二区三区| 丝袜美腿在线观看视频| 无码一区二区三区免费视频| 久久艹影院|