基于单向散列编码的铁路信号中临时限速的安全保障方法与流程

文档序号:15261819发布日期:2018-08-24 21:51阅读:253来源:国知局

本发明涉及一种铁路信号中临时限速的安全保障方法,尤其是涉及一种基于单向散列编码的面向铁路信号领域中临时限速的安全保障方法。



背景技术:

临时限速是轨道交通中重要的概念,当遇到风雨雪、施工等临时情况,需要临时限制列车运行速度。在c2/c3体系中,临时限速命令由调度员人员通过ctc或者tdcs设备产生,下发至临时限速服务器设备(以下简称tsrs),再由tsrs分发至对应的列控中心(简称tcc)、无线闭塞中心(简称rbc)等设备。临时限速命令一旦执行错误,则可能会导致车毁人亡的严重后果。因此,需要对临时限速相关处理进行安全防护。

为了防止随机失效,在铁路信号领域的sil4级安全系统中,在系统架构层面,en50129给出了3种故障-安全系统架构来实现安全目标,包括反应故障安全、组合故障安全、固有故障安全。对于单套系统而言,在软件层面,目前已经有的算法包括了编码的方法,通过把计算中用到的安全参数进行编码,对计算过程进行编码,来达到安全的目前,当编码出现问题时,进行相应的倒向安全侧的处理。已有的方法还包括了bit的方法,通过对硬件进行检测,使得随机失效被检测出,进而进入导向安全侧的处理。

这些做法的特点是易于实现平台化,具有更强的通用性。但是会消耗过多的资源,提高开发和维护成本。



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于单向散列编码的铁路信号中临时限速的安全保障方法,针对临时限速提出安全保障方法,避免了不必要的资源消耗,提高了系统的稳定性。

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

一种基于单向散列编码的铁路信号中临时限速的安全保障方法,包括以下步骤:

步骤1,临时限速服务器设备tsrs从列车调度集中指挥控制系统ctc收到闭塞分区归档方案中临时限速命令对应的执行命令,在内存中查找对应的临时限速所在区域,找到后,利用散列值对内存中限速命令进行校核,校核通过后,则认定该输入的限速命令参数合法;

步骤2,进行操作顺序、受令方通信状态、限速区域重叠检查、应答器报文容量检查;

步骤3,如果检查失败,则保持限速命令原状态,同时,向ctc报告错误;如果检查通过,则更新临时限速命令的状态为“下达中”,更新各个设备的限速命令状态也更新为“下达中”;

步骤4,遍历各个内存区中各个受令设备被保护的临时限速输出数据,当状态为“下达中”的状态,通过散列值校核数据没有被破坏后,根据里面的输出数据输出限速命令至各个列控中心tcc、无线闭塞中心rbc、邻接tsrs对应的安全通信接口,由安全通信模块对数据加密后,发送至各个接收设备。

所述的临时限速命令提取包括:

方案一:从rssp-i或rssp-ii安全协议中直接取出的临时限速命令,取出后丢弃原安全数据包;

或者方案二:利用rssp-ii安全协议中的mac值以及rssp-i协议中的crcm作为临时限速命令对应的散列值。

对于方案一:对取出来的临时限速命令增加对应的散列值,采用不同的生成多项式为临时限速命令分别生成crc1和crc2,或者采用md5码的形式作为散列校验值。

在每个计算周期或者根据设定,在每次读取临时限速命令前,重新校核临时限速命令与其对应的散列数值是否对应,如果对应,则按正常步骤处理临时限速,如果不对应,则认为临时限速被破坏,进行宕机处理;根据设定,向限速命令下达方报告限速命令为失败状态。

所述的步骤4)中的散列值生成过程如下:

遍历各个“被保护数据”,根据data_protected公式找到与当前临时限速命令对应的“被保护数据”,根据输入数据修改“被保护数据”的状态值,然后,根据最新结果,生成“被保护数据”对应散列值

所述的data_protected公式具体为:

