蔣 寧,林 滸,尹震宇,鄭飂默
1(沈陽航空航天大學工程訓練中心,沈陽110136)
2(中國科學院沈陽計算技術研究所,沈陽110168)
3(沈陽高精數控智能技術股份有限公司,沈陽110168)
工業控制網絡因逐步引入工業以太網而存在脆弱性[1].工業控制網絡中通信數據保密性是信息安全的一個方面.數據保密性的目標需要確保防止通信數據遭到被動攻擊.
通信數據保密性需求的因素包括:
1)數據本身的安全性.防止通信數據遭到被動攻擊,如信息泄露、流量分析等.
2)會話密鑰的安全性.通信的雙方傳遞會話密鑰不被非授權的第三方獲知.
通信數據的安全性可以采用密碼技術實現,通信密鑰的安全性采用可信通道的技術實現.
由于在工業控制網絡中,設備的計算資源、存儲資源和網絡傳輸資源均有限,同時對處理數據的時限有要求,工業控制網絡中通信數據保密性有其獨特的需求:資源成本較低和時間成本較低.因此采用的技術應具有以下特征:保證運行速度,耗時較少;保證消耗較少的資源;能夠安全分發會話密鑰.
針對資源受限場景的輕量級密碼機制研究,近年來學者們提出了一些解決方案.在國際上,Ramanjaneyulu 等人提出了用于即時通信系統的加密機制[2],Muslum 研究了物聯網中降低端到端加密時延的機制[3],Habib 等人研究了物聯網中提升輕量級密碼速度的機制[4].在國內,石偉提出了一種的移動支付加密方案[5],周小艷實現了網絡隱私保護的結合輕量級密碼機制的協議設計[6],劉亞麗實現了應用于移動P2P 通信系統的結合輕量級密碼機制的協議設計[7],代學俊研究了用于物聯網的輕量級對稱密碼機制[8].
從近年來國內外的研究來看,現有的針對資源受限場景的研究,大多集中在移動通信、移動支付、物聯網等領域,實現的方法主要是直接應用輕量級密碼機制或將其與原有協議進行結合.在工業控制網絡領域,兼顧安全和效率的輕量級密碼機制研究有待充實.
本研究在工業控制網絡采用兼顧安全和效率的輕量級密碼機制NTRU(Number Theory Research Unit),NTRU 是標準IEEE1363 中推薦的非對稱密碼系統[9].
為了更加進一步提高效率,本研究采用混合密碼機制.該機制是將對稱密碼的高效率優勢和非對稱密碼的高安全性優勢相結合的機制.采用非對稱密碼系統安全地進行密鑰的分發,安全風險較低,采用處理速度較快的對稱密碼系統對通信數據進行加密.以往針對資源受限的混合密碼機制研究中,有研究采用通信數據使用會話密鑰和AES(Advanced Encryption Standard)進行加密和解密,而會話密鑰使用NTRU 進行加密和解密[10,11].
為了滿足工業控制網絡中通信數據保密性需求,本文針對周期性數據進行研究,提出了一種基于NTRU 的端到端輕量級混合密碼機制,NTRU-RC4 機制,該機制既能實現數據安全性又能實現會話密鑰安全性,兼顧工業控制網絡中通信數據保密性的安全和效率.
從時域的角度,數字化車間數控系統的通信數據包括兩種:周期性數據和非周期性數據.周期性數據主要包括數控執行數據、調度數據,以及設備的測量和控制數據;非周期性數據主要包括數控程序的傳輸文件,技術人員的操作指令,數控設備報警等.
工業控制網絡中的數據主要是周期性數據,數據量相對穩定,變化量較小,對時延要求嚴格.周期性數據是既定的時間驅動數據,間隔時間固定,數據長度固定且較短.而非周期性數據相對隨機,變化量大,對時延要求不如周期性數據嚴格.因此工業控制網絡中重點研究周期性數據的加密和解密效率.
從加密解密位置的角度,密碼方式分為有鏈路密碼方式和端到端密碼方式.不同密碼方式的比較如表1 所示.

