丁 歡 鄭桂燕
(北京全路通信信號研究設計院有限公司,北京 100073)

丁歡,男,博士畢業于中國科學院自動化研究所,主要研究方向為軌道電路相關設備研發。
LEU(Lineside Electronic Unit)是列控中心(Train Control Center,TCC)與應答器之間接口的安全相關系統,它通過S接口將TCC發送的控車指令處理后經過可變信息應答器及時地傳給車載設備,實現對高速列車的自動控制[1]。上述過程可分為S接口數據傳輸、LEU數據處理、C接口輸出3個過程。LEU設備直接關系行車安全,其設計應當符合“故障-安全”原則:S接口通信數據的安全性通過FSFB/2安全協議保證;LEU處理數據的安全性和LEU功能的安全性通過LEU系統設計實現來保證;C接口通信數據的安全性則通過DBPL報文編碼規則從系統角度保證,其本身具有“故障-安全”的性質。本文著重研究S接口數據通信的FSFB/2安全協議,探究其保障數據安全的機理。
LEU與TCC之間的通信是點對點的封閉式的數據傳輸系統,FSFB/2安全協議是一個針對封閉式傳輸網而制定的鐵路信號安全通信協議,該協議為工作在非安全平臺的安全數據提供了安全保護算法[2]。FSFB/2安全協議從接收方角度設計防護算法,通過冗余的數據,校驗接收到的數據是否安全。數據發送方為安全相關設備,其產生的安全數據經過編碼處理,具有一定的檢錯能力,可使用非安全傳輸系統傳輸。接收方對非安全傳輸系統傳輸的信息進行安全傳輸驗證,將通過驗證的信息還原為用戶安全信息,并將其傳給安全相關設備;若未通過安全驗證,則視該數據為非安全數據,將其丟棄。
根據EN50159第1部分中指出,安全設備之間的通信主要存在的危險源包括:重復、丟失、插入、亂序、干擾、延時等。為解決上述危險源對LEU S接口安全數據通信的影響,FSFB/2安全協議采用了序列號、安全編碼、時間戳等措施對上述危險源進行防御[3],其中線性反饋移位寄存器(Linear Feedback Shift Register, LFSR)技術被引入以增強編碼的安全性。
本文其他部分安排如下:第2節介紹LEU系統中FSFB/2協議安全編碼的重要數學工具——LFSR技術及FSFB/2編碼過程中涉及到的主要操作,第3節重點分析FSFB/2安全協議保證LEU S接口數據安全的原理,第4節總結全文。
LFSR技術是FSFB/2安全協議的重要基礎。FSFB/2協議通過使用該技術保障了傳輸數據的時效性與可靠性。本節重點對該技術原理進行說明。
LFSR是密碼學中的重要概念,主要用于序列密碼的生成。網絡通信的發展對通信安全性要求日益提高,密碼學被引入網絡編碼領域以提高通信的安全性與可靠性[4]。香農證明了“一次一密”密碼體制在理論上是不可破譯的[5],促使人們長期以來一直尋求某種能仿效“一次一密”的密碼體制,序列密碼就是所尋求的方法之一,其原理如圖1所示。

假設M為明文空間是由可能的二進制數字序列組成的集合,K為密鑰空間,k∈K為控制算法A產生長密鑰序列的一個短密鑰。對于每一個短密鑰k∈K,由算法A確定一個二進制序列A(k)=k1k2…。加密時,當明文為m=m1m2…mn時,對i=1,2,…n,計算ci=miki,則密文為 c=E(m,k)=c1c2…cn。解密時,對i=1,2,…n,計算mi=ciki,則可恢復出明文。為異或運算,即模2加。通常稱密鑰k為種子密鑰。由k通過算法A產生的A(k)=k1k2…序列稱為密鑰序列。
因此,序列密碼的安全保密性主要依賴于密鑰序列,從安全角度考慮,密鑰序列應滿足偽隨機準則:周期長,不至使通過兩組密文相加的結果和語言冗余度分析就能獲得一些關于明文的信息;良好的隨機統計特性,即序列中每位接近均勻分布,使密鑰序列能很好地掩蓋住明文;序列線性不可預測性充分大,防止從部分密鑰序列通過線性關系簡單的推導出整個密鑰序列的測度。
目前,產生密鑰序列的最重要方法是LFSR,因為LFSR具有如下優點:非常適合于硬件實現;能產生大的周期序列;能產生較好統計特性的序列;其結構能應用代數方法進行很好的分析。
FSFB/2安全協議中運用的LFSR結構如圖2 FSFB/2中LFSR結構所示[3]。

