夏浩男,戴勝華
(北京交通大學 電子信息工程學院,北京 100044)(*通信作者電子郵箱16120263@bjtu.edu.cn)
中國列車控制系統(Chinese Train Control System, CTCS)-3級列車控制系統是我國鐵路時速300~350 km/h客運專線的重要技術裝備,是中國鐵路技術體系和裝備現代化的重要組成部分。它通過面向鐵路的全球移動通信(Global System for Mobile communications-Railway, GSM-R)實現車地之間的雙向通信,為列車安全、可靠、高效運行提供了可靠的技術保證[1-2]。
無線閉塞中心(Radio Block Center, RBC)是中國列車控制系統(CTCS)的地面核心控制設備,其主要功能是根據列車定位信息、線路參數信息、軌道占用信息、臨時限速以及聯鎖信息等提供控車命令,生成行車許可(Movement Authority, MA),并通過GSM-R網絡傳送到車載設備,控制列車在RBC管轄范圍內的線路上安全高效運行[3]。但隨著信息技術的發展,一方面,CTCS-3級列車控制系統采用的對稱加密算法存在著被竊取的隱患;另一方面,對于車地信息交互的實時性要求也更高[4]。目前,對RBC的相關研究大多是關于行車許可的生成過程,沒有對行車許可的加密過程進行深入研究,因此研究車地之間的信息安全傳輸具有重要意義。
20 世紀60年代提出并開發的Petri網通常用于描述異步、并行的系統[5-6],其數學理論嚴謹有據,圖形描述直觀易懂,描述系統模型的方法及分析系統動態行為的方法豐富多樣,這為一些過程比較復雜的大型系統的建模與分析奠定了基礎[7]。
Petri 網的結構元素包括庫所(place)、變遷(transition)和弧(arc)。庫所是體現狀態的量,用于體現系統過程的局部狀態;變遷是體現變遷的量,用于體現過程中某一事件的觸發;弧用于將過程的局部狀態與事件的發生關聯起來。每條弧都有自身對應的值,可以是變量,也可以是函數。
由傳統Petri網進行著色、賦時以及層次化發展而來的著色Petri網(Colored Petri Net, CPN)不僅可以通過對狀態空間報告進行分析發現系統當中的錯誤,還能夠提供性能分析法完成系統的性能評價[8]。因此,利用CPN對RBC的安全加密過程進行建模分析是有效可行的。
因鐵路通信環境具有其特殊性,為保證鐵路信號安全設備在封閉式和開放式網絡環境中信息傳輸的安全性和可靠性,我國參考歐洲相關標準制訂了鐵路信號安全通信協議-II(Railway Signal Safety Protocol-II, RSSP-II)。
RSSP-II主要分為兩大功能模塊:安全功能模塊和通信功能模塊。安全功能模塊提供的安全層必須能夠對通信中可能面臨的威脅(重復、刪除、插入、重排序、延遲和偽裝)進行檢測并提供充分的防護[9]。通信模塊提供非置信的網絡傳輸服務。安全功能模塊由安全應用中間層(Safe Aplication Intermediate layer, SAI)和消息鑒定安全層(Message Authentication Safety Layer, MASL)組成。SAI通過添加延遲防御技術和序列號提供所需的其他安全相關的保護,可以預防延遲、重排序、刪除和重復等威脅。MASL通過添加消息驗證碼(Message Authentication Code, MAC)和連接標識符(源和目的地標識符)提供以下的防護:消息的真實性、消息的完整性以及訪問保護,可以預防損壞、偽裝和插入等威脅。本文主要研究MASL中的安全加密過程。
2.2.1 密鑰分配
MASL層參照[Subset-037][10]應用了3個等級的密鑰完成數據加密,分別為會話密鑰KSMAC、驗證密鑰KMAC和傳輸密鑰KTRANS,這3個等級的密鑰分級如表1所示。
在RBC與車載設備安全連接建立階段,由密鑰管理中心(Key Management Center, KMC)為RBC和車載設備兩實體之間的通信連接產生一個驗證密鑰KMAC,利用傳輸密鑰KTRANS加密KMAC后傳輸給RBC和車載設備。RBC和車載設備利用各自和KMC共享的傳輸密鑰KTRANS進行解密得到相同的KMC。

