国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

RSSP-I鐵路信號(hào)安全協(xié)議的設(shè)計(jì)及實(shí)現(xiàn)

2020-06-30 06:57
關(guān)鍵詞:序列號(hào)接收端寄存器

趙 鵬

(中車青島四方車輛研究所有限公司 信號(hào)項(xiàng)目組,青島 266031)

城市軌道交通的快速發(fā)展極大地促進(jìn)了基于通信的列車運(yùn)行控制(CBTC)信號(hào)系統(tǒng)的發(fā)展,并對(duì)網(wǎng)絡(luò)通信安全提出更高要求。為了實(shí)現(xiàn)網(wǎng)絡(luò)化運(yùn)營(yíng),減少重復(fù)投資,提高運(yùn)營(yíng)效率,互聯(lián)互通已經(jīng)成為城市軌道交通新的發(fā)展方向。然而,信號(hào)系統(tǒng)設(shè)備供應(yīng)商較多,不同供應(yīng)商的設(shè)備之間沒(méi)有統(tǒng)一接口標(biāo)準(zhǔn)。為實(shí)現(xiàn)互聯(lián)互通,迫切需要統(tǒng)一設(shè)備間的通信接口和協(xié)議[1-3]。

《 城市軌道交通基于通信的列車運(yùn)行控制系統(tǒng)(CBTC)互聯(lián)互通系統(tǒng)規(guī)范》對(duì)設(shè)備間接口給出了統(tǒng)一規(guī)定。其中,安全設(shè)備之間的安全通信采用鐵路信號(hào)安全協(xié)議(RSSP),并規(guī)定聯(lián)鎖設(shè)備之間及軌旁設(shè)備之間采用適用于封閉式網(wǎng)絡(luò)環(huán)境的RSSP-I 鐵路專用安全通信協(xié)議[4]。

結(jié)合互聯(lián)互通聯(lián)鎖系統(tǒng)的開發(fā),對(duì)RSSP-I 鐵路信號(hào)安全協(xié)議進(jìn)行研究,重點(diǎn)分析安全通信協(xié)議所采用的安全措施及軟件設(shè)計(jì)方法;基于Visual Studio 2012 開發(fā)工具,采用C++語(yǔ)言實(shí)現(xiàn)RSSP-I 測(cè)試軟件,以驗(yàn)證協(xié)議設(shè)計(jì)方法的實(shí)用性和有效性。

1 RSSP-I安全協(xié)議

1.1 RSSP-I安全通信系統(tǒng)協(xié)議結(jié)構(gòu)

RSSP-I 安全協(xié)議定義了安全層之間的通信規(guī)范;安全層與應(yīng)用層、安全層與傳輸層之間的接口為軟件內(nèi)部接口[5]?;谝蕴W(wǎng)的RSSP-I 安全通信系統(tǒng)協(xié)議層次結(jié)構(gòu)如圖1 所示,傳輸層基于UDP 協(xié)議,可以確保較高的實(shí)時(shí)性;安全層采用RSSP-I 安全協(xié)議。

1.2 RSSP-I安全協(xié)議的報(bào)文結(jié)構(gòu)

RSSP-I 安全報(bào)文(即安全功能層對(duì)應(yīng)的報(bào)文)由用戶數(shù)據(jù)包、安全校驗(yàn)域、報(bào)文頭和報(bào)文尾CRC16 構(gòu)成,報(bào)文結(jié)構(gòu)如圖2 所示。

RSSP-I 安全通信系統(tǒng)發(fā)送方設(shè)備對(duì)用戶數(shù)據(jù)包進(jìn)行安全編碼,添加安全校驗(yàn)域以及報(bào)文頭;同時(shí),根據(jù)報(bào)文頭、安全校驗(yàn)域、用戶數(shù)據(jù)包生成CRC16,添加到報(bào)文尾。RSSP-I 報(bào)文經(jīng)過(guò)通信功能層的處理后,傳輸給接收端設(shè)備,接收端設(shè)備對(duì)RSSP-I 報(bào)文進(jìn)行安全校驗(yàn);安全校驗(yàn)通過(guò)后,將報(bào)文解碼,以獲取應(yīng)用數(shù)據(jù)。

圖1 RSSP-I安全通信系統(tǒng)協(xié)議層次結(jié)構(gòu)

圖2 RSSP-I報(bào)文結(jié)構(gòu)

2 RSSP-I安全協(xié)議的安全防護(hù)技術(shù)

GB/T24339.2 將封閉式網(wǎng)絡(luò)中的通信威脅定義為6 個(gè)類別:重復(fù)、丟失、插入、錯(cuò)序、錯(cuò)碼、延遲。

