基于着色Petri网的无线闭塞中心安全加密

2019-01-07 12:26夏浩男戴胜华
计算机应用 2018年12期
关键词:密钥车载加密

夏浩男,戴胜华

(北京交通大学 电子信息工程学院,北京 100044)(*通信作者电子邮箱16120263@bjtu.edu.cn)

0 引言

中国列车控制系统(Chinese Train Control System, CTCS)-3级列车控制系统是我国铁路时速300~350 km/h客运专线的重要技术装备,是中国铁路技术体系和装备现代化的重要组成部分。它通过面向铁路的全球移动通信(Global System for Mobile communications-Railway, GSM-R)实现车地之间的双向通信,为列车安全、可靠、高效运行提供了可靠的技术保证[1-2]。

无线闭塞中心(Radio Block Center, RBC)是中国列车控制系统(CTCS)的地面核心控制设备,其主要功能是根据列车定位信息、线路参数信息、轨道占用信息、临时限速以及联锁信息等提供控车命令,生成行车许可(Movement Authority, MA),并通过GSM-R网络传送到车载设备,控制列车在RBC管辖范围内的线路上安全高效运行[3]。但随着信息技术的发展,一方面,CTCS-3级列车控制系统采用的对称加密算法存在着被窃取的隐患;另一方面,对于车地信息交互的实时性要求也更高[4]。目前,对RBC的相关研究大多是关于行车许可的生成过程,没有对行车许可的加密过程进行深入研究,因此研究车地之间的信息安全传输具有重要意义。

1 着色Petri网介绍

20 世纪60年代提出并开发的Petri网通常用于描述异步、并行的系统[5-6],其数学理论严谨有据,图形描述直观易懂,描述系统模型的方法及分析系统动态行为的方法丰富多样,这为一些过程比较复杂的大型系统的建模与分析奠定了基础[7]。

Petri 网的结构元素包括库所(place)、变迁(transition)和弧(arc)。库所是体现状态的量,用于体现系统过程的局部状态;变迁是体现变迁的量,用于体现过程中某一事件的触发;弧用于将过程的局部状态与事件的发生关联起来。每条弧都有自身对应的值,可以是变量,也可以是函数。

由传统Petri网进行着色、赋时以及层次化发展而来的着色Petri网(Colored Petri Net, CPN)不仅可以通过对状态空间报告进行分析发现系统当中的错误,还能够提供性能分析法完成系统的性能评价[8]。因此,利用CPN对RBC的安全加密过程进行建模分析是有效可行的。

2 RBC安全加密分析

2.1 铁路信号安全通信协议-II

因铁路通信环境具有其特殊性,为保证铁路信号安全设备在封闭式和开放式网络环境中信息传输的安全性和可靠性,我国参考欧洲相关标准制订了铁路信号安全通信协议-II(Railway Signal Safety Protocol-II, RSSP-II)。

RSSP-II主要分为两大功能模块:安全功能模块和通信功能模块。安全功能模块提供的安全层必须能够对通信中可能面临的威胁(重复、删除、插入、重排序、延迟和伪装)进行检测并提供充分的防护[9]。通信模块提供非置信的网络传输服务。安全功能模块由安全应用中间层(Safe Aplication Intermediate layer, SAI)和消息鉴定安全层(Message Authentication Safety Layer, MASL)组成。SAI通过添加延迟防御技术和序列号提供所需的其他安全相关的保护,可以预防延迟、重排序、删除和重复等威胁。MASL通过添加消息验证码(Message Authentication Code, MAC)和连接标识符(源和目的地标识符)提供以下的防护:消息的真实性、消息的完整性以及访问保护,可以预防损坏、伪装和插入等威胁。本文主要研究MASL中的安全加密过程。

2.2 MASL的数据安全传输过程

2.2.1 密钥分配

MASL层参照[Subset-037][10]应用了3个等级的密钥完成数据加密,分别为会话密钥KSMAC、验证密钥KMAC和传输密钥KTRANS,这3个等级的密钥分级如表1所示。

在RBC与车载设备安全连接建立阶段,由密钥管理中心(Key Management Center, KMC)为RBC和车载设备两实体之间的通信连接产生一个验证密钥KMAC,利用传输密钥KTRANS加密KMAC后传输给RBC和车载设备。RBC和车载设备利用各自和KMC共享的传输密钥KTRANS进行解密得到相同的KMC。

表1 密钥等级Tab. 1 Key hierarchy

2.2.2 加密算法选择

