APP下载

RSSP-I铁路信号安全通信协议的测试研究

2020-10-29袁天弋

铁路通信信号工程技术 2020年10期
关键词:序列号接收端通信协议

袁天弋

(北京全路通信信号研究设计院集团有限公司,北京 100070)

1 概述

随着国内高速铁路的十年发展,已全面迈入高铁时代。为了实现高铁安全、高速、高效运营,高速铁路控制系统间数据安全、稳定、可靠的传输是重要基础条件。在2010年中华人民共和国铁道部发布了《RSSP-I铁路信号安全通信协议》(以下简称RSSP-I通信协议),为满足国内高速铁路控制系统间的安全通信提供了标准依据。RSSP-I通信协议参考欧洲铁路安全标准EN50159所定义的封闭式传输可能存在的威胁,从接受方设计算法进行防护,以差错检查控制为核心,采取对应的纠错手段,严格控制由于误码导致设备的错误操作。RSSP-I通信协议规定了系统间数据完成通信交互时所必须遵循的规则,为高速铁路运营提供重要的通信保障。RSSP-I通信协议现广泛应用在国内高速铁路控制系统的系统间安全通信接口,例如:TCC与联锁,TCC与LEU等。因此,保证安全通信接口间数据的正确是非常重要的,而测试是确保安全通信接口信息正确的有效手段。研究RSSP-I通信协议的测试内容和测试方法,是提高测试有效性的重要途径,也为RSSP-I通信协议的安全防御提供了支持依据。

2 RSSP-I通信协议的安全功能

RSSP-I通信协议规定了铁路信号安全设备之间通过封闭式传输系统进行安全相关信息交互的功能结构和协议。本协议规定在安全通信交互中使用的3种报文,如表1所示,各种报文的具体格式定义可参见《RSSP-I铁路信号安全通信协议》。同时该协议规定了针对 GB/T 24339.2中对于传输系统上的安全设备之间的安全通信可能面对的威胁情形所采用的防护技术进行了说明,如表2所示。RSSP-I通信协议定义的通信威胁在控制系统间正常报文通信过程中均可能发生,必须采取相应的防御技术规避通信风险。

表1 RSSP-I通信协议报文类型Tab.1 Telegram type of RSSP-1

2.1 威胁情形分析

报文重复:报文周期性发送,接收端收到了与上一周期重复的报文,判定为报文重复。

报文丢失:根据应用层需求,接收端可以允许一定时间范围内报文的丢失,但超过阈值时间后接收端仍未能收到最新报文,判定为报文丢失。

报文插入:接收端在接收两包正确报文中间,收到了一条来源于其他发送方合法格式的报文,判定为报文插入。

报文次序混乱:在通信时接收端在接收两包报文时,发生报文次序改变情况。若接收端将无法判断最新接收到报文的有效性,接收端系统将存在安全风险。

报文错误:接收端接收了一包报文,报文在传输时发生内部数据被意外改变,判定为报文错误。

报文传输超时:接收端收到的最新报文超过了可以容忍的时间阈值,判定为报文传输超时。

2.2 防御技术分析

序列号:在通信双方交互的每条报文上增加一个32位的序列号,序列号采用顺序编号的方式,用于接收端校验发送端提供的报文顺序。

时间戳:时间戳是一个32位的线性反馈移位寄存器值,初始值T(0)=SID(本地ID号), 按系统周期左移32位,并使用固定多项式作附加干扰输入。时间戳与序列号同步递增,用于安全校验通道值的计算。

超时:发送端生成报文时添加时序有效值,接收端与上一条正确接收的报文进行时序有效值的校验,判断此条报文是否具有时效性。

源标识:通信发送端和接收端双方分别存在唯一的32位长ID号作为源地址和目的地址,并在每条报文上增加地址标识,用于告知此条报文的来源及去向。接收端校验此条报文的源地址和目的地址的合法性。