RSSP-I 采取6 種具體的安全防護(hù)技術(shù)應(yīng)對(duì)這些威脅,威脅類別與安全防護(hù)技術(shù)的對(duì)應(yīng)關(guān)系見(jiàn)表1。其中,序列號(hào)與時(shí)間戳是關(guān)鍵的安全防護(hù)技術(shù),同時(shí)采用反饋報(bào)文、雙重冗余校驗(yàn)兩種安全防護(hù)技術(shù);源標(biāo)識(shí)用以確保數(shù)據(jù)來(lái)源的真實(shí);利用序列號(hào),可實(shí)現(xiàn)對(duì)報(bào)文超時(shí)的檢測(cè);雙重冗余校驗(yàn)中包含32 bit循環(huán)冗余校驗(yàn)(CRC32)。

2.1 線性反饋移位寄存器

線性反饋移位寄存器(LFSR)是RSSP-I 安全協(xié)議編碼的數(shù)學(xué)工具,是RSSP-I 安全協(xié)議的理論基礎(chǔ)之一[6]。RSSP-I 安全協(xié)議使用兩種線性反饋移位寄存器算法:左移位運(yùn)算(<~)和右移位運(yùn)算(~>)。

LFSR 左移位算法描述如下:設(shè)定A=B<~C,32 bit 寄存器為Val,多項(xiàng)式為常量Cons;將寄存器Val 初始值設(shè)定為B;將寄存器l 的值更新為B^C;將寄存器值左移1 bit,寄存器值溢出前最高比特位為1 時(shí),將寄存器當(dāng)前值與多項(xiàng)式常量Cons 進(jìn)行異或操作,并更新寄存器當(dāng)前值;當(dāng)前操作執(zhí)行32 次后,寄存器當(dāng)前值即為A。

右移位運(yùn)算可同理得出。

表1 威脅類別與對(duì)應(yīng)的安全防護(hù)技術(shù)

2.2 序列號(hào)與時(shí)間戳

序列號(hào)采用系統(tǒng)軟件內(nèi)部周期序號(hào),為32 bit 長(zhǎng)的順序編號(hào),既作為系統(tǒng)發(fā)送報(bào)文時(shí)的序號(hào),也用于超時(shí)檢測(cè)的時(shí)間判定。

RSSP-I 中時(shí)間戳隨序列號(hào)的遞增循環(huán)生成,是與序列號(hào)相關(guān)聯(lián)的偽隨機(jī)數(shù)。依據(jù)通信周期,利用LFSR 生成時(shí)間戳,雙通道的時(shí)間戳相互獨(dú)立。時(shí)間戳的計(jì)算公式為:

其中,N為通信周期,T(N) 為本次時(shí)間戳,T(N-1) 為上次時(shí)間戳,T(0) 為預(yù)先設(shè)定常量值。RSSP-I 通信系統(tǒng)的接收方需要同時(shí)校驗(yàn)序列號(hào)和時(shí)間戳的有效性;任一校驗(yàn)不通過(guò),則安全校驗(yàn)不通過(guò)。

2.3 雙重校驗(yàn)

RSSP-I 安全報(bào)文中的安全校驗(yàn)域包含序列號(hào)和雙通道安全校驗(yàn)碼(SVC),兩個(gè)通道SVC 相互獨(dú)立。

SVC 包含標(biāo)識(shí)發(fā)送方對(duì)象的源標(biāo)識(shí)(SID)、發(fā)送方時(shí)間戳T(N)、安全數(shù)據(jù)的CRC32 校驗(yàn)碼,以及用以確保安全層協(xié)議正確性的系統(tǒng)校驗(yàn)字(SCW)。雙通道校驗(yàn)獨(dú)立進(jìn)行,且校驗(yàn)必須全部正確[7]。

通過(guò)序列號(hào)與時(shí)間戳的相互關(guān)聯(lián),以及雙通道的冗余校驗(yàn),可以確保數(shù)據(jù)傳輸?shù)恼鎸?shí)性、完整性、實(shí)時(shí)性和有序性。

3 RSSP-I安全協(xié)議的設(shè)計(jì)

3.1 RSSP-I安全協(xié)議的報(bào)文交互

