鄭 藝,孫 可,孫 野,沈 濤
(湖南中車時代通信信號有限公司北京分公司,北京 100079)
ETCS系統(tǒng)[1]是歐洲鐵路運輸管理系統(tǒng)(ERTMS)的重要組成部分,在歐洲乃至全球廣泛應用,為了實現(xiàn)中國高鐵技術“走出去”的戰(zhàn)略,有必要對ETCS系統(tǒng)進行深入研究開發(fā)。
ETCS系統(tǒng)的車載設備部署于列車內部,其與車輛的TCMS系統(tǒng)通過列車接口連接,列車接口同時采用并行連接和串行連接兩類。其中,并行連接主要是繼電器接口,串行連接主要是總線/網(wǎng)絡接口[2]。ETCS車載設備通過總線/網(wǎng)絡接口掛載到列車通信網(wǎng)絡(TCN),實現(xiàn)與TCMS系統(tǒng)的信息交互,因此ETCS車載設備的列車接口符合TCN的通信規(guī)約。當前TCN主要有多功能車輛總線(MVB)、CAN總線、以太網(wǎng)編組網(wǎng)(ECN)等多種形式。國際電工委員會(IEC)根據(jù)技術的發(fā)展相繼推出了一系列TCN技術標準,即IEC 61375系列標準[3]。其中2015年7月頒布的IEC 61375-2-3標準[4]詳細規(guī)定了TCN網(wǎng)絡的安全數(shù)據(jù)傳輸(SDT)協(xié)議。歐盟Shift2Rail計劃所研究的下一代TCMS對數(shù)據(jù)安全性有更高的需求,在該計劃支持下的Safe4RAIL研究計劃中,一些研究機構對如何將IEC 61375-2-3標準規(guī)范的SDT協(xié)議的安全完整性等級由目前的SIL2級提高至SIL4級進行初步研究[5-6]。近些年國內的TCN技術有了長足發(fā)展,為了實現(xiàn)與國際標準的接軌,并為“走出去”戰(zhàn)略奠定基礎,2020年3月國家鐵路局在參照IEC 61375-2-3標準的基礎上頒布了GB/T 28029.4-2020標準[7]。
隨著通信技術的發(fā)展和研究的逐漸深入,為實現(xiàn)TCN網(wǎng)絡中數(shù)據(jù)傳輸具備更高安全性提供了新的可能性。本文首先對安全數(shù)據(jù)傳輸進行概述,介紹標準規(guī)定的協(xié)議所采用的安全措施,設計并實現(xiàn)了符合IEC 61375-2-3標準的SDT協(xié)議,并通過搭建自動測試環(huán)境對SDT協(xié)議功能進行測試。
本文介紹的SDT協(xié)議為安全相關的信源與信宿之間提供了安全的通信通道,這個通道稱為安全數(shù)據(jù)傳輸通道,SDT協(xié)議所在網(wǎng)絡結構如圖1所示。SDT協(xié)議作為安全應用與通信通道的數(shù)據(jù)傳輸?shù)拿浇椋渚哂袃蓚€接口:安全應用層接口與通信通道接口。安全應用層接口是SDT協(xié)議從安全應用中獲取和向安全應用傳輸過程數(shù)據(jù)的接口。通信通道接口由列車實時數(shù)據(jù)協(xié)議(TRDP)構成,該協(xié)議定義了發(fā)送到TCN和從TCN接收的SDT協(xié)議數(shù)據(jù)單元的規(guī)則。SDT協(xié)議層主要功能是添加和解析本層的協(xié)議信息。在接收來自通信層的數(shù)據(jù)時,通過SDT協(xié)議來判斷接收的信息是否有效,以及是否上傳至應用層。SDT協(xié)議層是本文主要研究對象。