反馈报文:若接收端校验接收的最新报文的时序有效值发生了非预期内的增量,则接收端发起时序校正请求,发送端响应时序校正进行回复。接收端判断发送端的时序校验回复报文有效后,接收端更新时序有效值,再次开始正常通信。

双重校验:使用两个独立通道,各自进行独立计算安全校验通道值,来保证报文内容的正确性。两个通道分别采用两个不同的本地ID号,不同生成多项式生成的时间戳,不同生成多项式生成的32位CRC,不同的固定校验值进行计算,最终得到两个不同的安全校验通道值,随同安全数据一并发送。

3 测试环境要求

为核对RSSP-I通信信息,以往的测试环境都是搭建两套使用了相同版本软件、配置不同数据的系统进行测试,具有操作不便,观察困难等缺点。为解决以上问题,需要对测试平台扩展,主要是研制相应的接口模拟软件,通过接口模拟软件测试RSSP-I通信信息的正确性。测试环境框架如图1所示。

左侧方框为既有的测试试验平台,右侧方框为增加的接口模拟软件,用于核对RSSP-I通信信息有效性。陪测系统和接口模拟软件根据不同测试场景选择使用。

3.1 硬件要求

被测系统搭配的测试环境应为陪测系统(双系通信)或仿真机(PC机),两者之间使用网线连接。接口模拟软件运行在通用的 PC 机上,为测试时方便操作和观察,接口模拟软件显示界面宜设计为分屏幕显示。

3.2 软件要求

被测系统应能与接口模拟软件建立通信。在功能方面:1)接口模拟软件人机界面应实时显示接口接收和发送报文信息,以及通信状态。2)接口模拟软件应能初步解析相应报文信息内容,并在人机界面实时显示。3)接口模拟软件应可改变发送给被测系统报文通信信息内容。4)接口模拟软件应可向被测系统不同通信端口发送相应报文通信信息。

4 RSSP-I通信协议的测试方法

RSSP-I通信协议测试是一种功能测试。从测试人员的角度看,被测对象是RSSP-I通信协议软件,是一个控制系统的一部分,而整个控制系统内部的实现逻辑是未知的,已知的只有控制系统软件依据的RSSP-I通信协议,实现了在一定的输入条件下所应该具备的动作和行为,因此RSSP-I通信协议测试采用黑盒测试的方式进行,通过控制输入、检查输出的方法来判断软件协议实现是否与协议标准相一致,所有的威胁情形已通过相应的技术手段进行了防御。

4.1 报文结构测试

使用接口模拟软件监测网络中的网络通信数据,验证RSD、SSE、SSR报文格式正确性。被测系统和接口模拟软件正常通信后开始测试。1)被测系统向接口模拟软件发送RSD报文,网络中的RSD报文包格式应正确,接口模拟软件解析校验通过;2)接口模拟软件向被测系统发送RSD报文,网络中的RSD报文包格式应正确,被测系统解析校验通过;3)接口模拟软件重启,被测系统向接口模拟软件发送SSE报文,网络中的SSE报文包格式应正确;SSE报文接口模拟软件解析校验通过,接口模拟软件向接收端发送SSR报文,网络中的SSR报文包格式应正确,SSR报文被测系统解析校验通过,被测系统校时完成,被测系统和接口模拟软件恢复正常通信,互相发送RSD报文。

4.2 报文时序测试

被测系统和接口模拟软件正常通信后开始测试,接口模拟软件向被测系统发送RSD报文序列号变化,验证被测系统触发时序校正的逻辑可以正确执行。1)接口模拟软件向被测系统发送RSD报文序列号大于上一包报文序列号且差值小于设置的序列容忍差值,被测系统解析校验通过,不触发时序校正;2)接口模拟软件向被测系统发送RSD报文序列号大于上一包报文序列号且差值大于设置的序列容忍差值,被测系统解析校验不通过,触发时序校正;3)模拟接口软件向被测系统发送RSD报文序列号与上一包报文序列号一致,被测系统解析校验不通过,触发时序校正;4)模拟接口软件向被测系统发送RSD报文序列号小于上一包报文序列号,被测系统解析校验不通过,触发时序校正。