data_protected=(((tsr_command*2m+(tsr_output))^timestamp)*2n+outputstatus

其中,data_protected:被保护数据;

tsr_command:限速命令本身;

m:输出数据的实际长度;

timestamp:时间戳;

tsr_output:针对不同的受令设备有不同的含义,其中,在tsrs里,tsr_output表示向一个具体的tcc/rbc/邻接tsrs的输出的限速命令;在tcc设备中,表示一个具体的应答器输出的报文数据;

outputstatus:为根据当前输入所设置的临时限速所处的状态,收到执行命令后,该限速命令变为待下发状态,由n字节表示。

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

1、通过采用本技术,可以发现内存失效对临时限速关键参数的破坏,从而提高系统整体安全性和可靠性。

2、可以发现程序bug所引起的内存越界对临时限速关键参数所造成的意外破坏,从而提高系统整体安全性和可靠性。

3、与硬件检测技术比,不需要挂起整个程序系统以及中断,对系统的影响更小。本算法直接检查被测对象,而不是通过检测硬件间接证明,更加直接有效,检测周期可以大幅度缩短。而且,硬件检测技术无法发现由程序意外越界所引起的对关键参数的破坏。

4、与通用的安全编码(比如,vcp编码)相比,不需要将整个程序转换成安全编码,本技术充分利用闭塞分区归档后临时限速的可穷举性,把编码与查表相结合,避免了算法的复杂度,提高了系统的运行效率。

附图说明

图1为本发明的总体流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。

本发明针对中国铁路运营的特点,针对临时限速提出安全保障方法,避免了不必要的资源消耗,提高了系统的稳定性。

针对目前铁路领域临时限速处理可能出现的随机失效场景包括

(1)传输过程中出现干扰,导致被传输数据出现偏差。

(2)临时限速命令在系统内部运行时被破坏。

针对场景1,由于已有安全通信协议保护,不在本方案范围内。

本方案只针对场景2提出解决方案,提出了提出提高安全度和安全信心的算法,如果要达到特定系统的安全目标,还可进一步通过组合故障安全、反应故障安全和固有故障安全等机制来解决。

本发明提出一个针对临时限速的安全方法,该方法不依赖硬件架构,可以被不同应用有临时限速的铁路信号相关系统复用,以提高系统的安全指数。

本发明的具体技术内容如下:

一,闭塞分区归档前,临时限速以“米”为单位下发,临时限速相关参数只能依赖于实时计算,提出了如下方法:

(1)提取临时限速命令。

针对不同的系统和场景,我们提出了两种解决方案

方案一:从安全协议(中国铁路为rssp-ii安全协议和rssp-i安全协议)直接取出的临时限速命令,取出后丢弃原安全数据包,考虑到临时限速命令的下达可以实现闭环控制,所以,当内存中第一次收到该限速时,如果提取过程即出现失效导致限速参数出现错误,可以被原下发限速的设备或者人员发现,故本方案中暂不考虑这种失效。此种方案占用空间小,缺点是临时限速提取需要借助于应用级的安全分析或者其他安全保障算法。

方案二:不将临时限速命令从rssp-ii或者rssp-i数据包中取出,利用rssp-ii安全协议中的mac值以及rssp-i协议中的crcm作为临时限速命令对应的散列值。这种做法的缺点是需要增加额外的空间存储临时限速所在的整个数据包,且mac校验和crcm的算法都有比较高的时间复杂度,需要增加额外的运算开销。

(2)为取出来的限速命令增加对应的散列值。针对步骤1中的方案二,不需要再增加额外的散列数值,针对步骤1中的方案一,可增加临时限速命令对应的crc数值,为进一步提高安全性,可采用不同的生成多项式为临时限速命令分别生成crc1和crc2。同理,也可采用md5码的形式作为散列校验值。

(3)在每个计算周期,或者,根据需要,在每次读取临时临时限速命令前,重新校核临时限速命令与其对应的散列数值是否对应,如果对应,则按正常步骤处理临时限速,如果不对应,则认为临时限速被破坏,此时,需进一步采用导向安全侧的处理措施,我们建议进行宕机处理;根据需要,可向限速命令下达方报告限速命令为失败状态。

二,采用闭塞分区归档方案后,临时限速范围由闭塞分区界定,由于一条线路中的闭塞分区数量是可穷举的,则可执行的临时限速命令只有可穷举的数量,

图1为算法总体说明,其中粗实线表示本算法的实际流程,细虚表示不采用本算法时临时限速处理所走的流程。

图中的被保护数据除时间戳、输出数据、散列值当前状态外,均由离线时决定,由工具生成,生成算法为

所述的data_protected公式具体为:

data_protected=(((tsr_command*2m+(tsr_output))^timestamp)*2n+outputstatus

其中,data_protected:被保护数据;

tsr_command:限速命令本身;

m:输出数据的实际长度;

hash(tsr_command):tsr_commandtsr命令的单向散列数值,hash表示散列函数,可以为md5或者crc计算函数。

timestamp:时间戳;

tsr_output:针对不同的受令设备有不同的含义,其中,在tsrs里,tsr_output表示向一个具体的tcc/rbc/邻接tsrs的输出的限速命令;在tcc设备中,表示一个具体的应答器输出的报文数据;

outputstatus:为根据当前输入所设置的临时限速所处的状态,收到执行命令后,该限速命令变为待下发状态,由n字节表示。

图1中“输入”的箭头表示环节的具体处理如下述:

遍历各个“被保护数据”,根据data_protected的公式找到与当前临时限速命令对应的“被保护数据”,根据输入数据修改“被保护数据”的状态值,然后,根据最新结果,生成“被保护数据”对应散列值。

图1中“输出”的箭头表示的环节的具体处理如下述:

遍历各个“被保护数据”,通过散列值检查“被保护数据”是否被破坏,如果被破坏,则导向安全侧,这里的安全侧可由设备根据自身情况进行自定义。如果数据没有被破坏,则根据当前状态,从“被保护数据”中取出当前的输出数据,输出该输出数据至安全通信模块。

为了防止出现过时数据,在时间戳和被保护数据上全部异或了时间戳数据,每个周期更新该时间戳。

通过上文,我们也可以看到根据输入信息修改状态和根据状态选取输出信息的过程并没有被保护,针对这一点,可以通过差异化算法、编码技术等其他手段来解决。

如图1所示,本发明基于单向散列编码的铁路信号中临时限速的安全保障方法,包括以下步骤:

步骤001,tsrs从ctc收到闭塞分区归档方案中限速设置命令对应的执行命令,在内存中查找对应的临时限速所在区域,找到后,利用散列值对内存中限速命令进行校核,校核通过后,即可认为该输入的限速命令参数合法。

步骤002,进行操作顺序、受令方通信状态、限速区域重叠检查、应答器报文容量检查,考虑到这些检查的失效不会对临时限速的安全性造成影响,所以,可以不采取额外的安全冗余措施。

步骤003,如果检查失败,则保持限速命令原状态,同时,向ctc报告错误;如果检查通过,则更新临时限速命令的状态为“下达中”,更新各个设备的限速命令状态也更新为“下达中”。

步骤004,输出程序遍历各个内存区中各个受令设备被保护的临时限速输出数据,当状态为“下达中”的状态,通过散列值校核数据没有被破坏后,根据里面的输出数据输出限速命令至各个tcc、rbc、邻接tsrs对应的安全通信接口,由安全通信模块对数据加密后,发送至各个接收设备。

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

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