1、 RSSP-I 铁路信号安全 通信 协议 ( V1.0) 2010 年 4 月V1.0 RSSP-I 铁路信号安全 通信 协议 第 2页 目 录 1. 简介 . 3 1.1 目的及范围 . 3 1.2 参考文献 . 3 1.3 术语和定义 . 3 1.4 缩略语 . 4 2. 参考结构 . 6 2.1 综述 . 6 2.2 系统结构及接口 8 3. 安全防御技术 . 10 3.1 序列号 . 10 3.2 时间戳 . 10 3.3 超时 . 10 3.4 源标识 . 11 3.5 反馈报文 . 11 3.6 双重校验 . 11 4. 报文定义 . 12 5. 安全通信交互协议 16 5.1 安
2、全数据交互原则 16 5.2 安全校验过程 . 19 6. 参数配置要求 22 V1.0 RSSP-I 铁路信号安全 通信 协议 第 3页 1. 简介 1.1 目的 及 范围 1.1.1.1. 本规范规定了信 号安全设备之间 通过封闭式传输系统 进行安全相关信息交互的功能结构和协议。 1.1.1.2. 本规范 适用于铁路信号安全设备之间的安全通信接口 。 1.2 参考文献 1 GB/T 24339.12009 轨道交通 通信、信号和处理系统 第 1 部分:封闭式传输系统中的安全相关通信 2 GB/T 24339.22009 轨道交通 通信、信号和处理系统 第 2 部分:开放式传输系统中的安全相
3、关通信 3 EN-50128:2001 Railway applications Communications, signalling and processing systems Software for railway control and protection systems 铁道应用 : 铁路控制和防护系统软件 4 EN-50129:2003 Railway applicationsCommunication, signalling and processing systemsSafety related electronic systems for signalling 铁道应用:
4、安全相关电子系统 1.3 术语和定义 本文件中使用了标准 GB/T 24339.1 和 GB/T 24339.2 的定义,并附加使用了以下术语。 V1.0 RSSP-I 铁路信号安全 通信 协议 第 4页 变量名称 (依赖变量参数名 ) 在本规范算法描述中,用于表示本变量根据括号内指示的变量参数名称具有不同的取值 1.4 缩 略语 RSSP Railway Signal Safety Protocol 铁路信号安全协议 SID Source Identifier 通信源标识,每个计算通道有一个预定的标记参数( 32 位长) T(N) Time stamp at cycle N 通信方在第 N
5、周期时的时间戳,每个计算通道有一个实时演算的取 值参数( 32 位长) SVC Safety Verify Code 通信方的安全校验码,每个计算通道有一个实时演算的取值参数( 32位长) SCW System Check Word 系统校验字( 32 位长),用于标识安全层协议的正确特性 SINIT Sequence Initialisation 序列初始作为启动安全数据信息交换过程前的通信建立要求生成的结果。每个计算通道有一个预定的标记参数( 32 位长) CRC Cyclic Redundancy Check 循环冗余码校验,以循环码为基础,用于保护 报文免受数据损坏的影响 LFSR L
6、inear Feedback Shift Register 线性反馈移位寄存器 V1.0 RSSP-I 铁路信号安全 通信 协议 第 5页 使用 LFSR 的右移位运算符 V1.0 RSSP-I 铁路信号安全 通信 协议 第 6页 2. 参考结构 2.1 综 述 2.1.1.1 封闭式网络在 GB/T 24339.1 中定义为: 连接的设备数量固定或最大数量固定,有已知且固定的特性的传输系统,对于此系统可以忽略非法访问的风险。 2.1.1.2 参照 GB/T 24339.2 中关于传输系统的威胁源说明,对于封闭式传输系统而言,可存在的威胁有: 数据帧重复; 数据帧丢失; 数据帧插入; 数据帧次
7、序混乱; 数据帧错误; 数据帧传输超时。 2.1.1.3 为降低 上述 威胁风险, RSSP-I 采用从接收端角度设计的保护算法,要求接收端必须对接收到的信息做出以下检查 : 发送端的源信息 (真实性 ); 信息帧的正确性 (完整性 ); 信息帧的时效性 (实时性 ); 信息帧序列的正确性 (有序性 )。 V1.0 RSSP-I 铁路信号安全 通信 协议 第 7页 2.1.1.4 参照 GB/T 24339.2 中关于具体防护说明, RSSP-I 选用以下具体防护措施: 序列号 时间戳; 超时; 源标识; 反馈报文; 双重校验 。 有关上述防护威胁措施的适用性,可参见表 1: 表 1 威胁 /
8、防御矩阵 危险情形 序列号与时间戳 时间戳 超时 源标识 反馈报文 双重校验 重复 X 丢失 X 插入 X X X 错序 X 错码 X 延迟 X X X V1.0 RSSP-I 铁路信号安全 通信 协议 第 8页 2.2 系统 结构 及接口 2.1.1.1 参照 GB/T 24339.2 中关于参考结构说明,安全通信系统间的总体结构为 图 1所示。 安 全 功 能 模 块应 用 程 序B 接 口通 信 功 能 模 块D 接 口设 备 1封 闭 式 传 输 系 统安 全 功 能 模 块应 用 程 序通 信 功 能 模 块设 备 2A 接 口应 用 层 数 据安 全 相 关协 议 数 据 单 元E
9、 接 口协 议 数 据 单 元C 接 口图 1 安全通信系统的总体结构 2.1.1.2 安全信息传输的应用协议 (A 接口 )参见各安全设备间应用层协议,不属于本规范范围。 2.1.1.3 应用程序与安全功能模块间 (B 接口 )为软件内部实现要求,不属于本规范范围。 2.1.1.4 安全功能模块( C 接口)采用 RSSP-I 安全协议机制,实现对传输系统中的通 信威胁防护,具体描述参见后续章节。 2.1.1.5 安全功能模块与通信功能模块间 (D 接口 )为软件内部实现要求,不属于本规范范围。 2.1.1.6 通信功能模块提供非置信的传输 (E 接口 ),应提供以下功能: 物理传输层的适配
10、,须根据具体接口应用要求描述,不在本规范V1.0 RSSP-I 铁路信号安全 通信 协议 第 9页 中定义; 通信链路的冗余处理功能,须遵守本规范第 5.1节要求; 数据的可靠、透明和双向传输,参照本规范第 5.1节要求; 通道可用性监 测,并交由应用层报告给外部系统:须根据具体接口应用的超时时限要求进行检测判定。 2.1.1.7 本规 范不 对数据链路层作规定。 2.1.1.8 本规范不对物理层作规定 。 2.1.1.9 操作 和维护 ( O&M)属于具体实施的范畴, 本规 范不作规定 。 V1.0 RSSP-I 铁路信号安全 通信 协议 第 10页 3. 安全防御技术 3.1 序列号 3.
11、1.1.1 顺序编号是在通信双方交换的每条报文上加一个 32 位的流水号。这样,接收端可以校验发送端提供的报文顺序。 3.1.1.2 本序列号采用的是系统 通信 周期序号,故即可作为系统发送报文时的序号,也可作为存储在本地存储器中的报文超 时。 3.2 时间戳 3.2.1.1 由两个 32 位长的伪随机数表示,用于确认在每个系统周期时的强制增量。 3.2.1.2 时间戳与序列号 保持 同步递增。 3.3 超时 3.3.1.1 报文应从生成时刻起的有限时间段内保持有效。 3.3.1.2 接收端对接收报文经检验确认有效后,应更新存储为最近接收的报文时间戳。 3.3.1.3 接收端需执行以下两种超时
12、处理,超时时间参见本文第 6节: 若是存储的报文时效检验超时,应完全清除该报文 数据。 若是接收的报文时效检验超时,须启动时序校正机制,方可接受新报文。 V1.0 RSSP-I 铁路信号安全 通信 协议 第 11页 3.4 源标识 3.4.1.1 所有通信方均有一对唯一的 32 位长 ID,随同安全数据一起发送。 3.5 反馈报文 3.5.1.1 时间戳同时包含序列信息,随同安全数据一起发送。 3.5.1.2 若接收端校验到发送报文序列非预期内的增量,则启动时序校正交互。 3.5.1.3 若 接收端向发送端发送时序请求 时 ,发送端 须 按接收端要求反馈时序应答,接收端再根据时序应答报文重新计
13、算发送端的时序同步位置。 3.6 双重校验 3.6.1.1 采用两个 32 位长 CRC, 确保安全传输所要求的漏检差错概率。 3.6.1.2 另加两个 32 位长的固定系统校验字,随同安全数据一起发送。 3.6.1.3 系统校验字用于标识安全层协议的正确特性。 V1.0 RSSP-I 铁路信号安全 通信 协议 第 12页 4. 报文定义 4.1.1.1 RSSP-I 的报文结构如 图 2所示。 用 户 数 据 包报 文 尾C R C 1 6安 全 校 验 域报 文 头由 通 信 功 能 模 块 与 安 全功 能 模 块 共 同 检 验 处 理由 安 全 功 能 模 块检 验 处 理由 应 用
14、 程 序检 验 处 理 图 2 报文结构 4.1.1.2 用户数据包内的多字节域须按具体应用规范要求顺序排列 ;其它报文内的多字节域均按小端顺序排列(即低字节在前)。 4.1.1.3 报文尾 CRC16 应根据报文头、安全校验域和用户数据包生成, CRC16生成多项式为 G(x)=X16+X11+X4+1,计算初始值为 0。 4.1.1.4 RSSP-I 在安全通信交互中使用到以下三种报文,如表 2 所示。 表 2 报文类型 名称 用途 长度 (字节 ) 实 时 安 全 数 据( RSD) 传送安全用户数据包 总长度 546 时 序 校 正 请 求( SSE) 当发生接收时序错误时, 接收端向
15、发送端发起的时序校正请求 20(无用户数据包 ) 时 序 校 正 答 复( SSR) 发送端对来自接收端的时序校正请求,进行相应答复的反馈报文 25(无用户数据包 ) V1.0 RSSP-I 铁路信号安全 通信 协议 第 13页 4.1.1.5 RSD 报文格式定义参见表 3 所示。 表 3 RSD 报文格式 报文结构 字段名称 大小 取值 备注 报文头 协议交互类别 1 字节 0X01 或 0X02 适用于实时周期性传输交互的情形 报文类型 1 字节 0X80 或 0X81 0X80 表示 A 机发送的; 0X81 表示 B 机发送的; 源地 址 2 字节 通信结点的唯一地址 保留 0X00
16、00 目地址 2 字节 通信结点的唯一地址 保留 0XFFFF 安全校验域 序列号 4 字节 顺序编号 安全数据长度 2 字节 用户数据包字节总数 +8 安全校验通道 1 SVC_1 4 字节 CRC_1SID_1T_1(N)SCW_1 CRC_1 仅对用户数据包计算 CRC32 安全校验通道 2 SVC_2 4 字节 CRC_2SID_2T_2(N)SCW_2 CRC_2 仅对用户数据包计算 CRC32 , 用户数据包 安全应用数据 字 节总数 480 需传输的应用数据内容 参见具体应用层接口规范 报 文 尾CRC16 CRC16 2 字节 参见 4.1.1.3 协议交互类别字段: 0x01
17、 时表示接收端须待同步校时正确后才能认为该帧有效,适用于主机发送的安全数据; 0x02 时表示接收端不需作同步检查 (接收端不触发 SSE 帧 )即可视该帧为有效帧,适用于备机发送的安全数据,以表示物理通道连接正常,但不使用其具体用户数据包做功能安全运算。 V1.0 RSSP-I 铁路信号安全 通信 协议 第 14页 时间戳是基于一个 32 位的线性反馈移位寄存器值,初始值 T(0)=SID, 按系统周期移位并使用固定多项式作附加干扰输入。时间戳 与本地周期计数器对应同步递增。 关于安全校验通道 CRC_M 字段中所使用的参数配置,见表 4 所示。 表 4 安全通信通道的算式参数 通道号 CR
18、C32 生成多项式 SCW 常量 时间戳生成多项式 1 100D4E63 AE390B5A 0FC22F87 2 8CE56011 C103589C C3E887E1 4.1.1.6 当接收端检验到当前安全数据报文时序已超过预定的容忍范围时,需向发送端发送时序校正请求( SSE),用于请求时序同步校正,参见表 5。 表 5 SSE 报文格式 报文结构 字段名称 大小 取值 备注 报文头 协议交互类别 1 字节 0X01 报文类型 1 字节 0X90 源地址 2 字节 参见 表 3 目地址 2 字节 参见 表 3 安全校验域 序列号 4 字节 NE 请求方的 时序校正请求通道 1 SEQENQ_
19、1 4 字节 SID_1T_1(NE) 时序校正请求通道 2 SEQENQ_2 4 字节 SID_2T_2(NE) 报文尾 CRC16 帧 CRC16 2 字节 参见 4.1.1.3 有关接收端对触发 SSE 的检测机制参见 5.2节。 V1.0 RSSP-I 铁路信号安全 通信 协议 第 15页 4.1.1.7 时序校正应答( SSR)用于回应时序校正请求( SSE),参见 表 6。 表 6 SSR 报文格式 报文结构 字段名称 大小 取值 备注 报文头 协议交互类别 1 字节 0X01 报文类型 1 字节 0X91 源地址 2 字节 参见 表 3 目地址 2 字节 参见 表 3 安 全校验
20、域 应答方的序列号 4 字节 NR 请求方的序列号 4 字节 NE 请求方的,即SSE 中的 NE 值 时序初始 化通道 1 4 字节 SEQENQ_1SID_1T_1(NR) DATAVER_1 SEQENQ_1 为SSE 中值 时序初始化通道 2 4 字节 SEQENQ_2SID_2T_2(NR) DATAVER_2 SEQENQ_2 为SSE 中值 数据版本号 1 字节 0X01 预留固定值 报 文 尾CRC16 帧 CRC16 2 字节 参见 4.1.1.3 有关接收端对 SSR 的时序校正实现说明,参见 5.2节。 V1.0 RSSP-I 铁路信号安全 通信 协议 第 16页 5.
21、安 全通信交互协议 5.1 安全数据交互原则 5.1.1.1 图 3描述了发送端与接收端间的安全数据交互原则:即接收端须实时检测从发送端来的 RSD 时序性,若有时序错误,就触发时序校正机制,且仅在时序校正恢复后才接受 RSD(如: BA)。若当前时序正常,就只需单方向实时发送 RSD 即可,不必触发校时 (如: BC)。 接 收 端 A 发 送 端 B 接 收 端 CRSDRSD能 够 处 理 来 自 B 的 安 全 数 据不 能 接 受 来 自 B 的 安 全 数 据RSDRSDRSDRSDRSDRSDSSESSR时 序 校 正恢 复检 测 到 时序 有 误图 3 安全数 据交互示例 5.
22、1.1.2 当同一周期内有多个报文发送时,须遵守下列要求: 1) 同一周期内连续的两帧发送时间间隔不得小于 5 毫秒,以便接收端识别出不同的完整报文。 2) 同一周期内的多个报文须使用相同的序列号,用于标识属于同周期发送的数据。 3) 对同一周期内多个报文的发送次序,至少存在两种可能的处理方式: a) 停发该周期的 RSD 报文; V1.0 RSSP-I 铁路信号安全 通信 协议 第 17页 b) RSD 报文必须在 SSE、 SSR 报文之前发送; a)和 b)选一。 5.1.1.3 对于设备单系的冗余通道报文发送控制,须遵守下列要求: 1) 所有类型的报文都应在冗余通道上传输; 2) 在冗
23、余通道上传输的 报文数据 内容 应相同。 5.1.1.4 对于设备双系的报文发送,须遵守下列要求: 1) 备系不得发送 SSR 报文; 2) 当备系需校正外部系统传送的主系 RSD 时序时,才发送 SSE 报文; 3) 有关备系是否实时发送 RSD 报文,参见具体的应用接口规范要求执行; 4) 双系间切换应能在 1.5 秒内完成并与外部系统建立安全连接,至少存在两种可能的处理方式: a) 备系实时同步获取主系的安全通信参数,包括本地序列号和相应时间戳,以及从外部系统接收的序列号与相应时间戳,当备系升为主系后,沿用原安全通信连接; b) 双系间最多 500ms 内完成倒机,当备系升为主 系后重新
24、与外部系统建立安全连接; a)和 b)选一,若双系间切换不能满足要求,必须使用 a)。 5.1.1.5 接收端对冗余通道数据的取舍处理,须遵守下列要求: 1) 若是冗 余的 SSE 或 SSR 报 文, V1.0 RSSP-I 铁路信号安全 通信 协议 第 18页 a) 通信功能模块应先校验该 SSE、 SSR 的报文头尾有效性,若有误应直接丢弃,否则全部透明转发给安全功能模块进行校验; b) 当安全功能模块接收到任一 SSE 报文且本地处于主系状态,即构建相应的 SSR 报文,并发送给相应的外部系统; c) 当安全功能模块接收到任一 SSR 报文时,应按 图 4流程处理; 可 曾 发 起 S
25、 S ES S E 的 等 待 时间 可 还 有 效S S R 的 N e 与S S E 的 N e 相等 ?S S R 报 文恢 复 时 序 丢 弃没 有已 超 时不 相 等有有 效相 等图 4 SSR 报文校验处理(安全功能模块) 2) 若是冗余的 RSD 报文,: a) 通信功能模块应先校验该 RSD 的报文头尾有效性,若有误应直接丢弃,否则经冗余取舍处理后再决定是否转发给安全功能模块进行校验; b) 通信功能模块对冗余 RSD 的取舍处理原则为:如果 RSD 的 序列号等于最近上一次接收的报文中的序列号加 1,则 将该 RSD 报 文转发给安全功能模块检验;其它情况下,均应丢 弃该 R
26、SD 报文。 本 地V1.0 RSSP-I 铁路信号安全 通信 协议 第 19页 应始终存储最近上一次接收的 RSD 报文中的序列号。 c) 安全功能模块 对 RSD 报文校验,参见 5.2节。 5.2 安全校验过程 5.2.1.1 安全功能模块首先对来自通信功能模块转发的 RSD 报文头尾进行有效性检查,若有误则直接丢弃。 5.2.1.2 安全功能模块再对 RSD 报文中的安全校验域进行检查,若有误,须触发时序对齐校正 ,参见 图 5和 图 6。 对 序 列 号N 的 校 验NL NN - NL M进 入 S V C校 验触 发S S E是否是否M 是 预 配 的 序列 容 忍 差 值NL是
27、 最 近 一次 有 效 的 序列 号图 5 序列号校 验 V1.0 RSSP-I 铁路信号安全 通信 协议 第 20页 计 算 C R C _ 1 计 算 C R C _ 2S V C _ 1 S V C _ 2S C W _ 1 S C W _ 2S I D _ 1 T _ 1 ( N ) 异 或S I D _ 2 T _ 2 ( N )S I N I T _ 1 ( S I D ) ( S I D _ 1 T 1 ( N - 1 ) ) . . .S I N I T _ 2 ( S I D ) ( S I D _ 2 T 1 ( N - 1 ) ) . . .S I D _ 2 S I D
28、 _ 1 T _ 1 ( N )S I D _ 2 T _ 2 ( N )取 自 本 地 存 储 的 最 近 一 次 有 效 时 序 参 数若 该 值 与 预 期 计 算 不 同 , 即 认 为 时 序 有 误若 相 差 N - NL个 间 隔 , 还 需 再做 N - NL- 1 个 遍 0 操 作 ;( 本 图 是 按 1 个 间 隔 )若 相 差 N - NL个 间 隔 , 则 选 取有 N - NL- 1 个 S I D 操 作 的 值( 本 图 是 按 1 个 间 隔 )S V C _ 1 S V C _ 2 用 户 数 据通道1通道2 异 或 异 或 异 或形 成 新 的 最 近
29、一 次 有 效 时 序 参 数p r e c S i n i t _ 1 = 图 7 时序校正恢复流程 V1.0 RSSP-I 铁路信号安全 通信 协议 第 22页 6. 参数配置要求 6.1.1.1 默认规定 RSD 报文的可同步容忍的最大时序偏差为 2 秒(若系统周期为 250ms,则周期数为 0x08),超时后需启动请求同步校 时机制; 6.1.1.2 默认规定安全数据值的有效保持时间为 3 秒(若系统周期为 250ms,则周期数为 0x0C),超时后需将安全数据位导向安全值 0。 6.1.1.3 源地址和目的地址编号默认采用设备编号。 6.1.1.4 SID、 SINIT、 DATAVER 参数选取要求如下:以源节点标识(若SID=0x93CEA10C)为例,且两个安全通道参数的最小码距均为 6。 93 CE A 10 C随机扩展数值类型 :4 : 通道 1 的数据版本 DATAVER6 : 通道 2 的数据版本 DATAVER8 : 通道 1 的 S I NI TA : 通道 2 的 S I NI TC : 通道 1 的源标识 S I DE : 通道 2 的源标识 S I D00 . FF : 源节点列举 图 8预设配置常数说明