郭 偉,任昭錦,劉 景,張文芳,饒 偉,王小敏
(1.西南交通大學 信息科學與技術學院,四川 成都 611756;2.西南交通大學 信息化與網絡管理處,四川 成都 611756;3.中鐵信弘遠(北京)軟件科技有限責任公司,北京 100038)
列車運行控制系統(以下簡稱“列控系統”)是保障高速鐵路運營安全、提高運營效率的核心技術裝備,是高速鐵路的中樞神經。2020年8月,中國國家鐵路集團有限公司發布的《新時代交通強國鐵路先行規劃綱要》中明確指出,將自主研發新型智能列控系統,即利用5G通信、北斗衛星導航技術等構建空天地一體化的列控系統。
自從5G系統的第一階段標準R15(Release 15)發布以來,5G標準一直在不斷演進之中,目前5G的第二階段標準R16已經凍結,R17正在制定過程中。5G規劃中的諸多特性,如網絡切片、移動邊緣計算、超高可靠低延時通信等,均對提高目前鐵路列控系統的效能有著積極作用。在基于5G鐵路專網(5G-R)的列控系統的相關研究中,信號系統的通信安全性是其中至關重要的一環。本文將在對高鐵列控系統安全現狀進行調研和分析的基礎上,結合5G系統的安全特性和發展趨勢,給出面向未來高速鐵路列控系統應用的5G鐵路專網信號安全通信架構設計方案。
中國列車運行控制系統(Chinese Train Control System,CTCS)共分為5級,目前投入實用的最高級別是CTCS-3級,主要用于300 km/h以上的客運專線。CTCS-3級主要依靠軌道電路檢查線路占用情況,并將之通過車站聯鎖(Computer-Based Interlocking,CBI)發送給無線閉塞中心(Radio Block Center,RBC);列車則通過軌旁鋪設的地面應答器得到相應的定位信息,并通過GSM-R無線鏈路發送給RBC;RBC根據列車位置以及前方軌道占用情況計算生成相應的行車許可,再通過GSM-R鏈路傳送給車載列車超速防護系統(Automatic Train Protection,ATP)以控制列車運行[1]。在上述過程中,信號設備之間的信息交互,主要是通過開放式網絡進行。因此,在CTCS-3級列控系統(以下簡稱“C3系統”)中,信號設備間的通信安全對于保障高速鐵路的安全運營有著至關重要的作用。
為了增強列控系統的通信安全,我國參照歐洲ETCS-2級列車控制系統的相關標準,在 C3系統規范中制定了2個配套的安全子協議,即《CTCS-3級列控系統無線通信功能接口規范》[2](對應ETCS Subset-037[3])和《CTCS-3級列控系統規范:鐵路信號安全通信協議-Ⅱ》(Railway Signal Safety Protocol-Ⅱ,RSSP-Ⅱ)[4](對應ETCS Subset-098[5])。Subset-037又被稱為歐洲無線(Euroradio,ER)安全層,采用對等實體認證、消息認證碼(Message Authentication Code, MAC)等安全機制,為RBC到車載ATP之間的端到端安全傳輸提供數據來源認證,并保障其完整性,防范可能的篡改和偽造。Subset-098則被用于保障相鄰RBC之間通過地面鏈路進行的安全傳輸,其主要安全功能被分為2層:一層是消息鑒定安全層(Message Authentication Safety Layer, MASL),基本等效于ER安全層;另一層是安全應用中間子層(Safe Application Intermediate sub_layer, SAI),其主要功能是在MASL層所提供的安全防護基礎上,額外為通信數據包添加序列號、執行周期計數器或三重時間戳校驗標志符,防范對通信數據包的重復、亂序、插入、刪除和延遲。需要注意的是,我國的C3系統中將RSSP-Ⅱ協議的適用范圍擴大到了整個地面信號傳輸網絡,因此地面信號設備之間的安全數據交互,也采用了RSSP-Ⅱ協議進行防護。CTCS-3級列控系統及其防護機制示意見圖1。
由圖1可見,目前我國C3系統的安全防護機制分為三部分:①由GSM-R網絡提供的相關安全機制,主要包括GSM-R網絡端對ATP的單向鑒權和基站到ATP電臺間的空中接口加密;②由ER安全層提供的RBC到ATP之間的端到端安全服務;③由RSSP-Ⅱ協議為信號安全設備(RBC、CBI、CTC、TSRS等)通過地面信號傳輸網絡(主要是信號安全數據網和調度集中通信網)進行安全相關信息交互所提供的安全防護[6-7]。有鑒于RSSP-Ⅱ協議的安全核心仍然是基于ER安全層,所以實際上整個列控系統的核心通信安全防護機制只有兩層,即外層的GSM-R空口鏈路安全機制和內層的ER安全層。與此同時,GSM-R的安全機制完全繼承自公網GSM系統,存在包括空口加密被破解等諸多安全缺陷[8],已無法提供任何安全保護,所以目前C3系統的安全運行幾乎完全依賴于ER安全層。
針對ETCS-2級列控系統的安全性分析工作始于2010年,由英國政府和鐵路行業主導,重點對系統規范進行安全審計和評估,以確定可能存在的系統性弱點并給出改進意見。該項研究[9]指出,由于ER安全層無法提供機密性服務,且GSM-R的安全機制已被完全破解,攻擊者可以入侵GSM-R網絡,以中間人攻擊形式竊聽到ETCS的列控指令和其他敏感信息,并向車載ATP發送緊急停車指令(為了保證緊急指令的實時性,E2和C3標準規定無條件緊急停車和有條件緊急停車指令不受ER安全層保護。),造成列車停運并影響鐵路系統的運營秩序。該項分析關注到ER安全層核心消息認證碼(ER-MAC)算法的安全性,但并未深入分析,僅建議將ER-MAC底層的DES算法升級為AES。
2012年,受原鐵道部項目資助,西南交通大學研究團隊開展了對CTCS-3級列控系統的安全性分析,針對ER-MAC算法提出了一種“部分密鑰恢復+偽造攻擊”方案[10],將攻擊復雜度從蠻力窮搜密鑰所需的2156次MAC運算,降低到了僅需232.5個已知明文和3×256次離線MAC運算,其后即可在線實時偽造包含列車行車許可在內的任意車地傳輸報文。2017年,英國伯明翰大學的一個研究小組[11]針對ER安全層獨立再現了上述偽造攻擊,并公開了完整的攻擊細節,其方案與文獻[10]僅有輕微差異。上述攻擊的成功率主要取決于攻擊者能否在密鑰生存周期內(即未發生RBC切換)成功獲得一對MAC碰撞消息。根據生日攻擊原理,獲得MAC碰撞的概率與密鑰生存周期內車地間交互的信息包數目直接相關。當車地間采用GSM-R鏈路進行傳輸時,受限于較低的傳輸速率(9.6 kbps),即使重復攻擊上萬次,成功率仍低于10-5,而當平均傳輸速率提高到10 Mbps時,僅需200次重復攻擊,成功率即可接近50%。這一模擬結果驗證了文獻[11]與英國鐵路安全與標準委員會的共識,即上述攻擊對GSM-R鏈路暫時尚無法構成實際威脅,但將ER-MAC算法沿用到下一代傳輸速率更高的鐵路車地通信系統(如LTE-R和5G-R)上會存在較大安全隱患,必須進行算法更新。需要注意的是,我國C3系統的地面信號傳輸網絡同樣使用ER-MAC算法,而且地面信號設備之間交互的數據量更大,在線時間更長,因此受到上述攻擊的威脅也更大。
基于5G 通信和北斗衛星等技術所構建的空天地一體化列控系統[12]是我國高速鐵路列控系統的發展方向。在基于5G-R的列控系統中,車載設備將不再單一連接到RBC,而是可以實現車與車、車與各類軌旁設備、車與衛星之間的萬物互聯,最大程度地提高列控系統的安全性和行車效率。
以研制中的西部高原列控系統[12-13]為例,該系統采用移動閉塞,具備基于“輪速傳感器+應答器+北斗定位”的多源融合自主定位功能,取消了維護保養復雜、可靠性較差的軌道電路。地面設備除了與C3相同的ATP到RBC的車地鏈路,還增加了臨時限速服務器(Temporary Speed Restriction Server, TSRS)與ATP之間的鏈路,用于向ATP發送電子地圖、北斗差分數據等信息,矯正北斗衛星定位誤差。車載設備包括ATP和EOT列尾設備,其中EOT會通過5G無線鏈路向ATP發送風壓、位置、速度等信息,從而完成列車自主完整性檢查。
規劃中的下一代列控系統需實現列車主動防護功能[14-15],前車可以將位置、狀態等信息通過車車通信發送給后車,使后車增加了獲取前車位置的渠道,增強了主動防護能力。此外,文獻[12]所提出的基于5G的鐵路全自動運行系統,還進一步增加了列車自動駕駛(Auto Train Operation, ATO)單元與CTC之間的雙向通信,ATO將接收CTC發送的遠程控車指令,同時發送列車運行狀態給CTC,還可將列車運行前、后方的視頻,以及車內視頻監視信息上傳到 CTC。
綜合上述列控系統的特點,給出基于5G的新型列控系統通信架構參考圖,見圖2。圖2中,為了降低通信延遲,將RBC下沉到移動邊緣計算節點。

