2020/4/20CTC/ATS部1RSSP-II介绍大纲•RSSP-II简介1•RSSP-II体系结构2•RSSP-II安全防御矩阵3•RSSP-II通信功能模块4•RSSP-II安全功能模块52020/4/20CTC/ATS部22020/4/20CTC/ATS部3简介–概念RSSP(RailwaySignalSafetyProtocol),中文全称为铁路信号安全通信协议。规定了信号安全设备之间通过封闭式网络或开放式网络进行安全相关信息交互的功能结构和协议。适用于铁路信号安全设备之间的安全通信接口。2020/4/20CTC/ATS部4简介–参考文献序号国内标准国际标准1铁道应用:封闭式传输系统中安全通信要求EN50159-12铁道应用:封闭式传输系统中安全通信要求EN50159-23科技运[2008]127号CTCS-3级列控系统系统需求规范N/A4科技运[2008]34号CTCS-3级列控系统总体技术方案N/A5科技运[2008]168号CTC-3级列控系统无线通信功能接口规范Subset-037欧标规范子集037:欧洲无线功能接口规范6RBC-RBC安全通信接口规范Subset-0387离线密钥管理规范Subset-0398RBC/RBC切换功能接口规范Subset-1089网络协议V4、V6RFC0791、RFC246010传输控制协议V4(TCPV4)RFC079311高级数据链路控制规程ISO/IEC33092020/4/20CTC/ATS部5简介–缩略语简称英文全称中文全称ALEAdaptation&redundancymanagementLayerEntity适配及冗余管理层实体CFMCommunicationFunctionModule通信功能模块ECExecutionCycle执行周期MASLMessageAuthenticationSafetyLayer消息鉴定安全层PDUProtocolDataUnit协议数据单元SAISafetyApplicationIntermediatelayer安全应用中间子层SFMSafetyFunctionModule安全功能模块SNSequenceNumber序列号TCPTransportControlProtocol传输控制协议TTSTripleTimeStamp三重时间戳2020/4/20CTC/ATS部6简介–缩略语简称英文全称中文全称CRConnectionRequest连接请求CCConnectionConfirm连接确认DTDataTransport数据传输DIDisconnect连接中断AU1FirstAuthenticationMessage第一个验证消息AU2SecondAuthenticationMessage第二个验证消息AU3ThirdAuthenticationMessage第三个验证消息ARAuthenticationResponse验证确认消息3DESTripleDES三重DES加密算法大纲•RSSP-II简介1•RSSP-II体系结构2•RSSP-II安全防御矩阵3•RSSP-II通信功能模块4•RSSP-II安全功能模块52020/4/20CTC/ATS部72020/4/20CTC/ATS部8体系结构–协议栈应用处理应用层协议(端到端)安全应用中间子层协议(端到端)[Subset037](端到端)适配层协议传输层协议(TCP)网络层协议(IP)应用层安全应用中间子层消息鉴定安全层适配及冗余管理层传输层网络层数据链路层物理层传输系统安全功能模块通信功能模块图例:由本规范指定从标准规范中引用超出范围操作和维护O&M2020/4/20CTC/ATS部9体系结构–PDU结构大纲•RSSP-II简介1•RSSP-II体系结构2•RSSP-II安全防御矩阵3•RSSP-II通信功能模块4•RSSP-II安全功能模块52020/4/20CTC/ATS部102020/4/20CTC/ATS部11防御矩阵威胁防御序列号TTS或EC超时反馈信息源和目的地标识符消息识别过程安全码加密技术重复X删除X插入X重排序X损坏X延迟X伪装X大纲•RSSP-II简介1•RSSP-II体系结构2•RSSP-II安全防御矩阵3•RSSP-II通信功能模块4•RSSP-II安全功能模块52020/4/20CTC/ATS部122020/4/20CTC/ATS部13通信功能模块–ALE层概述本规范中,两个终端系统均假设为固定的(非移动的),并且能够与行业标准的高速网络连接。本规范在冗余适配管理层实体(ALE)中定义了ISOTP2服务与TCP之间的映射关系,该实体通过离散的、非定长的ALE数据包(ALEPKT),实现端到端的数据传输。本规范定义如何使用传输层原语,从而可以获得基于TCP的冗余服务。它为铁路安全设备提供了通过国际标准进行通信的方法,且无需了解其它系统的详细特征。2020/4/20CTC/ATS部14CFM一般特点铁路应用消息的可靠、全双工传输。用户数据的透明传输。信息的内容、格式或编码不受限制。无需为实现传输而了解被传输数据结构和含义。也就是说,协议绝不应限制待传输的数据类型。高效的数据传输,CFM应当支持高性能需求,包括高速、低时延地传输大量数据。对各种已知和当前未知的应用系统开放。支持物理链路冗余性,以增强可用性。2020/4/20CTC/ATS部15ALE层服务原语连接建立服务包括:T-CONNECT.request:用户向ALE要求建立传输连接;T-CONNECT.response:用户向ALE表明接受连接请求;T-CONNECT.indication:通知用户ALE正在建立传输连接;T-CONNECT.confirmation:通知用户ALE已经建立连接;数据传输服务包括:T-DATA.request:用户要求发送数据T-DATA.indication:收到数据时向用户报告;连接释放服务包括:T-DISCONNECT.request:用户要求ALE断开连接;T-DISCONNECT.indication:ALE收到对方的断开连接请求时向用户报告。2020/4/20CTC/ATS部16CFM实例2020/4/20CTC/ATS部17对应实体间连接时的协议栈2020/4/20CTC/ATS部18ALE–服务类别对于不同的服务质量(在ALE中称为“服务类别”)说明如下:A类服务——通常使用两条链路,其中任何一条均可用于数据传输。所有ALEPKT均只在一条链路上传输(通常情况下,两条链路均具有相同的性能);D类服务——通常使用两条链路,所有ALEPKT在两条链路上均被传输。D类服务的实施是强制性的,而A类服务的实施是可选的。A类服务和D类服务均可在单物理链路上实现,不会造成任何安全影响。客户端与服务端的服务类别应相同。2020/4/20CTC/ATS部19ALE–A类服务在ALE实体之间使用两条链路,则应该固定配置一条为正常链路(Normal),另一条为冗余链路(Redundancy)。在ALE实体之间使用两条链路时,如果其中一条链路是用于建立/释放ALE连接并交换含有应用数据ALEPKT的,则该链路称为“活动链路”(Active);另一条链路称为“非活动链路”(NonActive)。当在两种链路之间进行切换时,则活动链路变成非活动链路,反之亦然。2020/4/20CTC/ATS部20ALE–D类服务的连接建立所有的ALEPKT均在全部的TCP连接上被传输,以用于支持两个实体间的一个安全连接。在连接建立阶段,CR(AU1)和CC(AU2)的传输序列号为0,在两条TCP连接上以相同的方式发送。在连接建立阶段,ALE实体应当使用接收到的首个AU1和AU2ALEPKT,并丢弃此后接收到拷贝。(CR与CC不可以丢弃!!!)应答方应当验证CR帧中ID;发起方应当验证CC帧中的ID。每条TCP连接上都必须验证。2020/4/20CTC/ATS部21ALE–D类服务的数据传输所有数据应当在两个TCP连接上传输,并在两个通道中使用相同的传输序列号。在消息接收侧,至少存在两种可能的处理方式:a)只要收到消息的传输序号大于上一次向用户传送的消息中的传输序列号,就向用户传送该消息。b)如果消息的传输序列号等于上一次向用户传送的消息中的传输序列号加1,则向用户传送该消息,如果传输序列号大于最后一个传输序列号加1,则丢弃该消息。一个TCP通道上的数据传输发生故障时,适配层不需要解决这一问题,而是应当简单地释放连接,并拒绝接受该通道的数据;在实施中,可以选择将故障报告给ALE用户。任何ALEPKT,如果其传输序列号小于或等于与已经向TS用户传送过的ALEPKT的传输序列号,都应被接收方丢弃。2020/4/20CTC/ATS部22ALE–D类服务的冗余管理当发送方不能够在某TCP连接上发送数据,或者TCP连接出错时,该TCP连接应当被关闭并继续通过其它链路传送数据ALEPKT。连接发起方的ALE应试图重建任何失效的TCP连接。在接收方,任何被视为已经失效的TCP连接都应当关闭,此外,除非其为连接的发起方,不应再采取进一步的动作,如果是连接的发起方,则应试图重新建立该连接。所有ALEPKT都可以从余下的TCP连接中获得。2020/4/20CTC/ATS部23ALE–D类服务的通道监测D类服务中应使用TCP提供的标准生命保持特性(TCP-KeepAlive)来执行连接与物理链路监测。双方的TCP实体都应当具备生命保持特性。当应用程序采用周期发送数据的形式时,不要求TCP层进行连接监测。2020/4/20CTC/ATS部24ALE–PDU格式字段名称长度描述包长度2字节去除本字段后,整个ALEPKT的长度。版本1字节用于识别适配层为其它方提供的服务程序。它作为配置的一部分须在对等实体之间达成一致。ALEPKT中的版本参数可以被接收的ALE忽略。应用类型1字节用于识别应用类型。ALEPKT中的应用类型参数可以被接收ALE忽略。传输序列号2字节传输序列号用于接收方适配层管理两个活动的TCP连接的切换。传输序列号字段不用于A类服务。在A类服务中,传输序列号的数值被设为“0”。N/R标志1字节用于发送方ALE说明发送ALEPKT的正常或冗余链路。在配置阶段,链路的“正常”或“冗余”属性是固定的。链路应当进行正常-正常、冗余-冗余连接。N=1;R=0。包类型1字节包类型描述。如果此项不属于选定的服务类别中指定的包类型的一种,接收方ALE应丢弃该包,此时也可以关闭该TCP连接。校验和2字节按照FCS-16计算的CRC(针对前6个字段的8个字节)用于确定是否存在数据传输错误。生成多项式为CRC-CCITT(x16+x12+x5+1),初始值为0xFFFF。循环冗余校验(CRC)算法在参见ISO/IEC3309。CRC的最终结果在发送或者接收实体中无须取反。计算得到的CRC校验和的最高项对应该字段的最低有效位。A类服务中的生命信息不需要进行CRC检验。用户数据变量长度合法的用户数据。2020/4/20CTC/ATS部25ALE–Package类型类型名称作用用户数据链路服务类别1CR(AU1)请求到对方的连接AU1D类:正常&冗余链路A类:活动链路A&D2CC(AU2)从对方接受连接AU2D类:正常&冗余链路A类:活动链路A&D3DT传输用户数据SaPDUD类:正常&冗余链路A类:活动链路A&D4DI释放连接DISaPDUD类:正常&冗余链路A类:活动链路A&D251SwitchN2R将数据通信切换到冗余链路无或SaPDU冗余链路A253SwitchR2N将数据通信切换到正常链路无或SaPDU正常链路A254KANA非活动链路的生命信息无非活动链路A255KAA活动链路的生命信息无活动链路A2020/4/20CTC/ATS部26ALE–帧格式CR帧格式(类型=1)•CC帧格式(类型=2)域类型取值字节数说明帧头10AL