目前在RSSP-II中的会话密钥KSMAC选择的是数据加密标准(Data Encryption Standard, DES)的一种模式——三重DES(Triple DES, TDES)加密算法。它使用3个独立的56位的密钥对数据进行三次加密,比传统的DES更加安全。但TDES对于特定的选择明文攻击和已知明文攻击的保护较弱,而且DES和TDES由于制定的原因,可能存在“安全后门”,存在着安全隐患。

鉴于TDES算法所存在的安全问题,本文采用了高级加密标准(Advanced Encryption Standard, AES)算法进行MAC计算。AES又称Rijndael算法,采用可选的密钥长度(128 b、192 b或256 b),其安全性随着密钥长度的增加而提高。AES不存在弱密钥和补密钥,并且能够有效抵抗已知的攻击算法[11]。相比TDES,AES由于其算法内部结构,在同样的运行环境中,运算速度更快,内存需求更低。

2.2.3 对等实体验证

对等实体验证可确认通信双方实体的身份,并计算出通信双方在连接中的会话密钥。对等实体验证的过程如图1所示。

图1 对等实体验证与密钥生成的安全协议Fig. 1 Security protocol for peer entity authentication and key generation

图1中,“|”表示连接,Text1="CTY|MTI|DF|SA|SaF", SA=主叫列控设备号(CTCS ID);Text2="CTY|MTI|DF|SA|SaF",SA=响应CTCS ID;Text3="l|DA|CTY|MTI|DF|SA|SaF", DA=主叫CTCS ID,SA=响应CTCS ID;Text4="′000′|MTI|DF|SA|SaF";Text5="l|DA|′000′|MTI|DF",DA=响应CTCS ID。

其中,CTY是CTCS ID类型,MTI是指示验证SaPDU的信息类型标识符,DF是方向标志,SaF是安全特征。

2.2.4 消息源验证

在完成对等实体验证后,MASL建立安全连接。此时利用车载设备和RBC共享的会话密钥KSMAC和CBC-MAC函数对字符串“l|DA|m|p”进行MAC计算:MAC(m)=CBC-MAC(KSMAC,l|DA|m|p)。其中,m是待传输到的消息,DA是目的地址,l是字符串“DA|m”的长度,p是为保证字符串“l|DA|m|p”的长度为128 b而附加的填充数据。如果没有发生错误,则发送m以及MAC(m),否则通知错误管理程序。接收方接收到消息后,同样利用KSMAC和CBC-MAC函数进行MAC计算并和MAC(m)比较,若一致,则消息没有被篡改。

3 基于Petri网的形式化建模

CPN tools是基于Petri网理论开发的一种仿真工具,通过CPN tools进行仿真可以清楚地看到系统之间信息的交互过程,验证系统的可靠性和准确性。本文中仅以完全监控模式下行车许可的生成及发送这一基本场景为例,详细说明加密算法的实现过程。仿真采用自上而下的设计方法,先建立系统的顶层模型,再利用顶层网络中的替代变迁进行系统子网的搭建,完成整个系统的建模。

3.1 顶层网络模型

构建MA计算的顶层网络模型,实现各个子网功能的相互协作,使系统具有层次性和分布性,同时也方便各个子网的调整和细化。

顶层子网模型如图2所示。

图2中初态以库所Train开始。首先,列车向RBC发送MA请求包Message 132,经数据加密后发送给RBC。RBC接收到数据进行解密后,先判断最近相关应答器组(Last Relevant Balise Group, LRBG)有效,依据串接路径信息,计算偏移量进行列车定位。再依据路径信息等判断进入的运营场景(以完全监控模式下MA为例),生成的MA需根据标准进行检验并激活再发送给加密模块,加密使用的密钥为替代变迁Encrypt data产生的KSMAC。加密完成后,由GSM-R发送给车载设备。车载设备完成解密后,需对收到的MA进行实时性检验,如未过期,则列车按照该MA控车。其中,替代变迁Encrypt data和FS MA分别模拟的是车地消息的安全加密和完全监控模型下MA生成。库所Train接收到信息m3后,能够激活LRBG,构成一个闭环系统,使模型中的变迁具备回归属性。

3.2 完全监控模型MA

完全监控模式下是列车接收到所有的完整信息,在正常线路和场景下的运行过程,这是CTCS-3的主要运营模式。在完全监控模式下生成MA的模型如图3所示。

图2 车地通信的顶层模型Fig. 2 Top model of train-ground communication

图3 完全监控模式下生成MA子模型Fig. 3 Generating MA-submodel under full supervision mode