圖2 基于5G的新型列控系統通信架構參考圖
新通信架構改變了原有ATP與RBC之間一對一的通信關系,ATP/ATO既需要與不同地面設備(RBC、TSRS、CTC)交互數據,還需要與本車的EOT,以及前后車的ATP/ATO進行通信,地面設備之間同樣需要交互信號安全數據。在原C3系統的通信架構下,只需RBC掌握管轄范圍內所有ATP的對稱認證密鑰,即可為后續安全鏈接派生會話密鑰并保護通信安全;而在新架構下,由于通信參與方多且復雜(如圖2所示的通信場景,當RBC管轄范圍內有n列車時,即需要4n+(n-1)n/2+3對對稱密鑰),而且隨著列車運行,還會在不同區段的地面設備之間不斷切換,因此基于對稱密碼機制的密鑰管理體系已不再適用。
5G標準目前已經演進到了第三階段(Release17),但現有安全標準主要側重于保護控制面數據,而對用戶面數據的保護仍存在一定缺陷,單獨使用5G安全機制尚無法保證高鐵車地通信鏈路的安全。
目前5G系統無法為用戶面提供真正意義上的端到端安全。在4G時代,LTE系統考慮到了eNB可能被攻擊者入侵,因此在傳統的接入層(Access Stratum, AS)安全機制基礎上,增加了非接入層 (Non-Access Stratum, NAS) 安全。經NAS層發送的控制面數據在eNB處不會被解析,而是以密文形式轉發,進入核心網之后才被解密。然而,LTE所增加的NAS層僅針對控制面,而用戶面安全機制均在eNB處終止,所有用戶數據都將被解密后再經由網絡域安全機制(IPSec)重新打包后向核心網進行轉發。這也使得eNB一旦被入侵,攻擊者可以直接獲取解密后的用戶面數據。5G系統基本沿用了LTE對控制面和用戶面的處理策略,改進之處在于gNB被分為了集中單元(Centralized Unit, CU)和分布單元(Distributed Unit,DU)兩層,新空口(New-Radio, NR)中負責安全的PDCP協議可后移至CU處終結。CU作為集中節點,可以得到更好的物理安全防護,但仍存在被物理入侵后泄露用戶面數據的可能。
5G-NR的完整性保護方案尚無法滿足高鐵車地鏈路的安全性需求。相較于機密性保護,高鐵車地信號傳輸鏈路對完整性保護有更為迫切的需求。3G、4G系統僅針對控制面數據提供完整性保護。5G系統從R15版本起,為用戶面提供了可選的完整性保護,但其沿用了4G、5G控制面所采用的NIA1、NIA2、NIA3算法,僅支持最高64 kbps的傳輸速率[16]。超出這一速率上限的用戶面數據將無法使用完整性保護功能,而這顯然與未來多業務高帶寬車地通信鏈路的需求相互矛盾。與此同時,3GPP 的5G-NR提供的3種機密性保護算法NEA1、NEA2和NEA3(分別對應Snow3G、AES-CTR和ZUC),均為序列加密方式。序列密碼的原理決定了,如果沒有完整性保護,在已知明文條件下,攻擊者可實現對傳輸數據的篡改[17]。
上述5G系統的安全缺陷,決定單一依靠5G自身安全機制,尚無法為列控系統通信安全提供足夠保護,仍需根據列控系統實際,定義額外的端到端安全層。
在現有C3列控系統的核心安全協議ER層中,除了使用ER-MAC算法對傳輸消息提供數據來源認證和完整性保護外,在信號設備間建立安全連接過程中,同樣基于ER-MAC算法完成了對等實體認證和會話密鑰派生,ATP只需存儲與沿線RBC建立安全連接所需的對稱認證密鑰,密鑰管理相對簡單。然而隨著列控系統的不斷發展,其通信架構將愈加復雜,沿用現有的依靠密鑰生成中心KGC為每一對通信雙方分配對稱認證密鑰的方式,將會帶來巨大的密鑰管理難度和運營成本。因此,本文提出基于國密SM9標識密碼算法構建面向5G萬物互聯場景的列控設備間認證與密鑰協商(Authentication & Key Agreement, AKA)機制,替代現有的方案,在保證系統安全性的同時降低密鑰管理的復雜程度。
國密算法SM9[18]是一種基于雙線性對的標識密碼(Identity-based Cryptography, IBC),直接使用用戶標識(如證件號、郵箱地址、手機號和物理地址等)和系統參數計算用戶公鑰,由密鑰生成中心KGC生成各個用戶的私鑰。IBC是一種無證書的公鑰密碼體制,避免了復雜的證書管理流程,用戶在進行密鑰交換前,無需交換和檢驗證書,極大地降低了密鑰交換過程的通信量和復雜程度,且可以支持對海量用戶進行標識。在列控系統中,每一個設備均有一個11位的CTCS ID[19],基于此編號即可唯一地標識用戶并以此派生用戶的IBC公鑰。
雙線性對定義在橢圓曲線群上,SM9使用了安全性能好、運算速率高的R-ate對。設(G1, +)、(G2, +)、(GT, ·)是3個循環群,G1、G2、GT的階均為素數N(N>2191)。P1為G1的生成元,P2為G2的生成元,存在G2到G1的同態映射ψ,使得ψ(P2)=P1。雙線性對e是G1×G1→GT的映射,滿足如下條件:
(1)雙線性性:對任意的P∈G1,Q∈G2,a、b∈ZN,有e([a]P, [b]Q)=e(P,Q)ab。
(2)非退化性:e(P1,P2)≠1GT。
(3)可計算性:對任意的P∈G1,Q∈G2,存在有效的算法計算e(P,Q)。
基于SM9的列控設備安全連接建立流程見圖3,其中共包含3個輔助函數:Hashv(·)為基于國密SM3算法實現的輸出長度為v比特的雜湊函數;H1(Z,n)為輸入為字符串Z和整數n,輸出為h1∈[1,N-1]的雜湊函數,H1(Z,n)需要調用Hashv(·);KDF(Z,klen)為輸入為字符串Z和整數klen的密鑰派生函數,輸出長度為klen的密鑰比特串K。SM9算法的原理,以及h1和KDF函數的定義均可參見文獻[18],本文限于篇幅,不再詳述。

