王非++劉斌++張大鵬
摘 要:鐵路信號產(chǎn)品中各設(shè)備或模塊之間通信的可靠性和安全性,直接關(guān)系到鐵路運營安全和人員安全。EN50159標(biāo)準(zhǔn)是專門針對鐵路信號系統(tǒng)中安全相關(guān)通信而擬定的,該標(biāo)準(zhǔn)提出了安全通信協(xié)議應(yīng)滿足的安全要求,以及應(yīng)對通信風(fēng)險應(yīng)采取的措施。在產(chǎn)品設(shè)計階段實現(xiàn)本質(zhì)安全的設(shè)計是解決通信失效帶來影響的重要措施。本文將從以下兩個方面進行研究:(1)EN50159安全通信標(biāo)準(zhǔn)的要求;(2)當(dāng)既有鐵路信號產(chǎn)品面臨兼容性問題而無法修改通信協(xié)議時,應(yīng)如何通過修改硬件結(jié)構(gòu)設(shè)計來彌補通信協(xié)議的不足。本文將給出實例和分析過程。
關(guān)鍵詞:鐵路信號 系統(tǒng)安全通信設(shè)計 安全標(biāo)準(zhǔn)
中圖分類號:U284 文獻標(biāo)識碼:A 文章編號:1672-3791(2014)06(a)-0018-02
1 安全相關(guān)系統(tǒng)通信結(jié)構(gòu)
通常安全相關(guān)系統(tǒng)是由多個子系統(tǒng)構(gòu)成,各個子系統(tǒng)之間的通信是否安全是本文的研究對象。以下圖為例:安全相關(guān)子系統(tǒng)通??纱致缘姆譃橐韵?層:物理層、數(shù)據(jù)鏈路層、應(yīng)用層。其中物理層和數(shù)據(jù)鏈路層可以合并,統(tǒng)稱為平臺層。數(shù)據(jù)鏈路層中對外通常會有通信協(xié)議,這類通信協(xié)議的組包和解析工作如果是由集成芯片自動完成的(比如HDLC協(xié)議由64570芯片自動解析),或者協(xié)議是民用的標(biāo)準(zhǔn)協(xié)議,比如TCP/IP協(xié)議由網(wǎng)卡驅(qū)動自動解析,那么,這些協(xié)議所做的所有校驗工作都不會被安全系統(tǒng)所信任。安全通信協(xié)議研究的范疇是基于應(yīng)用層,也就是由安全相關(guān)子系統(tǒng)的設(shè)計人員在應(yīng)用層追加一層安全層來完成安全通信協(xié)議的所有防護要求,這里提到的安全層是接下來章節(jié)所要研究的重點。
圖1為安全相關(guān)子系統(tǒng)通信結(jié)構(gòu)圖,安全相關(guān)子系統(tǒng)A與B通信,應(yīng)用層數(shù)據(jù)外面疊加了平臺層數(shù)據(jù)后,構(gòu)成了在物理鏈路上傳輸?shù)陌踩嚓P(guān)數(shù)據(jù)幀。為了防護從應(yīng)用層到平臺層數(shù)據(jù)的失效,或者不采信平臺層所做的所有防御性校驗,在應(yīng)用層中,將應(yīng)用數(shù)據(jù)疊加一層安全協(xié)議,構(gòu)成了圖1中的“安全相關(guān)應(yīng)用數(shù)據(jù)”,使得在失效發(fā)生時,接收端安全相關(guān)子系統(tǒng)能夠通過安全協(xié)議校驗出異常,從而能夠防止系統(tǒng)使用已經(jīng)實效了的數(shù)據(jù)。
圖2為鏈路上傳輸?shù)陌踩嚓P(guān)數(shù)據(jù)幀格式的示意圖,該圖能夠更加明確的表達各層數(shù)據(jù)協(xié)議的關(guān)系。其中“安全協(xié)議”部分應(yīng)滿足EN50159標(biāo)準(zhǔn)中提出的安全要求。
2 安全通信協(xié)議的基本要求
在EN50159中規(guī)定,安全通信協(xié)議應(yīng)該能夠防護以下七類危害。
2.1 重復(fù)(Repetition)
在通信鏈路出現(xiàn)重復(fù)的數(shù)據(jù)包,即在接受方接收到多次相同的數(shù)據(jù)幀。
2.2 刪除(Deletion)
某一個數(shù)據(jù)包在傳輸過程中丟失,未能到達目的地。
2.3 插入(Insertion)
在傳輸過程中,被插入一個數(shù)據(jù)幀。
2.4 亂序(Re-sequence)
到達目的地的數(shù)據(jù)幀與數(shù)據(jù)源發(fā)出的數(shù)據(jù)幀順序不一致。
2.5 破壞(Corruption)
數(shù)據(jù)幀的任意位都有可能由于傳輸系統(tǒng)的干擾或其他原因而發(fā)生改變。
2.6 延遲(Delay)
數(shù)據(jù)幀到達目的地的時間晚于預(yù)期。
2.7 偽裝(Masquerade)
攻擊方惡意仿造傳輸系統(tǒng)中的有效數(shù)據(jù),并將其發(fā)送給任意接收方。
防護上述危害可以采用很多方法,比如:在協(xié)議中增加“序號”,使用時間戳,使用超時判斷,使用源、目的標(biāo)識,使用消息反饋機制、使用安全編碼,增大碼距,使用信息加密技術(shù)等,傳輸系統(tǒng)中存在的危害與防護措施之間的關(guān)系,可以用表1來表示。
3 實例研究
事實上,在實際應(yīng)用中,有些既有系統(tǒng)為了保證其兼容性,既要保證其通信的安全性又不能按照上章節(jié)介紹的方法使用防護措施。本章節(jié),筆者將給出一個實例,來介紹在不修改原有通信協(xié)議的基礎(chǔ)上,通過修改硬件結(jié)構(gòu)設(shè)計,仍能夠防護通信系統(tǒng)中幾類常見的危害。
3.1 既有系統(tǒng)的協(xié)議模型介紹
如圖3所示,既有系統(tǒng)中,除了應(yīng)用數(shù)據(jù)外,安全協(xié)議只包含“序號”一種防護措施,由表1可知,能夠防護重復(fù)、刪除、插入、亂序的威脅。
序號每通信周期遞增1,至255后循環(huán)遞增為1。也就是說,在正常情況下,接收方接收到的序號應(yīng)是連續(xù)且遞增1的。下面將從接收方的角度逐個分析表1中所述的7個威脅是如何防護的:
重復(fù):當(dāng)接收方接收到了重復(fù)的數(shù)據(jù)幀時,其序號與前一幀的序號應(yīng)是相同的,檢測到該異常時,應(yīng)將重復(fù)收到的數(shù)據(jù)幀丟棄,從而可以防止使用重復(fù)數(shù)據(jù)。
刪除:當(dāng)接收方接收到的數(shù)據(jù)幀的序號發(fā)生了跳變,如本應(yīng)接收序號為2的幀,但是接收的數(shù)據(jù)幀序號為3,說明序號為了2的數(shù)據(jù)幀丟失,此時接收方應(yīng)將其記錄,如果連續(xù)發(fā)生丟失數(shù)據(jù),則判斷為通信故障,何時判斷為通信故障,需視容忍程度而定,如果一定要執(zhí)行嚴苛的規(guī)定,丟1幀即判定為通信故障也未為不可,只是會影響系統(tǒng)的可用性。
插入:當(dāng)通信系統(tǒng)中多出一個數(shù)據(jù)幀時,其序號要么出現(xiàn)重復(fù),要么出現(xiàn)跳變,接收方也可診斷出該失效。
亂序:當(dāng)接收方接收到數(shù)據(jù)的順序與預(yù)期不符時,即發(fā)生了亂序,這類失效也可通過序號的辨識來診斷出來。
延遲:兩安全相關(guān)子系統(tǒng)通信協(xié)議中對超時判斷有了規(guī)定,當(dāng)超過預(yù)定超時判斷時間時,將會被判斷為通信故障,使輸出導(dǎo)向安全。因此,該既有通信協(xié)議對“延遲”的威脅也具備防護功能。
破壞:由于安全相關(guān)應(yīng)用層數(shù)據(jù)中沒有安全編碼或CRC等常用的校驗,因此該系統(tǒng)無法防護從應(yīng)用層到平臺層數(shù)據(jù)被破壞,即使平臺層中有芯片驅(qū)動做的簡單的校驗,也不能被安全相關(guān)系統(tǒng)所采信。因此,該既有協(xié)議不能夠防護數(shù)據(jù)“破壞”的威脅。
偽裝:由于本文所討論的系統(tǒng)是一個封閉的系統(tǒng),即EN50159 2010版中描述的1類系統(tǒng),因此不考慮偽裝的威脅。endprint
由上述分析可知,該既有協(xié)議的“序號”和“超時判斷”能夠防護除了“破壞”之外的所有威脅,在此系統(tǒng)中不考慮“偽裝”的威脅。因此,如何防護“破壞”的威脅,是對既有系統(tǒng)改造時需要考慮的問題。
3.2 既有系統(tǒng)通信架構(gòu)模型介紹
圖4為既有系統(tǒng)的通信架構(gòu)模型,下文所述的既有系統(tǒng)為架構(gòu)模型中的“安全相關(guān)子系統(tǒng)1”。安全相關(guān)子系統(tǒng)中的兩個CPU同時接收來自安全相關(guān)子系統(tǒng)2的數(shù)據(jù),CPU2將自身解析后的結(jié)果發(fā)送給CPU1,CPU1用自身的解析結(jié)果與CPU2的解析結(jié)果進行表決(比較),一致后通過平臺層發(fā)送給安全相關(guān)子系統(tǒng)2。
在該架構(gòu)中當(dāng)應(yīng)用數(shù)據(jù)從CPU1到平臺1的傳輸過程發(fā)生了“破壞”,安全相關(guān)子系統(tǒng)2是無法識別的,因為從上章節(jié)分析可知,CPU1的應(yīng)用層無安全通信協(xié)議,平臺1僅完成了數(shù)據(jù)鏈路層的協(xié)議組包工作,因此安全相關(guān)子系統(tǒng)2僅能識別從平臺1到安全相關(guān)子系統(tǒng)2過程中所發(fā)生的實效,但是之前討論過,數(shù)據(jù)鏈路層的任何協(xié)議都不被信任,也不認為是安全校驗,因此這些防護還不足夠。
3.3 改進后系統(tǒng)通信架構(gòu)模型
為保證原有系統(tǒng)通信協(xié)議的兼容性,不能通過修改通信協(xié)議來解決數(shù)據(jù)被“破壞”的威脅,因此,修改了既有系統(tǒng)的硬件架構(gòu),修改后的系統(tǒng)架構(gòu)模型如圖5所示。
CPU1和CPU2將各自解析的結(jié)果傳遞給對方,并用自身計算的結(jié)果跟對方計算的結(jié)果進行表決(比較),并將表決結(jié)果傳給平臺層,平臺1將平臺層協(xié)議組包后的數(shù)據(jù)與平臺2組包之后的數(shù)據(jù)進行表決(比較),表決通過后,將數(shù)據(jù)發(fā)送給安全相關(guān)子系統(tǒng)2。
3.4 改進后系統(tǒng)分析
系統(tǒng)架構(gòu)改進后,由于原有的通信協(xié)議沒有變,因此,表2中已經(jīng)滿足安全通信設(shè)計原則的,在改型后仍然滿足。所以數(shù)據(jù)被“破壞”的威脅是否能在改型后被防護是本節(jié)分析的內(nèi)容:
分析前提:僅考慮單一故障的可能,不考慮多重故障同時發(fā)生。
假設(shè)從CPU1到平臺1的鏈路中,數(shù)據(jù)由于干擾等誘因被“破壞”,也就是說數(shù)據(jù)內(nèi)容發(fā)生了突變,那么該數(shù)據(jù)失效是否能夠在該系統(tǒng)內(nèi)部被發(fā)現(xiàn)呢?該設(shè)計中采用了信息回傳的方法,也可稱之為feedback的一種,即將平臺1和平臺2即將發(fā)出的數(shù)據(jù)進行表決(比較),比較一致后才將數(shù)據(jù)發(fā)出,這樣即使在某一個通路上發(fā)生了數(shù)據(jù)“破壞”,在兩路數(shù)據(jù)表決時仍能夠識別出失效,因此可以得出結(jié)論,改型后的系統(tǒng)架構(gòu)能夠防護“破壞”的威脅。改型后系統(tǒng)安全防護措施分析結(jié)果統(tǒng)計如表3所示。
4 結(jié)語
在EN50159標(biāo)準(zhǔn)中建議的防護措施有很多,為了防護安全通信系統(tǒng)中的7種威脅,可以采取標(biāo)準(zhǔn)中建議的安全設(shè)計原則,也可以通過硬件架構(gòu)設(shè)計來創(chuàng)造條件,以滿足相同的安全要求。安全通信系統(tǒng)的“本質(zhì)安全”是設(shè)計出來的,可以通過設(shè)計安全通信協(xié)議來滿足需求,也可通過硬件架構(gòu)設(shè)計來實現(xiàn),總而言之,設(shè)計是靈活的,要充分考慮安全需求和安全設(shè)計原則,更要考慮產(chǎn)品的具體應(yīng)用。
參考文獻
[1] BS EN50159 2010 Railway applications-Communication,signaling and processing[Z].
[2] systems-Safety-related communication in transmission systems[Z].endprint