王希庆(西安铁路职业技术学院 陕西 西安710014)
基于开放式网络列车自动控制系统安全应用的实现
王希庆
(西安铁路职业技术学院 陕西 西安710014)
针对开放式无线网络环境下,列车自动控制系统中车载与地面设备之间数据传输面临的安全性问题,采用在系统体系结构中加入安全层实体的技术解决方案,通过安全层实体的数据加密算法、消息源验证、对等实体验证措施,实现了消息完整性和真实性的检查、证实了一个关联中对等实体的身份,并给出了对等实体之间的详细通信流程,从而保证了列车自动控制系统安全应用的实现,对我国三级列车自动控制系统的发展具有重要意义。
列车自动控制;安全功能模块;对等实体验证;消息源验证;数据加密标准
自动列车控制系统(ATC)[1]提高了列车运行的自动化程度,降低了司机的劳动强度,是铁路运输生产的一个发展方向,但对它的安全性提出了更高要求。普通安全功能的实现由下层功能模块完成,而针对开放式网络[2]提出的特殊安全要求必须要在系统体系结构中加入安全层,通过其实体安全功能模块的功能实现来加以保障。因此安全功能模块的功能实现对当前三级列车自动控制系统的实现具有重要意义。
系统模型[3]如图1所示。
列车自动控制系统中车载设备[4]与地面无线闭塞中心设备[5]之间安全应用相关信息交互时,信息安全的保障通过模型中安全层实体——安全功能模块(SFM)来实现。开放网络通信服务层由传输子层、网络子层和链路子层构成[6],它负责ATC系统安全应用对等实体之间安全信息交互的通信服务功能。
其中接口①是安全相关应用与安全层之间的服务接口、接口②是安全层与通信服务层之间的服务接口、接口③是安全层对等实体之间的接口、接口④是通信服务层对等实体之间的接口[7]。
接口①和接口②通过访问接入点(AP)利用指定了相应参数的服务原语对下层访问并利用下层的服务功能。接口③和接口④从各层协议数据单元和模块功能的实现方面进行规定。
图1 系统模型
2.1安全层的功能
SFM提供ATC安全应用系统中安全连接的建立,实现在安全连接生存期内提供安全数据传输。安全数据传输保证了数据的完整性和真实性。另外,SFM报告安全层内发生的错误并传送来自下层的错误提示信息,通过管理系统采取相应处理措施。安全层主要涉及消息源验证和对等实体验证两大核心功能[8]。其中消息源验证利用数据加密算法实现安全数据传输,杜绝数据的插入、删除、非法修改和破坏。对等实体验证负责在两个安全服务用户之间相互身份验证,保障安全连接的建立,防止开放系统中非法用户混入安全ATC系统[9]。
ATC系统安全用户通过安全服务接入点与安全层实体SFM通信,获得安全服务,对等安全层实体以协议数据单元(SaPDU)的形式进行安全连接的数据交换。
2.2消息源验证的实现
每当SFM收到上层安全服务用户或下层传输子层送来的消息时,通过消息源验证实现发送方验证和消息完整性确认[10]。消息源验证包括发送方和接收方消息源验证。
2.2.1发送方消息源验证
输入参数:待发送的消息m、收发双方对等实体安全用户共享的会话密钥Ks、接收方目的地址(它是一个24位的在ATC系统中全局唯一的用户标识)
输出参数:利用加密函数计算获得的64位消息验证码MAC
验证过程:1)设置消息中的方向标志位DF(发送方值是1,接收方值是0,方向标志可以防止反射攻击);2)在消息前附加目的地址DA;3)计算DA+m的长度L;4)当L+DA+m的位数不是64的整数倍数时需要在它的后面填充数据p,p是使L+DA+m+p为64位整数倍数的最少个数的0;5)使用CBC-MAC函数和密钥Ks对字符串L+DA+m+p进行MAC运算,将最终得到的64位消息验证码MAC附加到消息m的后面发送给接收方,以便接收方进行消息源验证。
CBC-MAC(Ks,X)函数的定义如下:
会话密钥:Ks=(K1,K2,K3)、E(Kn,Y)是使用密钥Kn (n∈{1,2,3})对64位字符串Y进行加密的算法、E-1(Kn,Y)是与 E(Kn,Y)对应的解密算法、笒是异或运算。将L+DA+m+ p分成64位字符串组X1,X2,...,Xq,则通过如下迭代算法产生的Hq就是MAC。H0=0,Hi=E(K1,Hi-1⊕Xi)i是整数且1≤i≤q-1,Hq=E(K3,E-1(K2,E(K1,H q-1⊕Xq)))[11]。
参与消息源验证的消息包括数据 (DT)SaPDU、管理(MA)SaPDU、第二、第三验证消息SaPDU、验证响应AR SaPDU。
2.2.2接收方消息源验证
输入参数:接收的消息m′(可能完整性受到破坏与原消息m不同)、收发双方共享的密钥Ks、收到的消息验证码MAC′
验证过程:1)在消息m′前添加自身的地址DA;2)计算字符串DA+m?的长度L;3)如果字符串L+DA+m′的长度不是64位的整数倍则添加填充p;4)利用CBC-MAC函数和Ks对字符串L+DA+m′+p进行MAC运算,得到MAC′′;5)检查MAC′′与MAC′′是否相等且方向标志是否正确。
输出:若正确,说明消息的完整性没有被破坏,发送方验证成功。可以将消息传送给安全服务用户,否则放弃本消息,并通知错误管理程序。
2.2.3密钥管理
密钥管理[12]不属于安全层的范畴,但安全层用到密钥管理功能。密钥分3个级别:三级传输密钥级别最高,它保护密钥管理中心与无线闭塞中心或者车载设备之间的密钥管理通信,包括分发二级验证密钥KAB或永久修改密钥分配,由密钥管理中心和各实体共享。二级验证密钥是可以建立安全关联的两个对等实体间事先分发且共享的密钥,用于在连接建立过程中生成一级会话密钥,它是由3个64位的DES密钥组成。一级会话密钥Ks用于为安全连接建立和安全数据传输提供保护。它是针对具体安全连接的,只在安全连接建立时生成,安全连接的生命期有效。会话密钥由安全连接的对等实体共享,在两个通信方向上对称使用。它也是由3个64位的DES密钥组成[13]。
在安全连接建立时,安全层对等实体各自产生一个64位随机数RA与RB,并与验证密钥一起作为输入变量,利用会话密钥生成算法计算出会话密钥。会话密钥一共192位,每八位一组,每一组的第8位码设定为奇偶校验位[14]。
会话密钥生成算法:
1)首先将Rx(x∈{A,B})划分成左右两个32位块RxL和RxR。其中RA=RAL+RAR,RB=RBL+RBR;
共同组成验证密钥KAB。
2.3对等实体验证的实现
对等实体验证是在安全连接建立过程中实现的。通过对等实体验证,一方面验证双方是否具有安全关联的属性,即是否是合法的对等实体身份;同时若验证成功,将产生收发双方共享的会话密钥,并建立安全连接。
输入参数:通信双方安全服务用户的身份标识ETCS ID、安全服务用户 (无线闭塞中心设备或者车载设备的安全应用)共享的验证密钥
验证过程:假设当前发起方B要向应答方A建立安全连接
1)B向A发送第一验证消息协议数据单元AU1 SaPDU,它由text1+RB构成,RB是B产生的64位随机数;2)A收到AU1 SaPDU后,自己生成64位的随机数RA,利用RA、RB和A、B双方共享的验证密钥KAB通过会话密钥生成算法计算会话密钥KS;3)A生成第二验证消息安全协议数据单元AU2 SaPDU并发送给B。AU2 SaPDU由text2+RA+CBC-MAC(Ks,text3+RA+RB+DA+p)构成。其中CBC-MAC(Ks,text3+RA+RB+ DA+p)是A生成的text3+RA+RB+DA+p字段的MAC;4)B收到AU2 SaPDU后,生成会话密钥Ks(同2));5)B计算MAC与收到的AU2 SaPDU中的MAC进行比较,检查AU2 SaPDU的正确性;6)B生成第三验证消息安全协议数据单元AU3 SaPDU发送给A。AU3 SaPDU由text4+CBC-MAC(Ks,text5+ RB+RA+p)构成。其中CBC-MAC(Ks,text5+RB+RA+p)是B生成的text5+RB+RA+p字段的MAC;7)A收到AU3 SaPDU后,计算MAC,并与B发来的MAC进行比较,检查AU3 SaPDU的正确性。
其中,ETY是ATC系统设备类型识别标志、MTI是消息类型标志、DF是方向标志、SA是发送方ETCS ID、DA是接收方ETCS ID、SaF是请求的安全功能,这里特定为00000001,表示采用改进的MAC算法3的单DES、L是消息长度信息。
输出:1)在对等实体验证中任何环节发生错误,安全连接将不能建立;
2)当没有错误发生时,即A、B双方产生的消息验证码相同,说明双方的会话密钥相同,而会话密钥又是由双方实体共享的验证密钥产生的,从而验证了验证密钥的一致性,说明A,B具有安全关联的属性,属于安全对等实体。另外还产生了双方共享的会话密钥,最终成功建立安全连接,在此安全连接的生存期内,会话密钥始终有效。
ATC系统中RBC设备与车载设备之间高优先级数据的交换不涉及安全层的安全服务功能,数据传输的安全性不受保护。
安全层的对等实体在连接建立、数据传输、安全协议管理过程中都可能发生错误,管理系统根据错误性质采取不同的处理策略。可以忽略相关事件、忽略相关事件并使用Sa-REPORT.indication服务原语向安全服务用户指示诊断错误或者释放安全和传输连接并使用Sa-DISCONNECT.indication服务原语向安全服务用户指示该错误,然后根据安全应用的性质决定是否记录相关安全错误。而安全服务用户自己决定相应的处理方式。
5.1安全连接的建立流程
安全服务对等实体间安全信息的交换是建立在安全连接基础之上的。
1)发起方安全用户 (即ATC设备安全应用)首先通过Sa-CONNECT.request服务原语向安全层提出安全连接请求;2)安全层实体使用服务原语T-CONNECT.request向传输层请求建立传输连接。原语中包含安全层用户的用户数据AU1 SaPDU(其中包含发送方生成的64位随机数);3)应答方传输实体使用服务原语T-CONNECT.indication向应答方安全层发出连接指示(包含AU1 SaPDU信息);4)应答方安全层实体若接受该消息,则根据AU1 SaPDU信息产生AU2 SaPDU,其中包含应答方产生的64位随机数,并生成会话密钥Ks,进行发送方 (即连接应答方)消息源验证,使用TCONNECT.response(包含AU2 SaPDU)响应传输连接请求。此过程双方可以通过AU1 SaPDU和AU2 SaPDU中的SaF进行特定安全功能协商;5)发起方传输层实体收到响应原语后,通过T-CONNECT.confirmation服务原语通知传输层用户(安全层实体)已成功建立传输连接。AU2 SaPDU作为用户数据传送给发起方安全层,安全层实体根据两个64位随机数生成会话密钥,并进行接收方(即连接发起方)消息源验证;6)发起方安全实体生成AU3 SaPDU(包含发送方消息源验证过程)使用T-DATA.request服务原语把包含AU3 SaPDU的消息传送给传输层;7)接收方传输层实体接受时,使用服务原语T-DATA.indication把AU3 SaPDU作为用户数据传送给应答方安全实体;8)应答方安全实体对AU3 SaPDU进行接收方消息源验证,若成功,应答方安全实体用服务原语Sa-CONNECT.indication通知安全层用户,至此对等实体验证成功;9)当应答方安全用户接受连接请求则使用服务原语Sa-CONNECT.Response向应答方安全实体发出响应;10)应答方与发起方安全实体通过服务原语T-DATA.request和TDATA.indication利用传输层提供的服务传输包含验证响应安全协议数据单元AR SaPDU的消息(这个过程同样包含收发双方的消息源验证过程);11)发起方安全层实体对AR SaPDU消息验证通过后,利用服务原语 Sa-CONNECT. Confirmation通知发起方安全用户。至此安全连接已成功建立。双方可以利用此连接进行安全信息交换;12)若整个过程的任一环节出现错误,则连接建立终止,并通过管理系统报告错误信息。
图2中虚线代表逻辑数据流(SaPDU),实线代表物理数据流(服务原语)。
5.2安全用户间用户数据的交换流程
安全用户通过Sa-DATA.request和Sa-DATA.indication服务原语交换安全数据,用户数据包含在DT SaPDU中。流程图如图3所示。
5.3安全连接的释放流程
1)由安全用户发起的连接释放
安全用户通过Sa-DISCONNECT.request服务原语释放安全连接,用户数据包含在DI SaPDU中,连接释放不需要验证。流程图如图4所示。
2)下层服务提供方或安全层导致的连接释放
安全层对等实体使用包含连接释放原因的Sa-DISCONNECT.indication服务原语通知各自安全服务用户。
ATC系统中无线闭塞中心和车载设备在进行安全信息交换时,通过安全层实体安全功能模块完成消息源验证和对等实体验证保障了通信双方在开放式网络环境下,消息传输的完整性以及通信实体身份的合法性,对列车的安全运行具有重要的意义。
图2 安全连接建立流程
图3 安全用户间用户数据的交换流程
图4 安全连接的释放流程
[1]郜春海.基于通信的轨道交通列车运行控制系统[J].现代城市轨道交通,2007(2):7-10.
[2]中华人民共和国铁道部.机车综合无线通信设备.GSM数字移动通信网设备技术规范[S].2006.
[3]张玉琢,曹源,闻映红.基于交换式以太网的列车通信网络建模与性能分析[J].通信学报,2015(9):181-187.
[4]徐丽,张勇.CTCS3级列控系统车载设备仿真子系统的设计与实现[J].铁路计算机应用,2008(5):8-11.
[5]刘霄,张亚东,郭进.CTCS3级列控车载协同仿真子系统的研究与实现[J].铁路标准设计,2013(11):113-116,130.
[6]谌双双,陈泽茂,王浩.基于身份的无线传输层安全握手协议改进方案[J].计算机应用,2011(11):2954-2956.
[7]傅国欣.地铁列车自动运行(ATO)系统与列车控制系统(TMS)的接口[J].城市轨道交通研究,2014(1):117-121.
[8]阿尔卡特公司.Subset-037欧洲无线电系统功能接口规范[S].2005.
[9]梁颖升,王琼霄,马存庆,等.一种基于移动终端的可信消息传输方案设计[J].信息网络安全,2015(9):158-162.
[10]陈莉雅,黄理灿,吴传娥.基于三重DES的SaaS数据安全方案[J].工业控制计算机,2015,28(3):49-50.
[11]赵训婷,黄友能,王伟.一种CBTC系统数据码位自动生成方法研究[J].城市轨道交通研究,2014(3):66-69,74.
[12]齐宁,韩智文,刘国萍.信息安全工程[M].北京:清华大学出版社,2012.
[13]马广利.计算机数据通信对DES数据加密算法的应用[J].产业与科技论坛,2015(15):45-46.
[14]隋涛.DES与AES数据加密算法探讨[J].湖北第二师范学院学报,2013(8):66-68.
[15]管爱爱,邱昕夕,王东,等.基于模型的列车自动防护系统软件开发[J].计算机工程,2013(3):1-6.
Implementation of security application of automatic control system based on open network
WANG Xi-qing
(Xi’an Railway Vocational&Technical Institute,Xi’an 710014,China)
According to security problems facing a data transmission between vehicle and ground equipment in automatic train control system Under the open wireless network environment,Using adding security layer entity of technology solutions in system structure,through data encryption algorithm,message source verification,peer entity authentication measures to achieve inspection of the message integrity and authenticity,confirmed the identity of a peer entities,and gives the detailed communication process between the peers entities,thus ensuring the automatic train control the realization of application system security,to our country three level of train automatic control system development is of great significance.
ATC;SFM;Peer entity authentication;message origin authentication;DES
TN929.5
A
1674-6236(2016)11-0074-04
2015-12-11稿件编号:201512130
陕西省教育科学“十二五”规划2014年度课题(SGH140953)
王希庆(1974—),男,陕西西安人,硕士,讲师。研究方向:通信传输。