圖3 基于SM9的列控設備安全連接建立流程
(1)在安全性方面,基于SM9的認證與密鑰交換方案能夠提供與目前方案相當的安全性。文獻[20]提出由于IBC體制下用戶私鑰均由KGC集中生成,因此存在密鑰托管和私鑰安全分發的問題,導致整個系統的安全嚴重依賴于KGC。目前C3系統的對稱認證密鑰同樣是由KGC統一產生,在KGC安全且可信的情況下,采用IBC機制并不會為現有系統引入額外安全風險。與此同時,SM9相當于RSA3072位的安全強度,足以滿足列控系統通信安全的需要。
(2)在效率方面,SM9算法在不同平臺上有較大區別,在不考慮初始化和通信延遲情況下,基于SM9的密鑰交換和安全鏈接建立時間通常在幾十毫秒至數秒之間。雖然較ER安全層的原密鑰交換協議性能有所下降,但目前列控通信系統的安全連接建立延遲通常僅要求低于40 s[2,4],因此基于SM9的密鑰交換機制足以滿足要求。
在引入5G系統之后,5G自身安全機制可在一定程度上改善車地通信鏈路的安全態勢,但仍存在不足:首先,未來列控系統的車地鏈路需傳輸包含視頻信息等在內的大量數據,而5G-NR僅支持為64 kbps以下速率提供完整性保護;其次,5G系統無法為用戶面數據提供真正意義上的端到端的安全保護,一旦gNB被入侵,對用戶面的保護將完全失效。綜上所述,在引入基于SM9的認證與密鑰交換機制之后,新型列控系統的通信鏈路仍需構建一個基于對稱密鑰的低延時、高吞吐量、高安全強度的端到端保護方案,以替代現有的ER-MAC方案。
認證加密(Authenticated Encryption, AE)是目前唯一能夠達到文獻[21]定義的CCA3安全性的對稱密碼原語,即同時達到選擇明文攻擊下的不可區分(IND-CPA)和密文完整性(INT-CTXT)。考慮到傳輸報文的部分關聯信息(如報頭)必須采用明文傳送以方便解析和轉發,文獻[22]提出了帶有關聯數據的認證加密模式(Authenticated Encryption with Associated Data, AEAD),可在為明文數據提供機密性和完整性雙重保護的同時, 為關聯數據提供完整性保護。目前,AEAD模式已逐步實現了對加密、認證和認證加密3種密碼工作模式的統一,以正在進行中的NIST輕量密碼算法遴選[23]為例,其征集對象就只包含了AEAD和AEAD&Hash兩類。此外,近年來幾乎所有的端到端安全協議和無線安全協議,如TLS、IPSec ESP、WIFI(802.11i)、MACSec(802.1AE)、無線個域網(802.15.4),和安全實時傳輸協議SRTP(RFC3711)中,均采用或者提供了可選的AEAD算法套件實現端到端安全保護,而在3GPP關于5G超高可靠超低延時通信(URLLC)鏈路的技術報告中,同樣建議采用AEAD算法實現端到端安全保護[24]。
在安全性方面,防止攻擊者對傳輸信息的篡改和偽造是新型列控通信系統端到端通信防護的核心安全需求,AEAD機制不僅可為傳輸數據提供數據來源認證和完整性保護,還可通過對重要數據字段(如列控指令等)的加密,提升方案整體的安全性。這主要是因為AE算法認證模塊保護的是密文完整性,因此即使攻擊者攻破了AE算法的認證模塊,實現了對密文的篡改或者偽造,但只要AE算法的加密模塊仍然安全,攻擊者就無法篡改或偽造出有意義的明文。在效率方面,目前 AEAD算法多采用One-pass結構,即一個消息分組只需要調用一次分組密碼,配合分組間的并行處理,可以達到比基于串行結構的ER-MAC算法更高的執行效率。綜合在安全性和效率方面的突出優勢,AEAD方案是實現新型列控系統信號安全通信的最佳選擇。
2019年2月結束的CAESAR (Competition for Authenticated Ciphers: Security, Applicability, and Robustness)算法遴選,分別針對深度防御(高安全性)、高性能和輕量級三類應用場景,各選出了2種推薦AEAD算法[25]。這些算法是從全球提交的48個合格候選方案中,花費了6年時間經歷了3輪的評價和對比后選出的,幾乎可以代表目前AE方案設計的最高水平。由于車地列控通信場景對于算法輕量化并無需求,因此本文主要從CAESAR競賽的高性能場景推薦方案AEGIS-128和OCB3,以及深度防御場景推薦方案Deoxys-Ⅱ和COLM中,挑選一種安全性和實現效率均可滿足需求的AEAD算法,構建列控系統通信鏈路的端到端安全方案。以上4種候選方案的算法特性分析見表1,主要從結構設計、安全性、效率和靈活部署等方面進行對比。