表1 密鑰等級Tab. 1 Key hierarchy
2.2.2 加密算法選擇
目前在RSSP-II中的會話密鑰KSMAC選擇的是數據加密標準(Data Encryption Standard, DES)的一種模式——三重DES(Triple DES, TDES)加密算法。它使用3個獨立的56位的密鑰對數據進行三次加密,比傳統的DES更加安全。但TDES對于特定的選擇明文攻擊和已知明文攻擊的保護較弱,而且DES和TDES由于制定的原因,可能存在“安全后門”,存在著安全隱患。
鑒于TDES算法所存在的安全問題,本文采用了高級加密標準(Advanced Encryption Standard, AES)算法進行MAC計算。AES又稱Rijndael算法,采用可選的密鑰長度(128 b、192 b或256 b),其安全性隨著密鑰長度的增加而提高。AES不存在弱密鑰和補密鑰,并且能夠有效抵抗已知的攻擊算法[11]。相比TDES,AES由于其算法內部結構,在同樣的運行環境中,運算速度更快,內存需求更低。
2.2.3 對等實體驗證
對等實體驗證可確認通信雙方實體的身份,并計算出通信雙方在連接中的會話密鑰。對等實體驗證的過程如圖1所示。

圖1 對等實體驗證與密鑰生成的安全協議Fig. 1 Security protocol for peer entity authentication and key generation
圖1中,“|”表示連接,Text1="CTY|MTI|DF|SA|SaF", SA=主叫列控設備號(CTCS ID);Text2="CTY|MTI|DF|SA|SaF",SA=響應CTCS ID;Text3="l|DA|CTY|MTI|DF|SA|SaF", DA=主叫CTCS ID,SA=響應CTCS ID;Text4="′000′|MTI|DF|SA|SaF";Text5="l|DA|′000′|MTI|DF",DA=響應CTCS ID。
其中,CTY是CTCS ID類型,MTI是指示驗證SaPDU的信息類型標識符,DF是方向標志,SaF是安全特征。
2.2.4 消息源驗證
在完成對等實體驗證后,MASL建立安全連接。此時利用車載設備和RBC共享的會話密鑰KSMAC和CBC-MAC函數對字符串“l|DA|m|p”進行MAC計算:MAC(m)=CBC-MAC(KSMAC,l|DA|m|p)。其中,m是待傳輸到的消息,DA是目的地址,l是字符串“DA|m”的長度,p是為保證字符串“l|DA|m|p”的長度為128 b而附加的填充數據。如果沒有發生錯誤,則發送m以及MAC(m),否則通知錯誤管理程序。接收方接收到消息后,同樣利用KSMAC和CBC-MAC函數進行MAC計算并和MAC(m)比較,若一致,則消息沒有被篡改。
CPN tools是基于Petri網理論開發的一種仿真工具,通過CPN tools進行仿真可以清楚地看到系統之間信息的交互過程,驗證系統的可靠性和準確性。本文中僅以完全監控模式下行車許可的生成及發送這一基本場景為例,詳細說明加密算法的實現過程。仿真采用自上而下的設計方法,先建立系統的頂層模型,再利用頂層網絡中的替代變遷進行系統子網的搭建,完成整個系統的建模。
構建MA計算的頂層網絡模型,實現各個子網功能的相互協作,使系統具有層次性和分布性,同時也方便各個子網的調整和細化。
頂層子網模型如圖2所示。
圖2中初態以庫所Train開始。首先,列車向RBC發送MA請求包Message 132,經數據加密后發送給RBC。RBC接收到數據進行解密后,先判斷最近相關應答器組(Last Relevant Balise Group, LRBG)有效,依據串接路徑信息,計算偏移量進行列車定位。再依據路徑信息等判斷進入的運營場景(以完全監控模式下MA為例),生成的MA需根據標準進行檢驗并激活再發送給加密模塊,加密使用的密鑰為替代變遷Encrypt data產生的KSMAC。加密完成后,由GSM-R發送給車載設備。車載設備完成解密后,需對收到的MA進行實時性檢驗,如未過期,則列車按照該MA控車。其中,替代變遷Encrypt data和FS MA分別模擬的是車地消息的安全加密和完全監控模型下MA生成。庫所Train接收到信息m3后,能夠激活LRBG,構成一個閉環系統,使模型中的變遷具備回歸屬性。
完全監控模式下是列車接收到所有的完整信息,在正常線路和場景下的運行過程,這是CTCS-3的主要運營模式。在完全監控模式下生成MA的模型如圖3所示。

圖2 車地通信的頂層模型Fig. 2 Top model of train-ground communication

