?

SM4分組密碼算法在RSSP-II鐵路信號安全通信協議中的應用

2020-08-22 06:48王一民
鐵路通信信號工程技術 2020年8期
關鍵詞:通信協議解密密鑰

左 林,劉 貞,王一民

(北京全路通信信號研究設計院集團有限公司,北京 100070)

1 RSSP-II安全通信協議簡介

RSSP-II鐵路安全通信協議規定了鐵路信號安全設備之間通過封閉式網絡或開放式網絡進行安全相關信息交互的功能結構和協議,可廣泛應用于高速鐵路、城際鐵路、城市軌道交通信號控制系統中。RSSP-II安全通信協議棧(以下簡稱協議棧)定義為一套跨平臺、可移植、能實現RSSP-II安全通信協議功能的軟件功能庫[1-3],其安全等級為SIL4級。

協議棧采用分層結構,可分為安全層(Safety Function Module, SFM)、 非 安 全 層(Communication Function Module, CFM)。其中,非安全層不承擔安全功能,主要實現協議棧與網絡傳輸層(如TCP)之間的適配及冗余管理。安全層承擔安全功能,處理經由非安全層傳輸的信息,并向應用提供可靠的信息。另外,為實現協議棧的可移植性,協議棧還提供了適配層,以適應不同的運行環境,如圖1所示。

圖1 協議棧分層結構示意圖Fig.1 Protocol stack hierarchical structure diagram

根據EN 50159-2標準,對于一般的傳輸系統而言,所有可能的威脅包括重復、刪除、插入、重排序、損壞、延遲和偽裝。協議棧的安全層能對所有7種威脅提供全面的防護,例如通過添加序列號防護消息的重排序、刪除、重復,通過三重時間戳(Triple Time Stamp, TTS)、執行周期(Execution Cycle, EC)等延遲防御技術防護消息的延遲,通過添加連接標識符(例如信源標識符和信宿標識符)防護消息的插入,通過加密解密技術防護消息的損壞和偽裝等。

2 協議棧加密解密技術

近年來,信息安全受到越來越廣泛的關注,加密解密技術成為研究的熱門領域。目前,RSSP-II鐵路安全通信協議標準規定的安全層加密解密技術具體做法是通過改進的三重DES(Triple Data Encryption Standard,3DES)算法對消息數據進行計算,進而得出8 Byte的消息驗證碼(Message Authentication Code, MAC),并將MAC添加至消息末尾,隨消息一同傳輸[4-5]。當接收方收到消息時,根據消息數據再次計算出MAC,并與消息末尾附帶的MAC進行比較。如果二者一致,則校驗通過,如果二者不一致,則說明數據受到破壞,應進行相應的安全處理。

3DES算法源于數據加密標準(Data Encryption Standard, DES)。DES算法于 1977年成為美國聯邦信息處理標準,是迄今為止世界上應用最為廣泛和流行的一種分組加密算法。該算法的消息分組長度為64 bit,密鑰長度為56 bit,通過初始置換、若干輪迭代運算和逆初始置換運算,最終得到密文。DES的解密和加密所使用的算法一樣,但子密鑰的使用順序相反,調整子密鑰的產生順序就可實現DES算法的解密。

隨著計算機技術的發展,計算機的處理能力顯著提升,DES算法可在短時間內被破譯,失去了加密的意義。因此,為了在現有設備上增強DES算法的健壯性,3DES算法被廣泛采用。3DES算法的信息分組長度仍然是56 bit,但密鑰長度是DES算法的3倍,達到168 bit。密鑰長度的增加提高了破譯難度,截止目前,3DES算法仍不能在短時間內被破譯。

3 國產密碼算法簡介

雖然既有的3DES算法難以被破譯,但仍存在以下兩點不足。首先,安全層雖然通過3DES算法計算出消息數據的MAC并添加至消息末尾,但消息數據仍然以明文形式傳輸,容易被竊聽。其次,3DES算法是國外提出的密碼算法,其核心技術受制于人,加密技術中甚至可能會被放置后門,對國家安全構成嚴重威脅。

因此,采用國內自主研發的通訊加密算法對消息數據進行加密是十分必要的。這樣不僅可以改變國內長期以來采用國際通用密碼算法體系及相關標準的現狀,從根本上擺脫對國外密碼技術和產品的過度依賴,也能夠實現信息安全自主可控,降低研發、維護等方面的成本,避免潛在的知識產權風險。

國產密碼算法是經過國家密碼局認定的國產商用密碼算法,主要有SM2、SM3、SM4等算法,可分為非對稱算法、哈希算法和對稱算法等幾類。其中,SM4分組密碼算法是國內自主設計的分組對稱密碼算法,分組長度為128 bit,密鑰長度也為128 bit。其加密算法與密鑰擴展算法均采用非線性迭代結構,運算輪數均為32輪。數據解密和數據加密的算法結構相同,但是輪密鑰的使用順序相反,解密輪密鑰是加密輪密鑰的逆序[6-8]。