表1 4種候選方案算法特性分析
從整體設計而言,OCB3和COLM均基于分組密碼構造,Deoxys-Ⅱ底層則使用了可調分組碼Deoxys-BC,且為了增強安全性將AES的迭代輪數從10輪增加到了14輪(128位版本)。AEGIS-128是唯一的直接設計方案,為了提升算法性能,其底層采用了并行化的AES迭代結構,且將輪數壓縮到了5輪,因此實現了代價低、速度快,是4種方案中唯一能夠突破分組密碼工作模式效率上界的設計,但其問題在于底層構造缺乏合理的安全性假設,導致安全性無法從理論上證明, 只能依靠各種密碼分析方法對其安全性進行評估[26]。此外,根據2020年1月1日起實施的《中華人民共和國密碼法》的配套標準GB/T 39786—2021和GB/T 37092—2018的相關規定,目前核準可以使用且完全公開的商用分組密碼算法只有SM4,因此,底層密碼模塊是否可更換也是必須要考慮的因素之一。
在安全性方面,CASEAR競賽對深度防御場景的首要要求就是需支持抗Nonce誤用(Misuse-Resistant AE,MRAE)[27]。在正常情況下,算法的Nonce會采用計數器或者時間戳等方式實現,從而避免出現重復,但在實際工程使用中,由于實現失誤或者使用錯誤等各種原因,仍可能出現Nonce被重用的情況,一旦接收方允許接收Nonce重復的消息并給出解密輸出,將可能直接導致認證模塊安全性被破壞,且對方案機密性也有一定影響。MRAE方案可以保證在Nonce重用情況下,仍可提供足夠的安全性。Deoxys-Ⅱ支持完整的MRAE特性,COLM僅支持在線抗Nonce誤用。此外,由于生日攻擊的存在,n比特消息摘要的認證模式安全強度通常只能達到2n/2,這也被稱為認證工作模式的生日界。Deoxys-Ⅱ算法在Nonce不復用情況下,可提供2n-1的認證強度,而在Nonce復用場景下,其安全性將隨著Nonce復用次數的增多以線性方式降低,攻擊者需復用相同的Nonce約2n/2次認證強度才會降低到生日界[28]。OCB3算法的底層可視為一個抗生日界的可調分組碼,因此在標簽截斷一半的情況下并不會造成方案認證安全性的降低[29],而Deoxys-Ⅱ算法由于是支持超生日界安全特性的算法,因此標簽截斷一半情況下仍可提供接近264的認證安全性。
在算法效率方面,最重要的特性是消息處理過程中調用分組密碼的比率。OCB3處理每個關聯數據和明文分組時均需調用1次分組密碼,此外在初始化階段的掩碼生成以及生成認證標簽時,對密文校驗和的加密處理再各自需要調用1次。Deoxys-Ⅱ和COLM為了支持抗Nonce誤用特性,處理每個明文分組時需要調用2次分組密碼,處理關聯數據分組時還需調用1次。COLM算法在掩碼、Ⅳ和認證標簽生成中分別需要調用1次分組密碼,而Deoxys-Ⅱ無需預先生成任何初始參數,僅需在生成認證標簽時多調用1次,因此在部分短消息場景Deoxys-Ⅱ效率可能更具優勢。除了消息處理過程的比率之外,還有一些適用于在不同場景下提升算法效率的特性。例如:支持加/解密分組間并行處理的算法,可在多核處理器平臺上采用并行處理以提高算法整體處理效率;支持在線AE的算法,可在獲取前i塊明文后即可輸出第i塊密文,而無需等待全部明文生成后才開始處理。Deoxys-Ⅱ算法由于需要首先完成Tag的計算,再將Tag作為調柄參數加入密文計算過程,因此是唯一不支持在線AE的算法。同理,支持未驗證明文輸出(Release Unverified Plaintext, RUP)的算法可在尚未完成對所收到密文Tag的校驗情況下開始解密并輸出明文,而不會影響方案的安全性,上述方案中僅有COLM依靠對中間標簽的支持,通過對消息進行分段校驗,從而在一定程度上達到RUP安全。在線AE和RUP特性適合在消息長度較長的場景中提升方案的性能。
綜合以上對比分析可以得出:
(1)AEGIS-128采用AES輪函數構造,無法給出可證安全結論,且底層密碼模塊無法替換為國密算法,因此不符合密碼法的相關要求。
(2)Deoxys-Ⅱ和COLM為了支持MRAE,均需對消息分組處理兩遍,效率較低。COLM還額外支持在線AE和中間標簽特性,但這兩個特性主要適用于發送較長消息的場景。
(3)OCB3每消息分組僅需調用1次分組密碼,且可支持加解密并行、在線AE和標簽截斷等諸多特性。雖然OCB3不支持MRAE特性,但正如GCM的設計者McGrew[30]所指出的,所有基于Nonce的AEAD算法,只要配合正確實現的Nonce生成機制,即可看做MRAE方案。在列控通信系統中,存在序列號、時間戳或EC計數器等多種不同Nonce來源,正確使用即可保證Nonce不會重復。
考慮到OCB3在效率上的突出優勢,且其安全性足以滿足列控信號安全通信的需求,本文選擇基于OCB3構建列控通信系統的端到端安全方案。
OCB全稱是偏移密碼本模式,由Phillip Rogaway等人所設計,到目前為止共有3個版本:OCB1(2001)即IEEE 802.11i的可選模式WRAP;OCB2(2003)是ISO/IEC 19772∶2009收錄的標準之一,但由于近期被發現初始安全性證明存在錯誤,隨后文獻[31]進一步給出了實際攻擊,因此已被從標準中撤除;OCB3(2011)采用了與OCB1相同的查找表結構,且彌補了OCB1不支持AEAD的缺陷。需要指出的是,OCB1、OCB3安全性證明并未發現存在問題,而針對OCB2的攻擊也不適用于攻擊OCB1和OCB3。
根據《中華人民共和國密碼法》的相關規定,我國關鍵基礎設施上搭載的密碼模塊僅能選擇國密算法。SM4是目前唯一公開的國密通用分組算法。出口設備則可不受此限制,而選擇國際算法AES。因此本節將對OCB3-SM4、OCB3-AES與原ER-MAC方案進行性能對比和測試,總結3種方案的結構特點、安全特性和理論效率。基于OCB3的改進方案與原ER-MAC方案的比較見表2。表2中,t為輸出摘要長度,σ為調用分組碼的總次數,q為訪問預言機的次數,l為輸入預言機的最長消息的分組數目,len為消息的比特長度。