FSFB/2協議共有兩路通信通道,每路通信通道都有一個32 bit的LFSR。當采用LFSR生成密鑰序列時,LFSR向左移位,同時根據當前最高位x,以及生成多項式P(x),對LFSR數據進行反饋更新:

上述LFSR結構可用矩陣方式進行數據描述:設二值矩陣w=[wc0,wc1…wc31]為32×32的轉移矩陣,α=(α0,α1…α31)T為 LFSR 初始值,則移位結果可表示為:

根據FSFB/2協議的LFSR結構,可知(2)式具有如下性質:
1)當α只有第j位為1時,移位結果γ=wcj;
2)當α只有第j位(j≠31)為1時,移位結果γ應只有j+1位為1,僅體現移位性質;
3)當α只有第31位為1時,僅體現反饋性質,γ=P(1)。
因此,可構造轉移矩陣w:根據(1)、(2),cj,j≠31應為只有j+1位為1,其他位全為0的向量;根據(3),wc31=(c0,c1,…c31)T,ci為 P(x)系數。即

可以計算w行列式為1,存在逆矩陣w-1。易證,對LFSR的每一次線性右移操作,相當于對LFSR當前狀態α乘以轉移矩陣的逆矩陣,即γ=w-1α。
在FSFB/2安全協議中,在LFSR基礎上定義了線性加法C=A+B,相關操作均為32 bit數據,LFSR基本操作主要圍繞上式展開,包括以下6種[3]。
1)線性加法ADD(x):即已知A、B,求C;
線性加操作是將當前LFSR寄存器的值與x異或,然后對LFSR寄存器進行32次線性左移操作。
2)線性減法SUB(x):即已知B、C,求A;
線性減操作是將當前LFSR寄存器的值首先進行32次線性右移,然后與x異或。
3)線性提取POST(x):即已知A、C,求B;
線性提取操作是首先將x進行32次線性右移,然后與當前LFSR寄存器的值異或。
4)異或XOR(x):即按位異或,也即模2加法;
5)讀取寄存器READ():即讀取當前LFSR寄存器狀態;
6)裝載寄存器LOAD(x):即為當前LFSR寄存器賦值為x。
結合上節,32次線性左移可表示為:γ=w32α=Ωα,32 次線性右移可表示為 γ=(w-1)32α=Ω-1α,其中Ω=w32,Ω-1=w-32,可得如下運算性質:

FSFB/2安全協議采用的防御措施包括:序列號、安全編碼、時間戳、源標識SID、反饋信息、超時。系統的威脅與防御技術列表如表1所示。

表1 TSD數據幀定義
FSFB/2數據包是用戶安全數據經過安全層封裝得到的,報文數據結構由報文頭、應用數據以及包尾CRC三部分組成。其中報文頭長度為6 Byte,包括數據收發雙方地址、FSFB/2協議交互類別和報文類型;應用數據中包括安全校驗域和數據域,安全校驗域的長度根據數據幀類型的不同分為12~16 Byte,包括當前數據包序列號、安全數據長度、安全校驗編碼、時序校正請求/答復參數等內容;報文尾為2個字節的16 bitCRC校驗碼,用于對整個數據包的校驗。
LEU報文傳輸過程中應用到的數據幀共3種類型,分別為報文數據幀TSD、時序校正請求幀SSE以及時序校正應答幀SSR。在LEU與TCC數據交互時,需要經過SSE、SSR握手,對齊LEU與TCC時間戳參數之后,才能正常發送TSD數據。兩者交互過程見文獻[3],由于篇幅所限,本文僅以TSD數據安全編解碼為例,說明FSFB/2協議在LEU系統中的安全保護機制。
TSD為實時安全數據報文,用于發送安全相關設備生成的用戶安全數據和安全校驗編碼實時安全數據由報文頭、安全校驗域,用戶安全數據和報文尾組成,詳細定義如表2所示。

