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