表2 基于OCB3的改進方案與原ER-MAC方案的比較
從表2比較結果可以得出:在安全性方面,AE方案可同時提供IND-CPA和INT-CTXT安全,安全性遠高于單純的認證方案;其次,即使將OCB3的輸出摘要截斷到與ER-MAC一樣的64 bit,ER-MAC算法在認證模塊的理論安全界仍遠高于ER-MAC(假設每個消息的長度相等,即σ=ql,此時OCB的認證模塊需要264次分組密碼調用,其認證模塊才失去安全性,而對于ER-MAC則僅需232次調用)。在效率方面,受益于SM4和AES的128 bit分組長度,串行環境下OCB3-SM4和OCB3-AES調用分組密碼的次數約為ER-MAC的一半,而在并行環境下,支持全并行加解密的OCB3算法,其性能還將大幅提升。
由于在信號設備中,安全算法均基于軟件方式實現,因此本節對基于SM4和AES分組密碼的OCB3算法,以及基于DES分組密碼的ER-MAC算法,在表3所示平臺上對軟件實現性能進行對比測試。需要指出的是,為了保證結果準確性,測試中只使用了處理器中的一個內核,并未調用多核并行加速。

表3 測試環境參數
本文以RSSP-Ⅱ協議定義的數據包傳輸消息格式為參考,使用圖4所示的測試消息結構,其中關聯數據和Nonce的長度均固定為16 Bytes,應用信息最短16 Bytes(AES和SM4的分組長度),最長不超過1000 Bytes(規范中報文長度的上限),每個長度隨機生成106組數據,運算完成后取平均值。