RSSP-I 安全協(xié)議采用接收端的安全保護(hù)算法,即接收端要對(duì)所接收的安全數(shù)據(jù)進(jìn)行實(shí)時(shí)安全校驗(yàn),若校驗(yàn)不通過(guò)則進(jìn)行時(shí)序校正。RSSP-I 安全通信報(bào)文分為周期性傳輸報(bào)文和事件傳輸報(bào)文[8],報(bào)文交互過(guò)程如圖3 所示。實(shí)時(shí)安全數(shù)據(jù)(RSD)報(bào)文按周期發(fā)送,通信設(shè)備可以相互發(fā)送RSD 報(bào)文,也可以單方設(shè)備發(fā)送。當(dāng)發(fā)生時(shí)序接收錯(cuò)誤時(shí),接收端向發(fā)送端發(fā)送時(shí)序校正請(qǐng)求(SSE)報(bào)文;發(fā)送端對(duì)來(lái)自接收端的時(shí)序校正請(qǐng)求報(bào)文進(jìn)行答復(fù),發(fā)送時(shí)序校正答復(fù)(SSR)報(bào)文。

圖3 RSSP-I安全通信系統(tǒng)報(bào)文交互過(guò)程

安全數(shù)據(jù)單向傳輸時(shí),只在接收端進(jìn)行安全校驗(yàn)及時(shí)序校正;安全數(shù)據(jù)雙向傳輸時(shí),兩個(gè)通信端分別獨(dú)立進(jìn)行安全校驗(yàn)及時(shí)序校正[9]。

3.2 安全編碼的設(shè)計(jì)

在RSSP-I 安全通信系統(tǒng)中,安全數(shù)據(jù)發(fā)送端設(shè)備需要對(duì)安全數(shù)據(jù)進(jìn)行安全編碼。RSD 報(bào)文安全編碼的重點(diǎn)是生成安全校驗(yàn)域,計(jì)算流程如圖4 所示。

圖4 RSD報(bào)文安全校驗(yàn)域的計(jì)算流程

(1)要計(jì)算RSD 報(bào)文中安全應(yīng)用數(shù)據(jù)的CRC32校驗(yàn)碼;(2)計(jì)算當(dāng)前的時(shí)間戳T(N);(3)利用式(2)計(jì)算SVC,其中,SID 和SCW 均為預(yù)先設(shè)置的32 bit 常量參數(shù);(4)添加序列號(hào)以及安全數(shù)據(jù)的長(zhǎng)度,完成RSD 安全報(bào)文中安全校驗(yàn)域的編碼。

RSD 安全報(bào)文的報(bào)文頭包含協(xié)議類別標(biāo)識(shí)及報(bào)文類型,報(bào)文類型用于區(qū)分主從系報(bào)文;最后生成CRC16 校驗(yàn)碼,添加至報(bào)文尾部,完成RSD 安全報(bào)文的編碼。

3.3 安全解碼的設(shè)計(jì)

RSSP-I 安全通信系統(tǒng)的接收端設(shè)備接收到RSD報(bào)文時(shí),先對(duì)報(bào)文進(jìn)行校驗(yàn);若校驗(yàn)失敗,則丟棄該報(bào)文。只有校驗(yàn)通過(guò),才可以使用安全應(yīng)用數(shù)據(jù)。校驗(yàn)流程見(jiàn)圖5 所示。

圖5 安全數(shù)據(jù)報(bào)文校驗(yàn)流程

進(jìn)行CRC16 校驗(yàn),若校驗(yàn)成功則進(jìn)行報(bào)文頭校驗(yàn);報(bào)文頭校驗(yàn)主要對(duì)報(bào)文頭的內(nèi)容進(jìn)行一致性檢查,確定數(shù)據(jù)與規(guī)定值相符。序列號(hào)校驗(yàn)與SVC 校驗(yàn)均為安全校驗(yàn),任一校驗(yàn)不通過(guò)都要進(jìn)行時(shí)序校正。

3.3.1 序列號(hào)校驗(yàn)

序列號(hào)不僅用于安全報(bào)文的順序校驗(yàn),以消除亂序的威脅,還可以用于判斷數(shù)據(jù)延遲、重復(fù)或者數(shù)據(jù)丟失。

RSD 序列號(hào)校驗(yàn)流程如圖6 所示。其中,Nseq為序列預(yù)容忍差值,需提前設(shè)置好,該值與安全通信系統(tǒng)中安全應(yīng)用數(shù)據(jù)發(fā)送方設(shè)備的系統(tǒng)通信周期有關(guān);M 為最近一次有效的序列號(hào);N 為當(dāng)前報(bào)文的序列號(hào)。

