RSSP-I、RSSP-II及SAHARA三种安全通信协议实现技术简介
岳朝鹏
摘要:本文针对RSSP-I、RSSP-II、SAHARA三种安全通信协议的主要安全通信技术实现机制进行介绍,并对这三种安全协议进行多方面比对,从而便于研发人员可根据具体应用场景选取所需的安全协议或防护技术。
关键词:铁路信号安全通信协议、SAHARA、实现机制、综合比对
Abstract:Based on RSSP-I, RSSP-II, SAHARA three kinds of safety communication protocols,the main safety communication technology realization mechanism were introduced, and compare these safety protocols in many aspects, which will be convenient for R& D personnelto select required safety protocol or the protection technology accordingto the concrete application scene. Keywords: RSSP、SAHARA、Implementation mechanisms、Comprehensive comparison
目前,RSSP-I协议广泛运用在我国客运专线列控中心的外围系统接口间,RSSP-II协议广泛运用在无线闭塞中心及临时限速服务器的外围系统接口间,而SAHARA协议主要应用在西门子地铁CBTC系统中。本文将对RSSP-I、RSSP-II、SAHARA三种安全通信协议的主要安全通信技术实现机制进行介绍,并对这三种安全协议进行多方面比对,从而便于研发人员可根据具体应用场景选取所需的安全协议或防护技术。 1、 RSSP-I安全通信协议
本协议采用以下三种帧类型,有关具体协议定义参见《RSSP-I铁路信号安全通信协议》。
名称 用途 实时安全数据(RSD) 传送安全用户数据包 时序校正请求(SSE) 当发生接收时序错误时,接收端向发送端发起的时序校正请求 时序校正答复(SSR) 发送端对来自接收端的时序校正请求,进行相应答复的反馈报文 以下是该协议针对EN50159中通信面对的威胁情形所采用的防护技术: 威胁 重复 丢失 插入 错序 错码 延迟 安全码CRC X 序列号与时间戳 X X X X X 超时(中断清除) X 源标识 X 反馈报文 X 该协议的主要技术特点是时间戳。时间戳计算采用线性反馈移位寄存器值(LFSR),以源标识为初始值T(0)=SID, 按通信周期向左移位32位,且若最高位为1时须异或一个时间戳生成多项式作为附加干扰输入。如下图所示:
图表1时间戳技术
当序列号递增时,时间戳随之同步循环步进,与序列号计数器形成相关联的伪随机序列。为便于理解,可类比日期和周星期,序列号是每日日期,时间戳是周星期,每个日期对应着一个周星期。两个日期间隔的天数等效于相应周星期的间隔天数。对于接收方,需同时校验序列号和时间戳的有效性,若任一不匹配,即认为时序有误,需向发送方申请时序校正SSE(类似请求告知2014年1月6日是周几?),当发送方回复时序基准值SSR(应答为周一)后,接收方就可按此周历校正,从而推算后续日期对应的周历。 2、 RSSP-II安全通信协议
本协议采用以下8种通信原语,涵盖了3种通信交互过程,有关具体协议定义参见《RSSP-II铁路信号安全通信协议》。
1) 连接建立服务
[1] CONNECT.request:用户要求建立连接;
[2] CONNECT.indication:被叫实体收到连接请求后通知被叫用户; [3] CONNECT.response:应答用户用来接受到实体的连接;
[4] CONNECT.confirm:主叫实体获得被叫对等实体的响应后向主叫用户报告连接
成功建立。
2) 数据传输服务
[1] DATA.request:用户用来向对等实体传输应用数据;
[2] DATA.indication:向用户表示来自对等实体数据已成功接收。 3) 连接释放服务
[1] DISCONNECT.request:用户强制释放连接;
[2] DISCONNECT.indication:用来通知用户连接释放。
以下是该协议针对EN50159中通信面对的威胁情形所采用的防护技术: 威胁 重复 删除 插入 重排序 损坏 延迟 伪装 序列号 X X X 时戳偏移估算 X 超时 反馈信息 源和目的地标识符 X 消息识别过程 安全码 MAC 加密 技术 X X 该协议的主要技术特点之一是时戳偏移估算(可选择TTS或EC两种方式之一),本文以基于固定周期的EC防御技术进行介绍。设定R = 接收方EC周期/发送方EC周期,这样接收
方的每个执行周期都应该更新EC的期望值(Ex)= 当前Ex + R。而实际值偏差Δ = (Ex –当前周期收到的最后一条消息的EC计数值) 向下取整,如果Δ大于或者等于警报状态,该周期所有接收的消息即认为延时过大而被删除。
该协议的另一主要技术特点是安全码MAC计算。首先,通信双方需配置认证密钥KMAC,由3组64位数据构成。再结合双方连接建立的交互过程中互传的一对随机数RA和RB,采用DES算法进行加密,从而根据以下公式计算出会话密钥KsMAC取值。
最后,才可对传输的用户数据按照每64位一组,结合会话密钥KsMAC进行加密计算生成MAC安全码。计算方法如下:
D1H1D2H2Hq-1…DqK1DESK1DESK1DESHqK2DES-1K3DESMAC(64位)
图表2 MAC计算示意
3、 SAHARA安全通信协议
本协议定义了8种帧类型,涵盖了4种通信交互过程,有关具体协议定义参见《SAHARA协议》。
1) 连接建立过程
连接请求[1]:发起方要求建立连接; 连接响应[2]:应答方回应连接建立完成。 2) 数据传输过程
固定间隔TH(即心跳时间),发送方必须要发送一个消息。当已有用户数据准备好时,该消息是一个数据消息[3];否则该消息则是一个心跳消息[4]。 3) 连接释放过程
发起方给出断开请求[5],即可关闭通信连接。 4) 数据重传过程
发起方发起重传请求[6],接收方给出重传响应[7],随后逐一发送若干需要重传的数据消息[8],并最终以心跳消息标识重传结束。
以下是该协议针对EN50159中通信面对的威胁情形所采用的防护技术:
威胁 安全码 序列号 时间戳 超时 源标识 反馈报文 数据重传 重复 丢失 X X X