王希慶(西安鐵路職業(yè)技術(shù)學(xué)院 陜西 西安710014)
基于開放式網(wǎng)絡(luò)列車自動控制系統(tǒng)安全應(yīng)用的實(shí)現(xiàn)
王希慶
(西安鐵路職業(yè)技術(shù)學(xué)院 陜西 西安710014)
針對開放式無線網(wǎng)絡(luò)環(huán)境下,列車自動控制系統(tǒng)中車載與地面設(shè)備之間數(shù)據(jù)傳輸面臨的安全性問題,采用在系統(tǒng)體系結(jié)構(gòu)中加入安全層實(shí)體的技術(shù)解決方案,通過安全層實(shí)體的數(shù)據(jù)加密算法、消息源驗證、對等實(shí)體驗證措施,實(shí)現(xiàn)了消息完整性和真實(shí)性的檢查、證實(shí)了一個關(guān)聯(lián)中對等實(shí)體的身份,并給出了對等實(shí)體之間的詳細(xì)通信流程,從而保證了列車自動控制系統(tǒng)安全應(yīng)用的實(shí)現(xiàn),對我國三級列車自動控制系統(tǒng)的發(fā)展具有重要意義。
列車自動控制;安全功能模塊;對等實(shí)體驗證;消息源驗證;數(shù)據(jù)加密標(biāo)準(zhǔn)
自動列車控制系統(tǒng)(ATC)[1]提高了列車運(yùn)行的自動化程度,降低了司機(jī)的勞動強(qiáng)度,是鐵路運(yùn)輸生產(chǎn)的一個發(fā)展方向,但對它的安全性提出了更高要求。普通安全功能的實(shí)現(xiàn)由下層功能模塊完成,而針對開放式網(wǎng)絡(luò)[2]提出的特殊安全要求必須要在系統(tǒng)體系結(jié)構(gòu)中加入安全層,通過其實(shí)體安全功能模塊的功能實(shí)現(xiàn)來加以保障。因此安全功能模塊的功能實(shí)現(xiàn)對當(dāng)前三級列車自動控制系統(tǒng)的實(shí)現(xiàn)具有重要意義。
系統(tǒng)模型[3]如圖1所示。
列車自動控制系統(tǒng)中車載設(shè)備[4]與地面無線閉塞中心設(shè)備[5]之間安全應(yīng)用相關(guān)信息交互時,信息安全的保障通過模型中安全層實(shí)體——安全功能模塊(SFM)來實(shí)現(xiàn)。開放網(wǎng)絡(luò)通信服務(wù)層由傳輸子層、網(wǎng)絡(luò)子層和鏈路子層構(gòu)成[6],它負(fù)責(zé)ATC系統(tǒng)安全應(yīng)用對等實(shí)體之間安全信息交互的通信服務(wù)功能。
其中接口①是安全相關(guān)應(yīng)用與安全層之間的服務(wù)接口、接口②是安全層與通信服務(wù)層之間的服務(wù)接口、接口③是安全層對等實(shí)體之間的接口、接口④是通信服務(wù)層對等實(shí)體之間的接口[7]。
接口①和接口②通過訪問接入點(diǎn)(AP)利用指定了相應(yīng)參數(shù)的服務(wù)原語對下層訪問并利用下層的服務(wù)功能。接口③和接口④從各層協(xié)議數(shù)據(jù)單元和模塊功能的實(shí)現(xiàn)方面進(jìn)行規(guī)定。
圖1 系統(tǒng)模型
2.1安全層的功能
SFM提供ATC安全應(yīng)用系統(tǒng)中安全連接的建立,實(shí)現(xiàn)在安全連接生存期內(nèi)提供安全數(shù)據(jù)傳輸。安全數(shù)據(jù)傳輸保證了數(shù)據(jù)的完整性和真實(shí)性。另外,SFM報告安全層內(nèi)發(fā)生的錯誤并傳送來自下層的錯誤提示信息,通過管理系統(tǒng)采取相應(yīng)處理措施。安全層主要涉及消息源驗證和對等實(shí)體驗證兩大核心功能[8]。其中消息源驗證利用數(shù)據(jù)加密算法實(shí)現(xiàn)安全數(shù)據(jù)傳輸,杜絕數(shù)據(jù)的插入、刪除、非法修改和破壞。對等實(shí)體驗證負(fù)責(zé)在兩個安全服務(wù)用戶之間相互身份驗證,保障安全連接的建立,防止開放系統(tǒng)中非法用戶混入安全ATC系統(tǒng)[9]。
ATC系統(tǒng)安全用戶通過安全服務(wù)接入點(diǎn)與安全層實(shí)體SFM通信,獲得安全服務(wù),對等安全層實(shí)體以協(xié)議數(shù)據(jù)單元(SaPDU)的形式進(jìn)行安全連接的數(shù)據(jù)交換。
2.2消息源驗證的實(shí)現(xiàn)
每當(dāng)SFM收到上層安全服務(wù)用戶或下層傳輸子層送來的消息時,通過消息源驗證實(shí)現(xiàn)發(fā)送方驗證和消息完整性確認(rèn)[10]。消息源驗證包括發(fā)送方和接收方消息源驗證。
2.2.1發(fā)送方消息源驗證
輸入?yún)?shù):待發(fā)送的消息m、收發(fā)雙方對等實(shí)體安全用戶共享的會話密鑰Ks、接收方目的地址(它是一個24位的在ATC系統(tǒng)中全局唯一的用戶標(biāo)識)
輸出參數(shù):利用加密函數(shù)計算獲得的64位消息驗證碼MAC
驗證過程:1)設(shè)置消息中的方向標(biāo)志位DF(發(fā)送方值是1,接收方值是0,方向標(biāo)志可以防止反射攻擊);2)在消息前附加目的地址DA;3)計算DA+m的長度L;4)當(dāng)L+DA+m的位數(shù)不是64的整數(shù)倍數(shù)時需要在它的后面填充數(shù)據(jù)p,p是使L+DA+m+p為64位整數(shù)倍數(shù)的最少個數(shù)的0;5)使用CBC-MAC函數(shù)和密鑰Ks對字符串L+DA+m+p進(jìn)行MAC運(yùn)算,將最終得到的64位消息驗證碼MAC附加到消息m的后面發(fā)送給接收方,以便接收方進(jìn)行消息源驗證。
CBC-MAC(Ks,X)函數(shù)的定義如下:
會話密鑰:Ks=(K1,K2,K3)、E(Kn,Y)是使用密鑰Kn (n∈{1,2,3})對64位字符串Y進(jìn)行加密的算法、E-1(Kn,Y)是與 E(Kn,Y)對應(yīng)的解密算法、笒是異或運(yùn)算。將L+DA+m+ p分成64位字符串組X1,X2,...,Xq,則通過如下迭代算法產(chǎn)生的Hq就是MAC。H0=0,Hi=E(K1,Hi-1⊕Xi)i是整數(shù)且1≤i≤q-1,Hq=E(K3,E-1(K2,E(K1,H q-1⊕Xq)))[11]。
參與消息源驗證的消息包括數(shù)據(jù) (DT)SaPDU、管理(MA)SaPDU、第二、第三驗證消息SaPDU、驗證響應(yīng)AR SaPDU。
2.2.2接收方消息源驗證
輸入?yún)?shù):接收的消息m′(可能完整性受到破壞與原消息m不同)、收發(fā)雙方共享的密鑰Ks、收到的消息驗證碼MAC′
驗證過程:1)在消息m′前添加自身的地址DA;2)計算字符串DA+m?的長度L;3)如果字符串L+DA+m′的長度不是64位的整數(shù)倍則添加填充p;4)利用CBC-MAC函數(shù)和Ks對字符串L+DA+m′+p進(jìn)行MAC運(yùn)算,得到MAC′′;5)檢查MAC′′與MAC′′是否相等且方向標(biāo)志是否正確。
輸出:若正確,說明消息的完整性沒有被破壞,發(fā)送方驗證成功??梢詫⑾魉徒o安全服務(wù)用戶,否則放棄本消息,并通知錯誤管理程序。
2.2.3密鑰管理
密鑰管理[12]不屬于安全層的范疇,但安全層用到密鑰管理功能。密鑰分3個級別:三級傳輸密鑰級別最高,它保護(hù)密鑰管理中心與無線閉塞中心或者車載設(shè)備之間的密鑰管理通信,包括分發(fā)二級驗證密鑰KAB或永久修改密鑰分配,由密鑰管理中心和各實(shí)體共享。二級驗證密鑰是可以建立安全關(guān)聯(lián)的兩個對等實(shí)體間事先分發(fā)且共享的密鑰,用于在連接建立過程中生成一級會話密鑰,它是由3個64位的DES密鑰組成。一級會話密鑰Ks用于為安全連接建立和安全數(shù)據(jù)傳輸提供保護(hù)。它是針對具體安全連接的,只在安全連接建立時生成,安全連接的生命期有效。會話密鑰由安全連接的對等實(shí)體共享,在兩個通信方向上對稱使用。它也是由3個64位的DES密鑰組成[13]。
在安全連接建立時,安全層對等實(shí)體各自產(chǎn)生一個64位隨機(jī)數(shù)RA與RB,并與驗證密鑰一起作為輸入變量,利用會話密鑰生成算法計算出會話密鑰。會話密鑰一共192位,每八位一組,每一組的第8位碼設(shè)定為奇偶校驗位[14]。
會話密鑰生成算法:
1)首先將Rx(x∈{A,B})劃分成左右兩個32位塊RxL和RxR。其中RA=RAL+RAR,RB=RBL+RBR;
共同組成驗證密鑰KAB。
2.3對等實(shí)體驗證的實(shí)現(xiàn)
對等實(shí)體驗證是在安全連接建立過程中實(shí)現(xiàn)的。通過對等實(shí)體驗證,一方面驗證雙方是否具有安全關(guān)聯(lián)的屬性,即是否是合法的對等實(shí)體身份;同時若驗證成功,將產(chǎn)生收發(fā)雙方共享的會話密鑰,并建立安全連接。
輸入?yún)?shù):通信雙方安全服務(wù)用戶的身份標(biāo)識ETCS ID、安全服務(wù)用戶 (無線閉塞中心設(shè)備或者車載設(shè)備的安全應(yīng)用)共享的驗證密鑰
驗證過程:假設(shè)當(dāng)前發(fā)起方B要向應(yīng)答方A建立安全連接
1)B向A發(fā)送第一驗證消息協(xié)議數(shù)據(jù)單元AU1 SaPDU,它由text1+RB構(gòu)成,RB是B產(chǎn)生的64位隨機(jī)數(shù);2)A收到AU1 SaPDU后,自己生成64位的隨機(jī)數(shù)RA,利用RA、RB和A、B雙方共享的驗證密鑰KAB通過會話密鑰生成算法計算會話密鑰KS;3)A生成第二驗證消息安全協(xié)議數(shù)據(jù)單元AU2 SaPDU并發(fā)送給B。AU2 SaPDU由text2+RA+CBC-MAC(Ks,text3+RA+RB+DA+p)構(gòu)成。其中CBC-MAC(Ks,text3+RA+RB+ DA+p)是A生成的text3+RA+RB+DA+p字段的MAC;4)B收到AU2 SaPDU后,生成會話密鑰Ks(同2));5)B計算MAC與收到的AU2 SaPDU中的MAC進(jìn)行比較,檢查AU2 SaPDU的正確性;6)B生成第三驗證消息安全協(xié)議數(shù)據(jù)單元AU3 SaPDU發(fā)送給A。AU3 SaPDU由text4+CBC-MAC(Ks,text5+ RB+RA+p)構(gòu)成。其中CBC-MAC(Ks,text5+RB+RA+p)是B生成的text5+RB+RA+p字段的MAC;7)A收到AU3 SaPDU后,計算MAC,并與B發(fā)來的MAC進(jìn)行比較,檢查AU3 SaPDU的正確性。
其中,ETY是ATC系統(tǒng)設(shè)備類型識別標(biāo)志、MTI是消息類型標(biāo)志、DF是方向標(biāo)志、SA是發(fā)送方ETCS ID、DA是接收方ETCS ID、SaF是請求的安全功能,這里特定為00000001,表示采用改進(jìn)的MAC算法3的單DES、L是消息長度信息。
輸出:1)在對等實(shí)體驗證中任何環(huán)節(jié)發(fā)生錯誤,安全連接將不能建立;
2)當(dāng)沒有錯誤發(fā)生時,即A、B雙方產(chǎn)生的消息驗證碼相同,說明雙方的會話密鑰相同,而會話密鑰又是由雙方實(shí)體共享的驗證密鑰產(chǎn)生的,從而驗證了驗證密鑰的一致性,說明A,B具有安全關(guān)聯(lián)的屬性,屬于安全對等實(shí)體。另外還產(chǎn)生了雙方共享的會話密鑰,最終成功建立安全連接,在此安全連接的生存期內(nèi),會話密鑰始終有效。
ATC系統(tǒng)中RBC設(shè)備與車載設(shè)備之間高優(yōu)先級數(shù)據(jù)的交換不涉及安全層的安全服務(wù)功能,數(shù)據(jù)傳輸?shù)陌踩圆皇鼙Wo(hù)。
安全層的對等實(shí)體在連接建立、數(shù)據(jù)傳輸、安全協(xié)議管理過程中都可能發(fā)生錯誤,管理系統(tǒng)根據(jù)錯誤性質(zhì)采取不同的處理策略??梢院雎韵嚓P(guān)事件、忽略相關(guān)事件并使用Sa-REPORT.indication服務(wù)原語向安全服務(wù)用戶指示診斷錯誤或者釋放安全和傳輸連接并使用Sa-DISCONNECT.indication服務(wù)原語向安全服務(wù)用戶指示該錯誤,然后根據(jù)安全應(yīng)用的性質(zhì)決定是否記錄相關(guān)安全錯誤。而安全服務(wù)用戶自己決定相應(yīng)的處理方式。
5.1安全連接的建立流程
安全服務(wù)對等實(shí)體間安全信息的交換是建立在安全連接基礎(chǔ)之上的。
1)發(fā)起方安全用戶 (即ATC設(shè)備安全應(yīng)用)首先通過Sa-CONNECT.request服務(wù)原語向安全層提出安全連接請求;2)安全層實(shí)體使用服務(wù)原語T-CONNECT.request向傳輸層請求建立傳輸連接。原語中包含安全層用戶的用戶數(shù)據(jù)AU1 SaPDU(其中包含發(fā)送方生成的64位隨機(jī)數(shù));3)應(yīng)答方傳輸實(shí)體使用服務(wù)原語T-CONNECT.indication向應(yīng)答方安全層發(fā)出連接指示(包含AU1 SaPDU信息);4)應(yīng)答方安全層實(shí)體若接受該消息,則根據(jù)AU1 SaPDU信息產(chǎn)生AU2 SaPDU,其中包含應(yīng)答方產(chǎn)生的64位隨機(jī)數(shù),并生成會話密鑰Ks,進(jìn)行發(fā)送方 (即連接應(yīng)答方)消息源驗證,使用TCONNECT.response(包含AU2 SaPDU)響應(yīng)傳輸連接請求。此過程雙方可以通過AU1 SaPDU和AU2 SaPDU中的SaF進(jìn)行特定安全功能協(xié)商;5)發(fā)起方傳輸層實(shí)體收到響應(yīng)原語后,通過T-CONNECT.confirmation服務(wù)原語通知傳輸層用戶(安全層實(shí)體)已成功建立傳輸連接。AU2 SaPDU作為用戶數(shù)據(jù)傳送給發(fā)起方安全層,安全層實(shí)體根據(jù)兩個64位隨機(jī)數(shù)生成會話密鑰,并進(jìn)行接收方(即連接發(fā)起方)消息源驗證;6)發(fā)起方安全實(shí)體生成AU3 SaPDU(包含發(fā)送方消息源驗證過程)使用T-DATA.request服務(wù)原語把包含AU3 SaPDU的消息傳送給傳輸層;7)接收方傳輸層實(shí)體接受時,使用服務(wù)原語T-DATA.indication把AU3 SaPDU作為用戶數(shù)據(jù)傳送給應(yīng)答方安全實(shí)體;8)應(yīng)答方安全實(shí)體對AU3 SaPDU進(jìn)行接收方消息源驗證,若成功,應(yīng)答方安全實(shí)體用服務(wù)原語Sa-CONNECT.indication通知安全層用戶,至此對等實(shí)體驗證成功;9)當(dāng)應(yīng)答方安全用戶接受連接請求則使用服務(wù)原語Sa-CONNECT.Response向應(yīng)答方安全實(shí)體發(fā)出響應(yīng);10)應(yīng)答方與發(fā)起方安全實(shí)體通過服務(wù)原語T-DATA.request和TDATA.indication利用傳輸層提供的服務(wù)傳輸包含驗證響應(yīng)安全協(xié)議數(shù)據(jù)單元AR SaPDU的消息(這個過程同樣包含收發(fā)雙方的消息源驗證過程);11)發(fā)起方安全層實(shí)體對AR SaPDU消息驗證通過后,利用服務(wù)原語 Sa-CONNECT. Confirmation通知發(fā)起方安全用戶。至此安全連接已成功建立。雙方可以利用此連接進(jìn)行安全信息交換;12)若整個過程的任一環(huán)節(jié)出現(xiàn)錯誤,則連接建立終止,并通過管理系統(tǒng)報告錯誤信息。
圖2中虛線代表邏輯數(shù)據(jù)流(SaPDU),實(shí)線代表物理數(shù)據(jù)流(服務(wù)原語)。
5.2安全用戶間用戶數(shù)據(jù)的交換流程
安全用戶通過Sa-DATA.request和Sa-DATA.indication服務(wù)原語交換安全數(shù)據(jù),用戶數(shù)據(jù)包含在DT SaPDU中。流程圖如圖3所示。
5.3安全連接的釋放流程
1)由安全用戶發(fā)起的連接釋放
安全用戶通過Sa-DISCONNECT.request服務(wù)原語釋放安全連接,用戶數(shù)據(jù)包含在DI SaPDU中,連接釋放不需要驗證。流程圖如圖4所示。
2)下層服務(wù)提供方或安全層導(dǎo)致的連接釋放
安全層對等實(shí)體使用包含連接釋放原因的Sa-DISCONNECT.indication服務(wù)原語通知各自安全服務(wù)用戶。
ATC系統(tǒng)中無線閉塞中心和車載設(shè)備在進(jìn)行安全信息交換時,通過安全層實(shí)體安全功能模塊完成消息源驗證和對等實(shí)體驗證保障了通信雙方在開放式網(wǎng)絡(luò)環(huán)境下,消息傳輸?shù)耐暾砸约巴ㄐ艑?shí)體身份的合法性,對列車的安全運(yùn)行具有重要的意義。
圖2 安全連接建立流程
圖3 安全用戶間用戶數(shù)據(jù)的交換流程
圖4 安全連接的釋放流程
[1]郜春海.基于通信的軌道交通列車運(yùn)行控制系統(tǒng)[J].現(xiàn)代城市軌道交通,2007(2):7-10.
[2]中華人民共和國鐵道部.機(jī)車綜合無線通信設(shè)備.GSM數(shù)字移動通信網(wǎng)設(shè)備技術(shù)規(guī)范[S].2006.
[3]張玉琢,曹源,聞映紅.基于交換式以太網(wǎng)的列車通信網(wǎng)絡(luò)建模與性能分析[J].通信學(xué)報,2015(9):181-187.
[4]徐麗,張勇.CTCS3級列控系統(tǒng)車載設(shè)備仿真子系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].鐵路計算機(jī)應(yīng)用,2008(5):8-11.
[5]劉霄,張亞東,郭進(jìn).CTCS3級列控車載協(xié)同仿真子系統(tǒng)的研究與實(shí)現(xiàn)[J].鐵路標(biāo)準(zhǔn)設(shè)計,2013(11):113-116,130.
[6]諶雙雙,陳澤茂,王浩.基于身份的無線傳輸層安全握手協(xié)議改進(jìn)方案[J].計算機(jī)應(yīng)用,2011(11):2954-2956.
[7]傅國欣.地鐵列車自動運(yùn)行(ATO)系統(tǒng)與列車控制系統(tǒng)(TMS)的接口[J].城市軌道交通研究,2014(1):117-121.
[8]阿爾卡特公司.Subset-037歐洲無線電系統(tǒng)功能接口規(guī)范[S].2005.
[9]梁穎升,王瓊霄,馬存慶,等.一種基于移動終端的可信消息傳輸方案設(shè)計[J].信息網(wǎng)絡(luò)安全,2015(9):158-162.
[10]陳莉雅,黃理燦,吳傳娥.基于三重DES的SaaS數(shù)據(jù)安全方案[J].工業(yè)控制計算機(jī),2015,28(3):49-50.
[11]趙訓(xùn)婷,黃友能,王偉.一種CBTC系統(tǒng)數(shù)據(jù)碼位自動生成方法研究[J].城市軌道交通研究,2014(3):66-69,74.
[12]齊寧,韓智文,劉國萍.信息安全工程[M].北京:清華大學(xué)出版社,2012.
[13]馬廣利.計算機(jī)數(shù)據(jù)通信對DES數(shù)據(jù)加密算法的應(yīng)用[J].產(chǎn)業(yè)與科技論壇,2015(15):45-46.
[14]隋濤.DES與AES數(shù)據(jù)加密算法探討[J].湖北第二師范學(xué)院學(xué)報,2013(8):66-68.
[15]管愛愛,邱昕夕,王東,等.基于模型的列車自動防護(hù)系統(tǒng)軟件開發(fā)[J].計算機(jī)工程,2013(3):1-6.
Implementation of security application of automatic control system based on open network
WANG Xi-qing
(Xi’an Railway Vocational&Technical Institute,Xi’an 710014,China)
According to security problems facing a data transmission between vehicle and ground equipment in automatic train control system Under the open wireless network environment,Using adding security layer entity of technology solutions in system structure,through data encryption algorithm,message source verification,peer entity authentication measures to achieve inspection of the message integrity and authenticity,confirmed the identity of a peer entities,and gives the detailed communication process between the peers entities,thus ensuring the automatic train control the realization of application system security,to our country three level of train automatic control system development is of great significance.
ATC;SFM;Peer entity authentication;message origin authentication;DES
TN929.5
A
1674-6236(2016)11-0074-04
2015-12-11稿件編號:201512130
陜西省教育科學(xué)“十二五”規(guī)劃2014年度課題(SGH140953)
王希慶(1974—),男,陜西西安人,碩士,講師。研究方向:通信傳輸。