4.3 冗余设备通信测试

使用两套真实系统测试,模拟发送端某一系向接收端某一系发送失效,验证接收端和发送端冗余设备通信逻辑可以正确执行。1)陪测系统主系发送的RSD报文序列号失效,被测系统双系向陪测系统主系发送SSE报文,陪测系统主系向被测系统双系发送SSR报文;2)陪测系统备系发送的RSD报文序列号失效,被测系统双系不校验,直接抛弃,不触发时序校正;3)被测系统主系发送的RSD报文序列号失效,设置仅陪测系统主系向被测系统主系发送SSE报文,应仅被测系统主系向陪测系统主系发送SSR报文;4)被测系统主系发送的RSD报文序列号失效,设置仅陪测系统备系向陪测系统主系发送SSE报文,应仅被测系统主系向接收端备系发送SSR报文。

4.4 时序校正测试

接口模拟软件向被测系统发送RSD报文序列号错误,触发时序校正逻辑,验证时序校正过程可以正常执行。1)被测系统触发时序校正发送SSE报文后,被测系统收到的SSR报文小于被测系统的等待计时,并通过报文校验,接收端更新时序有效值;2)被测系统触发时序校正发送SSE报文后,被测系统收到的SSR报文大于被测系统的等待计时,不更新时序有效值,被测系统重新发送SSE报文,并重新开始进行等待计时。

4.5 安全校验测试

接口模拟软件向被测系统发送报文的报文头或SVC校验错误,验证安全校验功能正确。1)被测系统接收的报文头任一项错误,则丢弃报文,触发时序校正逻辑。报文头包含协议类型、报文类型、源地址、目的地址。2)被测系统的报文序列号测试参照报文时序性测试方法,这里不再赘述。3)被测系统接收的RSD报文双SVC通道任一通道值与被测系统根据报文内容计算接收到的报文值不一致,则丢弃报文,触发时序校正逻辑。

4.6 通信功能模块测试方法

作为发送端时冗余处理测试方法:使用接口模拟软件监测网络中的网络通信数据,验证被测系统主系所有通道的RSD、SSE、SSR报文内容相同,备系所有通道的RSD、SSE报文内容相同。

作为接收端时冗余处理测试方法: 被测系统和接口模拟软件正常通信后开始测试,接口模拟软件向被测系统发送RSD、SSE、SSR报文的报文尾错误,则丢弃报文。若是RSD报文,还应触发时序校正逻辑。报尾是根据报文头、安全校验域、用户数据包生成的16位CRC校验值。

4.7 数据双向传输测试方法

在所有测试中,数据一直在发送端和接收端之间进行双向传输,且在发送端冗余处理测试和接收端冗余处理测试中验证了软件冗余处理方式,故不再赘述。

5 结语

本文阐述了对RSSP-I通信协议测试方法的研究与实施,对有效提高RSSP-I通信协议测试效率有指导意义。目前,该测试方法和模拟工具已应用于海外联锁的科研项目中,验证了项目产品RSSP-I相关通信功能的实现,完善了测试工具和测试内容,为后面的项目做积累,有效地减少案例重复设计,节约测试成本。未来RSSP-I通信协议仍将广泛使用在国内轨道交通的各个系统间,针对RSSP-I通信协议测试内容和测试方法的研究,对验证安全通信接口信息正确性将会发挥重要作用。

猜你喜欢

序列号接收端通信协议
基于扰动观察法的光通信接收端优化策略
一种离线电子钱包交易的双向容错控制方法
纯多播BC 信道并存单播MAC 信道的天线效率研究
一种控制器硬件序列号的更新方法
手机无线充电收发设计
关于《国家税务总局 工业和信息化部关于加强车辆配置序列号管理有关事项的公告》的解读
车载网络通信协议标准化问题研究
电动汽车充电接口及通信协议新国标发布
基于盲波束形成的MIMO雷达稳健参数估计
手机使用中的“秘诀”