圖4 測試消息結構
為了盡量避免不同算法優化帶來的性能差異,上述3種分組密碼算法均調用國密GmSSL開源密碼工具箱[32]實現。由于GmSSL分別支持使用AES-NI指令集和AVX2指令集實現對AES和SM4算法的加速,因此測試數據共分為5組,不同長度消息的認證加密和驗證解密效率測試結果見圖5。

圖5 不同長度消息的認證加密和驗證解密效率測試結果
在未使用指令集情況下,由于SM4采用非平衡Feistel結構,其加解密僅是輪密鑰使用順序相反,因此加解密效率幾乎相同;AES算法則采用了SPN結構,解密時需要進行逆運算,效率稍低于加密算法。測試結果顯示,OCB3-AES的加密效率比OCB3-SM4稍高,而解密效率則稍低,綜合考慮端到端通信收發雙方,OCB3-AES和OCB3-SM4算法的效率幾乎相同;ER-MAC則受限于DES算法較差的軟件實現性能,導致方案整體效率僅有OCB3-AES和OCB3-SM4算法的1/3~1/2。
在對SM4算法開啟AVX2指令集加速情況下,GmSSL主要通過調用256位SIMD 寄存器,并行實現對8個32-bit 字的運算操作[33],因此,在處理的消息分組數小于8個的情況下(112 Bytes明文+16 Bytes關聯數據),是否開啟AVX2指令集對OCB3-SM4算法的效率幾乎沒有影響。當消息長度超過8個分組時,開啟指令集可提升約1倍的性能。但需要指出的是,在列控通信場景中,傳輸報文的長度通常不會超過114 Bytes[4]。
相較于通用的AVX2指令集,AES-NI指令集則直接將AES的基本運算固化為CPU指令,因此開啟指令集加速后,對OCB3-AES算法性能的提升巨大。在消息長度較短時(≤64 Bytes),OCB3-AES算法的效率可達到ER-MAC的15~20倍,而隨著消息長度的增加,OCB3-AES算法的效率甚至可達ER-MAC的30倍以上。
(1)本文提出了一種面向5G通信架構的高鐵列控系統信號安全通信協議。基于國密SM9算法,實現基于標識信息的認證與密鑰協商機制,簡化了萬物互聯場景下的密鑰管理流程。通過對CASEAR競賽獲勝的4種認證加密算法在列控通信場景的適用性評估,最終選擇以OCB3為核心,配合國密SM4算法,來實現信號設備間端到端通信的認證加密保護。理論分析表明,OCB3-SM4算法可提供遠高于原ER-MAC方案的理論安全性,能夠抵御針對列控系統信號安全通信鏈路的各類已知攻擊。
(2)在方案性能方面,由于SM4算法缺少主流處理器平臺提供的專用加速指令集支持,因此無法實現如使用了AES-NI指令集加速的OCB3-AES算法那樣巨大的性能提升。但現有測試結果表明,在單核處理時,OCB3-SM4較ER-MAC有1~2倍的性能提升,而當調用多核并行處理時,受益于OCB3的全并行結構,方案性能還將進一步成倍提升,可滿足未來不斷提高的車地通信速率要求。此外,目前主流國產CPU(如X86架構的海光和兆芯、MIPS架構的龍芯以及ARM架構的飛騰等)均已提供了SM4算法的硬件加密引擎,其余平臺也可通過外掛SM4專用加密芯片來實現高速密碼應用。