圖1 SDT協(xié)議在網(wǎng)絡結構中的位置示意圖Fig.1 Location diagram of SDT protocol in network structure
對于數(shù)據(jù)傳輸系統(tǒng)中的安全通信問題,EN50159標準[8-9]中規(guī)定了要對以下的安全威脅進行識別和防范:
1) 報文重復;
2) 報文丟失;
3) 報文插入;
4) 報文次序混亂;
5) 報文錯誤;
6) 報文傳輸超時。
針對上述安全威脅,SDT協(xié)議采用下述多種措施對數(shù)據(jù)的安全性進行檢查,以實現(xiàn)識別防范安全威脅的目的。
1) 報文序列號;
2) 數(shù)據(jù)接收端的時間監(jiān)督;
3) 報文CRC校驗;
4) 源標識符;
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é)議是應用于TCN網(wǎng)絡的通用安全數(shù)據(jù)傳輸協(xié)議,不僅適用于ETB也適用于MVB。應用于兩者的SDT協(xié)議工作原理完全一致,只是其中部分字段的取值和報文尾部附加數(shù)據(jù)長度有差別。鑒于ETCS車載設備與車輛之間的通信連接為MVB總線,本文主要研究MVB總線上的SDT協(xié)議。
SDT協(xié)議的重要數(shù)據(jù)包(VDP)由兩部分組成,分別是來自安全應用層下發(fā)的重要過程數(shù)據(jù)(Vital Process Data)和尾部附加數(shù)據(jù)(Trailer),報文格式示意如圖2所示。

圖2 MVB總線上的VDP結構示意圖Fig.2 Schematic diagram of VDP over MVB telegram structure
SDT協(xié)議數(shù)據(jù)包的Trailer結構如圖3所示。其中Safe Sequ Count(SSC)字段取值是數(shù)據(jù)包的安全序號,同一端口每發(fā)送一包數(shù)據(jù)該字段值增加1;Safety Code取值是32位CRC運算后的計算結果,運算的種子值是源標識符(SID),計算范圍是數(shù)據(jù)包起始位置到安全序號之間的數(shù)據(jù);User Data Main Version字段指的用戶數(shù)據(jù)主版本號。

圖3 SDT協(xié)議報文Trailer部分數(shù)據(jù)結構圖Fig.3 SDT protocol telegram Trailer part data structure diagram
SID是通過對圖4的數(shù)據(jù)結構進行32位的CRC運算后的結果。

圖4 計算SID的數(shù)據(jù)結構圖Fig.4 Data structure diagram for calculating SID
圖4中的SMI表示的是安全消息標識符,每個MVB的源端口設置一個唯一的數(shù)值。字段SDTProtVers表示的SDT協(xié)議版本號。當SDT協(xié)議應用于MVB總線時,其他字段都置為零。
數(shù)據(jù)包完整性檢查的目的是過濾掉不準確的VDP,即損壞的VDP和用戶數(shù)據(jù)主版本號不正確的VDP都被認為是無效的數(shù)據(jù),不會提交給應用軟件處理。
SDT協(xié)議從通信通道接口讀取VDP后,首先檢查該VDP的SafetyCode計算是否正確;其次,接收端判斷該VDP是否為新VDP。若檢查存在字段值錯誤或者VDP不是新的VDP,那么SDT協(xié)議層不向上層應用傳遞該VDP數(shù)據(jù)。
信宿時間監(jiān)督的目的是識別通信中斷的錯誤。信宿的接收端口在收到初始VDP后,開啟時間監(jiān)督定時器,若信宿時間監(jiān)督定時器直到超時都未收到準確并且新的VDP,則認為安全通信中斷,即便此后收到符合要求的VDP,SDT協(xié)議層也不能立即恢復安全通信,而要將新收到的VDP作為初始VDP,重新完成安全通信建立的流程后才向應用層再次上傳數(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丟失,導致信宿時間監(jiān)督定時器大于超時閾值Trx_safe,SDT協(xié)議層判定安全通信中斷,即便此后收到正確的SSC=06的VDP,也不能立即恢復安全通信。
時延監(jiān)控的目的是監(jiān)督VDP傳輸?shù)难舆t,VDP的時延指的是從安全信源到安全信宿的時延。網(wǎng)絡發(fā)生擁塞時,接收端的時延會快速增大。如果信息傳輸時延超過時延閾值,則認為安全通信中斷。時延監(jiān)控原理示意如圖6所示。
圖6中的SSCE表示的是信宿期望接收到的VDP包安全序號,SSCS表示的是信宿實際收到的VDP包安全序號,Tlatency表示VDP包的時延,Trx_safe表示的是時延超時閾值。
SSCE可以用式(1)計算得出,

