袁天弋
(北京全路通信信號研究設計院集團有限公司,北京 100070)
隨著國內高速鐵路的十年發展,已全面邁入高鐵時代。為了實現高鐵安全、高速、高效運營,高速鐵路控制系統間數據安全、穩定、可靠的傳輸是重要基礎條件。在2010年中華人民共和國鐵道部發布了《RSSP-I鐵路信號安全通信協議》(以下簡稱RSSP-I通信協議),為滿足國內高速鐵路控制系統間的安全通信提供了標準依據。RSSP-I通信協議參考歐洲鐵路安全標準EN50159所定義的封閉式傳輸可能存在的威脅,從接受方設計算法進行防護,以差錯檢查控制為核心,采取對應的糾錯手段,嚴格控制由于誤碼導致設備的錯誤操作。RSSP-I通信協議規定了系統間數據完成通信交互時所必須遵循的規則,為高速鐵路運營提供重要的通信保障。RSSP-I通信協議現廣泛應用在國內高速鐵路控制系統的系統間安全通信接口,例如:TCC與聯鎖,TCC與LEU等。因此,保證安全通信接口間數據的正確是非常重要的,而測試是確保安全通信接口信息正確的有效手段。研究RSSP-I通信協議的測試內容和測試方法,是提高測試有效性的重要途徑,也為RSSP-I通信協議的安全防御提供了支持依據。
RSSP-I通信協議規定了鐵路信號安全設備之間通過封閉式傳輸系統進行安全相關信息交互的功能結構和協議。本協議規定在安全通信交互中使用的3種報文,如表1所示,各種報文的具體格式定義可參見《RSSP-I鐵路信號安全通信協議》。同時該協議規定了針對 GB/T 24339.2中對于傳輸系統上的安全設備之間的安全通信可能面對的威脅情形所采用的防護技術進行了說明,如表2所示。RSSP-I通信協議定義的通信威脅在控制系統間正常報文通信過程中均可能發生,必須采取相應的防御技術規避通信風險。

