馮浩楠,付 偉,馬曉姣,潘 明
(1. 中國鐵道科學研究院集團有限公司 通信信號研究所,北京 100081;2. 國家鐵路智能運輸系統工程技術研究中心,北京 100081;3. 中鐵檢驗認證中心有限公司,北京 100081)
鐵路信號系統是保障鐵路運行安全的關鍵組成部分,隨著系統需求的變化和技術的發展,鐵路信號系統已成為復雜的網絡系統,系統中運行著多種類型的傳輸方式。若未知用戶或者設備誤入鐵路專網,可產生未知的數據格式或干擾數據,進而威脅整個鐵路信號系統。為了應對多種多樣的信息安全威脅,鐵路信號系統采用安全協議措施來進行防范,保證系統內傳輸數據內容的完整性和真實性。
目前,國內外鐵路信號系統采用的安全通信協議主要包括[1]FSFB/2通信協議、SUBSET 098規范、CSEE-LEU安全通信協議、Euroardio功能接口規范、PROFIsafe安全通信協議、CTCS3無線通信系統規范、RSSP-I協議[2-3]和RSSP-II協議[4-6],其中,RSSP-I和RSSP-II協議使用最為廣泛。文獻[7]針對RSSP-II協議的秘鑰部分提出了改進鑒別方案;文獻[8]對RSSP-II協議的安全加密技術進行了分析,并提出一種以AES和SM4為核心的MAC改進算法。上述研究均為針對特定加密算法的安全性分析,忽略了對安全函數運行的時效性分析,而時效性是包括鐵路信號系統在內的實時安全控制系統的重要性能評估指標之一[9]。本文在對鐵路通信協議安全算法特性分析的基礎上,通過進行對比實驗,對鐵路信號系統中常用安全算法的時效性進行量化分析,為鐵路信號安全通信協議安全算法的選取和改進提供了理論依據。
計算機系統網絡間的數據無失真安全傳輸特性體現在數據完整性和數據保密性2個方面。前者通過哈希函數,避免數據在代碼使用時的人為或者隨機修改;后者通過加密解密函數避免數據被非法獲取和篡改。
1.1.1 哈希算法
哈希算法是一種多對一映射,如公式(1)所示。

其中,S為原目標文本;H為映射函數,可以將S唯一映射為R,并且對于所有S, 具有相同的長度。由于是多對一映射,所以H的逆映射S=H-1(R)是不存在的。
哈希函數在文件校驗、數字簽名和鑒權協議方面都有廣泛應用,常用的包括MD5(Message-Digest Algorithm 5)碼和SHA(Secure Hash Algorithms)算法等。MD5碼可以產生128 bit的哈希值;SHA算法為安全雜湊算法,可以產生160 bit的哈希值,常用的SHA算法包括SHA256和SHA512算法。
1.1.2 加密解密算法
加密解密算法是一種一對一映射,如公式(2)所示。

其中,Ke為加密密鑰;E為映射函數,可以將給定的明文S結合加密密鑰Ke,唯一映射為密文R。同時存在另一個一對一映射S來實現解密,如公式(3)所示。

其中,解密秘鑰Kd將密文R唯一的映射為對應的原目標文本S。
塊加密算法是一種常用的加密解密算法,包括:Blowfish算法,Twofish算法,DES(Data Encryption Standard) 算 法 和 AES(Advanced Encryption Standard)算法。Blowfish是一個64 bit分組及可變密鑰長度的對稱密鑰分組密碼算法,可用來加密64 bit長度的字符串;Twofish是使用長度為256 bit的單個密鑰算法;DES算法針對64 bit分組進行數據加密,密鑰長度是56 bit。不同于DES算法,AES算法使用代換-置換網絡,優點是較易于實現且只需要很少的空間。
1.1.3 安全算法時效性
安全算法時效性函數T如公式(4)所示。

