基于安全编码与铁路信号安全协议RSSP‑II的接口实现方法与流程

文档序号:14178794阅读:539来源:国知局
基于安全编码与铁路信号安全协议RSSP‑II的接口实现方法与流程

本发明涉及一种轨道交通信号领域的通信接口实现方法,尤其涉及一种基于安全编码与铁路信号安全协议rssp-ii的接口实现方法。



背景技术:

互联互通城市轨道交通信号系统中要求在开放式网络环境中各子系统(包括车载系统和轨旁系统)之间采用铁路信号安全协议rssp-ii进行通信,该协议满足en50159-2中所提出的要求,针对开放式网络环境中存在的7种安全通信风险(具体为重复、删除、插入、重排序、损坏、伪装、延迟)均能得到有效防护。

轨道交通信号系统的功能主要包括列车的自动驾驶和自动防护,为了达到sil4级安全标准,其硬件架构一般采用首尾冗余的2乘2取2或者3取2架构,其软件层面的核心逻辑一般采用安全编码技术,该技术通过对软件源码进行编码,生成冗余代码(其过程称为安全编码),运行冗余代码可以保证如果发生硬件随机失效故障,能够以满足sil4的概率被检测出来。

由于安全编码技术的局限性,只能对主逻辑部分进行安全编码。经过安全编码的主逻辑和rssp-ii安全协议之间的接口如何保证安全是个亟待解决的问题,具体包含如下方面:

1)从rssp-ii通信层校验后的消息到该消息参与安全编码运算的过程中,如果内存发生随机错误(内存值发生跳变、变量指针发生跳变、内存未刷新等),安全编码的主逻辑如何检测该错误;

2)编码程序生成的编码消息如何准确无误的传递到rssp-ii通信层。



技术实现要素:

本发明的目的是为了解决上述问题而设计的一种基于安全编码与铁路信号安全协议rssp-ii的接口实现方法,通过该方法可以解决基于安全编码的程序与rssp-ii通信协议之间接口的安全问题。根据该方法,在接收模块中,能够确保安全编码使用的消息与经过rssp-ii通信协议接收的消息的一致性,并且能够根据双通道校验机制检测出接收消息的安全编码的正确性;在发送模块中,将发送变量的安全编码信息添加到rssp-ii协议通信层中,并经过双通道校验,拼接成完整的带安全编码信息的消息验证码mac中,从而保证发送模块的安全性。

本发明的目的可以通过以下技术方案来实现:

一种基于安全编码与铁路信号安全协议rssp-ii的接口实现方法,该方法包括从rssp-ii通信层接收到消息后,经过rssp-ii通信层到安全编码程序的接收转换模块,将接收消息转换为包含安全编码信息、双通道校验信息、随机错误检测信息的消息参与到安全编码主逻辑运算;从安全编码程序生成发送消息后,经过安全编码程序到rssp-ii通信层的发送转换模块,将发送消息的mac信息增加双通道安全编码校验信息、双通道随机错误检测信息后,和发送消息的安全编码高位组帧发送出去。

所述的接收转换模块的工作流程如下:

步骤101:初始化接收消息安全编码变量;

步骤102:使用rssp-ii协议接收消息;

步骤103:对接收消息进行安全编码;

步骤104:校验对方通道安全编码信息;

步骤105:校验本通道安全编码高位与rssp-ii原始数据的一致性。

所述的步骤101:初始化接收消息安全编码变量,包括初始化所有接收消息的安全编码的高位变量和低位变量清。假设接收消息的某个变量为x,则使用如下公式进行初始化:

xh=0

xl=0

所述的步骤102:使用rssp-ii协议接收消息,要求双通道独立使用rssp-ii协议处理网络消息,并且相同周期处理的消息相同。

所述的步骤103:对接收消息变量进行安全编码,使用的算法如下:

xh=x

xl=-rkx+bx+dt

式中,x为接收消息变量;xh为安全编码的高位;xl为安全编码的低位;rkx为x的左移k位运算;bx为x变量预先分配的签名;dt为时间戳信息。

所述的步骤104:校验对方通道的安全编码信息,使用的算法如下:

bcheckx(toc)=rkx+xl(toc)-dt(toc)-bx(toc)

式中,xl(toc)为对方通道的变量x的安全编码低位信息,由对方通道发送给本通道,同样的,本通道需要将xl发送给对方通道,dt(toc)为本通道维护的另一个通道的时间戳信息,bx(toc)为本通道预存的另一通道关于变量x的签名,bcheckx(toc)为对方通道编码信息的校验结果,为0表示校验通过,其他值表示校验失败。

所述的步骤105:校验本通道安全编码高位与rssp-ii原始数据的一致性。根据本通道接收变量的安全编码高位信息,按消息接口定义组帧,调用rssp-ii协议通信层提供的接口计算消息验证码rcv_maccal,并与原始消息验证码rcv_macorg进行比较,将比较结果添加到本通道的安全编码低位信息中。最终该接收消息变量参与安全编码的主逻辑运算中。

所述的发送转换模块的工作流程如下:

步骤201:计算发送消息带掩码的消息验证码mac′(yh)

步骤202:校验本通道发送消息的安全编码信息ccal

步骤203:执行步骤201和步骤202的异或运算

步骤204:拼接双通道带安全编码信息的消息验证码mac″′(yh)

步骤205:rssp-ii协议层将发送消息和mac″′(yh)组帧发送。

所述的步骤201:计算发送消息带掩码的消息验证码mac′(yh),使用的算法如下:

式中,mac(yh)为rssp-ii通信层计算的原始mac信息;s为预分配的异或序列;cpre为预分配发送变量签名之和:通道1的为通道2的为

