当前位置:文档之家› 铁路信号系统安全相关通信标准与安全协议研究

铁路信号系统安全相关通信标准与安全协议研究

铁路视点Railway Topics铁路信号系统安全相关通信标准与安全协议研究杨霓霏:中国铁道科学研究院通信信号研究所,硕士研究生,北京,100081段 武:中国铁道科学研究院通信信号研究所,研究员,北京,100081卢佩玲:中国铁道科学研究院通信信号研究所,研究员,北京,100081代化的铁路信号及控制系统一般由多个安全相关子系统构成,负责子系统之间安全数据交换的通信系统是安全相关系统的一个重要组成部分。

欧洲电工标准化委员会(CENELEC)核准的EN 50159标准是专门针对铁路信号系统中安全相关通信而设立的,此标准为构建安全相关通信系统提出了功能和技术方面的基本要求和设计指导。

目前,我国列车控制系统应用的部分欧洲设备或系统方案涉及到EN 50159标准建立的安全通信系统及接口协议。

摘 要:欧洲电工标准化委员会(CENELEC)核准的EN 50159标准是专门针对铁路信号系统中安全相关通信而设立的,该标准从功能和技术层面提出传输系统可能遇到的威胁及安全要求和措施。

为防御各种风险,要求安全通信系统应具有保护报文真实性、保护报文完整性、保护报文时间性和保护报文顺序性等4项防御功能。

关键词:铁路信号系统;安全相关通信;安全协议;标准1 EN 50159标准概述EN 50159标准提出在安全相关设备中的数据通信必须建立安全相关通信功能,安全功能包括安全过程(safety procedure)及安全码(safety code)两方面内容。

从结构上讲就是在应用层与通信系统之间,建立安全相关通信层,简称安全层。

需要传输的用户数据首先经过安全层的处理,生成安全层数据报文之后再发往传输系统;从传输系统收到的信息也先经过安全层过滤才被采用。

无论传输系统采用何种结构以及协议栈,从逻辑角度安全相关数据在安全层由安全过程和安全码的保护进行通信。

物理上安全层的数据经过传输系统传送,所以传输系统特性直接影响安全通信功能。

为此,EN 50159标准分为两个部分:EN 50159—1标准[1]针对封闭传输系统提出构建安全通信的基本要求,强调应用标准的先决条件、基本功能需求和安全完整性需求。

EN 50159—2标准[2]针对开放传输系统提出基本安全需求, 分析开放传输系统的各项风险及对应的安全措施。

封闭传输系统指特征及属性清晰、固定的传输系统,建立安全相关通信功能可以考虑封闭传输系统的属性;而开放传输系统充满不确定性,安全通信功能的建立必须考虑所有可能发生的问题。

现铁路视点Railway Topics表1 防御措施与风险威胁应对关系传输系统对安全通信功能的影响主要表现在传输系统的不同特性决定了错误的不同种类。

安全完整性需求规范是在对错误模型的功能性分析基础上完成的,其错误主要来自传输系统。

应用层的错误不在EN 50159标准的考虑范围内。

从接收角度对传输系统错误的界定是,当收到的报文出现差错,而接收端却误认为是合法报文并加以处理,这种情况称为影响安全的“错误”或“风险”。

EN 50159—2标准提出7种传输系统可能遇到的风险威胁及8种防御措施,其内容及应对关系见表1。

全过程可以发现安全数据在传输中出现的“讹误”。

发送端的安全功能负责对安全数据进行安全编码,再将安全码、用户数据及其他安全附加信息组成安全报文进行传输,接收端收到报文后,依照报文结构从报文中截取安全数据,再次编码计算,并将得到的码字与报文中的安全码进行比对,鉴别是否发生“讹误”。

设计安全码必须选择适当的编码技术和足够的编码长度,以满足安全功能需求,并达到安全通信系统要求的安全完整度定量指标。

EN 50159—1标准附录A给出安全码长度的参考计算公式。

EN 50159—2标准介绍了安全码的基本类型及选择,可作为安全码的主要有线性分组码、循环分组码(CRC)、散列分组码和加密分组码。

选择安全码和加密技术主要根据传输系统是否有非授权访问,是否可以避免恶意攻击,以及安全通信系统结构中是否采用独立的非法接入保护措施。

总之,根据传输系统和安全通信系统结构选择安全码。

安全码使安全通信达到量化的安全目标。

在安全协议中,除用户安全数据外,一般还要将安全层的附加安全数据,如时间戳和身份鉴别ID等纳入安全码保护范围。

在有些安全协议中,还将附加安全数据直接设计为计算参数参与安全码算法(如SACEM),或将其作为安全码的扩充内容(如FSFB/2),使安全层对报文完整性、真实性和时序性的验证在安全编码的计算和验证过程中一起完成,提高了安全性和效率,便于安全通信过程的管理。

SACEM算法是一种特殊设计的散列分组编码算法,时间标记的DE/DR值与用户安全数据一起被进行SACEM编码计算,而报文真实性信息被设置为定向连接参数作为计算公式的一部分。

FSFB/2采用基于32位CRC的安全编码,发送端身份标识号SID以及发送端时间戳T n 通过异或运算加入到CRC 校验码,得到FSFB/2安全码。

这种方式使SID和T n 隐形于安全编码中,也使报文真实性和完整性验证过程统一进行。

因为接收端计算出CRC校验码之后只能从安全码中恢复出SID与T n 经异或运算结合在一起的信息,也只有设法验证出SID及T n 之后才能完成CRC的验证。

2.2 报文时序性保证顺序性就是保证接收端收到的报文序列与发送端发为防御各种风险,要求安全通信系统应具有保护报文真实性、保护报文完整性、保护报文时间性和保护报文顺序性等4项防御功能,其中报文时间性和顺序性统称为时序性,对于安全通信系统可以从这3方面进行研究。