圖3 完全監控模式下生成MA子模型Fig. 3 Generating MA-submodel under full supervision mode
當系統由頂層網絡進入到FS MA子網后觸發變遷Location report輸出信息m1="Section in train occupied"。只有當列車覆蓋范圍內的區段被占用才能標記引導區段(Call On,CO),計算有條件緊急停車消息(Conditional Emergency stop Message, CEM)。接著,列車實時更新路徑信息,為MA的計算做好準備。然后,根據串路徑搜索區段,當到達第一個區段時,計算CEM,進入變遷Bring into MA,將該區段添加進MA中,延伸MA并搜索下一個區段。在模型中加入了一個循環,使之能夠不斷搜索下一個區段。因為MA所包含的最大區段數不超過15,所以當MA的范圍中含有15個區段時,區段遍歷完畢結束循環。接著,RBC對各區段空閑狀態、有無信號授權進行判斷,并計算得到行車許可終點(End Of Authority,EOA)。最后,加入線路限速信息,根據MA信息包標準生成信息包Message 3,返回頂層網絡。
GSM-R系統中的加密不是端到端的,其加密功能沒有延伸到核心網絡,在基站和基站間信息均以明文方式傳播,不能預防內部人員的攻擊。因此,需要對車地之間的信息進行端到端加密,保證系統安全。加密模型如圖4所示,左邊為車載設備部分,右邊為RBC部分。

圖4 車地消息加密模型Fig. 4 Encryption model of train-ground message
在列車發送MA請求時,車載設備向KMC申請RBC和車載共享的驗證密鑰KMAC,KMC用傳輸密鑰KTRANS(KTRANS1,KTRANS2)對KMAC加密后發送給RBC和列車。RBC和列車利用存儲的KTRANS1和KTRANS2完成解密得到KMAC。車載設備產生并存儲一個128 b隨機數Rand1,包含在第一驗證消息AU1SaPDU中發送給RBC。接收到第一驗證消息后,RBC產生并存儲一個128 b隨機數Rand2,并根據KMAC,以及兩個隨機數Rand1和Rand2等產生AES加密的會話密鑰KSMAC,利用會話密鑰KSMAC計算出文本字段Text3、兩個隨機數Rand1和Rand2、車載設備的CTCS ID,以及填充位的MAC,形成第二驗證消息AU2SaPDU發送給車載設備。車載設備根據AU2SaPDU中的Rand2,結合Rand1和驗證密鑰KMAC計算出會話密鑰KSMAC,進而驗證接收到的AU2SaPDU的正確性。若無誤,車載設備根據會話密鑰KSMAC計算MAC,形成第三驗證消息AU3SaPDU發送給RBC,RBC驗證AU3SaPDU的正確性。至此,RBC和車載完成對等實體驗證,雙方利用產生的會話密鑰KSMAC計算列車基本參數信息包 Message 129和位置信息包Message 136的MAC開始進行車地信息交互。
模型動態仿真了在完全監控模式下RBC生成MA以及利用AES加密算法對MA進行加密并發送的過程。相較于傳統的TDES算法,AES目前只能通過窮舉攻擊進行破解,大大提高了系統的安全性和可靠性。此外,由于分組長度也高于TDES,AES算法大大提高了加密速度,縮短了車地消息時延,保證了通信的可靠性。
狀態空間報告是CPN tools生成的系統模型的行為屬性信息。狀態空間統計信息主要包括四個部分:有界性、回歸性、活性和公平性,整體模型的統計信息如圖5所示。從圖5中可以看出,模型一共有49個節點、51條弧,全部處于可觸發狀態。

圖5 狀態空間信息Fig. 5 Information of state space
圖6是狀態空間報告的一部分。從圖6可以看出,庫所中的托肯數量的上下界,各個庫所中的托肯數均為有界整數,從而保證了系統的有界性;系統中的狀態具有回歸性并且每一個變遷都能夠觸發,不存在死鎖狀態,因此系統具有活性;系統中每個庫所里的資源都是公平的,不存在饑餓狀態,模型具有公平性。
通過分析狀態空間報告,可以驗證模型運行的每一步狀態都能滿足設計的要求,系統的各種狀態都是可達的,為設計人員進行軟件設計提供了理論依據。

圖6 狀態空間報告Fig. 6 Report of state space
本文對安全加密技術在RBC中的應用進行了研究,并對完全監控模式下車地通信過程進行形式化建模,通過著色Petri網仿真工具CPN tools進行動態仿真,能夠較好地描述列車申請MA和RBC發送并加密MA的信息交互過程。同時通過對系統加密模型進行定性分析,驗證了系統的正確性和可靠性。 本文通過分析RBC安全加密的具體流程,實現了車載設備和RBC的端到端加密,為設計人員進行軟件設計提供了理論依據,有助于研究車地安全通信。