式中,SSC0表示安全數(shù)據(jù)通信建立的初始VDP的SSC,t表示信宿當前時間,t0表示信宿收到初始VDP的時間,Ttx_period表示信源發(fā)送周期。
當接收端滿足公式(2)條件時,置安全通信狀態(tài)丟失。式中,{SSCE(t)- SSCS(t)}|mod(2^k)表示信宿在t時刻的期望收到的SSC和實際采樣的SSC之間的差值。

通道監(jiān)控旨在檢測到SDT通道內部傳輸失敗率的突然增加,這可能會是屬于SDT通道的某個組件中發(fā)生硬件或軟件故障。隨著傳輸故障率的增加,損壞的VDP通過CRC校驗程序而未被檢測到的可能性增加,并且可能變得不可接受。信道監(jiān)控通過設置每小時發(fā)生CRC校驗失敗的次數(shù)作為判斷閾值來防御該類危險。
但是上述方式具體實現(xiàn)效率較低,IEC 61375-2-3標準給出了一種信道監(jiān)控算法。即通過式(3)設置信道監(jiān)控閾值。

式中,fm表示信源發(fā)送端口每小時發(fā)送VDP的頻率;K3表示每小時發(fā)生的CRC校驗失敗次數(shù)的閾值,一般置為43;參數(shù)K4因K3數(shù)值變化而變化,當K3置為43時,K4置為36。
設置一個CRC校驗失敗次數(shù)的計數(shù)器Z,當發(fā)生校驗失敗時,計數(shù)加1,當校驗成功時,計數(shù)減1,如果發(fā)生計數(shù)值Z大于監(jiān)控閾值CM_thr,則認為安全通信中斷。發(fā)生該錯誤后,當計數(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é)議基礎上,有必要搭建協(xié)議測試平臺,對開發(fā)的SDT協(xié)議進行功能測試。本文通過構建故障注入模塊,完成SDT協(xié)議的安全數(shù)據(jù)傳輸功能相關測試工作。
SDT協(xié)議故障注入模塊是處于陪測設備與測試設備之間的故障注入設備。故障注入設備接收陪測設備發(fā)送的準確VDP數(shù)據(jù)后,按照設置的故障注入方案,對報文進行相應操作處理,繼而將處理后的VDP報文通過MVB總線發(fā)送至測試設備。SDT協(xié)議測試系統(tǒng)架構示意如圖7所示。

圖7 SDT協(xié)議測試系統(tǒng)架構示意圖Fig.7 Schematic diagram of SDT protocol test system architecture
SDT協(xié)議測試功能點和故障注入點的對應關系如表2所示。

表2 SDT協(xié)議測試功能點及故障注入Tab.2 SDT Protocol Test Function Points and Fault Injection
使用故障注入模塊,可以對MVB總線傳輸?shù)膱笪膿p壞、重復、亂序、丟失、超時、插入、信道錯誤等多種故障類型進行全面的測試驗證,對SDT協(xié)議的開發(fā)驗證具有重要意義。
TCN的通信規(guī)約對于車載機電設備之間的互操作和數(shù)據(jù)共享具有重要意義,其中安全數(shù)據(jù)傳輸協(xié)議是實現(xiàn)安全通信的重要保障。ETCS車載設備與車輛TCMS之間的通信關系著列車控制系統(tǒng)的安全性,其數(shù)據(jù)傳輸?shù)陌踩葹橹匾O計實現(xiàn)SDT協(xié)議也更為必要,相關設計、開發(fā)、測試工作在工程中有廣泛深遠的價值。本文簡述了安全傳輸協(xié)議研究的國內外現(xiàn)狀,概述了SDT協(xié)議及其采用的安全防御措施,在此基礎上詳細描述了SDT協(xié)議的設計方案,并對SDT協(xié)議進行了故障注入測試以驗證協(xié)議功能性。本文的研究工作對ETCS車載設備在海外動車組/機車上的部署創(chuàng)造了基本條件,所設計實現(xiàn)的SDT協(xié)議已在多個海外ETCS項目中實現(xiàn)了工程應用,通過了各項相關列車接口測試,為后續(xù)更深入的研究安全數(shù)據(jù)傳輸協(xié)議奠定了基礎。