韓玲玉 許明旺 季志均
計算機聯(lián)鎖系統(tǒng)是以計算機為主要技術手段,結合信息、控制、容錯、故障-安全等技術來實現車站聯(lián)鎖的信號系統(tǒng),對安全性、可靠性有非常高的要求。國內計算機聯(lián)鎖系統(tǒng)主要包括雙機熱備系統(tǒng)、二乘二取二系統(tǒng)、三取二系統(tǒng)等。其中,雙機熱備系統(tǒng)一般采用單CPU(中央處理器),單CPU中一些指令(如IF條件)容易出現不可檢測的隨機性失效情況;而二乘二取二系統(tǒng)、三取二系統(tǒng)一般采用多CPU,多CPU的架構也需考慮可能出現的共模失效。
目前在地鐵互聯(lián)互通系統(tǒng)中,聯(lián)鎖-車載,聯(lián)鎖-聯(lián)鎖等之間的通信主要采用RSSP-I協(xié)議。RSSP-I協(xié)議(鐵路信號安全通信協(xié)議-I型協(xié)議)是一種基于封閉式系統(tǒng)的安全通信協(xié)議,能對通信過程中數據幀的重復、刪除、插入、錯序、損壞、延遲等進行防護;能夠保證消息在安全層進行正常時序交互。但應用層消息的時序由應用層通信消息時間戳和超時判斷機制保證,因此通信超時判斷機制處理的有效性及準確性至關重要。
安全編碼處理器(VCP)利用編碼技術來保障處理器的可靠性和安全性,廣泛應用于多條軌道交通線路,如法國巴黎地鐵A號線,上海地鐵3號線和10號線等[1]。為保證對通信時效性的安全判斷,在采用安全編碼處理器的基礎上,研究鐵路安全通信協(xié)議RSSP-I下的通信超時判斷機制,設計并實現了通信超時判斷方案。
VCP是一種利用編碼技術來檢測處理器錯誤(主要為運算錯誤、操作數錯誤、操作符錯誤)的理論方法,能夠檢測出計算機處理器可能出現的永久性故障和瞬時性故障。本文所述VCP采用改進的算法碼,在算法碼的基礎上附加數據簽名和時間標簽編碼而成。VCP編碼分為VCPH和VCPL高低位,兩者滿足

式中:BX為變量簽名,為離線分配,其值為1~(A-1)之間隨機選取的任意整數,為了保證碼字的隨機性,不同的數據對應不同的變量簽名,用于檢測操作符錯誤(如加法運算中誤用了乘法運算),以及尋址出錯導致的操作數錯誤(即取錯了操作數);DT為時間戳,用于檢測循環(huán)中變量內存未更新的錯誤,對處于同一層循環(huán)內的所有變量,其碼字中DT的值是相同的,每循環(huán)一次,DT的值會增加一個ΔDT,如果循環(huán)次數發(fā)生錯誤,該錯誤可以通過DT的值反映出來;MOD為取余操作;A代表大素數,如A=1926481717,稱為編碼強度,保證不可檢測的錯誤率為1/A,A越大,不可檢測錯誤率越?。?]。
本文采用的VCP冗余代碼中,高低位之間的運算屬于2個并行通道,低位并不是按照式(1)直接計算而來,而是由算術運算右側變量的低位通過具體函數邏輯計算得到的。