表1 密碼方式的比較Table 1 Compare of cipher method
從不同密碼方式的比較可以看出,采用端對端的密碼方式主要的優勢有三點:用戶可以靈活控制;有更高安全性[12];可以進行細粒度的安全控制[13].本研究在工業控制網絡中采用端到端的密碼方式.
從時間消耗和資源消耗的角度,有傳統密碼系統和輕量級密碼(Lightweight Cryptography)系統之分.輕量級密碼系統是一類低功耗、低計算成本的密碼系統[14].輕量級密碼系統的目的是在資源受限環境中提供有效的安全性.輕量級密碼系統可為設備定制[15].輕量級密碼系統在設計實施過程中考慮算法安全、算法性能和算法執行成本之間的權衡關系[16].算法執行成本是算法輕量級的關鍵所在[17].
輕量級密碼系統,包括輕量級對稱密碼系統和輕量級非對稱密碼系統.NTRU 是 1996 年由 J.Hoffstein、J.Pipher 等提出的一種輕量級非對稱密碼系統,其加解密過程是基于環上多項式代數運算[18].NTRU 算法包括密鑰產生算法、加密算法(E 運算)、解密算法(D 運算)[19].NTRU 優越的特性,具體表現在兩個方面:速度方面和安全方面.
在速度方面,NTRU 加密算法和解密算法的時間復雜度均為O(N2)[20],而其他的非對稱密碼系統的時間復雜度與NTRU 相比較高,如RSA(Rivest-Shamir-Adleman),其時間復雜度為O(N3).
在安全方面,NTRU 是基于尋求一個最短矢量的困難問題(Shortest Vector Problem,SVP),SVP 問題是個 NP-難問題[21],它比RSA 等其他非對稱密碼系統基于數學問題相比較復雜性更高.

表2 NTRU 參數集Table 2 NTRU parameter sets
NTRU 根據不同的安全級別可以進行不同的參數集選擇[22].NTRU 參數集如表2 所示[23].
對稱密碼系統從加密模式上進行分類,可以分為分組密碼(Block Cipher)和流密碼(Stream Cipher).分組密碼每次處理特定長度的一塊數據的算法,這塊數據即為分組,一個分組的比特數目為分組長度.以往研究使用的AES 密碼系統是分組密碼,如果明文長度超過分組長度,需要對算法進行迭代,以便對整個明文全部進行加密.對于成塊的非周期性數據,如文件傳輸等,使用分組密碼比較適用.而對于長度較短的周期性數據進行加密時,流密碼更加適用.
流密碼結構中,密鑰輸入到一個偽隨機字節發生器,輸出隨機的密鑰流.密鑰流和明文流的每一個字節進行對位異或運算,得到一個字節密文.通過設計偽隨機字節發生器,流密碼可以提供與分組密碼一樣的安全性.
為了能夠滿足工業控制網絡通信數據安全性需求,并且達到時間限制和資源限制的要求,節省網絡帶寬,針對工業控制網絡中的周期性數據,本研究將已有研究的混合密碼機制進行改進,提出NTRU-RC4 機制,其中,非對稱密碼系統采用NTRU,對稱密碼系統采用流密碼RC4.RC4 在實際中大量應用,是流密碼的核心算法之一[24].RC4 密鑰長度可變,面向字節操作[25].
混合密碼系統中運用了對稱密碼系統和非對稱密碼系統,將非對稱密碼的高安全性優勢和對稱密碼的高效率優勢相結合,其中存在密鑰長度平衡的問題.無論其中任何一方的密鑰強度較低,都可能遭到集中攻擊,因此對稱密碼系統和非對稱密碼系統的密鑰應具備相等的強度[26].從長期通信的角度考慮,非對稱密碼系統的密鑰強度應不低于對稱密碼系統.因為會話密鑰只影響本次通信的數據,而非對稱密碼系統的密鑰影響所有通信的數據[27].
本研究改進的端到端輕量級混合密碼機制中,綜合考慮工業上的安全需求和性能需求,首要確定NTRU 安全級別采用工業強度,相當于128bits 對稱密碼系統,其參數集為NTRU_EES439EP1.由于RC4 密鑰長度可變,從密鑰長度平衡的角度,本研究采用RC4 的密鑰長度為128bits.
本研究提出的基于NTRU 的端到端輕量級混合密碼機制,稱為NTRU-RC4 機制,其處理過程如圖1 所示.

圖1 NTRU-RC4 機制Fig.1 NTRU-RC4 mechanism
NTRU-RC4 機制中,非對稱密碼系統采用NTRU,用于加密解密會話密鑰,對稱密碼系統采用流密碼RC4,用于加密解密周期性數據.

圖2 NTRU-RC4機制發方流程Fig.2 Sender flowchart of NTRU-RC4 mechanism

