基于IEC61375-2-3标准的安全数据传输协议设计及测试方法研究

2020-10-09 11:21艺,孙可,孙野,沈
铁路通信信号工程技术 2020年9期
关键词:故障注入报文时延

郑 艺,孙 可,孙 野,沈 涛

(湖南中车时代通信信号有限公司北京分公司,北京 100079)

ETCS系统[1]是欧洲铁路运输管理系统(ERTMS)的重要组成部分,在欧洲乃至全球广泛应用,为了实现中国高铁技术“走出去”的战略,有必要对ETCS系统进行深入研究开发。

ETCS系统的车载设备部署于列车内部,其与车辆的TCMS系统通过列车接口连接,列车接口同时采用并行连接和串行连接两类。其中,并行连接主要是继电器接口,串行连接主要是总线/网络接口[2]。ETCS车载设备通过总线/网络接口挂载到列车通信网络(TCN),实现与TCMS系统的信息交互,因此ETCS车载设备的列车接口符合TCN的通信规约。当前TCN主要有多功能车辆总线(MVB)、CAN总线、以太网编组网(ECN)等多种形式。国际电工委员会(IEC)根据技术的发展相继推出了一系列TCN技术标准,即IEC 61375系列标准[3]。其中2015年7月颁布的IEC 61375-2-3标准[4]详细规定了TCN网络的安全数据传输(SDT)协议。欧盟Shift2Rail计划所研究的下一代TCMS对数据安全性有更高的需求,在该计划支持下的Safe4RAIL研究计划中,一些研究机构对如何将IEC 61375-2-3标准规范的SDT协议的安全完整性等级由目前的SIL2级提高至SIL4级进行初步研究[5-6]。近些年国内的TCN技术有了长足发展,为了实现与国际标准的接轨,并为“走出去”战略奠定基础,2020年3月国家铁路局在参照IEC 61375-2-3标准的基础上颁布了GB/T 28029.4-2020标准[7]。

随着通信技术的发展和研究的逐渐深入,为实现TCN网络中数据传输具备更高安全性提供了新的可能性。本文首先对安全数据传输进行概述,介绍标准规定的协议所采用的安全措施,设计并实现了符合IEC 61375-2-3标准的SDT协议,并通过搭建自动测试环境对SDT协议功能进行测试。

1 SDT协议概述

本文介绍的SDT协议为安全相关的信源与信宿之间提供了安全的通信通道,这个通道称为安全数据传输通道,SDT协议所在网络结构如图1所示。SDT协议作为安全应用与通信通道的数据传输的媒介,其具有两个接口:安全应用层接口与通信通道接口。安全应用层接口是SDT协议从安全应用中获取和向安全应用传输过程数据的接口。通信通道接口由列车实时数据协议(TRDP)构成,该协议定义了发送到TCN和从TCN接收的SDT协议数据单元的规则。SDT协议层主要功能是添加和解析本层的协议信息。在接收来自通信层的数据时,通过SDT协议来判断接收的信息是否有效,以及是否上传至应用层。SDT协议层是本文主要研究对象。

图1 SDT协议在网络结构中的位置示意图Fig.1 Location diagram of SDT protocol in network structure

2 SDT协议的安全防御措施

对于数据传输系统中的安全通信问题,EN50159标准[8-9]中规定了要对以下的安全威胁进行识别和防范:

1) 报文重复;

2) 报文丢失;

3) 报文插入;

4) 报文次序混乱;

5) 报文错误;

6) 报文传输超时。

针对上述安全威胁,SDT协议采用下述多种措施对数据的安全性进行检查,以实现识别防范安全威胁的目的。

1) 报文序列号;

2) 数据接收端的时间监督;

3) 报文CRC校验;

4) 源标识符;

5) 时延监控;

6) 信道监控。

SDT协议的威胁/防御矩阵如表1所示。

表1 SDT协议威胁/防御矩阵Tab.1 Threat / Defense Matrix of the SDT Protocol

由表1可知,SDT协议通过综合采用多种安全防御措施,可以完全覆盖通信的各种安全威胁。

3 SDT协议研究

SDT协议是应用于TCN网络的通用安全数据传输协议,不仅适用于ETB也适用于MVB。应用于两者的SDT协议工作原理完全一致,只是其中部分字段的取值和报文尾部附加数据长度有差别。鉴于ETCS车载设备与车辆之间的通信连接为MVB总线,本文主要研究MVB总线上的SDT协议。

3.1 报文格式

SDT协议的重要数据包(VDP)由两部分组成,分别是来自安全应用层下发的重要过程数据(Vital Process Data)和尾部附加数据(Trailer),报文格式示意如图2所示。

图2 MVB总线上的VDP结构示意图Fig.2 Schematic diagram of VDP over MVB telegram structure

SDT协议数据包的Trailer结构如图3所示。其中Safe Sequ Count(SSC)字段取值是数据包的安全序号,同一端口每发送一包数据该字段值增加1;Safety Code取值是32位CRC运算后的计算结果,运算的种子值是源标识符(SID),计算范围是数据包起始位置到安全序号之间的数据;User Data Main Version字段指的用户数据主版本号。

图3 SDT协议报文Trailer部分数据结构图Fig.3 SDT protocol telegram Trailer part data structure diagram

SID是通过对图4的数据结构进行32位的CRC运算后的结果。

图4 计算SID的数据结构图Fig.4 Data structure diagram for calculating SID

图4中的SMI表示的是安全消息标识符,每个MVB的源端口设置一个唯一的数值。字段SDTProtVers表示的SDT协议版本号。当SDT协议应用于MVB总线时,其他字段都置为零。

3.2 数据包完整性检查

数据包完整性检查的目的是过滤掉不准确的VDP,即损坏的VDP和用户数据主版本号不正确的VDP都被认为是无效的数据,不会提交给应用软件处理。