以式(2)源碼為例簡述基本加法算術運算的VCP冗余編碼原理。高位XH通過式(3)計算得到,其中AH和BH繼承源碼中變量A和B的值。低位XL的具體值,通過式(4)的函數邏輯計算得到。但XH和XL依然滿足式(1)。同理,AL和BL也采用上述函數邏輯計算得到。
VCP冗余代碼中,單條件分支表達式的VCP輸出也反映到安全冗余編碼設計中。若源碼中變量X作為單條件表達式中的判斷變量,冗余代碼中高位XH和低位XL通過式(5)計算得到分支標志變量Y,在此過程中XH和XL依然滿足式(1)。當軟件執(zhí)行IF分支同一路徑時,所得到的Y變量數值作為固定值被VCP冗余編碼應用,若執(zhí)行到IF分支不同路徑,所得到的Y變量值則不同,Y變量標志了IF分支路徑的唯一性。
安全通信超時判斷方案設計,是在VCP編碼技術基礎上,通過運用上述算術運算式(4)的函數邏輯計算,以及單條件分支表達式冗余計算實現的,輸出變量高低位實現了VCP編碼安全冗余。其中,變量運算操作出錯、內存更新與否或時間戳的變化等,可通過VCP編碼冗余機制反映出來,用以檢測處理器是否發(fā)生了故障。
目前在地鐵互聯(lián)互通系統(tǒng)中采用RSSP-I協(xié)議作為各子系統(tǒng)之間的安全通信傳輸協(xié)議。由于互聯(lián)互通系統(tǒng)涉及各個廠商參與方,且對各廠商設備軟硬件的架構和實現方式并不做限定,因此廠商可以通過邏輯運算板卡與通信協(xié)議板卡分工的方式實現地鐵互聯(lián)互通。
若發(fā)送方廠商采用板卡分工方式,消息接收方無法知道發(fā)送方邏輯運算板卡與通信協(xié)議實現板卡之間的傳輸延遲,因此在應用層消息頭中增加消息時間戳字段,并由發(fā)送方的邏輯運算板卡實現,接收方可通過此消息時間戳完整地判斷出消息在網絡中的傳輸延遲,計算出通信過程中的消息剩余有效期,從而實現RSSP-I通信超時判斷,保證消息的有效傳輸。
對于消息接收方,消息剩余有效期的計算需要接收的消息包頭中相關字段,包括發(fā)送方消息時間戳、通信周期,以及發(fā)送方收到上一條消息時接收方和發(fā)送方的消息時間戳。
通過接收方的當前時間戳減去發(fā)送方收到上一條消息時接收方的消息時間戳,可計算出總的延遲,再減去消息在對方設備內的時間,從而得到雙向的傳輸延遲,將其作為最大傳輸延遲使用,最大傳輸延遲時間不能超過通信超時時間閾值。
基于上述超時機制實現源碼,在源碼程序中主要是運用消息包頭時間戳字段,通過算術運算得到消息剩余有效期,以及對消息剩余有效期與零之間的比較做出IF條件判斷。當消息剩余有效期小于或者等于零,通信處于超時狀態(tài);而消息剩余有效期大于零,通信處于正常或者寬恕狀態(tài)。由于代碼中IF條件在硬件中有可能存在隨機性失效,因此采用VCP編碼技術完成通信超時機制方案的設計,這對于安全產品來說尤為重要。
基于VCP冗余編碼技術實現RSSP-I通信超時校驗安全冗余方案,主要包括IF條件的安全冗余判斷,以及VCP校核字的輸出。其中,IF條件表達式的判斷冗余變量是由接收消息時間戳等字段經過VCP冗余計算輸出的,通過VCP編碼式(4)函數邏輯計算獲得消息剩余有效期的安全冗余碼,產生的消息剩余有效期作為最大傳輸延遲,與通信超時時間閾值的差值滿足減法算術運算,同樣采用VCP編碼式(4)計算獲取差值的安全冗余碼,作為IF條件表達式的判斷變量。
采用單變量IF條件VCP編碼技術,超時判斷IF分支冗余處理分別產生通信正常、通信寬恕,以及通信超時情況下的消息時間戳冗余碼,經處理后可用于應用消息交互。同時VCP冗余編碼方案基于式(5)產生分支路徑標志變量VCP校核字(VCPCKW,VCP Check Word),作為唯一固定值,標志超時判斷處理的準確性,用于聯(lián)鎖上層NISAL(數字集成安全保障邏輯)冗余編碼系統(tǒng)中NISAL碼的離線運算處理,進一步保證IF分支判斷執(zhí)行的安全有效性[2]。圖1為基于VCP編碼技術的RSSP-I通信數據超時判斷邏輯。圖2為聯(lián)鎖下位機采用VCP冗余編碼技術,針對應用消息報文頭中的消息時間戳進行超時判斷的安全設計數據流,展示了基于VCP編碼的RSSP-I通信超時判斷方案的具體實現過程。
基于VCP技術的RSSP-I通信超時判斷冗余處理包含四部分輸入:①超時判斷的非冗余代碼,也就是源碼;②消息報文頭中相關時間戳冗余變量,包括源設備號、遠端消息時間戳、遠端設備周期、遠端設備收到上條消息時的對方時間戳和本方時間戳;③固定值變量有聯(lián)鎖軟件周期和通信超時時間,其經過簽名初始化產生的冗余碼;④非固定值變量有本方當前時間戳,其經過簽名初始化及周期更新產生的冗余碼。
通過VCP工具軟件實現VCP冗余編碼,產生超時判斷VCP冗余代碼[3],以及標志超時判斷分支的固定變量g_IF_S_0(Single Conditional Global Variable),其標志當前分支為通信正常路徑。VCP冗余編碼也產生標志通信超時的全局變量H_g_tmChkRt(Timeout Check Return Value)、標志通信寬恕的全局變量H_g_tmUpdRt(Time Up?date Return Value),以及更新后的消息時間戳冗余碼。當H_g_tmChkRt值為1即處于通信正常情況下,變量g_IF_S_0與接收消息中源設備號綁定,生成VCP校核字,用于聯(lián)鎖上層NISAL冗余編碼系統(tǒng)中NISAL碼的離線補償處理。
該設計能夠產生標志通信正常的變量g_IF_S_0,此變量與源設備號綁定產生的檢查結果字即VCP校核字,在整個周期內取值唯一且被上層系統(tǒng)作為離線配置應用。同時該設計也產生通信正常、通信寬恕以及通信超時3種消息交互場景下的消息時間戳冗余碼,用于應用消息發(fā)送處理?;赩CP工具生成的完整冗余代碼通過消息通信過程的冗余耦合處理能夠保證一些指令如IF判斷處理的安全性[4]。對于冗余代碼執(zhí)行過程中出現的內存固化、內存失效、指令失效等可導致運算、操作出錯情況,也能通過簽名的變化反映至冗余VCPCKW碼字[5]。
該設計也可滿足多元輸入的要求,若周期內收到N個源設備發(fā)送的數據時,則可調用N次VCP安全冗余代碼,返回N個不同的VCPCKW值;能夠保證多個源設備與目的設備之間的安全通信,避免指令失效或內存失效導致的源設備和消息的不一致情況。

圖1 基于VCP技術的RSSP-I通信數據超時判斷邏輯

圖2 基于VCP的通信超時判斷安全設計數據流
該設計適用于類似的包含源設備號、本方消息時間戳和對方消息時間戳等相關字段的應用消息報文;主要包括IF條件判斷的安全冗余判斷及VCPCKW的輸出;IF條件分支的安全判斷處理,包括通信正常、通信寬恕以及通信超時3種情況;輸出的VCPCKW作為應用消息通信正常的標志,用于上層NISAL冗余編碼系統(tǒng)合并到NISAL碼字當中,保證超時判斷的準確性及外部通信設備的唯一性。本研究成果已獲得國際第三方SIL4級安全認證證書,并成功應用于實際軌道交通信號聯(lián)鎖系統(tǒng)工程中。