圖3 NTRU-RC4機制收方流程Fig.3 Receiver flowchart of NTRU-RC4 mechanism
NTRU-RC4 機制發方流程如圖2 所示.
NTRU-RC4 機制收方流程如圖3 所示.
應用于周期性數據的端到端輕量級混合密碼機制的測試驗證使用中科院沈陽計算技術研究所的藍天GJ301 系列數控系統.在測試原型系統中,GJ301 數控系統和工作站筆記本通過工業交換機進行通信.GJ301 的 CPU 型號為 Intel AtomTMN450 @1.66GHZ.運行的操作系統為 Linux,內核版本為2.4.29.工作站筆記本的CPU 型號為Intel CoreTM2 Duo P8400 @2.26GHZ.運行的操作系統為Windows 7.
原型系統中,GJ301 數控系統運行客戶端程序,工作站筆記本運行服務器端程序,兩個程序在傳輸層進行通信.客戶端程序對周期性數據采用NTRU-RC4 機制進行加密并發送,服務器端程序進行解密獲得明文,之后服務器端再把明文數據采用NTRU-RC4 機制進行加密并發送,客戶端程序進行解密獲得明文.對于客戶端程序來說,分別加密和解密了周期性數據,測試驗證中的時間數據均在客戶端程序上測試獲得.

圖4 原型系統Fig.4 Prototype system
原型系統如圖4 所示.
在混合密碼機制中,NTRU 算法并不是直接加密通信數據,而是加密會話密鑰,即128bits 會話密鑰.測試驗證中采用參數集NTRU_EES401EP2 的測試驗證結果作為基準,將參數集NTRU_EES439EP1 的測試驗證結果與之比較,以驗證NTRU-RC4 機制中NTRU 密鑰長度選擇的安全與效率.原型系統NTRU 處理會話密鑰的平均時間如表3 所示.

表3 NTRU 處理會話密鑰的平均時間Table 3 Average time of processing session key with NTRU
上述測試驗證結果使用圖示描述,如圖5 所示.

圖5 NTRU 處理會話密鑰的比較Fig.5 Compare of processing session key with NTRU
從處理會話密鑰的測試驗證結果可知,對于不同的參數集,由于會話密鑰長度相對于通信數據而言較短,處理會話密鑰的平均時間均不超過1ms.參數集NTRU_EES439EP1 處理會話密鑰的時間比NTRU_EES401EP2 有所增加,加密會話密鑰時間增加0.05ms,解密會話密鑰時間增加0.12ms.但從總體的角度,NTRU 處理會話密鑰的時間較短.因此本研究提出的NTRU-RC4 機制中,使用 NTRU 算法的參數集 NTRU_EES439EP1 處理會話密鑰能夠達到安全與效率的兼顧.
NTRU-RC4 機制的測試驗證中設置周期性數據的長度為256 字節,NTRU 采用的參數集為NTRU_EES439EP1.為了與先前研究進行比較,測試驗證進行了兩次,在第二次測試驗證時,周期性數據使用AES(采用密鑰長度128bits)進行加密和解密,會話密鑰使用NTRU 進行加密和解密,先前研究中的機制在本研究中稱為NTRU-AES 機制.

表4 處理周期性數據的平均時間Table 4 Average time of processing periodic data
兩種機制的測試結果如表4 所示.
上述測試驗證結果使用圖示描述,如圖6 所示.

圖6 處理周期性數據平均時間比較Fig.6 Compare of average time of processing periodic data
從處理周期性數據的測試驗證結果可知,對于周期性數據的加密操作和解密操作,本研究提出的NTRU-RC4 機制比NTRU-AES 機制的效率都有所提升.對于加密操作,NTRURC4 機制的時間降低了0.03ms,效率提升2.00%;對于解密操作,NTRU-RC4 機制的時間降低了 0.37ms,效率提升8.83%.兩種機制在處理周期性數據時,解密的平均時間均高于加密的平均時間,因此解密操作的效率提升更具實際意義.測試驗證結果表明,NTRU-RC4 機制的解密效率提升幅度比加密效率提升幅度更大.如前所述,在工業控制網絡中,很多交互控制類的數據都是較短的數據流,對實時性能有所要求,采用本研究提出的NTRU-RC4 混合密碼機制進行加密和解密能夠提升實時性能.
綜上,本研究提出的NTRU-RC4 機制能夠有效實現工業控制網絡中通信數據的保密性,既實現了數據保護,又實現了會話密鑰保護.對于周期性數據,通信數據采用流密碼RC4進行加密解密,會話密鑰采用非對稱密碼系統NTRU 的NTRU_EES439EP1 參數集進行加密解密,與以往研究的機制相比具有較少的時間消耗.
針對工業控制網絡中周期性數據保密性問題,提出了基于NTRU 的端到端輕量級混合密碼機制,NTRU-RC4 機制.在NTRU-RC4 機制中,流密碼RC4 用于加密和解密數據,非對稱密碼系統NTRU 用于加密和解密會話密鑰,這種混合密碼機制適合工業控制網絡的計算資源受限、時限要求的情況.本研究對NTRU-RC4 機制進行測試驗證,同時與其他研究采用的NTRU-AES 機制進行比較.測試驗證結果表明,對于周期性數據,NTRU-RC4 機制有效且高效,可以滿足工業控制網絡中周期性數據的保密性的獨特需求.