网站域名出售 微信:  hucheng114

网站内容整理中,如有侵权内容请联系我们处理

友情文档

 找回密码
 立即注册
搜索
查看: 124|回复: 0
收起左侧

铁路信号产品安全通信设计原则及实例研究

[复制链接]
等级头衔

等級:小学生

Rank: 2Rank: 2

积分成就
UID
8487
主题
39
精华
0
墨水
108

发表于 2022-2-27 18:23:43 | 显示全部楼层 |阅读模式
摘 要:铁路信号产品中各设备或模块之间通信的可靠性和安全性,直接关系到铁路运营安全和人员安全。EN50159标准是专门针对铁路信号系统中安全相关通信而拟定的,该标准提出了安全通信协议应满足的安全要求,以及应对通信风险应采取的措施。在产品设计阶段实现本质安全的设计是解决通信失效带来影响的重要措施。本文将从以下两个方面进行研究:(1)EN50159安全通信标准的要求;(2)当既有铁路信号产品面临兼容性问题而无法修改通信协议时,应如何通过修改硬件结构设计来弥补通信协议的不足。本文将给出实例和分析过程。
关键词:铁路信号 系统安全通信设计 安全标准
中图分类号:U284 文献标识码:A 文章编号:1672-3791(2014)06(a)-0018-02
1 安全相关系统通信结构
通常安全相关系统是由多个子系统构成,各个子系统之间的通信是否安全是本文的研究对象。以下图为例:安全相关子系统通常可粗略的分为以下3层:物理层、数据链路层、应用层。其中物理层和数据链路层可以合并,统称为平台层。数据链路层中对外通常会有通信协议,这类通信协议的组包和解析工作如果是由集成芯片自动完成的(比如HDLC协议由64570芯片自动解析),或者协议是民用的标准协议,比如TCP/IP协议由网卡驱动自动解析,那么,这些协议所做的所有校验工作都不会被安全系统所信任。安全通信协议研究的范畴是基于应用层,也就是由安全相关子系统的设计人员在应用层追加一层安全层来完成安全通信协议的所有防护要求,这里提到的安全层是接下来章节所要研究的重点。
图1为安全相关子系统通信结构图,安全相关子系统A与B通信,应用层数据外面叠加了平台层数据后,构成了在物理链路上传输的安全相关数据帧。为了防护从应用层到平台层数据的失效,或者不采信平台层所做的所有防御性校验,在应用层中,将应用数据叠加一层安全协议,构成了图1中的“安全相关应用数据”,使得在失效发生时,接收端安全相关子系统能够通过安全协议校验出异常,从而能够防止系统使用已经实效了的数据。
图2为链路上传输的安全相关数据帧格式的示意图,该图能够更加明确的表达各层数据协议的关系。其中“安全协议”部分应满足EN50159标准中提出的安全要求。
2 安全通信协议的基本要求
在EN50159中规定,安全通信协议应该能够防护以下七类危害。
2.1 重复(Repetition)
在通信链路出现重复的数据包,即在接受方接收到多次相同的数据帧。
2.2 删除(Deletion)
某一个数据包在传输过程中丢失,未能到达目的地。
2.3 插入(Insertion)
在传输过程中,被插入一个数据帧。
2.4 乱序(Re-sequence)
到达目的地的数据帧与数据源发出的数据帧顺序不一致。
2.5 破坏(Corruption)
数据帧的任意位都有可能由于传输系统的干扰或其他原因而发生改变。
2.6 延迟(Delay)
数据帧到达目的地的时间晚于预期。
2.7 伪装(Masquerade)
攻击方恶意仿造传输系统中的有效数据,并将其发送给任意接收方。
防护上述危害可以采用很多方法,比如:在协议中增加“序号”,使用时间戳,使用超时判断,使用源、目的标识,使用消息反馈机制、使用安全编码,增大码距,使用信息加密技术等,传输系统中存在的危害与防护措施之间的关系,可以用表1来表示。
3 实例研究
事实上,在实际应用中,有些既有系统为了保证其兼容性,既要保证其通信的安全性又不能按照上章节介绍的方法使用防护措施。本章节,笔者将给出一个实例,来介绍在不修改原有通信协议的基础上,通过修改硬件结构设计,仍能够防护通信系统中几类常见的危害。
3.1 既有系统的协议模型介绍
如图3所示,既有系统中,除了应用数据外,安全协议只包含“序号”一种防护措施,由表1可知,能够防护重复、删除、插入、乱序的威胁。
序号每通信周期递增1,至255后循环递增为1。也就是说,在正常情况下,接收方接收到的序号应是连续且递增1的。下面将从接收方的角度逐个分析表1中所述的7个威胁是如何防护的:
重复:当接收方接收到了重复的数据帧时,其序号与前一帧的序号应是相同的,检测到该异常时,应将重复收到的数据帧丢弃,从而可以防止使用重复数据。
删除:当接收方接收到的数据帧的序号发生了跳变,如本应接收序号为2的帧,但是接收的数据帧序号为3,说明序号为了2的数据帧丢失,此时接收方应将其记录,如果连续发生丢失数据,则判断为通信故障,何时判断为通信故障,需视容忍程度而定,如果一定要执行严苛的规定,丢1帧即判定为通信故障也未为不可,只是会影响系统的可用性。
插入:当通信系统中多出一个数据帧时,其序号要么出现重复,要么出现跳变,接收方也可诊断出该失效。
乱序:当接收方接收到数据的顺序与预期不符时,即发生了乱序,这类失效也可通过序号的辨识来诊断出来。
延迟:两安全相关子系统通信协议中对超时判断有了规定,当超过预定超时判断时间时,将会被判断为通信故障,使输出导向安全。因此,该既有通信协议对“延迟”的威胁也具备防护功能。
破坏:由于安全相关应用层数据中没有安全编码或CRC等常用的校验,因此该系统无法防护从应用层到平台层数据被破坏,即使平台层中有芯片驱动做的简单的校验,也不能被安全相关系统所采信。因此,该既有协议不能够防护数据“破坏”的威胁。
伪装:由于本文所讨论的系统是一个封闭的系统,即EN50159 2010版中描述的1类系统,因此不考虑伪装的威胁。
由上述分析可知,该既有协议的“序号”和“超时判断”能够防护除了“破坏”之外的所有威胁,在此系统中不考虑“伪装”的威胁。因此,如何防护“破坏”的威胁,是对既有系统改造时需要考虑的问题。
3.2 既有系统通信架构模型介绍
图4为既有系统的通信架构模型,下文所述的既有系统为架构模型中的“安全相关子系统1”。安全相关子系统中的两个CPU同时接收来自安全相关子系统2的数据,CPU2将自身解析后的结果发送给CPU1,CPU1用自身的解析结果与CPU2的解析结果进行表决(比较),一致后通过平台层发送给安全相关子系统2。
在该架构中当应用数据从CPU1到平台1的传输过程发生了“破坏”,安全相关子系统2是无法识别的,因为从上章节分析可知,CPU1的应用层无安全通信协议,平台1仅完成了数据链路层的协议组包工作,因此安全相关子系统2仅能识别从平台1到安全相关子系统2过程中所发生的实效,但是之前讨论过,数据链路层的任何协议都不被信任,也不认为是安全校验,因此这些防护还不足够。
3.3 改进后系统通信架构模型
为保证原有系统通信协议的兼容性,不能通过修改通信协议来解决数据被“破坏”的威胁,因此,修改了既有系统的硬件架构,修改后的系统架构模型如图5所示。
CPU1和CPU2将各自解析的结果传递给对方,并用自身计算的结果跟对方计算的结果进行表决(比较),并将表决结果传给平台层,平台1将平台层协议组包后的数据与平台2组包之后的数据进行表决(比较),表决通过后,将数据发送给安全相关子系统2。
3.4 改进后系统分析
系统架构改进后,由于原有的通信协议没有变,因此,表2中已经满足安全通信设计原则的,在改型后仍然满足。所以数据被“破坏”的威胁是否能在改型后被防护是本节分析的内容:
分析前提:仅考虑单一故障的可能,不考虑多重故障同时发生。
假设从CPU1到平台1的链路中,数据由于干扰等诱因被“破坏”,也就是说数据内容发生了突变,那么该数据失效是否能够在该系统内部被发现呢?该设计中采用了信息回传的方法,也可称之为feedback的一种,即将平台1和平台2即将发出的数据进行表决(比较),比较一致后才将数据发出,这样即使在某一个通路上发生了数据“破坏”,在两路数据表决时仍能够识别出失效,因此可以得出结论,改型后的系统架构能够防护“破坏”的威胁。改型后系统安全防护措施分析结果统计如表3所示。
4 结语
在EN50159标准中建议的防护措施有很多,为了防护安全通信系统中的7种威胁,可以采取标准中建议的安全设计原则,也可以通过硬件架构设计来创造条件,以满足相同的安全要求。安全通信系统的“本质安全”是设计出来的,可以通过设计安全通信协议来满足需求,也可通过硬件架构设计来实现,总而言之,设计是灵活的,要充分考虑安全需求和安全设计原则,更要考虑产品的具体应用。
参考文献
[1]BS EN50159 2010 Railway applications-Communication,signaling and processing[Z].
[2]systems-Safety-related communication in transmission systems[Z].
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表