表1 RSSP-I通信協議報文類型Tab.1 Telegram type of RSSP-1
報文重復:報文周期性發送,接收端收到了與上一周期重復的報文,判定為報文重復。
報文丟失:根據應用層需求,接收端可以允許一定時間范圍內報文的丟失,但超過閾值時間后接收端仍未能收到最新報文,判定為報文丟失。
報文插入:接收端在接收兩包正確報文中間,收到了一條來源于其他發送方合法格式的報文,判定為報文插入。
報文次序混亂:在通信時接收端在接收兩包報文時,發生報文次序改變情況。若接收端將無法判斷最新接收到報文的有效性,接收端系統將存在安全風險。
報文錯誤:接收端接收了一包報文,報文在傳輸時發生內部數據被意外改變,判定為報文錯誤。
報文傳輸超時:接收端收到的最新報文超過了可以容忍的時間閾值,判定為報文傳輸超時。
序列號:在通信雙方交互的每條報文上增加一個32位的序列號,序列號采用順序編號的方式,用于接收端校驗發送端提供的報文順序。
時間戳:時間戳是一個32位的線性反饋移位寄存器值,初始值T(0)=SID(本地ID號), 按系統周期左移32位,并使用固定多項式作附加干擾輸入。時間戳與序列號同步遞增,用于安全校驗通道值的計算。
超時:發送端生成報文時添加時序有效值,接收端與上一條正確接收的報文進行時序有效值的校驗,判斷此條報文是否具有時效性。
源標識:通信發送端和接收端雙方分別存在唯一的32位長ID號作為源地址和目的地址,并在每條報文上增加地址標識,用于告知此條報文的來源及去向。接收端校驗此條報文的源地址和目的地址的合法性。
反饋報文:若接收端校驗接收的最新報文的時序有效值發生了非預期內的增量,則接收端發起時序校正請求,發送端響應時序校正進行回復。接收端判斷發送端的時序校驗回復報文有效后,接收端更新時序有效值,再次開始正常通信。
雙重校驗:使用兩個獨立通道,各自進行獨立計算安全校驗通道值,來保證報文內容的正確性。兩個通道分別采用兩個不同的本地ID號,不同生成多項式生成的時間戳,不同生成多項式生成的32位CRC,不同的固定校驗值進行計算,最終得到兩個不同的安全校驗通道值,隨同安全數據一并發送。
為核對RSSP-I通信信息,以往的測試環境都是搭建兩套使用了相同版本軟件、配置不同數據的系統進行測試,具有操作不便,觀察困難等缺點。為解決以上問題,需要對測試平臺擴展,主要是研制相應的接口模擬軟件,通過接口模擬軟件測試RSSP-I通信信息的正確性。測試環境框架如圖1所示。
左側方框為既有的測試試驗平臺,右側方框為增加的接口模擬軟件,用于核對RSSP-I通信信息有效性。陪測系統和接口模擬軟件根據不同測試場景選擇使用。
被測系統搭配的測試環境應為陪測系統(雙系通信)或仿真機(PC機),兩者之間使用網線連接。接口模擬軟件運行在通用的 PC 機上,為測試時方便操作和觀察,接口模擬軟件顯示界面宜設計為分屏幕顯示。
被測系統應能與接口模擬軟件建立通信。在功能方面:1)接口模擬軟件人機界面應實時顯示接口接收和發送報文信息,以及通信狀態。2)接口模擬軟件應能初步解析相應報文信息內容,并在人機界面實時顯示。3)接口模擬軟件應可改變發送給被測系統報文通信信息內容。4)接口模擬軟件應可向被測系統不同通信端口發送相應報文通信信息。
RSSP-I通信協議測試是一種功能測試。從測試人員的角度看,被測對象是RSSP-I通信協議軟件,是一個控制系統的一部分,而整個控制系統內部的實現邏輯是未知的,已知的只有控制系統軟件依據的RSSP-I通信協議,實現了在一定的輸入條件下所應該具備的動作和行為,因此RSSP-I通信協議測試采用黑盒測試的方式進行,通過控制輸入、檢查輸出的方法來判斷軟件協議實現是否與協議標準相一致,所有的威脅情形已通過相應的技術手段進行了防御。
使用接口模擬軟件監測網絡中的網絡通信數據,驗證RSD、SSE、SSR報文格式正確性。被測系統和接口模擬軟件正常通信后開始測試。1)被測系統向接口模擬軟件發送RSD報文,網絡中的RSD報文包格式應正確,接口模擬軟件解析校驗通過;2)接口模擬軟件向被測系統發送RSD報文,網絡中的RSD報文包格式應正確,被測系統解析校驗通過;3)接口模擬軟件重啟,被測系統向接口模擬軟件發送SSE報文,網絡中的SSE報文包格式應正確;SSE報文接口模擬軟件解析校驗通過,接口模擬軟件向接收端發送SSR報文,網絡中的SSR報文包格式應正確,SSR報文被測系統解析校驗通過,被測系統校時完成,被測系統和接口模擬軟件恢復正常通信,互相發送RSD報文。
被測系統和接口模擬軟件正常通信后開始測試,接口模擬軟件向被測系統發送RSD報文序列號變化,驗證被測系統觸發時序校正的邏輯可以正確執行。1)接口模擬軟件向被測系統發送RSD報文序列號大于上一包報文序列號且差值小于設置的序列容忍差值,被測系統解析校驗通過,不觸發時序校正;2)接口模擬軟件向被測系統發送RSD報文序列號大于上一包報文序列號且差值大于設置的序列容忍差值,被測系統解析校驗不通過,觸發時序校正;3)模擬接口軟件向被測系統發送RSD報文序列號與上一包報文序列號一致,被測系統解析校驗不通過,觸發時序校正;4)模擬接口軟件向被測系統發送RSD報文序列號小于上一包報文序列號,被測系統解析校驗不通過,觸發時序校正。
使用兩套真實系統測試,模擬發送端某一系向接收端某一系發送失效,驗證接收端和發送端冗余設備通信邏輯可以正確執行。1)陪測系統主系發送的RSD報文序列號失效,被測系統雙系向陪測系統主系發送SSE報文,陪測系統主系向被測系統雙系發送SSR報文;2)陪測系統備系發送的RSD報文序列號失效,被測系統雙系不校驗,直接拋棄,不觸發時序校正;3)被測系統主系發送的RSD報文序列號失效,設置僅陪測系統主系向被測系統主系發送SSE報文,應僅被測系統主系向陪測系統主系發送SSR報文;4)被測系統主系發送的RSD報文序列號失效,設置僅陪測系統備系向陪測系統主系發送SSE報文,應僅被測系統主系向接收端備系發送SSR報文。
接口模擬軟件向被測系統發送RSD報文序列號錯誤,觸發時序校正邏輯,驗證時序校正過程可以正常執行。1)被測系統觸發時序校正發送SSE報文后,被測系統收到的SSR報文小于被測系統的等待計時,并通過報文校驗,接收端更新時序有效值;2)被測系統觸發時序校正發送SSE報文后,被測系統收到的SSR報文大于被測系統的等待計時,不更新時序有效值,被測系統重新發送SSE報文,并重新開始進行等待計時。
接口模擬軟件向被測系統發送報文的報文頭或SVC校驗錯誤,驗證安全校驗功能正確。1)被測系統接收的報文頭任一項錯誤,則丟棄報文,觸發時序校正邏輯。報文頭包含協議類型、報文類型、源地址、目的地址。2)被測系統的報文序列號測試參照報文時序性測試方法,這里不再贅述。3)被測系統接收的RSD報文雙SVC通道任一通道值與被測系統根據報文內容計算接收到的報文值不一致,則丟棄報文,觸發時序校正邏輯。
作為發送端時冗余處理測試方法:使用接口模擬軟件監測網絡中的網絡通信數據,驗證被測系統主系所有通道的RSD、SSE、SSR報文內容相同,備系所有通道的RSD、SSE報文內容相同。
作為接收端時冗余處理測試方法: 被測系統和接口模擬軟件正常通信后開始測試,接口模擬軟件向被測系統發送RSD、SSE、SSR報文的報文尾錯誤,則丟棄報文。若是RSD報文,還應觸發時序校正邏輯。報尾是根據報文頭、安全校驗域、用戶數據包生成的16位CRC校驗值。
在所有測試中,數據一直在發送端和接收端之間進行雙向傳輸,且在發送端冗余處理測試和接收端冗余處理測試中驗證了軟件冗余處理方式,故不再贅述。
本文闡述了對RSSP-I通信協議測試方法的研究與實施,對有效提高RSSP-I通信協議測試效率有指導意義。目前,該測試方法和模擬工具已應用于海外聯鎖的科研項目中,驗證了項目產品RSSP-I相關通信功能的實現,完善了測試工具和測試內容,為后面的項目做積累,有效地減少案例重復設計,節約測試成本。未來RSSP-I通信協議仍將廣泛使用在國內軌道交通的各個系統間,針對RSSP-I通信協議測試內容和測試方法的研究,對驗證安全通信接口信息正確性將會發揮重要作用。