★和利時科技集團有限公司賈峰
目前,工業(yè)可編程控制系統(tǒng)加密技術主要涉及數(shù)據(jù)加密、通信加密和存儲加密等方面。數(shù)據(jù)加密通常采用對稱加密算法或非對稱加密算法,以確保數(shù)據(jù)的機密性和完整性;通信加密則通過在網(wǎng)絡傳輸過程中對數(shù)據(jù)進行加密處理,防止數(shù)據(jù)被竊取或篡改;存儲加密則是對存儲在控制系統(tǒng)中的數(shù)據(jù)進行加密保護,以防止數(shù)據(jù)泄露或被非法訪問。
工業(yè)可編程控制系統(tǒng)加密需求分析如下:
(1)數(shù)據(jù)隱私保護需求
工控系統(tǒng)中包含大量敏感數(shù)據(jù),如生產(chǎn)過程的實時數(shù)據(jù)、控制參數(shù)、設備狀態(tài)等。這些數(shù)據(jù)的泄露可能會導致企業(yè)數(shù)據(jù)資產(chǎn)損失、工藝秘密泄露或潛在安全風險等嚴重后果。因此,需要采用數(shù)據(jù)加密技術來保護數(shù)據(jù)的隱私性。
(2)通信安全需求
工控系統(tǒng)中的各個組件之間需要進行大量的通信,包括控制指令的發(fā)送、數(shù)據(jù)的采集和傳輸?shù)取H绻ㄐ胚^程被攻擊者監(jiān)聽或篡改,可能會導致系統(tǒng)的不穩(wěn)定甚至造成安全事故。因此,需要采用通信加密技術來確保通信內(nèi)容的安全性和完整性。
(3)存儲安全需求
存儲在工控系統(tǒng)中的數(shù)據(jù)需要保持真實和完整,以防止被竊取或篡改。因此,需要采用存儲加密技術來保護數(shù)據(jù)的安全性。
(4)訪問控制需求
不同用戶可能具有不同的權(quán)限,需要采用訪問控制機制來確保只有經(jīng)過授權(quán)的用戶才能訪問和操作控制系統(tǒng)中的數(shù)據(jù)。同時,還需要與加密技術結(jié)合,實現(xiàn)更高級別的訪問控制。
(5)合規(guī)性需求
隨著數(shù)據(jù)保護和隱私法規(guī)的日益嚴格,控制系統(tǒng)需要滿足相關的合規(guī)性要求。加密技術是實現(xiàn)這些合規(guī)性要求的重要手段之一。
針對工業(yè)可編程控制系統(tǒng)的加密需求,可以采用以下加密策略和技術方案:
(1)數(shù)據(jù)加密策略
采用對稱加密算法或非對稱加密算法對工控系統(tǒng)中的敏感數(shù)據(jù)進行加密處理,確保數(shù)據(jù)的機密性和完整性。
(2)通信加密策略
在工控系統(tǒng)的網(wǎng)絡傳輸過程中采用通信加密技術,如SSL/TLS協(xié)議等,確保通信內(nèi)容的安全性和完整性。
(3)存儲加密策略
對存儲在控制系統(tǒng)中的數(shù)據(jù)進行加密保護,采用全磁盤加密或文件加密等方式來實現(xiàn)。
(4)訪問控制策略
結(jié)合加密技術和訪問控制機制,實現(xiàn)用戶身份的驗證和權(quán)限的分配,確保只有經(jīng)過授權(quán)的用戶才能訪問和操作控制系統(tǒng)中的數(shù)據(jù)。
(5)合規(guī)性支持
根據(jù)相關的數(shù)據(jù)保護和隱私法規(guī)要求,制定合規(guī)性支持策略和技術方案,確保控制系統(tǒng)能夠滿足相關法規(guī)的要求。
綜上所述,工業(yè)可編程控制系統(tǒng)安全需要綜合考慮數(shù)據(jù)隱私保護、通信安全、存儲安全、訪問控制、合規(guī)性要求等多個方面。通過合理的加密技術設計和實施,可以確保控制系統(tǒng)的安全性和穩(wěn)定性,為企業(yè)的持續(xù)發(fā)展提供有力的保障。
1 工業(yè)控制系統(tǒng)密碼算法技術研究
1.1 密碼算法及數(shù)據(jù)加解密保護
為進一步提高數(shù)據(jù)傳輸?shù)陌踩裕捎肧M2/SM3/SM4/SM9等加密算法,對數(shù)據(jù)進行加密處理,確保數(shù)據(jù)的安全性。設計如圖1所示的工業(yè)可編程控制系統(tǒng)加密安全方案,其中密鑰數(shù)據(jù)(SM2密鑰、常規(guī)SM4密鑰、SM9相關密鑰、SM9設備ID等)通過改進的白盒SM4算法(改進見下文)進行加密存儲,確保密鑰的高安全性。其他數(shù)據(jù)存儲分為以下兩種情況:針對高敏感數(shù)據(jù)(控制系統(tǒng)實時數(shù)據(jù)、組態(tài)數(shù)據(jù)、操作指令等),通過SM2加密算法進行加密;針對其他數(shù)據(jù),僅判斷其真實性,計算數(shù)據(jù)hash值,并對其hash值進行簽名,驗證其真實性時,通過判斷驗簽及hash值比對進行校驗。
圖1 可編程序控制系統(tǒng)加密安全方案設計圖
傳統(tǒng)密碼算法在設計時并未考慮算法運行平臺的安全風險。Chow等在2002年提出了白盒攻擊模型,假定攻擊者具有完全控制算法運行過程的能力,可以獲取算法的運行狀態(tài)、更改算法運行的中間值等。此模型更符合密碼設備在失控環(huán)境下的應用情況,因為一個合法的用戶也可能變?yōu)橐粋€潛在的攻擊者。在這種環(huán)境下,傳統(tǒng)攻擊模型中設計的密碼算法將不再安全。如何保護密碼算法在白盒環(huán)境下的安全性,在數(shù)字版權(quán)保護、移動終端安全等領域具有強烈的現(xiàn)實需求。Chow等使用混淆與查找表等方式設計了AES、DES白盒方案,肖雅瑩等在2009年使用類似方法設計了SM4算法的白盒方案(肖-來方案),白鯤鵬等進一步通過復雜化內(nèi)部解碼編碼過程以及引入更多隨機數(shù)的方式設計了一個新的SM4白盒方案(白-武方案)。
本文對肖-來方案的白盒SM4在應用SM4CBC方案進行了改進,如圖2所示。
圖2(b)改進WBSM4-CBC加密算法
1.2 密碼管理
根據(jù)近代密碼學觀點,決定整個密碼體制安全性的因素是密鑰的保密性,而不是對密碼算法的保密,密碼算法是可以公開評估的,因此密鑰管理是至關重要的。在密碼系統(tǒng)的設計時,需要解決的核心問題是密鑰管理問題,而非密碼算法問題。
密鑰管理就是在授權(quán)各方之間實現(xiàn)密鑰關系的建立和維護的一整套技術和程序。
根據(jù)工業(yè)可編程控制系統(tǒng)的實際情況,去掉管理維護等機制,我們重點關注密鑰的生成、存儲、分發(fā)與協(xié)商、使用、備份與恢復、更新、撤銷和銷毀階段,如圖3所示。
圖3 工業(yè)可編程控制系統(tǒng)密鑰生命周期圖
(1)密鑰生成和檢驗
密鑰產(chǎn)生設備主要是密鑰生成器,一般使用性能良好的發(fā)生器裝置產(chǎn)生偽隨機序列,以確保所產(chǎn)生密鑰的隨機性。
(2)密鑰交換和協(xié)商
典型的密鑰交換主要有兩種形式:集中式交換方案和分布式交換方案。前者主要依靠網(wǎng)絡中的“密鑰管理中心”根據(jù)用戶要求來分配密鑰,后者則是根據(jù)網(wǎng)絡中各主機相互間協(xié)商來生成共同密鑰。生成的密鑰通過手工方式或安全信道秘密傳送。工控系統(tǒng)在監(jiān)控網(wǎng)絡層通過可信機構(gòu)生成SM9主密鑰,控制網(wǎng)絡層通過內(nèi)部生成SM9主密鑰,在通信過程中,通過密鑰協(xié)商生成SM4密鑰。
(3)密鑰保護和存儲
對所有的密鑰必須有強力有效的保護措施,提供密碼服務的密鑰裝置要求絕對安全,密鑰存儲要保證密鑰的機密性、認證性和完整性,而且要盡可能減少系統(tǒng)中駐留的密鑰量。密鑰在存儲、交換、裝入和傳送過程中的核心是保密,其密鑰信息流動應是密文形式。工控系統(tǒng)采用WBSM4白盒加解密表保護密鑰數(shù)據(jù)安全。
(4)密鑰更新和輪換
任何密鑰的使用都應遵循密鑰的生存周期,絕不能超期使用,因為密鑰使用時間越長,重復幾率越大,外泄可能性越大,被破譯的危險性就越大。此外,密鑰一旦外泄,必須更換與撤銷。密鑰裝入可通過鍵盤、密鑰注入器、磁卡等介質(zhì)以及智能卡、系統(tǒng)安全模塊(具備密鑰交換功能)等設備實現(xiàn)。密鑰裝入可分為主機主密鑰裝入和終端機主密鑰裝入,二者均可由保密員或?qū)S迷O備裝入,一旦裝入就不可再讀取。
(5)密鑰備份和恢復
應對密鑰丟失或損壞的情況,應該建立密鑰備份和恢復機制。密鑰備份是將密鑰的副本存儲在安全的地方,以便在需要時進行恢復。密鑰恢復應該受到嚴格的控制,以防止未經(jīng)授權(quán)的訪問。
(6)密鑰注銷和銷毀
當密鑰不再需要時,應進行安全的密鑰注銷和銷毀操作,以確保密鑰無法被恢復和再利用。密鑰注銷是將密鑰從活動狀態(tài)轉(zhuǎn)為非活動狀態(tài),以防止其被誤用。密鑰銷毀涉及物理銷毀密鑰介質(zhì)或?qū)γ荑€進行安全的擦除操作。
(7)密鑰審計和監(jiān)控
對對稱密鑰進行審計和監(jiān)控可以追蹤和監(jiān)測密鑰的使用情況,并可以及時檢測和應對可能的安全威脅。密鑰的使用情況、訪問權(quán)限和操作記錄應進行監(jiān)控和審計,并進行安全事件的報告和響應。
2 工業(yè)可編程控制系統(tǒng)通信安全技術方案研究
2.1 研究工控系統(tǒng)控制器與擴展I/O模塊之間高速總線的加解密方法技術
工業(yè)可編程控制系統(tǒng)控制器與I/O模塊之間高速總線的加解密方法采用SM9、SM4加密算法。其中,密鑰的生成及密鑰數(shù)據(jù)存儲均在TPCM中產(chǎn)生與保存。首先,通過SM9加密主密鑰生成接口、簽名主密鑰生成接口、協(xié)商主密鑰生成接口分別生成加密主密鑰、簽名主密鑰、協(xié)商主密鑰。這三類主密鑰,可結(jié)合ID信息用于生成用戶加密密鑰、用戶簽名密鑰、用戶協(xié)商密鑰。通過TPCM中的主密鑰,分別根據(jù)控制器ID、I/O模塊ID生成三類用戶密鑰,存儲在各個模塊當中,控制器用戶密鑰存儲于TPCM當中。
首先控制器與I/O模塊之間,通過SM9密鑰協(xié)商機制,進行密鑰協(xié)商。SM9密鑰交換協(xié)議流程如圖4所示。
圖4 SM9密鑰交換協(xié)議流程
通過密鑰協(xié)商,確定SM4密鑰,后續(xù)控制器與I/O模塊之間采用SM4CBC加密算法進行數(shù)據(jù)加密傳輸。
2.2 工業(yè)可編程控制系統(tǒng)監(jiān)控層網(wǎng)絡安全通信
控制系統(tǒng)監(jiān)控層網(wǎng)絡安全通信根據(jù)情況不同,分別采用兩種不同的加密通信方式。
(1)當通訊遠端與本端無同一可信機構(gòu)生成的SM9用戶加密(簽名、協(xié)商)密鑰時,控制系統(tǒng)采用安全套接字SSL技術。安全套接字層SSL協(xié)議是目前使用最廣泛的傳輸層安全通信協(xié)議,為應用數(shù)據(jù)安全傳輸提供了保障。但采用傳統(tǒng)密碼算法的SSL協(xié)議滿足不了我國商業(yè)密碼應用的需求,面對日益嚴峻的安全形勢,國家密碼管理局發(fā)布了國產(chǎn)密碼商用SM系列算法。
在工業(yè)控制系統(tǒng)的通信過程中引入基于國密算法的通信方式,是加強工業(yè)安全可控的要求,可以建設更為安全的工業(yè)網(wǎng)絡安全環(huán)境,增強工業(yè)控制系統(tǒng)的“安全可控”能力。
控制系統(tǒng)采用的安全通信組件支持SM2、SM3、SM4等國密算法和SM2國產(chǎn)密碼數(shù)字證書及基于SM2證書的SSL/TLS安全通信協(xié)議。組件與常用開源組件保持接口兼容。因此國產(chǎn)密碼通信加解密組件可以替代應用中的常用開源組件,并使應用自動具備基于國產(chǎn)密碼的安全能力。
當工控系統(tǒng)網(wǎng)絡單元接收到傳輸?shù)耐ㄐ艛?shù)據(jù)包時,首先對數(shù)據(jù)包按照TCP/IP數(shù)據(jù)幀結(jié)構(gòu)進行逐層分析,獲取加密后的應用層數(shù)據(jù)信息,然后將加密的數(shù)據(jù)信息發(fā)送加解密組件,利用已協(xié)商好的對稱密鑰,采用國產(chǎn)密碼SM4解密算法對加密的數(shù)據(jù)信息進行解密,從而獲得應用數(shù)據(jù)的明文信息,進行下一步處理。
當工控系統(tǒng)網(wǎng)絡單元收到需要加密的應用信息后,首先將明文的應用信息發(fā)送給TPCM,TPCM利用已協(xié)商好的對稱密鑰,采用國產(chǎn)密碼SM4解密算法對明文信息進行加密,生成加密后的密文應用信息,然后為密文應用信息安全TCP/IP數(shù)據(jù)幀格式添加TCP首部和IP首部,形成新的數(shù)據(jù)包,發(fā)送至網(wǎng)絡。安全通信協(xié)議會話建立過程如圖5所示。
圖5 安全通信協(xié)議會話建立過程
(2)當通訊遠端與本地端由同一可信機構(gòu)生成的SM9用戶加密(簽名、協(xié)商)密鑰時,采用SM9加密數(shù)據(jù)通信,與控制器與I/O模塊之間通信類似,通過SM9密鑰協(xié)商機制,進行密鑰協(xié)商。協(xié)商出SM4密鑰,并通過SM4進行加密數(shù)據(jù)傳輸。
該方法相較TLS加密通信,具有以下優(yōu)勢:
·無需證書:SM9密鑰協(xié)商是一種基于標識的密碼算法(IBC),它最大的優(yōu)勢就是無需證書。相比之下,TLS1.2雖然也提供了較高的安全性,但其在建立安全連接時通常需要使用數(shù)字證書進行身份驗證和密鑰交換。這意味著在使用TLS1.2時,需要管理和頒發(fā)大量的數(shù)字證書,增加了管理的復雜性和成本。而SM9密鑰協(xié)商則通過基于標識的方式,無需頒發(fā)和管理數(shù)字證書,從而大幅降低了管理成本。
·高效性:SM9密鑰協(xié)商具有運算效率高、算法安全模式實現(xiàn)靈活等特點。這使得在海量設備間的安全通信中,SM9密鑰協(xié)商能夠更快速地完成密鑰協(xié)商過程,提高了通信的效率和響應速度。而TLS1.2雖然也在握手過程中進行了優(yōu)化,減少了握手時間和網(wǎng)絡延遲,但其在處理海量設備間的安全通信時,可能仍然存在性能瓶頸。
·適用性:SM9密鑰協(xié)商在保障移動互聯(lián)網(wǎng)、大數(shù)據(jù)、工業(yè)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、車聯(lián)網(wǎng)等領域的數(shù)據(jù)安全方面有著得天獨厚的優(yōu)勢。這些領域通常需要處理大量的設備和數(shù)據(jù),對安全性和性能都有較高的要求。而SM9密鑰協(xié)商正是針對這些領域的特點而設計的,能夠滿足這些領域?qū)Π踩院托阅艿男枨蟆?/p>
3 結(jié)論
針對工業(yè)可編程控制系統(tǒng)通信過程中存在的安全問題,以及工業(yè)控制系統(tǒng)對系統(tǒng)整體的可靠性、穩(wěn)定性、安全性要求較高,本文針對工控系統(tǒng)密碼算法技術進行了研究,并對肖-來方案的白盒SM4方案進行了改進。我們通過對白盒SM4-CBC的“IV”進行處理,進一步提高了數(shù)據(jù)的安全性。基于此,我們設計了工控系統(tǒng)加密安全方案,并設計了控制系統(tǒng)的密鑰管理流程。工業(yè)控制系統(tǒng)通信網(wǎng)絡安全技術方案根據(jù)作用場景不同,設計了基于SM9、SM4加密算法的安全通信方案以及常規(guī)的基于TLS國密安全通信方案,確保了控制系統(tǒng)通信安全。
作者簡介:
賈 峰(1975-),女,遼寧營口人,副高級工程師,學士,現(xiàn)就職于和利時科技集團有限公司,研究方向為工控網(wǎng)絡安全、工業(yè)自動化。
參考文獻:
[1] 孫彥斌, 汪弘毅, 田志宏, 等. 工業(yè)控制系統(tǒng)安全防護技術發(fā)展研究[J]. 中國工程科學, 2023, 25 (6) : 126 - 136.
[2] 張曉明, 王麗宏, 何躍鷹, 等. 工業(yè)控制系統(tǒng)信息安全風險分析及漏洞檢測[J]. 物聯(lián)網(wǎng)學報, 2017, 1 (1) : 34 - 37.
[3] 王子驥. 工業(yè)互聯(lián)網(wǎng)安全通信協(xié)議與訪問控制關鍵技術研究[D]. 桂林: 桂林電子科技大學, 2024.
[4] 聞宏強, 李富勇, 趙一凡, 等. Modbus/TCP協(xié)議安全性分析與防護技術探討[J]. 物聯(lián)網(wǎng)技術, 2018, 8 (11) : 34 - 35.
[5] 張翔宇, 路來順. 工業(yè)控制系統(tǒng)網(wǎng)絡安全分析與研究[J]. 網(wǎng)絡空間安全, 2019, 10 (5) : 114 - 120.
[6] GB/T 22239-2019, 信息安全技術 網(wǎng)絡安全等級保護基本要求[S].
[7] 尚培. SMS4算法的白盒密碼算法設計與實現(xiàn)[D]. 成都: 電子科技大學, 2017.
[8] 林婷婷. 白盒密碼研究[D]. 上海: 上海交通大學, 2020.
[9] XIAO Y Y, LAI X J. A secure implementation of white-box AES[C]. In: Proceedings of 2009 2nd International Conference on Computer Science and Its Applications—CSA 2009. IEEE, 2009: 1–6. [DOI: 10.1109/CSA. 2009.
[10] 肖雅瑩. 白盒密碼及AES與SMS4算法的實現(xiàn)[D]. 上海: 上海交通大學, 2010.
摘自《自動化博覽》2024年11月刊