其中,TH為數據完整性安全算法處理產生的消耗時長;TE為數據保密性安全算法的加密處理消耗時長,TD為解密處理消耗時長;L為應用數據的長度;M為加密、解密過程中使用的工作模式。
根據中國鐵路信號系統自身特點,在計算機系統網絡安全通信協議的基礎上,鐵路信號安全通信協議總結了鐵路信號系統通信過程中的各種威脅形式,包括報文的重復、刪除、非法注入、改變順序、報文損壞、報文延遲、偽裝等,以及相應的應對技術措施,包括序列號、時間戳、超時、源和目的地標識符、反饋信息、身份鑒別過程、安全碼和加密技術。其中,RSSP-I和RSSP-II協議最具有代表性,廣泛應用于高速鐵路列控系統、城市軌道交通CBTC系統等多個安全控制系統中。RSSP-I協議運行環境是封閉環境,安全措施采用哈希函數的CRC校驗;RSSP-II協議運行環境為開放環境,安全措施采用MAC算法,即CBC模式下的TDES算法[10]。
鐵路信號系統包括邏輯安全計算機系統和安全通信計算機系統2部分,運行在封閉或者開放的傳輸環境中。上層的邏輯安全計算機系統實現應用數據的處理,下層的安全通信計算機系統采用安全通信協議實現數據的可靠傳輸。安全通信計算機系統包括安全功能模塊和通信功能模塊,通信功能模塊從傳輸系統獲取通信數據后提交給安全功能模塊,安全功能模塊通過哈希函數或加密解密函數處理后,將應用數據提交給邏輯安全計算機系統進行處理。鐵路信號系統數據處理架構原理如圖1所示。
選取2臺配置相同的PC機分別模擬鐵路信號系統的客戶端和服務器端。PC機的CPU型號為Intel Core i3 2.4 GHz,操作系統為Windows 7,測試軟件使用Turbo Power Lcokbox 3加密庫文件。客戶端的測試軟件對不同長度的應用數據進行安全算法處理后發送到服務器端,同時對哈希算法和加密算法的運行時間進行計時統計;服務器端測試軟件接收應用數據并解密,同時計錄解密數據的處理時間。
測試對象為鐵路通信領域安全算法,哈希算法選取常用的4種算法,包括MD5、SHA1、SHA256、SHA512;加密解密算法選取常用的6種算法,包括 Blowfish、Twofish、DES、AES128、AES192、AES256,這些算法的計算模式分為3種,包括電子密碼本模式(ECB,Electronic Codebook)、密碼塊鏈模式(CBC,Cipher Block Chaining)、密文反饋模式(CFB,Cipher FeedBack)。

圖1 鐵路信號系統數據處理架構原理圖
采用MD5、SHA1、SHA256、SHA512 4種哈希加密函數加密不同長度的應用數據,哈希函數的處理計算時間TH如表1所示,計算時間對比如圖2所示。

表1 不同長度應用數據哈希函數計算時間列表
如圖2所示,各種哈希函數的計算時間都隨應用數據長度增長而增長,SHA512算法消耗時間最長,SHA1算法計算時間最短,MD5算法、SHA256算法和SHA1算法的消耗時間處于同一數量級,約為SHA512算法時間的一半。但MD5和SHA1型哈希函數容易受到沖撞攻擊[11],因此,SHA256哈希函數為數據完整性安全算法的優選方案。

圖2 不同長度應用數據哈希函數計算時間對比圖
2.2.1 數據長度影響分析
選取不同長度的應用數據,測試在不同工作模式下各種安全算法加密解密操作的性能。測試的數據保密性安全算法包括Blowfish、Twofish、DES、AES128、AES192和AES256,工作模式包括ECB、CBC、CFB。3種工作模式下安全算法的加密處理時間和解密處理時間,如表2~表4所示。

表2 在ECB模式下不同加密解密算法的數據處理時間列表

表3 在CBC模式下不同加密解密算法的數據處理時間列表

表4 在CFB模式下不同加密解密算法的數據處理時間列表
數據保密性安全算法時效性與應用數據長度和工作模式有關。本文任選一種工作模式,定量研究各個數據保密性算法處理時間與應用數據長度變化關系。圖3展示了在ECB模式下,6種加密解密算法在不同應用數據長度下的加密解密處理時間總和TE+TD。由圖3可知,與數據完整性安全算法類似,測試的6種數據保密性安全算法處理時間都隨著應用數據長度增加而增長;對于相同長度的應用數據,Twofish算法的加密、解密處理時間之和最短,約為其他算法的一半,DES算法消耗時間最長。因此,建議保密性安全算法優選Twofish算法。

圖3 ECB模式下6種保密性安全算法加密解密時間之和示意圖
2.2.2 工作模式影響分析
確定Twofish算法為優選算法后,本文進一步分析工作模式對安全算法的時效性影響。如圖4所示,在加密解密算法對不同長度數據進行加密、解密的操作過程中,工作模式的不同對時效性影響較小,在CFB模式和ECB模式下算法運行時間幾乎一致,CBC模式的運行時間略長于前兩者。與ECB模式相比,CFB模式在安全性方面更優[12],因此在鐵路信號安全通信協議設計過程中,工作模式優選CFB模式。

圖4 Two fish算法在3種工作模式下加密解密時間之和示意圖
2.2.3 加密解密算法時效性對比分析
圖5對比了Twofish算法在CFB模式下對不同長度數據的加密和解密處理時間。由圖5可知,解密算法耗時大于加密算法。伴隨著應用數據長度的增加,解密算法耗時增速大于加密算法,當處理長度為1 024字節的應用數據時,Twofish算法的解密算法耗時為加密算法耗時的1.09倍,而當處理長度變為32 768字節時,解密算法耗時為加密算法耗時的1.34倍,增長了22%。

圖5 Two fish算法在CFB模式下對不同長度數據的加密、解密時間對比示意圖
安全算法作為鐵路信號系統處理過程中的一門重要技術,其時效性對評估整個鐵路信號系統性能、設計信號系統安全傳輸協議具有重要的指導意義。本文通過搭建仿真環境對常見的鐵路安全通信協議中安全算法時效性進行了定量評估,為鐵路安全通信協議提供了理論支持。隨著計算機系統的飛速發展,先進的安全計算機體系、高效的安全算法不斷涌現,將有力地推動鐵路信號系統改造升級,成為新的研究方向。