當(dāng)最近一次有效序列號(hào)大于本次接收序列號(hào),或本次接收的序列號(hào)與最近一次有效序列號(hào)的差值大于預(yù)容忍差值時(shí),序列號(hào)校驗(yàn)不通過(guò),丟棄本報(bào)文的安全數(shù)據(jù)。當(dāng)校驗(yàn)通過(guò)時(shí),將當(dāng)前報(bào)文的序列號(hào)作為最近一次有效接收序列號(hào),用于校驗(yàn)下一個(gè)通信周期的數(shù)據(jù)序列號(hào)。

圖6 序列號(hào)校驗(yàn)流程

3.3.2 SVC校驗(yàn)

SVC 校驗(yàn)是RSSP-I 安全通信系統(tǒng)中最重要的安全校驗(yàn),主要利用時(shí)間戳進(jìn)行連續(xù)的校驗(yàn),但校驗(yàn)結(jié)果值與時(shí)間戳無(wú)關(guān),僅與節(jié)點(diǎn)參數(shù)相關(guān);同時(shí),源標(biāo)示符隱藏在時(shí)間戳中,通過(guò)SVC 校驗(yàn)可確保數(shù)據(jù)的安全傳輸。接收端設(shè)備對(duì)RSD 報(bào)文的SVC 校驗(yàn)流程見(jiàn)圖7 所示。

(1)計(jì)算安全應(yīng)用數(shù)據(jù)的CRC32 校驗(yàn)碼,使用報(bào)文安全校驗(yàn)域中SVC 值計(jì)算SID^T(N),時(shí)序更新檢查值為本地保存、實(shí)時(shí)更新的變量,其中,序列初始值(SINIT)為預(yù)先設(shè)置的32 bit 位常量值,按每個(gè)通道分別獨(dú)立設(shè)置;(2)計(jì)算安全校驗(yàn)判定值Last<~[SID^T(N)];(3)判定式(3)是否成立,雙通道的校驗(yàn)分別獨(dú)立進(jìn)行[10]。

算式右邊T(N)依賴于T(N-1),以確保驗(yàn)證過(guò)程的連續(xù)性;時(shí)間戳初始值T(0)一般設(shè)定為SID;算式左邊結(jié)果值是一個(gè)僅與節(jié)點(diǎn)參數(shù)相關(guān)的常量。

若雙通道判定式(3)均成立,則安全校驗(yàn)通過(guò),可以將安全應(yīng)用數(shù)據(jù)傳輸至應(yīng)用層供其使用,同時(shí)更新安全校驗(yàn)判定Last 值;若任一通道的判定不成立,則校驗(yàn)失敗,需要進(jìn)行時(shí)序校正。

式(3)還可以用于檢測(cè)傳輸延遲、報(bào)文丟失。若數(shù)據(jù)延遲M個(gè)周期,式(3)左邊執(zhí)行(M-1)個(gè)“<~SID”運(yùn)算,右邊Last 值先需要執(zhí)行(M-1)個(gè)“<~0”運(yùn)算,然后再執(zhí)行相關(guān)計(jì)算判定。

圖7 SVC校驗(yàn)流程

3.4 時(shí)序校正

3.4.1 時(shí)序校正報(bào)文的交互及校驗(yàn)

RSD 報(bào)文時(shí)序校驗(yàn)及任一SVC 校驗(yàn)未通過(guò),或者通信剛建立時(shí),均需要進(jìn)行時(shí)序校正。時(shí)序校正請(qǐng)求方發(fā)送SSE 報(bào)文,通信對(duì)端設(shè)備收到SSE 報(bào)文后,作為時(shí)序應(yīng)答方回復(fù)SSR 報(bào)文;請(qǐng)求方收到SSR 報(bào)文后,需要進(jìn)行安全校驗(yàn),其校驗(yàn)流程見(jiàn)圖8 所示。

SSE 等待有效時(shí)間的檢測(cè)通過(guò)序列號(hào)實(shí)現(xiàn),時(shí)間參數(shù)預(yù)先設(shè)置好。若收到SSR 報(bào)文時(shí),已超出SSE 報(bào)文等待有效時(shí)間,則本次收到的SSR 報(bào)文無(wú)效,丟棄該數(shù)據(jù);若本次校正失敗,重新進(jìn)行下一次時(shí)序校正。

圖8 SSR校驗(yàn)流程

3.4.2 時(shí)序校正的判定

時(shí)序請(qǐng)求方收到SSR 報(bào)文且校驗(yàn)通過(guò)后,需判定時(shí)序是否正確,通過(guò)式(4)確定;其中,Res 為常量SINITr<~SIDr<~SIDr, SINITr、SIDr 為時(shí)序請(qǐng)求方的參數(shù),DATAVERer 是預(yù)先設(shè)置的常量參數(shù);時(shí)序校正參數(shù)precSinit 需要離線計(jì)算,與請(qǐng)求方和應(yīng)答方的節(jié)點(diǎn)參數(shù)有關(guān)。