表2 TSD數據幀定義
CRCM_x:信道x的CRC與系統校驗字、時間標記、源標識的異或運算后的值,詳見后文。
FSFB/2協議通過對用戶應用數據進行安全編碼實現安全防護,具體可分為安全編碼、解碼校驗兩部分。協議中所使用的安全防護編碼分為安全校驗域內的安全校驗碼CRCM和報文尾的CRC16校驗碼兩部分。報文尾所采用的CRC16校驗碼,由數據包報文頭、安全校驗域、用戶安全數據,按照選定的生成多項式編碼得到。當接收方收到一幀報文時,首先進行報文尾的CRC16校驗,當CRC16校驗通過時,根據數據包的解析結果,進行CRCM安全校驗;當CRC16校驗不通過時,直接將該包數據丟棄。
1)安全編碼
安全校驗域內的CRCM碼是一種巧妙的安全校驗碼,采用32 bit循環冗余校驗碼CRC32作為安全校驗碼編碼的基本碼組,并和當前發送周期的時間戳T(n) (32 bit),發送方源標識SID (32 bit),系統校驗字SYSCKW (32 bit,發送方和接收方采用同樣的系統校驗字)異或運算后生成。
LEU采用雙通道冗余的方式來提高系統的安全性,所以需要對每一幀數據都采用雙通道進行冗余編碼。兩個通道生成安全校驗碼CRCM的算法完全相同,區別僅在于兩個通道的參數配置信息不同。雙通道安全校驗碼的編碼算法如圖3所示。

以其中一個通道為例,

式中CRC項保障了用戶數據正確性;SYSCKW項為固定的系統校驗字,對系統進行確認;SID項為源標記字,對發送設備進行確認;T(n)為時間戳,在LFSR上生成,為編碼數據加入時間信息,保障消息的時效性。只有在接收方能夠對CRCM項正確解碼時,才能認為傳輸的數據是安全可靠的有效數據。

2)安全解碼與校驗
本部分主要介紹安全校驗域內的CRCM碼的解碼與校驗機制,如圖4所示。
解碼校驗過程如下。
1)接收方計算當前接收到的用戶安全數據的CRC32碼;
2)將計算后得到的CRC32碼、接收到的安全校驗碼CRCM、接收方保存的系統校驗字SYSCKW進行異或運算(CRCM的解碼),根據


其原理如下:
根據2.3節得到的LSFR運算性質將(6)式中的線性加轉化為矩陣形式為:

時間戳T(n)由LFSR在每個時間單元更新得到:

代入(7)式可得:

4)(9)式只與節點標識符有關,為確定的安全檢驗參數。若(7)式計算結果與SINIT(SID)SID相同,則可確認數據的完整性、真實性、時效性,可通過驗收;若4)計算結果與該安全校驗參數不等,則說明接收方當前接受數據有誤,接收方應向發送方發送SSE請求重新建立連接。
5)接收方時序參數更新
當接收方確認當前數據包能夠正確通過安全編碼校驗后,使用當前數據包的時序參數SIDT(n),替換自身的時序參數SIDT(n-1),作為己方的時序,用于下一包數據到來時,數據的真實性、完整性和時效性的校驗。
本文從FSFB/2安全協議中的重要結構線性反饋移位寄存器LFSR入手,研究了其部分基本數學性質。進而借助這些數學工具,以TSD報文數據的編碼與解碼校驗過程為例,分析了FSFB/2在LEU S接口數據傳輸過程中的安全機制。借助LFSR,可生成周期長、代數性質良好的時間戳序列;FSFB/2安全協議采用類似加密的方式,將該時間戳序列、安全數據的CRC校驗、系統關鍵字、源標識符等系統安全關鍵信息融合在一起,能夠有效的保證數據的完整性、真實性、時效性和可靠性。
[1]于磊.CTCS點式應答器系統-LEU與可變信息應答器的研究[D].北京:電子科技大學,2008.
[2]謝迎鋒.FSFB/2安全協議在DS6-K5B聯鎖系統中的應用研究[J].鐵路通信信號工程技術,2009(2):16-19.
[3] ALSTOM.FSFB/2Safety Protocol Requirements Specification.2006.
[4]劉瓊,潘進,劉小瓊.一種基于LFSR的安全網絡編碼[J].電腦知識與技術,2011,31:7623-7625.
[5] SHANNON C E. Communication theory of secrecy systems[EB/OL].[2012-12-27].http://netlab.cs.ucla.edu/wiki/files/shannon1949.pdf.