鄭 藝,孫 可,孫 野,沈 濤
(湖南中車時代通信信號有限公司北京分公司,北京 100079)
ETCS系統(tǒng)[1]是歐洲鐵路運輸管理系統(tǒng)(ERTMS)的重要組成部分,在歐洲乃至全球廣泛應(yīng)用,為了實現(xiàn)中國高鐵技術(shù)“走出去”的戰(zhàn)略,有必要對ETCS系統(tǒng)進(jìn)行深入研究開發(fā)。
ETCS系統(tǒng)的車載設(shè)備部署于列車內(nèi)部,其與車輛的TCMS系統(tǒng)通過列車接口連接,列車接口同時采用并行連接和串行連接兩類。其中,并行連接主要是繼電器接口,串行連接主要是總線/網(wǎng)絡(luò)接口[2]。ETCS車載設(shè)備通過總線/網(wǎng)絡(luò)接口掛載到列車通信網(wǎng)絡(luò)(TCN),實現(xiàn)與TCMS系統(tǒng)的信息交互,因此ETCS車載設(shè)備的列車接口符合TCN的通信規(guī)約。當(dāng)前TCN主要有多功能車輛總線(MVB)、CAN總線、以太網(wǎng)編組網(wǎng)(ECN)等多種形式。國際電工委員會(IEC)根據(jù)技術(shù)的發(fā)展相繼推出了一系列TCN技術(shù)標(biāo)準(zhǔn),即IEC 61375系列標(biāo)準(zhǔn)[3]。其中2015年7月頒布的IEC 61375-2-3標(biāo)準(zhǔn)[4]詳細(xì)規(guī)定了TCN網(wǎng)絡(luò)的安全數(shù)據(jù)傳輸(SDT)協(xié)議。歐盟Shift2Rail計劃所研究的下一代TCMS對數(shù)據(jù)安全性有更高的需求,在該計劃支持下的Safe4RAIL研究計劃中,一些研究機(jī)構(gòu)對如何將IEC 61375-2-3標(biāo)準(zhǔn)規(guī)范的SDT協(xié)議的安全完整性等級由目前的SIL2級提高至SIL4級進(jìn)行初步研究[5-6]。近些年國內(nèi)的TCN技術(shù)有了長足發(fā)展,為了實現(xiàn)與國際標(biāo)準(zhǔn)的接軌,并為“走出去”戰(zhàn)略奠定基礎(chǔ),2020年3月國家鐵路局在參照IEC 61375-2-3標(biāo)準(zhǔn)的基礎(chǔ)上頒布了GB/T 28029.4-2020標(biāo)準(zhǔn)[7]。
隨著通信技術(shù)的發(fā)展和研究的逐漸深入,為實現(xiàn)TCN網(wǎng)絡(luò)中數(shù)據(jù)傳輸具備更高安全性提供了新的可能性。本文首先對安全數(shù)據(jù)傳輸進(jìn)行概述,介紹標(biāo)準(zhǔn)規(guī)定的協(xié)議所采用的安全措施,設(shè)計并實現(xiàn)了符合IEC 61375-2-3標(biāo)準(zhǔn)的SDT協(xié)議,并通過搭建自動測試環(huán)境對SDT協(xié)議功能進(jìn)行測試。
本文介紹的SDT協(xié)議為安全相關(guān)的信源與信宿之間提供了安全的通信通道,這個通道稱為安全數(shù)據(jù)傳輸通道,SDT協(xié)議所在網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。SDT協(xié)議作為安全應(yīng)用與通信通道的數(shù)據(jù)傳輸?shù)拿浇?,其具有兩個接口:安全應(yīng)用層接口與通信通道接口。安全應(yīng)用層接口是SDT協(xié)議從安全應(yīng)用中獲取和向安全應(yīng)用傳輸過程數(shù)據(jù)的接口。通信通道接口由列車實時數(shù)據(jù)協(xié)議(TRDP)構(gòu)成,該協(xié)議定義了發(fā)送到TCN和從TCN接收的SDT協(xié)議數(shù)據(jù)單元的規(guī)則。SDT協(xié)議層主要功能是添加和解析本層的協(xié)議信息。在接收來自通信層的數(shù)據(jù)時,通過SDT協(xié)議來判斷接收的信息是否有效,以及是否上傳至應(yīng)用層。SDT協(xié)議層是本文主要研究對象。
圖1 SDT協(xié)議在網(wǎng)絡(luò)結(jié)構(gòu)中的位置示意圖Fig.1 Location diagram of SDT protocol in network structure
對于數(shù)據(jù)傳輸系統(tǒng)中的安全通信問題,EN50159標(biāo)準(zhǔn)[8-9]中規(guī)定了要對以下的安全威脅進(jìn)行識別和防范:
1) 報文重復(fù);
2) 報文丟失;
3) 報文插入;
4) 報文次序混亂;
5) 報文錯誤;
6) 報文傳輸超時。
針對上述安全威脅,SDT協(xié)議采用下述多種措施對數(shù)據(jù)的安全性進(jìn)行檢查,以實現(xiàn)識別防范安全威脅的目的。
1) 報文序列號;
2) 數(shù)據(jù)接收端的時間監(jiān)督;
3) 報文CRC校驗;
4) 源標(biāo)識符;
5) 時延監(jiān)控;
6) 信道監(jiān)控。
SDT協(xié)議的威脅/防御矩陣如表1所示。
表1 SDT協(xié)議威脅/防御矩陣Tab.1 Threat / Defense Matrix of the SDT Protocol
由表1可知,SDT協(xié)議通過綜合采用多種安全防御措施,可以完全覆蓋通信的各種安全威脅。
SDT協(xié)議是應(yīng)用于TCN網(wǎng)絡(luò)的通用安全數(shù)據(jù)傳輸協(xié)議,不僅適用于ETB也適用于MVB。應(yīng)用于兩者的SDT協(xié)議工作原理完全一致,只是其中部分字段的取值和報文尾部附加數(shù)據(jù)長度有差別。鑒于ETCS車載設(shè)備與車輛之間的通信連接為MVB總線,本文主要研究MVB總線上的SDT協(xié)議。
SDT協(xié)議的重要數(shù)據(jù)包(VDP)由兩部分組成,分別是來自安全應(yīng)用層下發(fā)的重要過程數(shù)據(jù)(Vital Process Data)和尾部附加數(shù)據(jù)(Trailer),報文格式示意如圖2所示。
圖2 MVB總線上的VDP結(jié)構(gòu)示意圖Fig.2 Schematic diagram of VDP over MVB telegram structure
SDT協(xié)議數(shù)據(jù)包的Trailer結(jié)構(gòu)如圖3所示。其中Safe Sequ Count(SSC)字段取值是數(shù)據(jù)包的安全序號,同一端口每發(fā)送一包數(shù)據(jù)該字段值增加1;Safety Code取值是32位CRC運算后的計算結(jié)果,運算的種子值是源標(biāo)識符(SID),計算范圍是數(shù)據(jù)包起始位置到安全序號之間的數(shù)據(jù);User Data Main Version字段指的用戶數(shù)據(jù)主版本號。
圖3 SDT協(xié)議報文Trailer部分?jǐn)?shù)據(jù)結(jié)構(gòu)圖Fig.3 SDT protocol telegram Trailer part data structure diagram
SID是通過對圖4的數(shù)據(jù)結(jié)構(gòu)進(jìn)行32位的CRC運算后的結(jié)果。
圖4 計算SID的數(shù)據(jù)結(jié)構(gòu)圖Fig.4 Data structure diagram for calculating SID
圖4中的SMI表示的是安全消息標(biāo)識符,每個MVB的源端口設(shè)置一個唯一的數(shù)值。字段SDTProtVers表示的SDT協(xié)議版本號。當(dāng)SDT協(xié)議應(yīng)用于MVB總線時,其他字段都置為零。
數(shù)據(jù)包完整性檢查的目的是過濾掉不準(zhǔn)確的VDP,即損壞的VDP和用戶數(shù)據(jù)主版本號不正確的VDP都被認(rèn)為是無效的數(shù)據(jù),不會提交給應(yīng)用軟件處理。
SDT協(xié)議從通信通道接口讀取VDP后,首先檢查該VDP的SafetyCode計算是否正確;其次,接收端判斷該VDP是否為新VDP。若檢查存在字段值錯誤或者VDP不是新的VDP,那么SDT協(xié)議層不向上層應(yīng)用傳遞該VDP數(shù)據(jù)。
信宿時間監(jiān)督的目的是識別通信中斷的錯誤。信宿的接收端口在收到初始VDP后,開啟時間監(jiān)督定時器,若信宿時間監(jiān)督定時器直到超時都未收到準(zhǔn)確并且新的VDP,則認(rèn)為安全通信中斷,即便此后收到符合要求的VDP,SDT協(xié)議層也不能立即恢復(fù)安全通信,而要將新收到的VDP作為初始VDP,重新完成安全通信建立的流程后才向應(yīng)用層再次上傳數(shù)據(jù)。信宿時間監(jiān)督原理示意圖如圖5所示。
圖5 信宿時間監(jiān)督原理示意圖Fig.5 Schematic diagram of the principle of sink time supervision
圖5中信宿在收到SSC=01的VDP后連續(xù)4個VDP丟失,導(dǎo)致信宿時間監(jiān)督定時器大于超時閾值Trx_safe,SDT協(xié)議層判定安全通信中斷,即便此后收到正確的SSC=06的VDP,也不能立即恢復(fù)安全通信。
時延監(jiān)控的目的是監(jiān)督VDP傳輸?shù)难舆t,VDP的時延指的是從安全信源到安全信宿的時延。網(wǎng)絡(luò)發(fā)生擁塞時,接收端的時延會快速增大。如果信息傳輸時延超過時延閾值,則認(rèn)為安全通信中斷。時延監(jiān)控原理示意如圖6所示。
圖6中的SSCE表示的是信宿期望接收到的VDP包安全序號,SSCS表示的是信宿實際收到的VDP包安全序號,Tlatency表示VDP包的時延,Trx_safe表示的是時延超時閾值。
SSCE可以用式(1)計算得出,
式中,SSC0表示安全數(shù)據(jù)通信建立的初始VDP的SSC,t表示信宿當(dāng)前時間,t0表示信宿收到初始VDP的時間,Ttx_period表示信源發(fā)送周期。
當(dāng)接收端滿足公式(2)條件時,置安全通信狀態(tài)丟失。式中,{SSCE(t)- SSCS(t)}|mod(2^k)表示信宿在t時刻的期望收到的SSC和實際采樣的SSC之間的差值。
通道監(jiān)控旨在檢測到SDT通道內(nèi)部傳輸失敗率的突然增加,這可能會是屬于SDT通道的某個組件中發(fā)生硬件或軟件故障。隨著傳輸故障率的增加,損壞的VDP通過CRC校驗程序而未被檢測到的可能性增加,并且可能變得不可接受。信道監(jiān)控通過設(shè)置每小時發(fā)生CRC校驗失敗的次數(shù)作為判斷閾值來防御該類危險。
但是上述方式具體實現(xiàn)效率較低,IEC 61375-2-3標(biāo)準(zhǔn)給出了一種信道監(jiān)控算法。即通過式(3)設(shè)置信道監(jiān)控閾值。
式中,fm表示信源發(fā)送端口每小時發(fā)送VDP的頻率;K3表示每小時發(fā)生的CRC校驗失敗次數(shù)的閾值,一般置為43;參數(shù)K4因K3數(shù)值變化而變化,當(dāng)K3置為43時,K4置為36。
設(shè)置一個CRC校驗失敗次數(shù)的計數(shù)器Z,當(dāng)發(fā)生校驗失敗時,計數(shù)加1,當(dāng)校驗成功時,計數(shù)減1,如果發(fā)生計數(shù)值Z大于監(jiān)控閾值CM_thr,則認(rèn)為安全通信中斷。發(fā)生該錯誤后,當(dāng)計數(shù)值Z數(shù)值再次變?yōu)?時,解除安全通信中斷狀態(tài),重新建立安全通信。
圖6 信宿時間監(jiān)控原理示意圖Fig.6 Schematic diagram of the principle of sink time supervision
在實現(xiàn)SDT協(xié)議基礎(chǔ)上,有必要搭建協(xié)議測試平臺,對開發(fā)的SDT協(xié)議進(jìn)行功能測試。本文通過構(gòu)建故障注入模塊,完成SDT協(xié)議的安全數(shù)據(jù)傳輸功能相關(guān)測試工作。
SDT協(xié)議故障注入模塊是處于陪測設(shè)備與測試設(shè)備之間的故障注入設(shè)備。故障注入設(shè)備接收陪測設(shè)備發(fā)送的準(zhǔn)確VDP數(shù)據(jù)后,按照設(shè)置的故障注入方案,對報文進(jìn)行相應(yīng)操作處理,繼而將處理后的VDP報文通過MVB總線發(fā)送至測試設(shè)備。SDT協(xié)議測試系統(tǒng)架構(gòu)示意如圖7所示。
圖7 SDT協(xié)議測試系統(tǒng)架構(gòu)示意圖Fig.7 Schematic diagram of SDT protocol test system architecture
SDT協(xié)議測試功能點和故障注入點的對應(yīng)關(guān)系如表2所示。
表2 SDT協(xié)議測試功能點及故障注入Tab.2 SDT Protocol Test Function Points and Fault Injection
使用故障注入模塊,可以對MVB總線傳輸?shù)膱笪膿p壞、重復(fù)、亂序、丟失、超時、插入、信道錯誤等多種故障類型進(jìn)行全面的測試驗證,對SDT協(xié)議的開發(fā)驗證具有重要意義。
TCN的通信規(guī)約對于車載機(jī)電設(shè)備之間的互操作和數(shù)據(jù)共享具有重要意義,其中安全數(shù)據(jù)傳輸協(xié)議是實現(xiàn)安全通信的重要保障。ETCS車載設(shè)備與車輛TCMS之間的通信關(guān)系著列車控制系統(tǒng)的安全性,其數(shù)據(jù)傳輸?shù)陌踩葹橹匾O(shè)計實現(xiàn)SDT協(xié)議也更為必要,相關(guān)設(shè)計、開發(fā)、測試工作在工程中有廣泛深遠(yuǎn)的價值。本文簡述了安全傳輸協(xié)議研究的國內(nèi)外現(xiàn)狀,概述了SDT協(xié)議及其采用的安全防御措施,在此基礎(chǔ)上詳細(xì)描述了SDT協(xié)議的設(shè)計方案,并對SDT協(xié)議進(jìn)行了故障注入測試以驗證協(xié)議功能性。本文的研究工作對ETCS車載設(shè)備在海外動車組/機(jī)車上的部署創(chuàng)造了基本條件,所設(shè)計實現(xiàn)的SDT協(xié)議已在多個海外ETCS項目中實現(xiàn)了工程應(yīng)用,通過了各項相關(guān)列車接口測試,為后續(xù)更深入的研究安全數(shù)據(jù)傳輸協(xié)議奠定了基礎(chǔ)。