若等式(4)成立,時(shí)序校正完成,更新安全校驗(yàn)判定Last 值。

4 測(cè)試軟件的設(shè)計(jì)及實(shí)現(xiàn)

RSSP-I 安全協(xié)議測(cè)試軟件基于Visual Studio 2012 開發(fā)平臺(tái),采用C++語(yǔ)言實(shí)現(xiàn),軟件功能框圖見(jiàn)圖9 所示。

圖9 RSSP-I測(cè)試軟件功能

軟件功能主要包括通信、數(shù)據(jù)顯示與存儲(chǔ)及安全服務(wù)。通信功能基于Windows Socket,實(shí)現(xiàn)報(bào)文的發(fā)送和接收,其中,傳輸層采用UDP 協(xié)議,報(bào)文發(fā)送和接收采用多線程實(shí)現(xiàn)機(jī)制[9]。數(shù)據(jù)顯示與存儲(chǔ)功能主要包括通信狀態(tài)顯示、報(bào)文通信狀態(tài)的實(shí)時(shí)顯示,以及通信數(shù)據(jù)和日志的保存。安全服務(wù)功能是測(cè)試軟件的主體部分;其中,通用算法模塊包含CRC16、CRC32 和時(shí)間戳的生成,可供其它程序模塊隨時(shí)調(diào)用;安全解碼/編碼主要針對(duì)RSD 報(bào)文;時(shí)序校正包括對(duì)SSE 和SSR 報(bào)文的編碼、驗(yàn)證、解碼及時(shí)序判定。

RSSP-I 安全協(xié)議配置參數(shù)及網(wǎng)絡(luò)配置參數(shù)均采用配置文件的形式,便于修改和測(cè)試。

程序主界面見(jiàn)圖10 所示。其中,發(fā)送數(shù)據(jù)窗口顯示用戶數(shù)據(jù),可通過(guò)配置文件讀??;數(shù)據(jù)接收窗口用于顯示接收到的報(bào)文及通過(guò)安全校驗(yàn)的報(bào)文數(shù)據(jù),數(shù)據(jù)可實(shí)時(shí)保存;日志信息窗口實(shí)時(shí)顯示當(dāng)前RSSP-I 安全通信系統(tǒng)的通信狀態(tài)。

圖10 測(cè)試軟件主界面

5 結(jié)術(shù)語(yǔ)

所開發(fā)的RSSP-I 測(cè)試軟件實(shí)用性較好,易于調(diào)試協(xié)議,滿足互聯(lián)互通聯(lián)鎖設(shè)備安全通信的要求,驗(yàn)證了協(xié)議設(shè)計(jì)的有效性,有助于提高嵌入式平臺(tái)上RSSP-I 安全協(xié)議開發(fā)和測(cè)試的效率。

猜你喜歡
序列號(hào)接收端寄存器
基于擾動(dòng)觀察法的光通信接收端優(yōu)化策略
基于多接收線圈的無(wú)線電能傳輸系統(tǒng)優(yōu)化研究
一種離線電子錢包交易的雙向容錯(cuò)控制方法
Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
一種控制器硬件序列號(hào)的更新方法
手機(jī)無(wú)線充電收發(fā)設(shè)計(jì)
關(guān)于《國(guó)家稅務(wù)總局 工業(yè)和信息化部關(guān)于加強(qiáng)車輛配置序列號(hào)管理有關(guān)事項(xiàng)的公告》的解讀
二進(jìn)制翻譯中動(dòng)靜結(jié)合的寄存器分配優(yōu)化方法
移位寄存器及算術(shù)運(yùn)算應(yīng)用
Lx5280模擬器移植設(shè)計(jì)及實(shí)施
九龙县| 井研县| 乡宁县| 仙桃市| 平乐县| 苏尼特左旗| 茌平县| 平罗县| 巢湖市| 额敏县| 南康市| 永善县| 九寨沟县| 巴林右旗| 贵阳市| 大兴区| 胶州市| 江油市| 察雅县| 闸北区| 南乐县| 庆元县| 阿克| 蒙山县| 余干县| 伊宁县| 金川县| 上杭县| 类乌齐县| 许昌县| 温宿县| 方正县| 理塘县| 山阴县| 福泉市| 井陉县| 郸城县| 平南县| 巫溪县| 青川县| 利辛县|