李 勇,蘭 林,馬 權(quán),侯榮彬,薛 凱,李 昂
(中國核動力研究設(shè)計院 核反應(yīng)堆系統(tǒng)設(shè)計技術(shù)重點實驗室,成都 610213)
核電廠安全級DCS 系統(tǒng)(Nuclear Advanced Safety Platform Instrument Control system,簡稱NASPIC)的信息安全標準屬于IEC SC 45 A 標準體系。該體系自上至下分四層,從功能上對核電廠安全級DCS 系統(tǒng)提出了具體的信息安全防護要求,分別為總體要求、組織和程序要求、系統(tǒng)要求、部件要求。其中,第一層要求參考標準IEC 61513,第二層要求參考標準IEC 62645 和IEC 62859,第三層和第四層要求尚未有明確標準,設(shè)計中可以參考國內(nèi)標準及RG 5.71標準。IEC 62645 標準對核電廠安全級DCS 系統(tǒng)信息安全的程序開發(fā),信息安全分級以及系統(tǒng)整個生命周期的防護給出了總體原則和基本要求,該標準在核電廠安全級DCS系統(tǒng)中常常作為總體依據(jù)文件。
圖1 區(qū)塊鏈基礎(chǔ)框架Fig.1 Blockchain basic framework
NASPIC 系統(tǒng)是核電站的信息控制中樞,該控制系統(tǒng)在設(shè)計中往往采用部分工控領(lǐng)域的通用通信協(xié)議以及軟硬件結(jié)構(gòu)設(shè)計方法[1,2]。通過前期研究發(fā)現(xiàn),由于該類協(xié)議通信端口號固定、缺乏可信身份認證和訪問控制機制,因而在設(shè)計中采用這類協(xié)議,可能會在信息安全方面存在大量漏洞,導(dǎo)致關(guān)鍵數(shù)據(jù)容易被篡改和泄露。為保證核心數(shù)據(jù)的完整性和準確性,系統(tǒng)信息安全防護目標是在保證傳輸信息和控制指令在系統(tǒng)通信網(wǎng)絡(luò)中數(shù)據(jù)完整的基礎(chǔ)上,進一步要求通信傳輸實時性、數(shù)據(jù)不可篡改性,以及系統(tǒng)具有抵御外部多方攻擊,識別錯誤信息的能力。區(qū)塊鏈技術(shù)融合密碼算法[3]、數(shù)字簽名技術(shù)[4]、P2P 網(wǎng)絡(luò)技術(shù)[5]、共識算法[6]、智能合約[7-9]等多種技術(shù)組合創(chuàng)新,具有去中心/多中心化、數(shù)據(jù)防篡改、數(shù)據(jù)可追溯等特點[10]。作為一種新的可信大規(guī)模協(xié)作方式,它能夠解決多方共信問題,目前在物聯(lián)網(wǎng)系統(tǒng)安全等多個方面均有應(yīng)用[10]。
本文根據(jù)IEC 62645 標準防護要求,基于區(qū)塊鏈技術(shù)具有的去中心化、數(shù)據(jù)不可篡改、數(shù)據(jù)可追溯等固有特性,將其與核領(lǐng)域信息安全防護要求相結(jié)合,分別從訪問控制、身份鑒別、關(guān)鍵數(shù)據(jù)加密和防篡改4 個方面對NASPIC 系統(tǒng)進行防護設(shè)計。構(gòu)建具體的系統(tǒng)信息安全防御模型和設(shè)計相應(yīng)的軟件算法,解決NASPIC 系統(tǒng)使用工業(yè)通用協(xié)議等可能引入的信息安全問題。
區(qū)塊(也稱為節(jié)點)是區(qū)塊鏈式結(jié)構(gòu)的基本數(shù)據(jù)單元,區(qū)塊鏈框架中每個塊被封裝為六層,具體包括數(shù)據(jù)層、網(wǎng)絡(luò)層、共識層、激勵層、合約層、應(yīng)用層,其基礎(chǔ)框架層次如圖1 所示。
數(shù)據(jù)層用于實現(xiàn)鏈上數(shù)據(jù)存儲和加密,數(shù)據(jù)的不可篡改性和可追溯性由每個區(qū)塊頭包含的父區(qū)塊哈希值、時間戳、默克爾樹、隨機數(shù)來保證,即Block(Num)=(Block(Num-1),PreviousHash,TimesStamp,MerkleTree(N),nounce)。
其中,PreviousHash:父區(qū)塊哈希值,包含上一個區(qū)塊數(shù)據(jù)的哈希值;TimesStamp:存儲交易發(fā)生的時間戳;MerkleTree(N):默克爾樹,存儲鏈上已有的交易的MerkleTree 的根;Nounce 則為隨交易過程生成的一個隨機數(shù)字。
網(wǎng)絡(luò)層確定節(jié)點的組網(wǎng)、數(shù)據(jù)傳播和驗證機制,實現(xiàn)節(jié)點間信息交互;共識層包含網(wǎng)絡(luò)節(jié)點間達成一致性的共識算法;激勵層包含發(fā)行、分配機制,有助于更多節(jié)點參與共識和交易驗證;合約層則封裝了以數(shù)字形式定義,滿足觸發(fā)條件自動執(zhí)行的智能合約,即:
區(qū)塊鏈技術(shù)通過各層采取不同的機制來封裝一個節(jié)點的全部數(shù)據(jù),每個節(jié)點對等地維護一個賬本并參與整個網(wǎng)絡(luò)系統(tǒng)的共識。當傳統(tǒng)系統(tǒng)中的節(jié)點行為不可控時,存在拒絕發(fā)送消息、發(fā)送錯誤消息等異常行為,從而導(dǎo)致系統(tǒng)故障。如果采用區(qū)塊鏈技術(shù)則能容忍和抵御部分錯誤信息,保證系統(tǒng)的正常運行。
NASPIC 系統(tǒng)主要包括安全部分的現(xiàn)場控制站、傳輸站、安全顯示站以及非安部分的網(wǎng)關(guān)站、工程師站[2]。系統(tǒng)具體架構(gòu)如圖2 所示。
NASPIC 系統(tǒng)的配置文件由位于系統(tǒng)非安部分的工程師站下發(fā),該文件編譯下裝成功后整套系統(tǒng)即可啟動運行。針對工程師站使用權(quán)限的重要性,以區(qū)塊鏈作為數(shù)據(jù)的載體,將用戶對工程師站的操作權(quán)限的策略寫入,策略加密并獲得共識后發(fā)布于鏈上,最后通過智能合約來對這些策略進行管理、控制。實際中每個用戶的具體操作權(quán)限由管理員調(diào)用站點智能管理合約進行定義并發(fā)布在控制鏈上。管理員可以對用戶的操作權(quán)限進行控制,包括創(chuàng)建、刪除和更新操作權(quán)限。具體框架模型如圖3 所示,該框架包括操作權(quán)限注冊、控制策略創(chuàng)建、操作請求、控制策略更新4 個階段。
圖2 NASPIC系統(tǒng)框架Fig.2 NASPIC System framework
圖3 工程師站安全訪問框架Fig.3 Security access framework of engineering station
2.1.1 操作權(quán)限注冊階段
1)用戶對工程師站進行操作時需要提前申請,管理員收到申請審核后,為用戶此次操作生成一對密鑰對。
2)將公鑰設(shè)為用戶在控制區(qū)塊鏈上的唯一身份標識,私鑰作為用戶身份證明。同時用私鑰將用戶該次的操作行為數(shù)據(jù)進行簽名,并將簽名附加在交易中。
3)首先管理員調(diào)用鏈上智能合約為用戶完成操作權(quán)限注冊,然后其他節(jié)點完成數(shù)字簽名、交易完整性、用戶身份合法性驗證,最后將此次操作行為數(shù)據(jù)同步到所有網(wǎng)絡(luò)節(jié)點。
算法1:權(quán)限注冊算法(Right Node Registration Algorithm,簡稱RNGA)。
輸入:用戶申請賬戶Racc
輸出:用戶操作私鑰Rpri_key rnga(Racc)
Rpub_key = Oreg();/*生成公私密鑰*/
Rpri_key = Oreg();
send Rpri_key to Racc;
set (right, Rpri_key);/*私鑰加密操作行為*/
getRegSmartContract(Racc,,Rpub_key);/*操作權(quán)限注冊*/
2.1.2 控制策略創(chuàng)建階段
1)當用戶要對工程師站進行操作時,首先將對應(yīng)工程師站標識ID 和相應(yīng)的操作發(fā)送給管理員,管理員則為用戶創(chuàng)建相應(yīng)的操作權(quán)限,同時生成權(quán)限許可證書。
2)管理員使用用戶私鑰對操作權(quán)限和權(quán)限許可證書數(shù)字簽名后,調(diào)用智能合約注冊操作權(quán)限策略。其他數(shù)據(jù)網(wǎng)絡(luò)節(jié)點進行多重驗證后將其加入到控制鏈中,從而完成操作權(quán)限的授權(quán)。
算法2:控制策略記賬算法(Control Strategy Account Algorithm,簡稱CSAA)。
輸入:控制策略創(chuàng)建時間st_time;用戶申請賬戶Racc;工程師站標識ID MTS_ID;用戶私鑰Rpri_key;操作行為operdata。
輸出:操作通行證書CA;創(chuàng)建成功——True,創(chuàng)建失敗——False
2.1.3 操作請求階段
1)用戶得到對工程師站進行操作的權(quán)限許可后,通過私鑰解密工程師站對自己開放的權(quán)限許可證書。
圖4 文件發(fā)布系統(tǒng)框架Fig.4 File publishing system framework
圖5 系統(tǒng)安全訪問框架Fig.5 System security access framework
2)獲取許可證書后,用戶以該證書及公鑰作為輸入,在控制鏈上調(diào)用智能合約進行用戶身份、訪問權(quán)限合法性以及權(quán)限許可證書驗證,驗證通過則自動授權(quán)。鏈上節(jié)點自動同步記錄本次操作。
2.1.4 控制策略更新階段
1)管理員可以調(diào)用控制鏈上的控制策略創(chuàng)建服務(wù),通過創(chuàng)建新的智能合約來更新權(quán)限子集,從而更新用戶操作權(quán)限。
2)鏈上所有操作數(shù)據(jù)均以時間為順序記錄于控制鏈,且同步于所有控制節(jié)點。
算法3:控制策略鏈上更新算法(Control Strategy Update Algorithm,簡稱CSUA)。
輸入:控制策略創(chuàng)建時間st_time;用戶申請賬戶Racc;工程師站標識ID MTS_ID;操作行為operdata。
輸出:更新成功——True,更新失敗——False
一旦最終配置文件確定,將被發(fā)布于區(qū)塊鏈上,管理員調(diào)用區(qū)塊鏈上的智能合約給該文件寫入不可更改的權(quán)限合約,具體由數(shù)據(jù)層的數(shù)字簽名技術(shù)來實現(xiàn)。鏈上節(jié)點對數(shù)據(jù)完整性和數(shù)據(jù)發(fā)送者身份合法性校驗成功后,節(jié)點間達成一致共識,從而實現(xiàn)系統(tǒng)配置文件的防篡改和歷史下發(fā)配置文件的可追溯。流程框架如圖4 所示。
NASPIC 系統(tǒng)中安全部分的現(xiàn)場控制站、傳輸站、安全顯示站以及非安部分的網(wǎng)關(guān)站、工程師站具有不同的功能特征,周期運行時彼此間互相訪問,存在大量數(shù)據(jù)交互和處理的過程。針對可能受到的外部接入的攻擊,采用區(qū)塊鏈技術(shù)進行站間權(quán)限接入認證和訪問權(quán)限設(shè)定,防止外部非法數(shù)據(jù)輸入。系統(tǒng)每個站點由管理員寫入訪問其他站點的接入權(quán)限。周期運行中,在每次訪問時進行訪問權(quán)限認證,當某個站點訪問權(quán)限被非法修改或其他未經(jīng)許可站點接入時,由于其他站點并不認可,單站點修改無效,故能有效抵御單站點被篡改影響系統(tǒng)功能正常運行問題。具體區(qū)塊鏈技術(shù)實現(xiàn)框架由工程師站安全訪問框架裁剪得到,站點安全訪問框架模型如圖5 所示。
在新一代NASPIC 系統(tǒng)中引入工業(yè)環(huán)網(wǎng)通信架構(gòu),實現(xiàn)不同現(xiàn)場控制站、傳輸站、網(wǎng)關(guān)站以及安全顯示站站點間數(shù)據(jù)組網(wǎng)傳遞,具體框架如圖6 所示。環(huán)網(wǎng)能有效提高系統(tǒng)的通信能力,但是環(huán)網(wǎng)的收發(fā)方均只是讀取數(shù)據(jù),且彼此互相隔離,環(huán)網(wǎng)上數(shù)據(jù)存在被篡改的風(fēng)險。因此,可以將環(huán)網(wǎng)通信和區(qū)塊鏈技術(shù)相融合,進一步確保核心數(shù)據(jù)的準確性和完整性。
考慮到系統(tǒng)具有較高的實時性要求和環(huán)網(wǎng)通信位于較為可信的環(huán)境,且非對稱加密算法加解密耗時較長,因此在數(shù)據(jù)層數(shù)據(jù)加密算法采用對稱加密算法AES 算法。經(jīng)驗證該算法單次加解密時間在20us ~35us 左右,同時耗費內(nèi)存和CPU 使用率均較低,符合NASPIC 系統(tǒng)對CPU 使用率要求。該環(huán)網(wǎng)結(jié)構(gòu)中共識節(jié)點為現(xiàn)場控制站、傳輸站、安全顯示站、網(wǎng)關(guān)站四類站點。根據(jù)系統(tǒng)站點數(shù)目不多且通信實時性要求高特點,共識層數(shù)據(jù)共識算法采用實用拜占庭容錯(PBFT)共識算法與RAFT 算法相結(jié)合來縮短節(jié)點間達成共識所需要的時間,同時還具備容錯能力。
圖6 系統(tǒng)環(huán)網(wǎng)通信框架Fig.6 System ring network communication framework
隨著區(qū)塊鏈技術(shù)與核領(lǐng)域信息安全技術(shù)的不斷交叉融合,針對核電廠安全級DCS 系統(tǒng)面臨的外部網(wǎng)絡(luò)威脅,基于區(qū)塊鏈技術(shù)的系統(tǒng)信息安全防護方案能夠解決越來越多的信息安全問題。本文參考IEC 62645 標準,針對NASPIC系統(tǒng)實際設(shè)計情況和系統(tǒng)在運行中可能遇到的網(wǎng)絡(luò)風(fēng)險,設(shè)計了基于區(qū)塊鏈的訪問控制系統(tǒng)、文件發(fā)布系統(tǒng)及系統(tǒng)相關(guān)算法,實現(xiàn)工程師站使用權(quán)限可控制、工程師站下發(fā)的系統(tǒng)配置文件不可篡改及系統(tǒng)站間接入安全認證和站點訪問權(quán)限安全設(shè)定。此外,還將新一代系統(tǒng)通信環(huán)網(wǎng)結(jié)構(gòu)與區(qū)塊鏈技術(shù)相結(jié)合,來提高系統(tǒng)通信的可靠性和通信數(shù)據(jù)的完整性。