当系统由顶层网络进入到FS MA子网后触发变迁Location report输出信息m1="Section in train occupied"。只有当列车覆盖范围内的区段被占用才能标记引导区段(Call On,CO),计算有条件紧急停车消息(Conditional Emergency stop Message, CEM)。接着,列车实时更新路径信息,为MA的计算做好准备。然后,根据串路径搜索区段,当到达第一个区段时,计算CEM,进入变迁Bring into MA,将该区段添加进MA中,延伸MA并搜索下一个区段。在模型中加入了一个循环,使之能够不断搜索下一个区段。因为MA所包含的最大区段数不超过15,所以当MA的范围中含有15个区段时,区段遍历完毕结束循环。接着,RBC对各区段空闲状态、有无信号授权进行判断,并计算得到行车许可终点(End Of Authority,EOA)。最后,加入线路限速信息,根据MA信息包标准生成信息包Message 3,返回顶层网络。

3.3 车地消息加密。

GSM-R系统中的加密不是端到端的,其加密功能没有延伸到核心网络,在基站和基站间信息均以明文方式传播,不能预防内部人员的攻击。因此,需要对车地之间的信息进行端到端加密,保证系统安全。加密模型如图4所示,左边为车载设备部分,右边为RBC部分。

图4 车地消息加密模型Fig. 4 Encryption model of train-ground message

在列车发送MA请求时,车载设备向KMC申请RBC和车载共享的验证密钥KMAC,KMC用传输密钥KTRANS(KTRANS1,KTRANS2)对KMAC加密后发送给RBC和列车。RBC和列车利用存储的KTRANS1和KTRANS2完成解密得到KMAC。车载设备产生并存储一个128 b随机数Rand1,包含在第一验证消息AU1SaPDU中发送给RBC。接收到第一验证消息后,RBC产生并存储一个128 b随机数Rand2,并根据KMAC,以及两个随机数Rand1和Rand2等产生AES加密的会话密钥KSMAC,利用会话密钥KSMAC计算出文本字段Text3、两个随机数Rand1和Rand2、车载设备的CTCS ID,以及填充位的MAC,形成第二验证消息AU2SaPDU发送给车载设备。车载设备根据AU2SaPDU中的Rand2,结合Rand1和验证密钥KMAC计算出会话密钥KSMAC,进而验证接收到的AU2SaPDU的正确性。若无误,车载设备根据会话密钥KSMAC计算MAC,形成第三验证消息AU3SaPDU发送给RBC,RBC验证AU3SaPDU的正确性。至此,RBC和车载完成对等实体验证,双方利用产生的会话密钥KSMAC计算列车基本参数信息包 Message 129和位置信息包Message 136的MAC开始进行车地信息交互。

4 模型仿真及状态空间分析

模型动态仿真了在完全监控模式下RBC生成MA以及利用AES加密算法对MA进行加密并发送的过程。相较于传统的TDES算法,AES目前只能通过穷举攻击进行破解,大大提高了系统的安全性和可靠性。此外,由于分组长度也高于TDES,AES算法大大提高了加密速度,缩短了车地消息时延,保证了通信的可靠性。

状态空间报告是CPN tools生成的系统模型的行为属性信息。状态空间统计信息主要包括四个部分:有界性、回归性、活性和公平性,整体模型的统计信息如图5所示。从图5中可以看出,模型一共有49个节点、51条弧,全部处于可触发状态。

图5 状态空间信息Fig. 5 Information of state space

图6是状态空间报告的一部分。从图6可以看出,库所中的托肯数量的上下界,各个库所中的托肯数均为有界整数,从而保证了系统的有界性;系统中的状态具有回归性并且每一个变迁都能够触发,不存在死锁状态,因此系统具有活性;系统中每个库所里的资源都是公平的,不存在饥饿状态,模型具有公平性。

通过分析状态空间报告,可以验证模型运行的每一步状态都能满足设计的要求,系统的各种状态都是可达的,为设计人员进行软件设计提供了理论依据。

图6 状态空间报告Fig. 6 Report of state space

5 结语

本文对安全加密技术在RBC中的应用进行了研究,并对完全监控模式下车地通信过程进行形式化建模,通过着色Petri网仿真工具CPN tools进行动态仿真,能够较好地描述列车申请MA和RBC发送并加密MA的信息交互过程。同时通过对系统加密模型进行定性分析,验证了系统的正确性和可靠性。 本文通过分析RBC安全加密的具体流程,实现了车载设备和RBC的端到端加密,为设计人员进行软件设计提供了理论依据,有助于研究车地安全通信。

猜你喜欢
密钥车载加密
一种车载可折叠宿营住房
幻中邂逅之金色密钥
幻中邂逅之金色密钥
密码系统中密钥的状态与保护*
保护数据按需创建多种加密磁盘
电力安全防护加密装置
捷豹I-PACE纯电动汽车高压蓄电池充电系统(三)
创建KDS根密钥
奔驰S级48V车载电气系统(下)
加密与解密