夏浩男,戴勝華
(北京交通大學(xué) 電子信息工程學(xué)院,北京 100044)(*通信作者電子郵箱16120263@bjtu.edu.cn)
中國列車控制系統(tǒng)(Chinese Train Control System, CTCS)-3級列車控制系統(tǒng)是我國鐵路時速300~350 km/h客運專線的重要技術(shù)裝備,是中國鐵路技術(shù)體系和裝備現(xiàn)代化的重要組成部分。它通過面向鐵路的全球移動通信(Global System for Mobile communications-Railway, GSM-R)實現(xiàn)車地之間的雙向通信,為列車安全、可靠、高效運行提供了可靠的技術(shù)保證[1-2]。
無線閉塞中心(Radio Block Center, RBC)是中國列車控制系統(tǒng)(CTCS)的地面核心控制設(shè)備,其主要功能是根據(jù)列車定位信息、線路參數(shù)信息、軌道占用信息、臨時限速以及聯(lián)鎖信息等提供控車命令,生成行車許可(Movement Authority, MA),并通過GSM-R網(wǎng)絡(luò)傳送到車載設(shè)備,控制列車在RBC管轄范圍內(nèi)的線路上安全高效運行[3]。但隨著信息技術(shù)的發(fā)展,一方面,CTCS-3級列車控制系統(tǒng)采用的對稱加密算法存在著被竊取的隱患;另一方面,對于車地信息交互的實時性要求也更高[4]。目前,對RBC的相關(guān)研究大多是關(guān)于行車許可的生成過程,沒有對行車許可的加密過程進行深入研究,因此研究車地之間的信息安全傳輸具有重要意義。
20 世紀(jì)60年代提出并開發(fā)的Petri網(wǎng)通常用于描述異步、并行的系統(tǒng)[5-6],其數(shù)學(xué)理論嚴(yán)謹(jǐn)有據(jù),圖形描述直觀易懂,描述系統(tǒng)模型的方法及分析系統(tǒng)動態(tài)行為的方法豐富多樣,這為一些過程比較復(fù)雜的大型系統(tǒng)的建模與分析奠定了基礎(chǔ)[7]。
Petri 網(wǎng)的結(jié)構(gòu)元素包括庫所(place)、變遷(transition)和弧(arc)。庫所是體現(xiàn)狀態(tài)的量,用于體現(xiàn)系統(tǒng)過程的局部狀態(tài);變遷是體現(xiàn)變遷的量,用于體現(xiàn)過程中某一事件的觸發(fā);弧用于將過程的局部狀態(tài)與事件的發(fā)生關(guān)聯(lián)起來。每條弧都有自身對應(yīng)的值,可以是變量,也可以是函數(shù)。
由傳統(tǒng)Petri網(wǎng)進行著色、賦時以及層次化發(fā)展而來的著色Petri網(wǎng)(Colored Petri Net, CPN)不僅可以通過對狀態(tài)空間報告進行分析發(fā)現(xiàn)系統(tǒng)當(dāng)中的錯誤,還能夠提供性能分析法完成系統(tǒng)的性能評價[8]。因此,利用CPN對RBC的安全加密過程進行建模分析是有效可行的。
因鐵路通信環(huán)境具有其特殊性,為保證鐵路信號安全設(shè)備在封閉式和開放式網(wǎng)絡(luò)環(huán)境中信息傳輸?shù)陌踩院涂煽啃?,我國參考歐洲相關(guān)標(biāo)準(zhǔn)制訂了鐵路信號安全通信協(xié)議-II(Railway Signal Safety Protocol-II, RSSP-II)。
RSSP-II主要分為兩大功能模塊:安全功能模塊和通信功能模塊。安全功能模塊提供的安全層必須能夠?qū)νㄐ胖锌赡苊媾R的威脅(重復(fù)、刪除、插入、重排序、延遲和偽裝)進行檢測并提供充分的防護[9]。通信模塊提供非置信的網(wǎng)絡(luò)傳輸服務(wù)。安全功能模塊由安全應(yīng)用中間層(Safe Aplication Intermediate layer, SAI)和消息鑒定安全層(Message Authentication Safety Layer, MASL)組成。SAI通過添加延遲防御技術(shù)和序列號提供所需的其他安全相關(guān)的保護,可以預(yù)防延遲、重排序、刪除和重復(fù)等威脅。MASL通過添加消息驗證碼(Message Authentication Code, MAC)和連接標(biāo)識符(源和目的地標(biāo)識符)提供以下的防護:消息的真實性、消息的完整性以及訪問保護,可以預(yù)防損壞、偽裝和插入等威脅。本文主要研究MASL中的安全加密過程。
2.2.1 密鑰分配
MASL層參照[Subset-037][10]應(yīng)用了3個等級的密鑰完成數(shù)據(jù)加密,分別為會話密鑰KSMAC、驗證密鑰KMAC和傳輸密鑰KTRANS,這3個等級的密鑰分級如表1所示。
在RBC與車載設(shè)備安全連接建立階段,由密鑰管理中心(Key Management Center, KMC)為RBC和車載設(shè)備兩實體之間的通信連接產(chǎn)生一個驗證密鑰KMAC,利用傳輸密鑰KTRANS加密KMAC后傳輸給RBC和車載設(shè)備。RBC和車載設(shè)備利用各自和KMC共享的傳輸密鑰KTRANS進行解密得到相同的KMC。
表1 密鑰等級Tab. 1 Key hierarchy
2.2.2 加密算法選擇
目前在RSSP-II中的會話密鑰KSMAC選擇的是數(shù)據(jù)加密標(biāo)準(zhǔn)(Data Encryption Standard, DES)的一種模式——三重DES(Triple DES, TDES)加密算法。它使用3個獨立的56位的密鑰對數(shù)據(jù)進行三次加密,比傳統(tǒng)的DES更加安全。但TDES對于特定的選擇明文攻擊和已知明文攻擊的保護較弱,而且DES和TDES由于制定的原因,可能存在“安全后門”,存在著安全隱患。
鑒于TDES算法所存在的安全問題,本文采用了高級加密標(biāo)準(zhǔn)(Advanced Encryption Standard, AES)算法進行MAC計算。AES又稱Rijndael算法,采用可選的密鑰長度(128 b、192 b或256 b),其安全性隨著密鑰長度的增加而提高。AES不存在弱密鑰和補密鑰,并且能夠有效抵抗已知的攻擊算法[11]。相比TDES,AES由于其算法內(nèi)部結(jié)構(gòu),在同樣的運行環(huán)境中,運算速度更快,內(nèi)存需求更低。
2.2.3 對等實體驗證
對等實體驗證可確認通信雙方實體的身份,并計算出通信雙方在連接中的會話密鑰。對等實體驗證的過程如圖1所示。
圖1 對等實體驗證與密鑰生成的安全協(xié)議Fig. 1 Security protocol for peer entity authentication and key generation
圖1中,“|”表示連接,Text1="CTY|MTI|DF|SA|SaF", SA=主叫列控設(shè)備號(CTCS ID);Text2="CTY|MTI|DF|SA|SaF",SA=響應(yīng)CTCS ID;Text3="l|DA|CTY|MTI|DF|SA|SaF", DA=主叫CTCS ID,SA=響應(yīng)CTCS ID;Text4="′000′|MTI|DF|SA|SaF";Text5="l|DA|′000′|MTI|DF",DA=響應(yīng)CTCS ID。
其中,CTY是CTCS ID類型,MTI是指示驗證SaPDU的信息類型標(biāo)識符,DF是方向標(biāo)志,SaF是安全特征。
2.2.4 消息源驗證
在完成對等實體驗證后,MASL建立安全連接。此時利用車載設(shè)備和RBC共享的會話密鑰KSMAC和CBC-MAC函數(shù)對字符串“l(fā)|DA|m|p”進行MAC計算:MAC(m)=CBC-MAC(KSMAC,l|DA|m|p)。其中,m是待傳輸?shù)降南?,DA是目的地址,l是字符串“DA|m”的長度,p是為保證字符串“l(fā)|DA|m|p”的長度為128 b而附加的填充數(shù)據(jù)。如果沒有發(fā)生錯誤,則發(fā)送m以及MAC(m),否則通知錯誤管理程序。接收方接收到消息后,同樣利用KSMAC和CBC-MAC函數(shù)進行MAC計算并和MAC(m)比較,若一致,則消息沒有被篡改。
CPN tools是基于Petri網(wǎng)理論開發(fā)的一種仿真工具,通過CPN tools進行仿真可以清楚地看到系統(tǒng)之間信息的交互過程,驗證系統(tǒng)的可靠性和準(zhǔn)確性。本文中僅以完全監(jiān)控模式下行車許可的生成及發(fā)送這一基本場景為例,詳細說明加密算法的實現(xiàn)過程。仿真采用自上而下的設(shè)計方法,先建立系統(tǒng)的頂層模型,再利用頂層網(wǎng)絡(luò)中的替代變遷進行系統(tǒng)子網(wǎng)的搭建,完成整個系統(tǒng)的建模。
構(gòu)建MA計算的頂層網(wǎng)絡(luò)模型,實現(xiàn)各個子網(wǎng)功能的相互協(xié)作,使系統(tǒng)具有層次性和分布性,同時也方便各個子網(wǎng)的調(diào)整和細化。
頂層子網(wǎng)模型如圖2所示。
圖2中初態(tài)以庫所Train開始。首先,列車向RBC發(fā)送MA請求包Message 132,經(jīng)數(shù)據(jù)加密后發(fā)送給RBC。RBC接收到數(shù)據(jù)進行解密后,先判斷最近相關(guān)應(yīng)答器組(Last Relevant Balise Group, LRBG)有效,依據(jù)串接路徑信息,計算偏移量進行列車定位。再依據(jù)路徑信息等判斷進入的運營場景(以完全監(jiān)控模式下MA為例),生成的MA需根據(jù)標(biāo)準(zhǔn)進行檢驗并激活再發(fā)送給加密模塊,加密使用的密鑰為替代變遷Encrypt data產(chǎn)生的KSMAC。加密完成后,由GSM-R發(fā)送給車載設(shè)備。車載設(shè)備完成解密后,需對收到的MA進行實時性檢驗,如未過期,則列車按照該MA控車。其中,替代變遷Encrypt data和FS MA分別模擬的是車地消息的安全加密和完全監(jiān)控模型下MA生成。庫所Train接收到信息m3后,能夠激活LRBG,構(gòu)成一個閉環(huán)系統(tǒng),使模型中的變遷具備回歸屬性。
完全監(jiān)控模式下是列車接收到所有的完整信息,在正常線路和場景下的運行過程,這是CTCS-3的主要運營模式。在完全監(jiān)控模式下生成MA的模型如圖3所示。
圖2 車地通信的頂層模型Fig. 2 Top model of train-ground communication
圖3 完全監(jiān)控模式下生成MA子模型Fig. 3 Generating MA-submodel under full supervision mode
當(dāng)系統(tǒng)由頂層網(wǎng)絡(luò)進入到FS MA子網(wǎng)后觸發(fā)變遷Location report輸出信息m1="Section in train occupied"。只有當(dāng)列車覆蓋范圍內(nèi)的區(qū)段被占用才能標(biāo)記引導(dǎo)區(qū)段(Call On,CO),計算有條件緊急停車消息(Conditional Emergency stop Message, CEM)。接著,列車實時更新路徑信息,為MA的計算做好準(zhǔn)備。然后,根據(jù)串路徑搜索區(qū)段,當(dāng)?shù)竭_第一個區(qū)段時,計算CEM,進入變遷Bring into MA,將該區(qū)段添加進MA中,延伸MA并搜索下一個區(qū)段。在模型中加入了一個循環(huán),使之能夠不斷搜索下一個區(qū)段。因為MA所包含的最大區(qū)段數(shù)不超過15,所以當(dāng)MA的范圍中含有15個區(qū)段時,區(qū)段遍歷完畢結(jié)束循環(huán)。接著,RBC對各區(qū)段空閑狀態(tài)、有無信號授權(quán)進行判斷,并計算得到行車許可終點(End Of Authority,EOA)。最后,加入線路限速信息,根據(jù)MA信息包標(biāo)準(zhǔn)生成信息包Message 3,返回頂層網(wǎng)絡(luò)。
GSM-R系統(tǒng)中的加密不是端到端的,其加密功能沒有延伸到核心網(wǎng)絡(luò),在基站和基站間信息均以明文方式傳播,不能預(yù)防內(nèi)部人員的攻擊。因此,需要對車地之間的信息進行端到端加密,保證系統(tǒng)安全。加密模型如圖4所示,左邊為車載設(shè)備部分,右邊為RBC部分。
圖4 車地消息加密模型Fig. 4 Encryption model of train-ground message
在列車發(fā)送MA請求時,車載設(shè)備向KMC申請RBC和車載共享的驗證密鑰KMAC,KMC用傳輸密鑰KTRANS(KTRANS1,KTRANS2)對KMAC加密后發(fā)送給RBC和列車。RBC和列車?yán)么鎯Φ腒TRANS1和KTRANS2完成解密得到KMAC。車載設(shè)備產(chǎn)生并存儲一個128 b隨機數(shù)Rand1,包含在第一驗證消息AU1SaPDU中發(fā)送給RBC。接收到第一驗證消息后,RBC產(chǎn)生并存儲一個128 b隨機數(shù)Rand2,并根據(jù)KMAC,以及兩個隨機數(shù)Rand1和Rand2等產(chǎn)生AES加密的會話密鑰KSMAC,利用會話密鑰KSMAC計算出文本字段Text3、兩個隨機數(shù)Rand1和Rand2、車載設(shè)備的CTCS ID,以及填充位的MAC,形成第二驗證消息AU2SaPDU發(fā)送給車載設(shè)備。車載設(shè)備根據(jù)AU2SaPDU中的Rand2,結(jié)合Rand1和驗證密鑰KMAC計算出會話密鑰KSMAC,進而驗證接收到的AU2SaPDU的正確性。若無誤,車載設(shè)備根據(jù)會話密鑰KSMAC計算MAC,形成第三驗證消息AU3SaPDU發(fā)送給RBC,RBC驗證AU3SaPDU的正確性。至此,RBC和車載完成對等實體驗證,雙方利用產(chǎn)生的會話密鑰KSMAC計算列車基本參數(shù)信息包 Message 129和位置信息包Message 136的MAC開始進行車地信息交互。
模型動態(tài)仿真了在完全監(jiān)控模式下RBC生成MA以及利用AES加密算法對MA進行加密并發(fā)送的過程。相較于傳統(tǒng)的TDES算法,AES目前只能通過窮舉攻擊進行破解,大大提高了系統(tǒng)的安全性和可靠性。此外,由于分組長度也高于TDES,AES算法大大提高了加密速度,縮短了車地消息時延,保證了通信的可靠性。
狀態(tài)空間報告是CPN tools生成的系統(tǒng)模型的行為屬性信息。狀態(tài)空間統(tǒng)計信息主要包括四個部分:有界性、回歸性、活性和公平性,整體模型的統(tǒng)計信息如圖5所示。從圖5中可以看出,模型一共有49個節(jié)點、51條弧,全部處于可觸發(fā)狀態(tài)。
圖5 狀態(tài)空間信息Fig. 5 Information of state space
圖6是狀態(tài)空間報告的一部分。從圖6可以看出,庫所中的托肯數(shù)量的上下界,各個庫所中的托肯數(shù)均為有界整數(shù),從而保證了系統(tǒng)的有界性;系統(tǒng)中的狀態(tài)具有回歸性并且每一個變遷都能夠觸發(fā),不存在死鎖狀態(tài),因此系統(tǒng)具有活性;系統(tǒng)中每個庫所里的資源都是公平的,不存在饑餓狀態(tài),模型具有公平性。
通過分析狀態(tài)空間報告,可以驗證模型運行的每一步狀態(tài)都能滿足設(shè)計的要求,系統(tǒng)的各種狀態(tài)都是可達的,為設(shè)計人員進行軟件設(shè)計提供了理論依據(jù)。
圖6 狀態(tài)空間報告Fig. 6 Report of state space
本文對安全加密技術(shù)在RBC中的應(yīng)用進行了研究,并對完全監(jiān)控模式下車地通信過程進行形式化建模,通過著色Petri網(wǎng)仿真工具CPN tools進行動態(tài)仿真,能夠較好地描述列車申請MA和RBC發(fā)送并加密MA的信息交互過程。同時通過對系統(tǒng)加密模型進行定性分析,驗證了系統(tǒng)的正確性和可靠性。 本文通過分析RBC安全加密的具體流程,實現(xiàn)了車載設(shè)備和RBC的端到端加密,為設(shè)計人員進行軟件設(shè)計提供了理論依據(jù),有助于研究車地安全通信。