4 設計

為采用SM4分組密碼算法替代協議棧既有的3DES算法,以計算消息數據的密文,軟件設計的總體思路如下。

1)SM4分組密碼算法與既有3DES算法共用非安全層和適配層,不改變協議棧的總體分層結構、定時器設計和調試設計,也不改變協議棧與應用軟件之間的接口。

2)安全層增加獨立的SM4分組密碼算法模塊,負責加密解密過程的具體實現,提供相應的接口。

3)安全層密鑰管理模塊增加SM4分組密碼算法的配置接口函數,用戶通過此接口函數將SM4分組密碼算法的密鑰提供給協議棧。密鑰管理模塊能對3DES算法的密鑰和SM4分組密碼算法的密鑰進行管理,包括驗證密鑰的正確性、密鑰是否過期等。

4)借鑒協議棧對3DES算法密鑰的處理方式,在每次連接建立前,由連接雙方各自產生一個4 Byte隨機數并進行交互,利用該隨機數和SM4分組密碼算法,對SM4分組密碼算法的密鑰進行加密,使用加密后的密鑰對用戶數據進行加密和解密。

5)協議棧兼容3DES算法和SM4分組密碼算法,針對兩種算法做分支處理,根據連接發起方用戶配置選擇采用何種算法。如果選擇采用SM4分組密碼算法,協議棧數據格式如表1所示。

表1 采用SM4分組密碼算法的協議棧數據格式Tab.1 Protocol stack data format using SM4 block cipher algorithm

除非安全層包頭外,其他數據內容均使用SM4分組密碼算法進行加密。用戶數據明文由64位CRC加以保護,接收方收到密文并完成解密后,應對CRC進行校驗。如校驗失敗,則丟棄數據,防護因傳輸誤碼等原因導致接收數據被改寫的情形。由于SM4分組密碼算法要求參與加密或者解密的數據分組長度必須是16 Byte的整數倍,因此數據末尾應根據數據長度相應補零。固定填寫的0x7F指示數據結尾,用于接收方檢查補零的數量。

由于連接發起方發送第一認證消息(AU1)時,尚未獲取到連接響應方的隨機數,因此AU1不加密,采用明文傳輸。另外,考慮到斷開連接指示消息(DI)應被及時響應,因此DI消息也不加密,采用明文傳輸。

5 測試驗證

為驗證采用SM4分組密碼算法后協議棧的功能,首先在PC機上進行了仿真測試。通信雙方采用的密鑰均為01 23 45 67 89 AB CD EF FE DC BA 98 76 54 32 10,發送方發送的明文數據也為01 23 45 67 89 AB CD EF FE DC BA 98 76 54 32 10。發送方的測試結果如圖2所示,明文數據經過SM4分組密碼算法加密,并添加了協議棧的包頭之后,形成75 Byte的密文數據。

接收方的測試結果如圖3所示,收到75 Byte的密文數據,再經過協議棧的解密處理,最終得到明文數據01 23 45 67 89 AB CD EF FE DC BA 98 76 54 32 10,與發送方發送的明文數據一致,證明SM4分組密碼算法在安全通信協議中得到成功的運用。

此外,利用自主化自動列車防護系統(ATP)與自主化無線閉塞中心(RBC)進行了半實物驗證。其中自主化RBC實物設備更新密鑰配置文件和GSM-R單元軟件,自主化ATP實物設備也更新密鑰配置文件和RCC板程序,二者之間通信采用RSSP-II安全通信協議,使用SM4分組密碼算法對數據進行加密解密。測試結果顯示,RBC能夠正常與車載ATP建立通信連接并控制列車運行,列車通過RBC管轄邊界時也能順利完成移交。

圖2 發送方仿真測試結果Fig.2 Simulation test results of sender

圖3 接收方仿真測試結果Fig.3 Simulation test results of receiver

6 結束語

提出采用中國國家標準SM4分組密碼算法代替既有的3DES算法,應用于協議棧安全層,對傳輸數據進行加密和解密,并成功完成了仿真和半實物驗證,可實現技術自主可控,并增強核心競爭力。未來,基于SM4分組密碼算法的RSSP-II安全通信協議棧還將在CTCS-1級和CTCS-4級列控系統中得到更廣泛的應用。

猜你喜歡
通信協議解密密鑰
幻中邂逅之金色密鑰
幻中邂逅之金色密鑰
炫詞解密
解密“一包三改”
密碼系統中密鑰的狀態與保護*
基于Wireshark的列控中心以太網通信協議解析器的研究與實現
炫詞解密
炫詞解密
TPM 2.0密鑰遷移協議研究
車載網絡通信協議標準化問題研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合