以两种欧洲铁路信号公司的安全通信协议为例分析安全措施的实施。

一是CSEE Transport公司针对封闭传输系统的安全协议,主要特征为SACEM安全编码及DE/DR 时间标记机制[3],SACEM是一种安全码。

二是ALSTOM 公司以开放传输系统为对象的安全协议FSFB/2[4]。

FSFB(Fail Safe Field Bus)是ALSTOM公司的一种安全通信协议名称,FSFB/2是FSFB的第二代,主要实现开放传输系统中安全相关数据通信。

这两种协议在欧洲地铁和铁路系统广泛应用,随着技术引进,这些安全协议和技术在我国列控系统中也得到应用。

2 安全通信功能及具体安全措施2.1 报文完整性保证保证报文完整性就是防止报文在传输过程中出现任何“讹误”,安全相关通信的防御措施是采用安全码。

安全码是一种冗余检错码,依靠安全码接收端的安铁路信号系统安全相关通信标准与安全协议研究 杨霓霏 等铁路视点Railway Topics出的报文序列相同,“重复”、“删除”、“重排序”都是顺序性错误表现。

时间性可理解为时效性,一个安全数据报文被发出后,必须在规定时间内到达接收端,“延时”可能带来风险。

防止“重复”、“删除”、“重排序”的措施是将报文加上序列号,但加入序列号后不能发现“延时”问题。

为解决“延时”问题,要确定报文的传输时间与预计时间在允许误差范围内是否相等,最直接的方法是为报文行程加入时间记录。

为此,引入时间戳概念,即给报文打上时间记号,如采用绝对时标(绝对时间标记),如世界标准时间,这样接收端很容易检查传输过程是否超时,前提条件是要求使用绝对时标的所有设备时间严格同步,但实现这一要求投入较大。

T n也可以选择相对时标(相对时间标记),如以本地设备软件周期计数为时钟,以发送报文时软件周期数为T n。

报文的发送可以是事件驱动,也可以是时间驱动,以固定周期发送报文是一种常见方式,对于安全通信系统有很多好处。

当建立相对时标后,要使用“超时”机制解决“延时”问题。

在报文周期发送时,通信双方可以预先知道本地时钟下对方的周期长度。

“假设”接收端收到一包没有发生延时的报文,此时接收端可以确定下一个报文应该在一个发送周期左右(考虑允许的传输系统偏差)被收到。

如果预计时间耗尽仍没有收到正确报文,则可以确认预计接收的那一个报文发生了“延时”。

接收端只要得到一个基准时刻就可以对报文序列的下一个报文建立一个接收窗口。

利用反馈报文确定序列的开始,即找到建立接收窗口的第一个基准点,让通信双方进行“对时”。

过程如下:由接收方发出对时申请,发送方收到后给以反馈,发出申请报文和收到反馈报文这两个事件的时刻都以申请方本地时钟为坐标,所以可以设置超时来控制反馈过程,当反馈报文在时限内到达时,那么就认为找到了一个序列的开始。

这样的一个对时过程也可被认为接收端对于发送端建立了相对的逻辑时钟。

在安全相关通信系统中,安全层和应用层一般会有两个不同的超时限制,应用层超时将引起系统安全反应,而安全层超时一般只造成安全层连接中断。

如果在应用层超时之前,安全层连接得到及时恢复,将不会对应用层造成影响。

因此,两个超时之间相差的时间应至少可以完成一次安全通信初始化。

在此条件下安全层超时时限可以考虑尽可能接近应用层超时时限,这样可增加安全层容错性,减少安全层重建连接对信道的占用。

FSFB/2协议中有称为“最大容忍偏差”的参数,假设接收端与发送端周期大小相同,以接收端周期为单位,则参数可表示为K+1,其中K表示接收端允许安全数据报文序列中连续丢失报文的最大数量。

当接收端在距离上一次接收到正确数据后超过K+1周期仍没有收到正确数据,将重新建立安全连接。

这里需要注意,虽然协议允许接收端在正确接收到假定编号为n的报文之后可以接着接收第n+k号报文(0<k<K),但接收端必须保证第n+k 号报文在第k个周期内收到,否则应该视为错误数据而被抛弃。

即接收端允许报文序列发生“删除(即丢包)”现象,但对每一个报文接收端不能允许其发生“延时”。

在系统需要时,安全层应该小心地增加对丢/错包的容错性,不能影响通信安全。

CSEE安全协议采用DE/DR形式的双重时间戳,周期发送的安全数据报文在被接收端收到后,都会反馈状态信息报文。

在两种报文中都含有DE/DR双重时间戳,其中DE表示发出报文时的发送端周期计数,DR表示发送此报文之前发送端接收到的最近一包报文的DE字段。

可以认为,每个安全数据报文都与DR值所指的一个状态报文形成反馈报文。

利用DE字段,接收端可以监控安全数据报文的顺序性,同时接收端可以对每个报文监控两个超时。

首先以发送端周期为接收窗口,杜绝安全数据超时问题;然后检查DR字段,如果太陈旧则说明状态信息传输或处理过程可能出现问题。

CSEE安全协议也需要连接初始化,请求由发送方发起,主要完成参数配置和检查,建立DE/DR机制。

发送方以连续两个初始化报文作为申请开始,接收方随后反馈一个状态报文,发送方收到状态报文后开始发送安全数据报文,当接收方收到第一个有效DR值标志时初始化完成。

在FSFB/2协议中,在安全连接建立之后,接收端不发送任何报文,在安全连接建立过程中进行鉴别并完成对时。

相关主题