SDT协议从通信通道接口读取VDP后,首先检查该VDP的SafetyCode计算是否正确;其次,接收端判断该VDP是否为新VDP。若检查存在字段值错误或者VDP不是新的VDP,那么SDT协议层不向上层应用传递该VDP数据。

3.3 信宿时间监督

信宿时间监督的目的是识别通信中断的错误。信宿的接收端口在收到初始VDP后,开启时间监督定时器,若信宿时间监督定时器直到超时都未收到准确并且新的VDP,则认为安全通信中断,即便此后收到符合要求的VDP,SDT协议层也不能立即恢复安全通信,而要将新收到的VDP作为初始VDP,重新完成安全通信建立的流程后才向应用层再次上传数据。信宿时间监督原理示意图如图5所示。

图5 信宿时间监督原理示意图Fig.5 Schematic diagram of the principle of sink time supervision

图5中信宿在收到SSC=01的VDP后连续4个VDP丢失,导致信宿时间监督定时器大于超时阈值Trx_safe,SDT协议层判定安全通信中断,即便此后收到正确的SSC=06的VDP,也不能立即恢复安全通信。

3.4 时延监控

时延监控的目的是监督VDP传输的延迟,VDP的时延指的是从安全信源到安全信宿的时延。网络发生拥塞时,接收端的时延会快速增大。如果信息传输时延超过时延阈值,则认为安全通信中断。时延监控原理示意如图6所示。

图6中的SSCE表示的是信宿期望接收到的VDP包安全序号,SSCS表示的是信宿实际收到的VDP包安全序号,Tlatency表示VDP包的时延,Trx_safe表示的是时延超时阈值。

SSCE可以用式(1)计算得出,

式中,SSC0表示安全数据通信建立的初始VDP的SSC,t表示信宿当前时间,t0表示信宿收到初始VDP的时间,Ttx_period表示信源发送周期。

当接收端满足公式(2)条件时,置安全通信状态丢失。式中,{SSCE(t)- SSCS(t)}|mod(2^k)表示信宿在t时刻的期望收到的SSC和实际采样的SSC之间的差值。

3.5 信道监控

通道监控旨在检测到SDT通道内部传输失败率的突然增加,这可能会是属于SDT通道的某个组件中发生硬件或软件故障。随着传输故障率的增加,损坏的VDP通过CRC校验程序而未被检测到的可能性增加,并且可能变得不可接受。信道监控通过设置每小时发生CRC校验失败的次数作为判断阈值来防御该类危险。

但是上述方式具体实现效率较低,IEC 61375-2-3标准给出了一种信道监控算法。即通过式(3)设置信道监控阈值。

式中,fm表示信源发送端口每小时发送VDP的频率;K3表示每小时发生的CRC校验失败次数的阈值,一般置为43;参数K4因K3数值变化而变化,当K3置为43时,K4置为36。

设置一个CRC校验失败次数的计数器Z,当发生校验失败时,计数加1,当校验成功时,计数减1,如果发生计数值Z大于监控阈值CM_thr,则认为安全通信中断。发生该错误后,当计数值Z数值再次变为0时,解除安全通信中断状态,重新建立安全通信。

图6 信宿时间监控原理示意图Fig.6 Schematic diagram of the principle of sink time supervision

4 SDT协议故障注入测试

在实现SDT协议基础上,有必要搭建协议测试平台,对开发的SDT协议进行功能测试。本文通过构建故障注入模块,完成SDT协议的安全数据传输功能相关测试工作。

SDT协议故障注入模块是处于陪测设备与测试设备之间的故障注入设备。故障注入设备接收陪测设备发送的准确VDP数据后,按照设置的故障注入方案,对报文进行相应操作处理,继而将处理后的VDP报文通过MVB总线发送至测试设备。SDT协议测试系统架构示意如图7所示。

图7 SDT协议测试系统架构示意图Fig.7 Schematic diagram of SDT protocol test system architecture

SDT协议测试功能点和故障注入点的对应关系如表2所示。

表2 SDT协议测试功能点及故障注入Tab.2 SDT Protocol Test Function Points and Fault Injection

使用故障注入模块,可以对MVB总线传输的报文损坏、重复、乱序、丢失、超时、插入、信道错误等多种故障类型进行全面的测试验证,对SDT协议的开发验证具有重要意义。

5 结语

TCN的通信规约对于车载机电设备之间的互操作和数据共享具有重要意义,其中安全数据传输协议是实现安全通信的重要保障。ETCS车载设备与车辆TCMS之间的通信关系着列车控制系统的安全性,其数据传输的安全尤为重要,设计实现SDT协议也更为必要,相关设计、开发、测试工作在工程中有广泛深远的价值。本文简述了安全传输协议研究的国内外现状,概述了SDT协议及其采用的安全防御措施,在此基础上详细描述了SDT协议的设计方案,并对SDT协议进行了故障注入测试以验证协议功能性。本文的研究工作对ETCS车载设备在海外动车组/机车上的部署创造了基本条件,所设计实现的SDT协议已在多个海外ETCS项目中实现了工程应用,通过了各项相关列车接口测试,为后续更深入的研究安全数据传输协议奠定了基础。

猜你喜欢
故障注入报文时延
基于J1939 协议多包报文的时序研究及应用
模拟训练装备故障注入系统研究
嵌入式系统故障注入技术研究
低轨星座短报文通信中的扩频信号二维快捕优化与实现
CTCS-2级报文数据管理需求分析和实现
5G承载网部署满足uRLLC业务时延要求的研究
浅析反驳类报文要点
《舍不得星星》特辑:摘颗星星给你呀
基于GCC-nearest时延估计的室内声源定位
一种多类型总线故障注入系统设计*