朱 月,陳 寧,高祥濤,王美玲,趙 峰
(1.江蘇省水文水資源勘測(cè)局,江蘇南京210029;2.江蘇省秦淮河水利工程管理處,江蘇南京210000)
近年來(lái),我國(guó)水利信息化建設(shè)飛速發(fā)展,水利部陸續(xù)實(shí)施了一系列水利信息化建設(shè)戰(zhàn)略。隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,水利物聯(lián)網(wǎng)感知設(shè)備被廣泛應(yīng)用于水文數(shù)據(jù)自動(dòng)測(cè)報(bào)、水資源管理、防汛指揮調(diào)度、水利工程視頻監(jiān)控等場(chǎng)景,水利感知基礎(chǔ)信息得到了快速傳輸及有效應(yīng)用,為“智慧水利”的發(fā)展提供了有力保障[1]。
但是,在江蘇省范圍內(nèi),現(xiàn)有的水利物聯(lián)網(wǎng)傳感終端數(shù)量龐大,且多分散部署在水利系統(tǒng)的各個(gè)物理節(jié)點(diǎn)上,節(jié)點(diǎn)與上位機(jī)之間一般采用RS-232、RS-485等線路連接,通信協(xié)議也主要采用Modbus 協(xié)議[2]。由于線路以及Modbus 協(xié)議沒(méi)有數(shù)據(jù)加密、身份認(rèn)證等保護(hù)機(jī)制,傳感終端與上位機(jī)通信線路很容易遭受數(shù)據(jù)竊取、偽造等攻擊[3]。同時(shí),江蘇省已建系統(tǒng)數(shù)量龐大,系統(tǒng)改造或重建成本較高。因此,只能在現(xiàn)有設(shè)備、線路的條件下,通過(guò)低成本的改造措施,保障水利工業(yè)控制數(shù)據(jù)傳輸?shù)陌踩浴?/p>
本文利用國(guó)產(chǎn)密碼設(shè)備實(shí)現(xiàn)工業(yè)控制系統(tǒng)中傳輸數(shù)據(jù)的加密與認(rèn)證,在RS-232、RS-485 接口上安裝加密設(shè)備,并在傳感終端和上位機(jī)之間分別部署,是一個(gè)物理安全的實(shí)體。通過(guò)密碼設(shè)備間的身份認(rèn)證和數(shù)據(jù)加解密,構(gòu)建傳感終端和上位機(jī)間的安全信道。PLC 端加密設(shè)備主要是對(duì)主控端的命令進(jìn)行加密,對(duì)應(yīng)答進(jìn)行解密;傳感終端加密設(shè)備主要對(duì)主控命令進(jìn)行解密,對(duì)應(yīng)答數(shù)據(jù)進(jìn)行加密。加密設(shè)備部署在實(shí)驗(yàn)室與實(shí)地環(huán)境試運(yùn)行后,數(shù)據(jù)讀取正常,系統(tǒng)運(yùn)行穩(wěn)定。
2010年6月,位于納坦茲的伊朗核設(shè)施遭到病毒攻擊,一臺(tái)濃縮鈾離心機(jī)被破壞,導(dǎo)致該核設(shè)施功能癱瘓,這是名為震網(wǎng)(Stuxnet)的病毒首次被發(fā)現(xiàn)[4]。震網(wǎng)是第一個(gè)專(zhuān)門(mén)定向攻擊真實(shí)世界中關(guān)鍵基礎(chǔ)設(shè)施的病毒,被設(shè)計(jì)成針對(duì)西門(mén)子公司的數(shù)據(jù)采集與監(jiān)控系統(tǒng)系統(tǒng)(SCADA)SIMATIC WinCC 進(jìn)行攻擊,其目標(biāo)包括核電站、水壩、國(guó)家電網(wǎng)等基礎(chǔ)設(shè)施。
此類(lèi)攻擊并不直接攻擊測(cè)量控制單元(MCU)等上位機(jī)使用的計(jì)算機(jī)網(wǎng)絡(luò),而是通過(guò)攻擊可編程邏輯控制器(PLC)等下位機(jī)使用的控制總線和傳感器網(wǎng)絡(luò),實(shí)現(xiàn)其戰(zhàn)略或戰(zhàn)術(shù)目的[5]。
當(dāng)下,物聯(lián)網(wǎng)技術(shù)被廣泛應(yīng)用于能源、水利、交通等各個(gè)與國(guó)民生活密切相關(guān)的領(lǐng)域,在上述行業(yè)的基礎(chǔ)設(shè)施中,存在著大量傳感器以及連接它們的網(wǎng)絡(luò)。與基于分組交換技術(shù)的計(jì)算機(jī)網(wǎng)絡(luò)不同,傳感器大多數(shù)是依賴(lài)于總線結(jié)構(gòu)的電路交換網(wǎng)絡(luò)。隨著震網(wǎng)等攻擊傳感器網(wǎng)絡(luò)的病毒和工具被發(fā)現(xiàn),關(guān)鍵基礎(chǔ)設(shè)施中傳感器網(wǎng)絡(luò)正在面臨著前所未有的威脅[6]。
而國(guó)內(nèi)外對(duì)于Modbus協(xié)議的安全性研究尚處于初級(jí)階段,工業(yè)自動(dòng)化控制系統(tǒng)所面臨的信息安全風(fēng)險(xiǎn)沒(méi)有得到廣泛的重視,在國(guó)內(nèi)這一問(wèn)題更加突出。
本文將國(guó)產(chǎn)密碼芯片應(yīng)用于水利自動(dòng)化控制協(xié)議中,通過(guò)國(guó)產(chǎn)密碼產(chǎn)品實(shí)現(xiàn)水利行業(yè)的具體應(yīng)用,具有較高的研究?jī)r(jià)值與現(xiàn)實(shí)意義。
本文擬在在自動(dòng)化控制設(shè)備與現(xiàn)場(chǎng)總線之間部署硬件加密設(shè)備,其在實(shí)際環(huán)境部署的拓?fù)浣Y(jié)構(gòu)如圖1所示。
圖1 加密設(shè)備部署拓?fù)浣Y(jié)構(gòu)
為了實(shí)現(xiàn)工業(yè)控制系統(tǒng)數(shù)據(jù)安全傳輸,加密設(shè)備研發(fā)的重點(diǎn)是加密模塊的設(shè)計(jì)與部署。加密模塊支持國(guó)產(chǎn)SM1、SM2、SM3、SM4 算法以及RSA、SHA-1/256/384/512等算法,工作密鑰采用預(yù)置的方式,加密模塊中包含可編程CPU,在特殊場(chǎng)合也可以實(shí)現(xiàn)密鑰協(xié)商工作模式。為了適應(yīng)水利工程控制系統(tǒng)環(huán)境的要求,加密模塊設(shè)計(jì)需注意以下幾點(diǎn)。
一是明確加密模塊所要實(shí)現(xiàn)的功能和性能,明確設(shè)備的軟、硬件配置,明確部署平臺(tái)和接口標(biāo)準(zhǔn)等。
二是保證密碼運(yùn)算的正確性,密鑰生命周期全過(guò)程的安全性,加密模塊自身的安全防護(hù)和可靠性。
三是注意現(xiàn)場(chǎng)部署環(huán)境、功耗等條件。加密模塊從硬件芯片選型、軟件低功耗待機(jī)設(shè)置等多個(gè)方面進(jìn)行了低功耗以及設(shè)備小型化設(shè)計(jì)。
四是考慮水利工控系統(tǒng)實(shí)際環(huán)境。實(shí)際部署環(huán)境多靠近水域,多家設(shè)備在同一場(chǎng)景中需考慮設(shè)備電磁兼容性防護(hù),因此需要對(duì)加密設(shè)備的485通信接口做光耦隔離,最大限度保證設(shè)備功能運(yùn)轉(zhuǎn)不受外部雜波信號(hào)影響。同時(shí),需要對(duì)機(jī)殼做好密封處理,采用航插方式對(duì)電源、信號(hào)進(jìn)行保護(hù)。
水利數(shù)據(jù)采集通信加密模塊作為獨(dú)立的硬件加密模塊,串聯(lián)在傳感終端的RS485 傳輸線路中,通過(guò)RS485連接,對(duì)RS485線路上的雙向數(shù)據(jù)進(jìn)行加解密運(yùn)算,保障RS485線路上數(shù)據(jù)傳輸?shù)陌踩?。水利傳感終端線路保護(hù)加密模塊硬件結(jié)構(gòu)如圖2所示。
其中,硬件加密模塊設(shè)備具體參數(shù)如下:
(1)加密模塊尺寸為60 mm×54 mm。
(2)加密模塊包括兩個(gè)UART、多個(gè)數(shù)據(jù)緩沖、數(shù)據(jù)加密解密單元和密鑰管理單元。
圖2 加密模塊硬件結(jié)構(gòu)
(3)加密模塊采用航插方式的RS485與傳感器及PLC 通信,同時(shí)預(yù)留程序注入接口,方便數(shù)據(jù)加密模塊調(diào)試、初始化。
(4)輸入電壓采用12~24 V/DC寬壓輸入,以適應(yīng)不同的供電需求。
對(duì)加密模塊兩路485接口的隔離處理,電源及信號(hào)的隔離設(shè)計(jì)可以有效控制由接地電勢(shì)差、接地環(huán)路引起的各種共模干擾問(wèn)題。
數(shù)據(jù)加密采用數(shù)字信號(hào)信封的方式進(jìn)行加密處理,根據(jù)數(shù)據(jù)載荷中的目的地址獲取對(duì)方的加密公鑰,使用加密公鑰對(duì)報(bào)文加密密鑰進(jìn)行加密,使用報(bào)文加密密鑰對(duì)明文數(shù)據(jù)和散列值進(jìn)行加密。解密是加密的逆過(guò)程,并需要對(duì)解密后散列值進(jìn)行驗(yàn)證,加密運(yùn)算步驟如下。
S1:使用SM3 算法生成載荷數(shù)據(jù)PD的校驗(yàn)值DH;
S2:使用隨機(jī)數(shù)發(fā)生器生成對(duì)稱(chēng)密鑰RK;
S3:使用SM2 算法和對(duì)方公鑰對(duì)RK加密生成CK;
S4:使用SM4 算法和RK 對(duì)EP={PD|DH}進(jìn)行加密得到EC;
S5:重新計(jì)算校驗(yàn)碼CRC;
S6:加密計(jì)算完成。
主控端設(shè)備對(duì)下行數(shù)據(jù)進(jìn)行加密,對(duì)上行數(shù)據(jù)進(jìn)行解密;而從端加密設(shè)備正好相反,對(duì)下行數(shù)據(jù)進(jìn)行解密,對(duì)上行數(shù)據(jù)進(jìn)行加密。主控端加密設(shè)備下行數(shù)據(jù)和上行數(shù)據(jù)處理流程圖如圖3所示。
國(guó)產(chǎn)加密網(wǎng)關(guān)研制成功后,在實(shí)驗(yàn)室測(cè)試兩周后,部署在武定門(mén)閘機(jī)組上試運(yùn)行測(cè)試。
測(cè)試參數(shù):溫度(℃)、電壓(V)。
測(cè)試指標(biāo):穩(wěn)定性、正確性、延遲。
所需設(shè)備:國(guó)產(chǎn)加密網(wǎng)關(guān)、PLC主機(jī)、溫度傳感器、三相電電壓監(jiān)控傳感設(shè)備。
測(cè)試距離:100 m左右。
現(xiàn)場(chǎng)10 臺(tái)溫度傳感器以手挽手的RS485 接線方式傳送到主機(jī)PLC 端,在主控端安裝一臺(tái)加密網(wǎng)關(guān)設(shè)備,每個(gè)溫度傳感器端安裝一臺(tái)加密網(wǎng)關(guān)設(shè)備,設(shè)備連接模擬圖如圖4所示。
安裝調(diào)試后測(cè)試4天即96小時(shí),加密設(shè)備穩(wěn)定未死機(jī),測(cè)得的溫度數(shù)據(jù)未出現(xiàn)異常,未見(jiàn)明顯延遲。選取1 號(hào)泵組溫度數(shù)據(jù)如表1 所示,3-4 號(hào)閘門(mén)電壓數(shù)據(jù)如表2所示。
經(jīng)過(guò)對(duì)比分析,本項(xiàng)目方案操作簡(jiǎn)便,機(jī)組運(yùn)行穩(wěn)定,數(shù)據(jù)延遲低,結(jié)果可靠,能滿(mǎn)足安全模塊在現(xiàn)地部署的安全性以及時(shí)效性等需求。本項(xiàng)目通過(guò)國(guó)產(chǎn)密碼模塊的設(shè)計(jì)、應(yīng)用,解決了武定門(mén)閘管所自動(dòng)化控制系統(tǒng)中Modbus 協(xié)議的安全性問(wèn)題,提高了其應(yīng)對(duì)病毒、惡意攻擊者的防御能力。
圖3 加密設(shè)備下行數(shù)據(jù)和上行數(shù)據(jù)處理流程
圖4 現(xiàn)場(chǎng)加密網(wǎng)關(guān)設(shè)備連接模擬
表1 1號(hào)泵組溫度數(shù)據(jù) (單位:℃)
表2 3-4號(hào)閘門(mén)電壓數(shù)據(jù) (單位:V)
綜上所述,硬件加密設(shè)備的部署,實(shí)現(xiàn)了基于國(guó)產(chǎn)加密算法的數(shù)據(jù)加密等安全性要求。以硬件加密網(wǎng)關(guān)方式對(duì)于現(xiàn)場(chǎng)總線設(shè)備提供信道安全能力的方案,在水利工程控制領(lǐng)域具有較高的可行性和應(yīng)用價(jià)值。國(guó)產(chǎn)加密設(shè)備具有多層次安全防護(hù)、自主可控、低功耗、靈活的密鑰管理等優(yōu)點(diǎn),為水利數(shù)據(jù)采集通信提供了可靠、安全傳輸?shù)募夹g(shù)手段。密碼設(shè)備的研制與應(yīng)用,為國(guó)產(chǎn)密碼產(chǎn)品在水利自動(dòng)化行業(yè)的應(yīng)用與推廣打下重要基礎(chǔ)。