張 屹 何春明 魏學(xué)業(yè) 徐 虎
*北京和利時(shí)系統(tǒng)工程有限公司 工程師,100961 北京
**北京和利時(shí)系統(tǒng)工程有限公司 高級(jí)工程師,100961 北京
***北京交通大學(xué) 電子信息工程學(xué)院 教授,100044 北京
****北京和利時(shí)系統(tǒng)工程有限公司 工程師 (鐵道部C 3技術(shù)攻關(guān)組成員),100961 北京
當(dāng)通信系統(tǒng)傳輸安全相關(guān)信息時(shí),并不需要使用專用的傳輸設(shè)備和線纜,而只需要升級(jí)現(xiàn)有的上層通信協(xié)議,在其中添加安全通信層。安全通信層可以檢測(cè)現(xiàn)有通信系統(tǒng)發(fā)生的錯(cuò)誤,從而保證消息傳輸?shù)陌踩?。?dāng)接收消息的安全設(shè)備檢測(cè)到安全消息錯(cuò)誤時(shí),就需要產(chǎn)生導(dǎo)向安全側(cè)動(dòng)作,例如重新建立安全通信連接、關(guān)閉輸出、發(fā)送默認(rèn)消息等。因此安全通信層有效地檢測(cè)下層通信錯(cuò)誤,是通信系統(tǒng)保證安全性的關(guān)鍵。
檢測(cè)安全消息錯(cuò)誤的有效性主要由 2方面來保證。一方面,實(shí)現(xiàn)安全通信層作為安全相關(guān)子功能,要滿足一定的安全完整性等級(jí) (SIL)要求,即安全通信層的軟硬件實(shí)現(xiàn)平臺(tái)能夠提供足夠小的失效率。另一方面,即使實(shí)現(xiàn)安全通信層是完全正確的,經(jīng)過安全通信層的消息殘余錯(cuò)誤率也不等于 0,因此,需要通過有限合理的代價(jià)設(shè)計(jì)安全通信層,使其具有足夠小的殘余錯(cuò)誤率。
目前,安全碼是安全通信層設(shè)計(jì)中普遍應(yīng)用的技術(shù)。在封閉通信系統(tǒng)中,安全碼主要用于檢測(cè)數(shù)據(jù)傳輸?shù)碾S機(jī)錯(cuò)誤和突發(fā)錯(cuò)誤,一定程度上決定了安全通信層中其他技術(shù)的有效性,而且可以通過定量計(jì)算得到其殘余錯(cuò)誤概率,因此安全碼是安全通信層保證錯(cuò)誤漏檢概率的關(guān)鍵,選擇和生成安全碼也是設(shè)計(jì)安全通信層的主要任務(wù)。
在開放通信系統(tǒng)中,傳輸介質(zhì)的屬性是未知、可變的,非授權(quán)的接入情況不可忽略,因此接入端的最大數(shù)目也是未知的。由于非授權(quán)接入,安全設(shè)備可能接收到非安全設(shè)備甚至是黑客發(fā)送的偽裝消息,即安全設(shè)備誤認(rèn)為接收的消息為合法的安全消息。為保證系統(tǒng)在非授權(quán)接入情況下的安全性,也需要利用安全碼來檢測(cè)接收的偽裝消息。
安全消息的傳輸受到通信網(wǎng)絡(luò)和外界環(huán)境 2個(gè)方面影響。首先,通信網(wǎng)絡(luò)一般未定義其安全屬性,設(shè)計(jì)人員對(duì)其缺乏控制。例如,網(wǎng)絡(luò)設(shè)備的開發(fā)、維護(hù)等過程未遵守質(zhì)量安全程序和規(guī)范,設(shè)備軟硬件失效結(jié)果不受約束等等。因此現(xiàn)有通信網(wǎng)絡(luò)對(duì)安全信息的傳輸是非可信的。其次,外界環(huán)境也可以對(duì)安全信息傳輸產(chǎn)生危險(xiǎn)事件,例如電磁干擾、熱噪聲、人為故障等。所以通信網(wǎng)絡(luò)和外界環(huán)境共同威脅消息傳輸?shù)陌踩浴?/p>
EN50159-2中總結(jié)了 7種對(duì)安全相關(guān)消息的威脅,分別為:重復(fù),同一消息被傳輸了兩次或以上;刪除,消息在傳輸過程中丟失;插入,非授權(quán)接入發(fā)送方或授權(quán)接入的其他發(fā)送方,向正確傳輸消息隊(duì)列插入消息;重排序,消息傳輸?shù)捻樞虮桓?損壞,消息內(nèi)容在傳輸過程中被更改;延遲,發(fā)送的消息經(jīng)過較長(zhǎng)時(shí)間才被接收到;偽裝,第三方偽裝為合法發(fā)送方,使接收方將接收消息誤認(rèn)是合法發(fā)送方發(fā)出的。當(dāng)使用開放通信系統(tǒng)時(shí),允許非授權(quán)的接入,因此偽裝威脅是開放網(wǎng)絡(luò)所特有的。與這 7種威脅相對(duì)應(yīng),存在 7種安全消息的基本錯(cuò)誤類型,分別為:重復(fù)的消息、刪除的消息、插入的消息、重排序的消息、損壞的消息、延遲的消息、偽裝的消息。
為了防御這些威脅,EN50159-2提供了幾種在安全通信層中使用的防御技術(shù),分別為序列號(hào)、時(shí)間戳、超時(shí)、源和目標(biāo)標(biāo)識(shí)、反饋消息、身份驗(yàn)證程序、安全碼、密碼技術(shù)。表1給出了上述幾種防御技術(shù)與 7種威脅的對(duì)應(yīng)關(guān)系。
表1 威脅/防御對(duì)應(yīng)關(guān)系
實(shí)際使用中為多種防御技術(shù)的組合覆蓋這 7種威脅,其中序列號(hào)、時(shí)間戳、源和目標(biāo)標(biāo)識(shí)、安全碼和密碼技術(shù)是目前比較常用的防御技術(shù)。
序列號(hào)一般按照消息順序遞增加 1,達(dá)到最大表示值后歸零重新遞增。如果接收序列號(hào)與上次相同則表示發(fā)生了重復(fù)錯(cuò)誤;如果接收的序列號(hào)大于上次序列號(hào)加 1,則表示發(fā)生了刪除錯(cuò)誤;如果接收的序列號(hào)小于或比上次序列號(hào)大許多,則表示發(fā)生了插入錯(cuò)誤或重排序錯(cuò)誤。其中,進(jìn)行序列號(hào)比較時(shí)要考慮跨越最大表示值的情況。因?yàn)樾蛄刑?hào)能夠防御刪除威脅,所以它是一種必選防御技術(shù)。
時(shí)間戳主要防御延時(shí)威脅。接收端通過檢查消息中的時(shí)間戳,判斷消息是否過期。
源和目標(biāo)標(biāo)識(shí)可以防御網(wǎng)絡(luò)中其他設(shè)備發(fā)出的插入消息,當(dāng)設(shè)備唯一標(biāo)識(shí)不能確定時(shí)該技術(shù)是無效的,需要與密碼技術(shù)配合使用。
安全碼與密碼技術(shù)是所有其他技術(shù)的基礎(chǔ),可以檢測(cè)消息的損壞。而其他防御技術(shù)是以消息的一部分存在的,一旦這部分消息損壞這些技術(shù)也將失效。因此,安全碼與密碼技術(shù)的檢錯(cuò)性能是保證消息安全傳輸?shù)年P(guān)鍵。
密碼技術(shù)是防御偽裝威脅的主要方法,保證只有合法發(fā)送方和接收方之間才能進(jìn)行通信,其有效性主要由加密算法的保密性和密鑰的管理過程決定。密碼技術(shù)有多種實(shí)現(xiàn)方式,目前常用的是將密碼技術(shù)與安全碼結(jié)合,即使用加密碼作為安全碼(稱為帶加密的安全碼或密碼安全碼)。
開放通信系統(tǒng)中,由于非授權(quán)接入不可忽略,使用帶加密的安全碼,既可以防御消息的損壞,也可以實(shí)現(xiàn)接入保護(hù)、檢測(cè)偽裝消息。因此,設(shè)計(jì)生成安全碼要從安全碼的保密性能和檢錯(cuò)能力兩方面考慮。
安全碼的保密性由加密算法的保密性和密鑰的管理過程共同保證。一般使用 “等效保密性”來評(píng)價(jià)加密算法的保密性能。表 2給出了幾種常用加密算法的等效保密性。
選擇加密算法應(yīng)有足夠高的等效保密性,但等效保密性越高,算法的計(jì)算量也就越大,因此實(shí)際中需要做權(quán)衡考慮。而且不同的硬件計(jì)算單元和軟件算法運(yùn)算采用同一加密算法所需時(shí)間也是不同的,如果計(jì)算時(shí)間過長(zhǎng)必然影響安全通信的實(shí)時(shí)性,因此軟硬件計(jì)算能力約束也是設(shè)計(jì)密碼安全碼的考慮因素之一。
表2 加密算法的等效保密性
密鑰的管理過程包括密鑰生成、備份與保存、分發(fā)、安裝、使用、刪除、更新等過程。這是一個(gè)復(fù)雜的過程,但目前已有相關(guān)標(biāo)準(zhǔn)可以提供指導(dǎo),如 ISO11770、ISO15782、ECBSTR402等。
安全碼的檢錯(cuò)能力一定程度上決定了序列號(hào)、時(shí)間戳、源和目標(biāo)標(biāo)識(shí)等其他技術(shù)的防御能力,這是由于其他技術(shù)是附加在消息中的冗余部分,也同樣受到損壞的威脅,一旦損壞將失去防御威脅的能力。因此,選擇安全碼必須考慮其檢錯(cuò)能力。評(píng)價(jià)安全碼檢錯(cuò)能力的參數(shù)主要是殘余錯(cuò)誤概率,即消息的損壞錯(cuò)誤沒有被安全碼檢測(cè)出來的概率。
精確的計(jì)算或?qū)嶒?yàn)測(cè)量殘余錯(cuò)誤概率是非常復(fù)雜的,目前通常只估計(jì)其上限。對(duì)于二進(jìn)制對(duì)稱信道,最常用的估計(jì)公式為~R=2-r,其中 r為安全碼的長(zhǎng)度 (二進(jìn)制位數(shù))。
但是,應(yīng)用此公式有 2個(gè)約束條件:①假設(shè)通信的誤碼率范圍是 0≤ε≤0.5;②對(duì)于所有0≤ε≤0.5,R(ε)≤R(0.5),即安全碼在誤碼率為0.5時(shí)的殘余錯(cuò)誤概率最大。
安全碼對(duì)消息損壞的防御是可以進(jìn)行定量分析的,而對(duì)其他防御技術(shù)只需要進(jìn)行定性分析。因此,在安全相關(guān)功能的 SIL等級(jí)確定后,定量估計(jì)安全碼的殘余錯(cuò)誤概率是必要的。目前,有 2種方式可以計(jì)算給定 SIL等級(jí)對(duì)安全碼的殘余錯(cuò)誤概率的要求。
第 1種,如 EN50195-2描述,以每個(gè)安全相關(guān)應(yīng)用功能為基礎(chǔ)進(jìn)行風(fēng)險(xiǎn)分析,從而計(jì)算出安全通信對(duì)各種防御技術(shù)有效性的要求。使用這種方法的前提是安全應(yīng)用功能需求完全確定,而如果安全應(yīng)用功能需求不明確則很難做出準(zhǔn)確的假設(shè)。
第 2種,以 IEC61784-3為代表,不對(duì)指定安全相關(guān)應(yīng)用功能進(jìn)行分析,而直接對(duì)系統(tǒng)整體安全完整性等級(jí)應(yīng)用 1%原則,即安全通信對(duì)安全功能的失效只有 1%的貢獻(xiàn)。例如,如果系統(tǒng)最高 SIL等級(jí)為 4級(jí) (每小時(shí)危險(xiǎn)失效率滿足≥10-9,且<10-8),則要求安全通信每小時(shí)殘余錯(cuò)誤率滿足≥10-11,且 <10-10。每小時(shí)殘余錯(cuò)誤率的大小由安全碼殘余錯(cuò)誤概率決定。單通道且不考慮低層通信檢錯(cuò)效果的情況下,計(jì)算每小時(shí)殘余錯(cuò)誤率公式為:Λ(∈)=R(∈)·υ·(m-1),其中 υ為每小時(shí)最大安全消息個(gè)數(shù);m為安全通信參與者個(gè)數(shù)。再通過安全碼殘余錯(cuò)誤概率上限的估計(jì)式即可得出對(duì)安全碼長(zhǎng)度的要求。
CTCS-3級(jí)列控系統(tǒng)的車-地之間通過 GSM-R無線網(wǎng)進(jìn)行通信,是典型的開放安全通信系統(tǒng),因此其安全碼既要防御安全相關(guān)消息損壞,也要防御消息偽裝威脅。
根據(jù)列控車載設(shè)備和 RBC接口規(guī)范的規(guī)定,車-地安全通信的安全碼使用 3DES消息認(rèn)證碼(MAC)。這是一種帶加密的安全碼,既可以檢測(cè)消息的損壞錯(cuò)誤也可以屏蔽非授權(quán)接入方發(fā)送的偽裝消息。
由于無法估計(jì)惡意攻擊的頻率,因此對(duì)偽裝威脅防御的精確分析是比較困難的。由表 2知 3DES算法的等價(jià)保密性為 112,但此參數(shù)只給出一個(gè)相對(duì)的量值,因此有必要找到表 2中某種算法的絕對(duì)保密性。由于 DES加密算法目前已經(jīng)比較成熟,可以對(duì)密鑰被破解的時(shí)間有一個(gè)大概的估計(jì)。根據(jù)Subset-038的估算,在假設(shè)摩爾定律在 25年內(nèi)有效的前提下,使用價(jià)值 25萬美元的專用計(jì)算機(jī)找到 3DES算法 168位密鑰的時(shí)間為 1.1×1030h??梢?如果密鑰的生成、存儲(chǔ)、分發(fā)等管理過程能夠做到絕對(duì)的保密,3DES消息認(rèn)證碼本身可以保證有效防御偽裝威脅。
3DES消息認(rèn)證碼的殘余錯(cuò)誤概率可以通過公式 ~R=2-r進(jìn)行粗略估計(jì),其長(zhǎng)度 r=64,可得殘余錯(cuò)誤概率估計(jì)值為 ~R=2-64。假設(shè)每小時(shí)最大安全消息個(gè)數(shù) υ=(3600×100);安全通信參與者個(gè)數(shù) m=2,即端對(duì)端通信,則每小時(shí)殘余錯(cuò)誤率估計(jì)為 ~Λ=2-64· (3600×100)·(2-1)=1.95×10-14。SIL4級(jí)安全功能要求安全通信每小時(shí)殘余錯(cuò)誤率滿足≥10-11且 <10-10,可見使用 3DES消息認(rèn)證碼是可以滿足此要求的。
開放通信系統(tǒng)進(jìn)行安全信息傳輸時(shí)需要采用多種威脅防御技術(shù),而安全碼是各種技術(shù)的基礎(chǔ)。帶加密安全碼既可以檢查安全消息是否被損壞,而且可以防御開放通信系統(tǒng)所特有的偽裝威脅。其中,安全碼檢錯(cuò)性能可以進(jìn)行量化分析,因此可以定量判斷是否滿足指定安全完整性等級(jí)要求。而安全碼防御偽裝威脅的能力主要由加密算法的保密性和密鑰的管理過程決定。安全碼的生成主要依據(jù)以上兩方面進(jìn)行。經(jīng)過對(duì) CTCS-3級(jí)列控系統(tǒng)的車-地安全通信的安全碼進(jìn)行分析表明:選擇使用 3DES消息認(rèn)證碼對(duì)安全相關(guān)消息進(jìn)行認(rèn)證可以有效的防御偽裝消息的威脅,并且其檢錯(cuò)性能滿足 SIL4級(jí)安全功能的需求。
公式 ~R=2-r只是對(duì)殘余錯(cuò)誤概率的一種粗略估計(jì),研究能夠更精確的計(jì)算安全碼殘余錯(cuò)誤概率的方法是將來的一項(xiàng)工作。
[1] 運(yùn)基信號(hào)[2010]224號(hào).CTCS-3級(jí)列控系統(tǒng)無線通信功能接口規(guī)范[S].中華人民共和國(guó)鐵道部,2010.
[2] 運(yùn)基信號(hào)[2010]267號(hào).RSSP-II鐵路信號(hào)安全通信協(xié)議[S].中華人民共和國(guó)鐵道部,2010.
[3] CENELECEN50159-1.Railway Applications:Communication,signalling and processing system,Part 1:Safetyrelated communication in closed transmission system s[S],2001.
[4] IEC 61784-3:Digital Data Communications for Measurement and Control-Part 3:Profiles for Functional Safety Communications in Industrial Networks[S],2005.
[5] CENELECEN50159-2.Railway Applications:Communication,signalling and processing system,Part 2:Safety-related communication in open transmission system s[S],2001.
[6] CENELEC EN50129.Railway Applications:Safety Related Electronic Systems for Signalling[S],1999.
[7] Mária FRANEKOV?,Safety Security Profile of Industry Networks Used in Safety-critical App lications.Transport Problems,Vol 4,Part 1[J],2008.
[8] B?rcs?k J.,Hannen H.-T.Determination of Bit Errorand Residual Error Rates for Safety Critical Communication.Second International Conference on Systems and Networks Communications(ICONS'07).French Riviera,2007.
[9] Jack K.Wolf,Arnold M.Michelson,Allen H.Levesque.On the Probability of Undetected Error for Linear Block Codes.IEEE Transactions on Communications,Vol.COM-30,NO.2,1982.
[10] ERTMS/ETCS Class 1:Off-line Key Management FIS(Subset-038).[S],2005.
[11] Schiller,F.,T.Mattes.An efficientmethod to evaluate CRC polynom ials for safety-critical industrial communication.In:11th Int.Symposium on System-Modelling-Control,Zakopane,Poland,2005.