任 軍 楊 劍
(北京全路通信信號研究設計院有限公司, 北京 100073)
任軍,男,碩士畢業(yè)于北京交通大學,工程師。主要研究方向包括RSSP-II安全通信協(xié)議的設計開發(fā)及測試,曾參與RBC系統(tǒng)國產(chǎn)化研究項目。
RSSP-II安全通信協(xié)議是CTCS-3級列車控制系統(tǒng)中鐵路信號安全設備之間采取的安全通信接口,作為RBC、計算機聯(lián)鎖和臨時限速服務器等地面設備之間的安全通信接口協(xié)議使用。
RSSP-II安全通信協(xié)議主要防護EN50159-2標準所定義的重復、刪除、插入、重排序、損壞、延遲和偽裝等威脅。而在實際情況中,會存在消息序列的錯誤,丟包及傳輸延遲,影響安全通信協(xié)議的可靠性。需要將這些風險限制在一個可以接受的范圍內(nèi)。當超出這個允許范圍時,應用層便認為安全連接是不可信的。安全通信協(xié)議對消息丟包和延遲的容忍程度體現(xiàn)在配置參數(shù)的選擇上,而配置參數(shù)的選擇則是一個復雜而棘手的問題。
安全通信協(xié)議配置參數(shù)設置得過于寬松時,將失去對消息威脅的防御作用;而當配置參數(shù)設置得過于嚴格時,雖然可以更加精確的監(jiān)測出消息的丟包與延遲,提高安全連接的可靠性,但卻增加了對安全連接的不可信度,犧牲了安全連接的可用性。
本論文重點研究如何合理的設置安全通信協(xié)議配置參數(shù),從而使得在保證通信可靠性的前提下,兼顧通信的可用性。同時,為安全通信協(xié)議配置參數(shù)的選取,提供一些依據(jù)。
RSSP-II安全通信協(xié)議的安全通信接口采用分層結構。安全功能模塊包含安全應用中間子層(SAI層)、消息鑒定安全層(MASL層)、通信功能模塊包含適配及冗余管理層(ALE層)。
SAI層通過給用戶數(shù)據(jù)添加序列號,進行序列號檢查,來防止數(shù)據(jù)的重復、刪除和重排序。通過給用戶數(shù)據(jù)添加TTS或EC計數(shù),來檢查數(shù)據(jù)的時效性。
MASL層應通過“信源認證”的方法檢查消息的完整性,并且防止未授權用戶在傳輸信道中插入新消息。
ALE層通過多路TCP連接實現(xiàn)冗余通信功能。
其中,SAI層按照時效性檢查方式的不同,又分為EC模式與TTS模式。下面對這兩種工作模式進行簡單說明。
對于TTS方式,時間戳的處理基于發(fā)送方與接收方之間的時鐘偏差估計。采取這種方式進行消息時延防御時,通信雙方在建立安全連接之后,應用數(shù)據(jù)交換之前初始化時鐘偏差估計。在以后收到每條應用消息后,接收方利用時鐘偏差估計值,將發(fā)送方時間戳轉(zhuǎn)換為接收方時鐘,進而估算應用消息的延遲。在時延估算的時機上,是在收到應用消息時,進行時延估計。在時延估算的精確度方面,TTS方式下,取決于時間戳的精度。
對于EC方式,則是通過對每條應用消息標記EC計數(shù)值,接收方在每個執(zhí)行周期通過對接收到消息中的EC計數(shù)值和本地計算的期望EC計數(shù)值進行比較,估算出消息延遲。在時延估算的時機上,EC方式下,不管有沒有收到應用消息,在每個執(zhí)行周期結束時,都要對消息時延進行估計。在時延估算的精確度方面,對于EC方式,因為EC方式估算時延是比較期望EC計數(shù)值與實際接收到的EC計數(shù)值,所以EC方式得到時延的誤差是一個執(zhí)行周期。
在應用方面,EC方式與TTS方式有下面一些特點。
EC方式要求應用消息通信間隔時間不能太長,在EC方式下,應用消息通信間隔時間不能大于消息最大容忍時延。否則,在正常應用消息通信間隔時間內(nèi),接收方收不到消息,而在每個執(zhí)行周期繼續(xù)累加期望的EC計數(shù)值,最終也會導致期望與實際EC計數(shù)值的差值達到EC計數(shù)器偏差閾值,釋放安全連接,掩蓋了通信間隔時間與消息時延的差別;而TTS方式,由于是用消息的時間戳直接進行時延估算,所以對應用消息通信時間間隔沒有限制。
由于EC方式每周期進行時延估算,TTS方式收到消息時進行時延估算。所以相對于TTS方式,EC方式能夠更及時發(fā)現(xiàn)底層鏈路斷開。
在EC方式下,需要周期性的進行傳輸延遲檢測,以防止EC狀態(tài)機長周期回調(diào)機制掩蓋了底層傳輸鏈路問題導致的EC狀態(tài)機長期處于同一個大于0的狀態(tài)。
RSSP-II安全通信協(xié)議配置參數(shù)主要用于平衡安全通信協(xié)議的可用性與可靠性。由于MASL層及ALE層配置參數(shù)很少而且比較簡單,取值沒有爭議。下面主要對SAI層配置參數(shù)進行分析。
RSSP-II安全通信協(xié)議配置參數(shù)主要有兩類:1)序列完整性檢查相關的配置參數(shù); 2)時效性檢查相關的配置參數(shù)。
序列完整性檢查用以防護消息的重復、刪除、插入以及重排序威脅。序列完整性檢查相關的配置主要有:消息序號偏差閾值valueN。
時效性檢查用以檢查接收到消息的時間有效性。由于時效性檢查分為EC檢查方式與TTS檢查方式,所以時效性檢查相關的配置參數(shù)也相應的分為兩大類。
在EC檢查方式下,包含如下配置參數(shù):延遲檢測定時器溢出值(valueTsyn)、EC計數(shù)器偏差閾值(valueEC)、負參數(shù)回調(diào)閾值(valueEcMaxNeg)、長周期狀態(tài)回調(diào)閾值(valueTdelta)、傳輸延遲檢測周期值(valueTupd)。
在TTS檢查方式下,包含如下配置參數(shù):時鐘偏差更新應答定時器(valueTstart)、時鐘偏差估計最大允許偏差(valueToff_max)、消息時間戳校驗最大有效時間(valueTmax)、額外延遲時間(valueTextra_delay)、時鐘偏差更新周期(valueTupd)、可選定時器超時值(valueTcycle)。
采用安全通信協(xié)議的對等通信實體之間的數(shù)據(jù)傳輸依賴于通信傳輸系統(tǒng),安全通信協(xié)議的實現(xiàn)又必須依賴于特定的軟硬件平臺。所以,通信傳輸系統(tǒng)的傳輸特性以及軟硬件平臺的性能必然對安全通信協(xié)議的運行產(chǎn)生影響。
下面對影響安全通信協(xié)議運行的外界因素進行分析,并進一步剖析對安全通信協(xié)議造成的具體影響。
1)通信傳輸系統(tǒng)的延遲
傳輸延遲將會使安全通信協(xié)議收到應用數(shù)據(jù)包的實際時間偏晚。對于EC檢查方式,將可能造成在EC周期檢查時,期望的對等實體的EC周期值Ex增長,而收到的最新的EC沒有變化,計算得到的表示當前狀態(tài)的Δ值將大于0。對于TTS檢查方式,將可能造成在應用數(shù)據(jù)的時效性估算時,得出估計的時間延遲大于valueTmax。
2)通信傳輸系統(tǒng)的丟包
丟包對安全通信協(xié)議產(chǎn)生以下幾種影響。
a.接收到相鄰消息的序列號不連續(xù)。
由于網(wǎng)絡數(shù)據(jù)包丟失,導致收到的SAI層數(shù)據(jù)包的序列號與之前收到的數(shù)據(jù)包產(chǎn)生差值。
b.計算Δ值將大于0(對于EC檢查方式)。
由于網(wǎng)絡數(shù)據(jù)包丟失,可能導致當前周期內(nèi)收不到來自對等實體的SAI層數(shù)據(jù),期望的周期值Ex增長,而收到的最新的EC沒有變化,所以,接收方在周期末計算得到的Δ值將大于0。
c.相鄰消息時間間隔增大。
在TTS檢查方式下,將可能導致valueTcycle超時。
3)采用安全通信協(xié)議的設備自身切系
由于主備系切換的判決及執(zhí)行需要耗費時間,在這段時間內(nèi),系統(tǒng)不能處理外部通信數(shù)據(jù),將產(chǎn)生以下影響。
a.相鄰消息序列號不連續(xù):切系過程中不能處理外部通信數(shù)據(jù),造成SAI層數(shù)據(jù)包丟失,導致收到的SAI層數(shù)據(jù)包的序列號與之前收到的數(shù)據(jù)包產(chǎn)生差值。
b.計算Δ值將大于0(EC檢查方式)。
c.相鄰消息時間間隔增大:可能導致可選定時器超時。
4)對等通信實體切系
在主備系切換的判決及執(zhí)行過程中,由于備系不能對外發(fā)出數(shù)據(jù),對安全通信將產(chǎn)生以下影響。
a.相鄰消息序列號不連續(xù):對等實體切系過程中不能發(fā)出數(shù)據(jù),導致收到SAI層數(shù)據(jù)包存在缺失,造成序列號不連續(xù)。
b.計算Δ值將大于0(EC檢查方式)。
c.相鄰消息時間間隔增大,在TTS檢查方式下,可能導致可選定時器超時。
5)軟硬件平臺系統(tǒng)時鐘漂移
對于EC檢查方式,系統(tǒng)時鐘的長期漂移導致EC周期緩慢的變化,而計算Δ值采用的通信雙方周期值是固定值,導致計算得到的Δ值與實際出現(xiàn)偏差,進而對時效性估計的準確性產(chǎn)生影響。
6)軟硬件平臺計算精度誤差
對于EC檢查方式,由于計算Δ值采用的發(fā)送方與接收方周期比值R為實數(shù),而Δ值為整數(shù),安全通信協(xié)議所依賴的軟硬件平臺的舍入誤差將導致計算Δ值存在偏差。
在上述章節(jié)對影響安全通信協(xié)議配置參數(shù)的外界因素進行分析的基礎之上,本節(jié)對安全通信協(xié)議配置參數(shù)的取值依次進行具體分析。
1)序列完整性檢查相關配置參數(shù)取值的選擇。
下面以EC方式下,消息序號偏差閾值valueN的選擇為例進行分析。
在前述影響因素中,采用安全通信協(xié)議的設備自身主備切系以及對等通信實體切系將會對序列完整性產(chǎn)生影響。
所以,為滿足自身切系不應使安全連接中斷,應符合:
為滿足對等實體切系不應使安全連接中斷,應符合:
因此,valueN的取值應當同時滿足上述不等式。
上述不等式中,對應的參數(shù)含義如下:本方通信周期為Tself(ms),每周期最大通信數(shù)據(jù)包數(shù)量為Nmax,本方切系消耗時間Tswitch_self(ms),對等實體切系消耗時間Tswitch_peer(ms)。
2)時效性檢查相關的配置參數(shù)取值的選擇。
以EC方式下,valueTdelta的選擇為例進行分析。
在前述影響因素中,軟硬件平臺的計算精度誤差及系統(tǒng)時鐘偏移會對時效性檢查過程產(chǎn)生影響。所以,分別從這兩方面來進行具體分析。
a.考慮軟硬件平臺的計算精度誤差因素
由下列公式
R=接收方EC周期÷發(fā)送方EC周期
下一個Ex=當前Ex+R
Δ=[(Ex-當前周期收到的最后一條信息的EC計數(shù)值]
當接收方EC周期與發(fā)送方EC周期的比值非簡單比例關系,舍入誤差導致Δ計算存在誤差。設計算R值產(chǎn)生的誤差為Δx,則經(jīng)過了1/Δx個周期后,即Tself/Δx(ms)后,計算得到的Δ值的累積誤差將達到1,故valueTdelta應滿足下式:
b.考慮軟硬件平臺系統(tǒng)時鐘漂移因素
由于系統(tǒng)時鐘精度存在誤差,設對等實體系統(tǒng)定時誤差為pr%,則在最不利情況下,經(jīng)過100×Tpeer/pr (ms)后,時鐘誤差將達到一個周期,故valueTdelta的取值應符合下式:
所以,valueTdelta的取值應當同時滿足上述不等式。
本文簡單介紹RSSP-II安全通信協(xié)議的功能和原理,并對時效性檢查方式中的TTS模式與EC模式下的各自運行特點加以分析說明。其后對RSSP-II安全通信協(xié)議所包含的配置參數(shù)進行介紹。結合安全通信協(xié)議的特點,對影響安全通信協(xié)議配置參數(shù)取值的外界因素逐個進行深入分析。
在對外界影響因素有了全面認識的基礎上,結合實例,分析如何由外界因素對安全通信協(xié)議運行的影響情況,得出合理的配置參數(shù)取值。
本文對安全通信協(xié)議配置參數(shù)的合理取值問題的分析,能夠?qū)こ虒嵤┤藛T提供設計參考。
[1] RSSP-II鐵路信號安全通信協(xié)議(V1.0) [S]. 2010
[2] EN50159-2. Railway Applications-Communication, signaling and processing systems, Part 2: Safety related communication in open transmission systems [S]. 2001