所述的步骤202:校验本通道发送消息的安全编码信息ccal,使用的算法如下:

式中,rky[i]+yl[i]-dt为第i个发送变量y计算的签名;dt为本通道的时间戳信息。

所述的步骤203:执行步骤201和步骤202的异或运算,使用的算法如下:

所述的步骤204:拼接双通道带安全编码信息的消息验证码mac″′(yh),使用的算法如下:

式中,mac1″(yh)为通道1步骤204计算的结果;mac2″(yh)为通道2步骤204计算的结果;通道1需要将mac1″(yh)发送给通道2,通道2需要将mac2″(yh)发送给通道1;dt1为通道1的时间戳信息;dt2为通道2的时间戳信息;c0为预存的常量。

所述的步骤205:rssp-ii协议层将发送消息和mac″′(yh)组帧发送。如果从安全编码->rssp2未发生硬件随机错误,则mac″′和原始的mac是一致的,通信方会正确接收该消息;如果从安全编码->rssp2发生硬件随机错误,则该错误信息会被增加了mac中,通信方会因mac校验错误而丢弃该消息,从而达到避免因发生随机错误而导致危险的情况发生。

与现有技术相比,本发明具有以下优点:

1、rssp-ii通信层到安全编码程序的接收转换模块,提供了从rssp2-ii通信层裸消息到安全编码程序过程中在线编码过程发生随机错误的检测机制;

2、安全编码程序到rssp-ii通信层的发送转换模块,提供了安全编码程序部分以及将发送消息传入到rssp-ii协议层计算消息验证码过程中发生随机错误的检测机制。

附图说明

图1为双通道架构示意图;

图2为rssp-ii通信层到安全编码程序的接收转换模块工作流程图;

图3为安全编码程序到rssp-ii通信层的发送转换模块工作流程图;

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。

实施例

如图1所示,每个cpu上独立运行相同的程序,包括经过安全编码的主逻辑部分和rssp2协议通信层;两个cpu构成双通道,双通道通过dpram交互信息;主逻辑部分和rssp2通信层之间为本发明提供的接收转换模块接口和发送转换模块接口;

如图2所示,本发明的rssp-ii通信层到安全编码程序的接收转换模块工作流程图,详细描述如下:

步骤101:初始化接收消息安全编码变量,假设接收模块变量为x,则对应安全编码变量初始化如下:

xh=0

xl=0

步骤102:使用rssp-ii协议接收消息;具体为双通道独立运行rssp-ii协议通信层,由周期同步确保双通道接收的rssp-ii消息是相同的。

步骤103:对接收消息变量进行安全编码

假设接收消息变量为x,则对应的安全编码信息如公式(1)和(2)所示。

xh=x(1)

xl=-rkx+bx+dt(2)

式中,x为接收消息变量;xh为安全编码的高位;xl为安全编码的低位;rkx为x的左移k(k取32)位运算;bx为x变量预先分配的签名;为dt时间戳信息。

步骤104:校验对方通道安全编码信息,将校验结果添加到本通道安全编码信息中。

双通道通过dpram交互步骤3生成的安全编码低位信息xl;然后本通道校验另一个通道安全编码信息,并将校验结果添加到本通道的安全编码低位信息中。使用的公式如(3)和(4)所示:

bcheckx(toc)=rkx+xl(toc)-dt(toc)-bx(toc)(3)

xl=xl+bcheckx(toc)(4)

式中,xl为本通道变量x的安全编码低位信息,xl(toc)为另一个通道对应变量的安全编码低位信息,dt(toc)为本通道维护的另一个通道时间戳信息,bx(toc)为本通道预存的另一通道关于变量x的签名。

步骤105:校验本通道安全编码高位与rssp-ii原始数据的一致性,将校验结果添加到本通道安全编码信息中。具体方法为根据本通道接收变量的安全编码高位信息,按消息接口定义组帧,调用rssp-ii协议通信层提供的接口计算消息验证码rcv_maccal,并与原始消息验证码rcv_macorg进行比较,将比较结果添加到本通道的安全编码低位信息中。最终该接收消息变量参与安全编码的主逻辑运算中。

如图3所示,本发明的安全编码程序到rssp-ii通信层的发送转换模块工作流程图,详细描述如下:

步骤201:计算发送消息带掩码的消息验证码mac′(yh),使用的公式如(4)所示:

式中,mac(yh)为rssp-ii通信层计算的原始mac信息;s为预分配的异或序列;cpre为预分配发送变量签名之和:通道1的为通道2的为

步骤202:校验发送消息的安全编码信息,具体方法为安全编码程序生成带安全编码的发送消息,每个通道计算所有发送消息变量的带时间戳的签名和,使用的公式如(5)所示:

式中,rky[i]+yl[i]-dt为第i个发送变量y计算的签名;dt为本通道的时间戳信息。

步骤203:执行步骤201和步骤202的异或运算,使用的公式如(6)所示:

步骤204:拼接双通道带安全编码信息的消息验证码,具体方法为:双通道使用dpram交互步骤203的结果;使用的公式如(7)所示:

式中,mac1″(yh)为通道1步骤3计算的结果;mac2″(yh)为通道2步骤3计算的结果;dt1为通道1的时间戳信息;dt2为通道2的时间戳信息;c0为预存的常量

步骤205:rssp-ii通信层将发送消息和mac′′′(yh)组帧发送。如果从安全编码->rssp2未发生硬件随机错误,则mac″′和原始的mac是一致的,通信方会正确接收该消息;如果从安全编码->rssp2发生硬件随机错误,则该错误信息会被增加了mac中,通信方会因mac校验错误而丢弃该消息,从而达到避免因发生随机错误而导致危险的情况发生。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1