劉 俊,陳 慧,王 軍
(沈陽(yáng)化工大學(xué),遼寧 沈陽(yáng) 110000)
工業(yè)控制系統(tǒng)(industrial control system,ICS)是指由計(jì)算機(jī)與工業(yè)過(guò)程控制部件組成的自動(dòng)控制系統(tǒng),它由控制器、傳感器、傳送器、執(zhí)行器和輸入/輸出接口等部分組成。工業(yè)控制系統(tǒng)的子系統(tǒng)或功能組件包括但不限于數(shù)據(jù)采集與監(jiān)視控制(SCADA)系統(tǒng)、分布式控制系統(tǒng)(DCS)、可編程邏輯控制器(PLC)、遠(yuǎn)程測(cè)控單元(RTU)等相關(guān)信息系統(tǒng),如圖1所示。這些組成部分通過(guò)工業(yè)通信線路,按照一定的通信協(xié)議進(jìn)行連接,形成一個(gè)具有自動(dòng)控制能力的工業(yè)生產(chǎn)制造或加工系統(tǒng)。工業(yè)控制網(wǎng)絡(luò)就是工業(yè)控制系統(tǒng)中的網(wǎng)絡(luò)部分,是一種把工廠中各個(gè)生產(chǎn)流程和自動(dòng)化控制系統(tǒng)通過(guò)各種通信設(shè)備組織起來(lái)的通信網(wǎng)絡(luò)。這些網(wǎng)絡(luò)節(jié)點(diǎn)是指分散在各個(gè)生產(chǎn)現(xiàn)場(chǎng),具有相應(yīng)數(shù)字通信能力的測(cè)量控制儀器。它采用規(guī)范、公開的通信協(xié)議,把現(xiàn)場(chǎng)總線當(dāng)作通信連接的紐帶,從而使現(xiàn)場(chǎng)控制設(shè)備可以相互溝通,共同完成相應(yīng)的生產(chǎn)任務(wù)。
目前來(lái)說(shuō),隨著信息化和智能化融合的不斷推進(jìn),由于集成電路的種類繁多,潛在的風(fēng)險(xiǎn)和影響程度也不盡相同。工業(yè)控制系統(tǒng)的信息安全隱患分布于工業(yè)控制系統(tǒng)架構(gòu)的所有層級(jí),攻擊者可能通過(guò)嗅探、欺騙、物理攻擊及病毒傳播的方式,進(jìn)行未授權(quán)或非法操作,影響企業(yè)正常生產(chǎn)。近年來(lái)的工業(yè)控制網(wǎng)絡(luò)安全事件顯示出穩(wěn)步增長(zhǎng)的趨勢(shì),工控系統(tǒng)頻頻發(fā)生的網(wǎng)絡(luò)安全事件引發(fā)了各國(guó)關(guān)注,專家、研究人員和工程師致力于解決工業(yè)控制系統(tǒng)網(wǎng)絡(luò)安全問(wèn)題。
圖1 工業(yè)控制系統(tǒng)典型架構(gòu)
現(xiàn)有的工業(yè)安全防護(hù)系統(tǒng)都是針對(duì)過(guò)程監(jiān)控層及以上的信息技術(shù)網(wǎng)絡(luò)部分,以及從信息網(wǎng)絡(luò)到工控網(wǎng)絡(luò)之間的邊界部分[1]。林楓[2]提出工業(yè)控制是一項(xiàng)具有綜合性、技術(shù)復(fù)雜性的體系工程,工業(yè)控制系統(tǒng)本身在設(shè)計(jì)或操作中容易出現(xiàn)安全隱患。工業(yè)控制的網(wǎng)絡(luò)化設(shè)計(jì)與應(yīng)用,讓工業(yè)控制系統(tǒng)部分暴露在公共信息交流中,使得病毒和木馬攻擊工業(yè)控制系統(tǒng)。其實(shí),工業(yè)控制系統(tǒng)從現(xiàn)場(chǎng)設(shè)備采集數(shù)據(jù)到現(xiàn)場(chǎng)控制層PLC中及現(xiàn)場(chǎng)設(shè)備中存在著不安全的連接或者非法認(rèn)證等不安全事件,網(wǎng)絡(luò)系統(tǒng)中的數(shù)據(jù)可能會(huì)遭到復(fù)制、篡改,丟失,最終導(dǎo)致系統(tǒng)出現(xiàn)異常或故障。因此有必要加強(qiáng)防護(hù)工控網(wǎng)絡(luò)中的數(shù)據(jù)安全。
部分研究人員將區(qū)塊鏈技術(shù)應(yīng)用到物聯(lián)網(wǎng)安全上[3-5],解決了物聯(lián)網(wǎng)的通信安全模式;柏亮[6]從區(qū)塊鏈和工業(yè)物聯(lián)網(wǎng)的體系架構(gòu)角度出發(fā),分析了區(qū)塊鏈在工業(yè)物聯(lián)網(wǎng)中的應(yīng)用可能性,并提出了一種區(qū)塊鏈結(jié)合工業(yè)物聯(lián)網(wǎng)的架構(gòu),使用區(qū)塊鏈分布式系統(tǒng)替代傳統(tǒng)工業(yè)物聯(lián)網(wǎng)中信息傳輸和數(shù)據(jù)管理部分。
在工業(yè)控制系統(tǒng)和工業(yè)互聯(lián)網(wǎng)上還是有待研究。因此將結(jié)合區(qū)塊鏈技術(shù)的特點(diǎn),在過(guò)程監(jiān)控層和現(xiàn)場(chǎng)控制層做安全模型來(lái)保護(hù)工業(yè)控制網(wǎng)絡(luò)的安全。防止從監(jiān)控中心向 PLC下發(fā)邏輯組態(tài)工程文件在編譯成功后,運(yùn)行過(guò)程中不被篡改或者替換。利用區(qū)塊鏈技術(shù)的去信任、去中心化、集體維護(hù)、可靠數(shù)據(jù)庫(kù)等特點(diǎn),構(gòu)建基于區(qū)塊鏈的ICS共識(shí)控制模型,使區(qū)塊鏈網(wǎng)絡(luò)取代工業(yè)控制系統(tǒng)的現(xiàn)場(chǎng)網(wǎng)絡(luò),解決ICS網(wǎng)絡(luò)數(shù)據(jù)安全問(wèn)題,保證了數(shù)據(jù)的可用性、保密性、完整性,并且在工業(yè)控制網(wǎng)絡(luò)中傳輸和交換的數(shù)據(jù)不會(huì)發(fā)生增加、修改、丟失和泄露等。
區(qū)塊鏈,也稱為共享賬本,是一個(gè)記錄的追加列表,使用加密技術(shù)鏈接和保護(hù)記錄。著名的區(qū)塊鏈實(shí)現(xiàn)包括比特幣[7]和以太坊[8]。區(qū)塊鏈由私有或公共對(duì)等網(wǎng)絡(luò)管理,該網(wǎng)絡(luò)共同驗(yàn)證并生成新區(qū)塊。因此,區(qū)塊鏈網(wǎng)絡(luò)由多個(gè)節(jié)點(diǎn)組成,每個(gè)節(jié)點(diǎn)都有區(qū)塊鏈的本地副本。一些節(jié)點(diǎn)參與一個(gè)領(lǐng)導(dǎo)選舉過(guò)程(即工作證明),該過(guò)程確定哪個(gè)節(jié)點(diǎn)獲得將下一個(gè)塊附加到鏈的權(quán)限。這些正在積極競(jìng)爭(zhēng)成為下一輪領(lǐng)導(dǎo)人的節(jié)點(diǎn)被稱為礦工。在每輪領(lǐng)導(dǎo)人選舉開始時(shí),所有礦工都開始研究一個(gè)新的計(jì)算問(wèn)題(例如產(chǎn)生散列),這個(gè)問(wèn)題取決于三個(gè)數(shù)據(jù):新的交易塊、區(qū)塊鏈上的最后一個(gè)塊和一個(gè)隨機(jī)數(shù)。這統(tǒng)稱為當(dāng)前塊的塊頭。每次礦工用一個(gè)新的隨機(jī)數(shù)對(duì)塊頭執(zhí)行散列函數(shù)時(shí),他們都會(huì)得到一個(gè)新的結(jié)果。為了贏得選舉,礦工必須找到一個(gè)以一定數(shù)量的零開頭的散列,需要多少個(gè)零是一個(gè)未知的參數(shù),由網(wǎng)絡(luò)上連接了多少礦工和多少計(jì)算能力決定。解決此問(wèn)題的第一個(gè)挖掘者獲得了使用尚未包含在任何塊中的掛起事務(wù)編寫新塊的權(quán)限。參加和贏得選舉的動(dòng)機(jī)是一種金錢獎(jiǎng)勵(lì)。贏家可以發(fā)行一定數(shù)量的開采貨幣,他們可以收取所有交易費(fèi)用。為了優(yōu)先處理他們的事務(wù),用戶可以提出支付更高的費(fèi)用。因此,區(qū)塊鏈形成了一個(gè)系統(tǒng),可以在不需要任何中央機(jī)構(gòu)的情況下實(shí)現(xiàn)分散共識(shí)。
區(qū)塊鏈的分布式賬本可以安全地存儲(chǔ)數(shù)據(jù),而信息不能偽造和篡改位于區(qū)塊鏈上的智能合約腳本,允許多步驟流程。區(qū)塊鏈技術(shù)是由節(jié)點(diǎn)組成的分布式數(shù)據(jù)庫(kù)系統(tǒng)。各節(jié)點(diǎn)是一個(gè)賬戶,記錄事務(wù)數(shù)據(jù),并使用加密方法來(lái)形成這些塊,組成數(shù)據(jù)塊,這些數(shù)據(jù)塊的內(nèi)容是基于時(shí)間戳、分散的列值、工作證明和其他確保數(shù)據(jù)安全的技術(shù)。區(qū)塊鏈技術(shù)的本質(zhì)是數(shù)據(jù)的存儲(chǔ)、傳輸和非對(duì)稱性分布式結(jié)構(gòu)的數(shù)據(jù)加密方法,用區(qū)塊鏈中的數(shù)據(jù)塊代替對(duì)中心依賴的服務(wù)器,提供底層技術(shù)支持,實(shí)現(xiàn)信息交流,工業(yè)自動(dòng)化基礎(chǔ)設(shè)施與環(huán)境的安全可靠結(jié)構(gòu)。
分布式數(shù)據(jù)存儲(chǔ)的區(qū)塊鏈技術(shù)維護(hù)一個(gè)可靠的數(shù)據(jù)庫(kù),能夠適應(yīng)工控系統(tǒng)網(wǎng)絡(luò)信息安全,并采用區(qū)塊鏈密碼技術(shù)保證數(shù)據(jù)不被篡改和偽造,為工業(yè)控制系統(tǒng)的全過(guò)程提供安全可靠的支持。分布式存儲(chǔ)和分塊鏈技術(shù)滿足了工業(yè)控制系統(tǒng)網(wǎng)絡(luò)的安全要求。區(qū)塊鏈技術(shù)與分布式存儲(chǔ)技術(shù)相結(jié)合,在集成電路中構(gòu)建一個(gè)p2p網(wǎng)絡(luò),從而將工業(yè)設(shè)備交易數(shù)據(jù)安全地存儲(chǔ)在區(qū)塊鏈中,通過(guò)復(fù)雜的驗(yàn)證機(jī)制,區(qū)塊鏈能夠保持完整性和一致性,實(shí)現(xiàn)高效可靠的傳輸和數(shù)據(jù)交換。區(qū)塊鏈技術(shù)可以使工業(yè)設(shè)備交易和數(shù)據(jù)交換過(guò)程簡(jiǎn)單,節(jié)省成本。區(qū)塊鏈還可以通過(guò)存儲(chǔ),在不喪失數(shù)據(jù)機(jī)密性的前提下,對(duì)工業(yè)裝置交易數(shù)據(jù)進(jìn)行驗(yàn)證和分析,通過(guò)區(qū)塊鏈技術(shù)提高ICS效率,未來(lái)智能設(shè)備可以在分布式物聯(lián)網(wǎng),利用區(qū)塊鏈記錄監(jiān)控和管理智能設(shè)備,智能化契約可以規(guī)范智能設(shè)備的行為,解決工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)安全問(wèn)題。
區(qū)塊鏈中的第一個(gè)區(qū)塊是比較特別的,稱為“起源”,它是將區(qū)塊鏈網(wǎng)絡(luò)所有的用戶端變成通用的。為了保證塊之間的完整性,最重要的組成單元就是時(shí)間戳機(jī)構(gòu),這些“塊”上都是帶有HASH函數(shù)序列的時(shí)間戳。每個(gè)塊都引用它前面一個(gè)塊中的記錄,這將在塊之間建立鏈接,形成的整個(gè)結(jié)構(gòu)就被稱為區(qū)塊鏈。
即使使用多個(gè)技術(shù)服務(wù)協(xié)議來(lái)提高可靠性和減少漏洞,作為一方的信任服務(wù)提供商也無(wú)法完全避免對(duì)信息的操縱。因此,使用這些時(shí)間戳意味著對(duì)發(fā)行機(jī)構(gòu)的信任。任何能夠訪問(wèn)這個(gè)有序的、后向鏈接的塊列表的設(shè)備節(jié)點(diǎn)都可以讀取它,并找出ICS網(wǎng)絡(luò)上正在交換的數(shù)據(jù)的全部狀態(tài),這樣就可以監(jiān)測(cè)到ICS網(wǎng)絡(luò)中的錯(cuò)誤,并避免網(wǎng)絡(luò)被攻擊。
塊鏈的組織如圖2所示:區(qū)塊是每個(gè)設(shè)備節(jié)點(diǎn)傳輸?shù)臄?shù)據(jù)集合,包括了交易過(guò)程中產(chǎn)生的相關(guān)信息和記錄,這是形成塊鏈的基本單位。為了確保塊鏈的可追溯性,每個(gè)塊都有一個(gè)時(shí)間戳作為唯一標(biāo)記。該塊由兩部分組成:
圖2 塊鏈結(jié)構(gòu)
塊頭,鏈接到前面塊,并為塊鏈提供完整性。其中包含上一個(gè)地址的哈希地址摘要、帶有哈希序列的merkle樹、區(qū)塊創(chuàng)建時(shí)間戳;
塊體,在每個(gè)終端中記錄更新的數(shù)據(jù)信息,包括當(dāng)前區(qū)塊經(jīng)過(guò)驗(yàn)證的、區(qū)塊創(chuàng)建過(guò)程中生成的所有交易記錄或者是其他信息,可以理解為一個(gè)分布式的賬本,此賬本中的數(shù)據(jù)可以長(zhǎng)久保存和查詢,保證了信息存在冗余備份。
區(qū)塊鏈技術(shù)是一種在網(wǎng)絡(luò)成員之間復(fù)制和共享的分布式數(shù)據(jù)賬本,運(yùn)行一致性算法,在不占用大量計(jì)算資源的情況下,保證ICS中設(shè)備交易數(shù)據(jù)的安全。更高的系統(tǒng)和需要建立一個(gè)較短的更新間隔技術(shù)系統(tǒng)。區(qū)塊鏈技術(shù)是一種集成電路網(wǎng)絡(luò)安全的方法,它包含了大量的數(shù)據(jù)處理、實(shí)時(shí)性要求等內(nèi)容,再利用數(shù)據(jù)庫(kù)技術(shù)更大的吞吐量、更快的數(shù)據(jù)通信技術(shù)、更高效的一致性機(jī)制來(lái)保證工控網(wǎng)絡(luò)的安全性。
為了提高工業(yè)控制網(wǎng)絡(luò)的安全性,在工控網(wǎng)絡(luò)中的各級(jí)服務(wù)器、交換機(jī)、PLC甚至底層設(shè)備都可以作為參與節(jié)點(diǎn)接入?yún)^(qū)塊鏈網(wǎng)絡(luò)。區(qū)塊鏈網(wǎng)絡(luò)本質(zhì)上是一組非信任節(jié)點(diǎn)與其他沒有信任節(jié)點(diǎn)的共享數(shù)據(jù)庫(kù)交互,每個(gè)設(shè)備節(jié)點(diǎn)包含整個(gè)數(shù)據(jù)庫(kù)事務(wù)信息,稱為一個(gè)塊和一個(gè)分類賬,ICS中的所有設(shè)備節(jié)點(diǎn)形成區(qū)塊鏈和分布式分類賬。為了幫助工控網(wǎng)絡(luò)和區(qū)塊鏈達(dá)成共識(shí),各自區(qū)塊鏈網(wǎng)絡(luò)需要建立每個(gè)設(shè)備節(jié)點(diǎn)事務(wù)和工控網(wǎng)絡(luò)連接,并且它們應(yīng)遵循的某些規(guī)則。這些規(guī)則被編程到每個(gè)區(qū)塊鏈的客戶端節(jié)點(diǎn)上,然后使用它們來(lái)決定傳入的事務(wù)是否有效,從而決定它是否應(yīng)該被中繼到網(wǎng)絡(luò)中。
在工控網(wǎng)絡(luò)的現(xiàn)場(chǎng)設(shè)備層[9-11],分析其數(shù)據(jù)來(lái)源,對(duì)采集后的數(shù)據(jù)進(jìn)行數(shù)據(jù)審計(jì),將其存在區(qū)塊鏈中,流程如圖3所示,分為三個(gè)部分。
圖3 工控網(wǎng)絡(luò)區(qū)塊鏈步驟
(1)現(xiàn)場(chǎng)總線控制網(wǎng)絡(luò)利用諸如PRIFIBUS(過(guò)程現(xiàn)場(chǎng)總線)、FF-BUS(基金會(huì)現(xiàn)場(chǎng)總線)等現(xiàn)場(chǎng)總線技術(shù)將傳感器、繼電器等現(xiàn)場(chǎng)設(shè)備與一些PLC控制器或者RTU等現(xiàn)場(chǎng)控制設(shè)備相連。
(2)在各類系統(tǒng)設(shè)備接口上添加適配層,實(shí)時(shí)采集系統(tǒng)設(shè)備接口數(shù)據(jù)到區(qū)塊鏈中,實(shí)現(xiàn)監(jiān)控工業(yè)控制網(wǎng)絡(luò)與區(qū)塊鏈各類交易數(shù)據(jù)的實(shí)時(shí)狀態(tài)。
(3)采集的數(shù)據(jù)經(jīng)過(guò)數(shù)據(jù)審計(jì),通過(guò)區(qū)塊鏈中的哈希算法形成加密信息摘要,也就是帶有哈希序列的一條條數(shù)據(jù),最后被編寫在merkle樹中存儲(chǔ)。區(qū)塊鏈所具有的時(shí)間戳技術(shù)可以使得數(shù)據(jù)信息具有不可篡改、不可偽造和可追溯的重要特征。
當(dāng)區(qū)塊鏈技術(shù)應(yīng)用于由現(xiàn)場(chǎng)總線連接的設(shè)備節(jié)點(diǎn)組成的ICS網(wǎng)絡(luò)時(shí),交易模式如圖4所示:區(qū)塊鏈鏈中的每個(gè)區(qū)塊都包含了Hash序列加時(shí)間戳的組合密鑰,構(gòu)成的“塊”鏈接到下一個(gè)區(qū)塊中,這些“塊”中還包含了ICS網(wǎng)絡(luò)中設(shè)備之間的交易數(shù)據(jù),多個(gè)“塊”形成一個(gè)線性序列。由于“塊”是通過(guò)哈希密碼序列進(jìn)行標(biāo)識(shí)的,每個(gè)塊還引用前一個(gè)塊的信息,那么,通過(guò)區(qū)塊鏈中的這些區(qū)塊,就可以檢查發(fā)送方和接收方的數(shù)據(jù)是否經(jīng)過(guò)驗(yàn)證和篡改。用戶在ICS網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)交易時(shí),只需要在設(shè)備節(jié)點(diǎn)之間進(jìn)行交易。因?yàn)槊總€(gè)設(shè)備節(jié)點(diǎn)都在執(zhí)行智能合約并記錄交易數(shù)據(jù),而且區(qū)塊鏈在ICS的設(shè)備節(jié)點(diǎn)之間自我復(fù)制,更加一步說(shuō)明ICS網(wǎng)絡(luò)中的任何設(shè)備節(jié)點(diǎn)都可以記錄所有的事務(wù)數(shù)據(jù)。結(jié)果,ICS網(wǎng)絡(luò)上的設(shè)備節(jié)點(diǎn)附加到塊鏈上,只有經(jīng)過(guò)驗(yàn)證、相互同意的事務(wù)才會(huì)被寫入?yún)^(qū)塊鏈的底層存儲(chǔ),最終保證了數(shù)據(jù)交換的安全性。
圖4 區(qū)塊鏈交易模式
區(qū)塊鏈的核心組成部分,可以在沒有中央權(quán)威或?qū)嶓w的情況下運(yùn)行:共識(shí)機(jī)制[12]。為了理解共識(shí)機(jī)制的概念,首先看看區(qū)塊鏈和傳統(tǒng)系統(tǒng)之間的區(qū)別,如圖5所示。
圖5 中心化系統(tǒng)vs去中心化系統(tǒng)
中心化系統(tǒng):即集中式系統(tǒng),在進(jìn)行各項(xiàng)信息交流服務(wù)時(shí)需要一個(gè)“領(lǐng)導(dǎo)”(中心節(jié)點(diǎn))來(lái)進(jìn)行轉(zhuǎn)達(dá),只有“領(lǐng)導(dǎo)”才有權(quán)保護(hù)和更新數(shù)據(jù)庫(kù)的權(quán)限。一切信息流由中心節(jié)點(diǎn)機(jī)構(gòu)控制和管理,它決定了數(shù)據(jù)庫(kù)中的數(shù)據(jù)類型。在網(wǎng)絡(luò)中僅與授權(quán)中心相關(guān)聯(lián)的其他節(jié)點(diǎn)(設(shè)備),才能對(duì)數(shù)據(jù)的一部分進(jìn)行訪問(wèn)。
去中心化系統(tǒng):區(qū)塊鏈技術(shù)使用分散的網(wǎng)絡(luò)體系結(jié)構(gòu)。任何人都可以成為一個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都可以成為服務(wù)器。意味著在系統(tǒng)網(wǎng)絡(luò)中傳輸數(shù)據(jù)后會(huì)有無(wú)數(shù)個(gè)節(jié)點(diǎn)來(lái)記錄,不再是單一的權(quán)威集中式服務(wù),每個(gè)節(jié)點(diǎn)在層次中都是平等的,將會(huì)獲得更多的訪問(wèn)權(quán)限,自己的信息掌握在自己手中。
共識(shí)機(jī)制是指以去中心化的方式就網(wǎng)絡(luò)的狀態(tài)達(dá)成統(tǒng)一協(xié)議的過(guò)程。也被稱為共識(shí)算法,有助于驗(yàn)證和已核實(shí)的信息添加到分布式賬本中,保證其事務(wù)被存儲(chǔ)在塊鏈上。因此,共識(shí)機(jī)制負(fù)責(zé)安全地更新分布式網(wǎng)絡(luò)中的數(shù)據(jù)狀態(tài)。它一直是硬編碼規(guī)則,以確保該協(xié)議總是能夠找到全球計(jì)算機(jī)網(wǎng)絡(luò)和協(xié)議數(shù)據(jù)的唯一來(lái)源。實(shí)現(xiàn)無(wú)需信任的網(wǎng)絡(luò),而無(wú)需中心數(shù)據(jù)或“領(lǐng)導(dǎo)”。
區(qū)塊鏈的共識(shí)算法在工控網(wǎng)絡(luò)中能夠解決的問(wèn)題有:
(1)在工控網(wǎng)絡(luò)中做出決策,達(dá)成信息數(shù)據(jù)傳輸一致;
(2)確認(rèn)每個(gè)人的數(shù)據(jù)庫(kù)中只有一種方案確定數(shù)據(jù)的存儲(chǔ);
(3)能確保工控網(wǎng)絡(luò)的交易真實(shí)可信,每個(gè)用戶能夠自我監(jiān)控。
區(qū)塊鏈?zhǔn)且粋€(gè)去中心化的時(shí)間戳服務(wù)器技術(shù)[13-15],可以自動(dòng)創(chuàng)建分散的、為每個(gè)提交的文件提供防篡改和可公開驗(yàn)證的時(shí)間戳,將此技術(shù)加上共識(shí)機(jī)制與工控網(wǎng)絡(luò)的監(jiān)控/控制層結(jié)合,搭建一個(gè)如圖6所示的模型,此模型稱為共識(shí)控制模型(consensus control model)。
圖6 共識(shí)控制模型
首先, 在工業(yè)資源平臺(tái)服務(wù)器上搭建區(qū)塊鏈平臺(tái),設(shè)置準(zhǔn)入機(jī)制,配置不同的組織關(guān)系, 并為各個(gè)組織配置相應(yīng)的通道,完成底層基礎(chǔ)網(wǎng)絡(luò)的搭建。在搭建好的工控區(qū)塊鏈網(wǎng)絡(luò)的環(huán)境下將模型分為三層:
第一層將底層區(qū)塊鏈中的數(shù)據(jù)分成片打包上傳到服務(wù)器中;
第二層中共識(shí)機(jī)制負(fù)責(zé)安全地更新分布式網(wǎng)絡(luò)中的數(shù)據(jù)狀態(tài);
第三層去中心化時(shí)間戳服務(wù)技術(shù),為每次共識(shí)機(jī)制更新的數(shù)據(jù)狀態(tài)提供可公開驗(yàn)證的時(shí)間戳;
最后, 在控制層采用一定選擇機(jī)制,諸如監(jiān)控中心,對(duì)這些帶有哈希序列的數(shù)據(jù)節(jié)點(diǎn)進(jìn)行打包形成區(qū)塊,同時(shí)利用大數(shù)據(jù)分析平臺(tái)對(duì)工業(yè)資產(chǎn)進(jìn)行評(píng)估,對(duì)評(píng)估良好的工業(yè)資源配給一定數(shù)量的通證獎(jiǎng)勵(lì),在后續(xù)的交易中通??梢宰鳛槭掷m(xù)費(fèi)附加在智能合約中被優(yōu)先打包成區(qū)塊,由此對(duì)工業(yè)生態(tài)的健康成長(zhǎng)和運(yùn)行進(jìn)行一定程度的引導(dǎo)。區(qū)塊鏈上的每個(gè)組織都會(huì)有記賬節(jié)點(diǎn)來(lái)進(jìn)行分布式記賬, 并維護(hù)全網(wǎng)的一個(gè)公共的賬本;同時(shí),對(duì)于工業(yè)資產(chǎn)數(shù)據(jù)的讀寫操作均會(huì)被記錄到區(qū)塊鏈中,以實(shí)現(xiàn)全方位的安全可信管控,以便隨時(shí)監(jiān)控來(lái)自底層的數(shù)據(jù)是否安全,確保信息層的管理員拿到的數(shù)據(jù)是最安全的。
在工控網(wǎng)絡(luò)中的部分?jǐn)?shù)據(jù)之前是由管理員或者企業(yè)總部管理和保存,用戶無(wú)法便利獲得自己的記錄和歷史數(shù)據(jù)。通過(guò)此模型的相關(guān)技術(shù)進(jìn)行用戶隱私數(shù)據(jù)保存,用戶自己可以真正地掌握,而不是企業(yè)或管理員操控。這不僅有助于保護(hù)用戶隱私,也增強(qiáng)了用戶使用數(shù)據(jù)的自主性,實(shí)現(xiàn)了信息的共享性和工控網(wǎng)絡(luò)的去中心化性。
為了解區(qū)塊鏈網(wǎng)絡(luò)的運(yùn)行方式以及共識(shí)控制模型,設(shè)計(jì)安全機(jī)制驗(yàn)證:在同一個(gè)區(qū)塊鏈上操作一組客戶端節(jié)點(diǎn)保存事務(wù)數(shù)據(jù)的副本;假設(shè)ICS中的設(shè)備節(jié)點(diǎn)可以看作是區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(diǎn),每個(gè)設(shè)備節(jié)點(diǎn)都在區(qū)塊鏈網(wǎng)絡(luò)上進(jìn)行交易;利用區(qū)塊鏈技術(shù)的分布式賬本、共識(shí)機(jī)制,智能聯(lián)系,非對(duì)稱加密等特點(diǎn)應(yīng)用于工業(yè)控制系統(tǒng)以解決網(wǎng)絡(luò)安全問(wèn)題。
使用opnet14.5版本的網(wǎng)絡(luò)仿真軟件對(duì)工業(yè)區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行仿真,并對(duì)仿真結(jié)果進(jìn)行分析驗(yàn)證。
圖7 OPNET 分布式網(wǎng)絡(luò)拓?fù)淠P?/p>
由于工業(yè)區(qū)塊鏈網(wǎng)絡(luò)去中心化的分布式系統(tǒng),則在全分布式非結(jié)構(gòu)化拓?fù)浣Y(jié)構(gòu)中, 每一個(gè)節(jié)點(diǎn)既可以作為客戶機(jī)又可以作為服務(wù)器,還可以作為對(duì)等實(shí)體,在網(wǎng)絡(luò)中也扮演著多重角色,其地位是完全平等的,并且它們與相鄰的有相同的能力。因此可以建立如圖7所示的網(wǎng)絡(luò)模型。
圖8中橫坐標(biāo)代表網(wǎng)絡(luò)運(yùn)行時(shí)間,縱坐標(biāo)代表網(wǎng)絡(luò)收斂延時(shí)時(shí)間??梢钥闯鲈诠I(yè)區(qū)塊鏈網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)傳輸150秒時(shí)的網(wǎng)絡(luò)收斂的延時(shí)大約為0.4微秒,網(wǎng)絡(luò)延時(shí)相對(duì)平穩(wěn),說(shuō)明當(dāng)工業(yè)控制系統(tǒng)和區(qū)塊鏈技術(shù)結(jié)合時(shí),可以防護(hù)數(shù)據(jù)被篡改,此時(shí)對(duì)網(wǎng)絡(luò)的延時(shí)是最小的。
圖8 工業(yè)區(qū)塊鏈網(wǎng)絡(luò)的延時(shí)
圖9中橫坐標(biāo)代表網(wǎng)絡(luò)運(yùn)行時(shí)間,縱坐標(biāo)代表網(wǎng)絡(luò)的吞吐量??梢钥闯鲈诠I(yè)區(qū)塊鏈網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)傳輸400秒時(shí)的網(wǎng)絡(luò)吞吐量狀態(tài),從20秒時(shí)陡增,到55秒時(shí)吞吐量都趨于穩(wěn)定,在42秒時(shí)網(wǎng)絡(luò)吞吐量達(dá)到峰值183 Mbps。以周期的形式達(dá)到峰值進(jìn)而趨于穩(wěn)定,說(shuō)明在工業(yè)區(qū)塊鏈網(wǎng)絡(luò)中數(shù)據(jù)不易發(fā)生丟失或者出現(xiàn)其他網(wǎng)絡(luò)問(wèn)題。
圖9 工業(yè)區(qū)塊鏈網(wǎng)絡(luò)的吞吐量
(1)通過(guò)ICS區(qū)塊鏈網(wǎng)絡(luò)模塊,讓設(shè)備節(jié)點(diǎn)相互交換并相互傳輸數(shù)據(jù),并讓區(qū)塊鏈存儲(chǔ)。
(2)機(jī)器設(shè)備節(jié)點(diǎn)形成對(duì)等網(wǎng)絡(luò)[16],其中一個(gè)機(jī)器設(shè)備節(jié)點(diǎn)與區(qū)塊鏈上的另一個(gè)機(jī)器設(shè)備節(jié)點(diǎn)交互,節(jié)點(diǎn)之間通過(guò)一對(duì)私鑰或公鑰進(jìn)行通信。它們使用自己的私鑰簽署自己的交易,并且可以通過(guò)它們的公鑰在網(wǎng)絡(luò)上尋址。非對(duì)稱加密的使用將身份驗(yàn)證、完整性和不可否認(rèn)性帶入網(wǎng)絡(luò)。每個(gè)簽名的事務(wù)都由用戶的節(jié)點(diǎn)廣播到其相鄰的對(duì)等節(jié)點(diǎn)。相鄰的對(duì)等方在進(jìn)一步傳輸之前確保該事務(wù)有效,無(wú)效和錯(cuò)誤的事務(wù)被丟棄并拒絕,最終有效事務(wù)在整個(gè)ICS設(shè)備區(qū)塊鏈網(wǎng)絡(luò)中傳播。
(3)使用加密算法和區(qū)塊鏈節(jié)點(diǎn)哈希值的方式記錄機(jī)器設(shè)備的使用時(shí)間,檢查區(qū)塊的有效事務(wù),驗(yàn)證區(qū)塊鏈網(wǎng)絡(luò)收集的機(jī)器設(shè)備事務(wù)數(shù)據(jù)和按時(shí)間戳排序的區(qū)塊鏈節(jié)點(diǎn)事務(wù)數(shù)據(jù),然后將正確的事務(wù)數(shù)據(jù)塊鏈接到它們的子鏈中,如果設(shè)備之間有一個(gè)新的事務(wù),它們會(huì)將這個(gè)新事務(wù)塊添加到區(qū)塊鏈中,并用它包含的新事務(wù)來(lái)更新其分類賬。
(4)重復(fù)上面步驟,若驗(yàn)證的結(jié)果是所需要的正確數(shù)據(jù)時(shí),步驟結(jié)束。
在隱含的共享數(shù)據(jù)庫(kù)模型中,區(qū)塊數(shù)據(jù)庫(kù)的每一行都映射到與ICS設(shè)備節(jié)點(diǎn)對(duì)應(yīng)的公鑰或地址中,有效事務(wù)則是試圖修改具有相應(yīng)簽名的行的事務(wù)數(shù)據(jù)。當(dāng)網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)遵循上述步驟時(shí),其操作的共享區(qū)塊鏈[17]將成為網(wǎng)絡(luò)活動(dòng)中的身份驗(yàn)證和時(shí)間戳記錄。節(jié)點(diǎn)不必信任任何其他實(shí)體,由此產(chǎn)生了無(wú)信任環(huán)境這一術(shù)語(yǔ),信任是由系統(tǒng)中不同參與者的交互作用而產(chǎn)生的一種緊急屬性。
即使在工控網(wǎng)絡(luò)數(shù)據(jù)安全上結(jié)合區(qū)塊鏈技術(shù)有些重要的保留意見,但不應(yīng)該低估這些非凡技術(shù)變革帶來(lái)的有希望的社會(huì)經(jīng)濟(jì)效益。該文利用區(qū)塊鏈技術(shù)的優(yōu)點(diǎn)建立的共識(shí)控制模型,設(shè)計(jì)的工控區(qū)塊鏈網(wǎng)絡(luò)使工業(yè)控制網(wǎng)絡(luò)的數(shù)據(jù)信息不被篡改,這種創(chuàng)新策略通過(guò)仿真結(jié)果得出能夠高效率保證上層用戶獲得的數(shù)據(jù)的真實(shí)性、完整性。區(qū)塊鏈和分散式分類賬是一項(xiàng)基礎(chǔ)和破壞性技術(shù),將徹底改變工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)安全,使工業(yè)程序運(yùn)算由程序-數(shù)據(jù)-驗(yàn)算-生產(chǎn)-回饋流程大力簡(jiǎn)化。但是,進(jìn)一步在探究過(guò)程中發(fā)現(xiàn)工控網(wǎng)絡(luò)中的攻擊具有多樣性,而最終基本的區(qū)塊鏈問(wèn)題歸結(jié)到信任問(wèn)題。后續(xù)將會(huì)研究區(qū)塊鏈的安全、區(qū)塊鏈能夠解決工控網(wǎng)絡(luò)攻擊的類型、 區(qū)塊鏈用于資產(chǎn)的轉(zhuǎn)移和跟蹤等多個(gè)方面。