本文发布已获得《都市快轨交通》授权
原文发表于《都市快轨交通》
2025年 第5期
如有转载请联系版权方,标明出处
廖志斌1, 2,崔亦博1, 2,冯浩楠1,郜洪民1
轨道交通作为高效、安全、环保的公共交通工具,在国家交通体系中占据越来越重要的地位。轨道交通通信网络与最新通信技术的融合与应用,提升了轨道交通的运营效率和服务质量,为自动化、智能化、无人化的信号系统技术提供了重要支撑。城市轨道交通列车运行控制系统网络由有线封闭式网络和无线开放式网络组成,该网络为信号安全设备提供了数据传输通道;信号安全设备间,通常使用铁路信号安全协议(railwaysignalsafetyprotocol,RSSP)的RSSP-I和RSSP-II作为通信协议。RSSP-I基于封闭式网络设计的保护算法,不能满足开放式网络[1]的通信需求。RSSP-II协议考虑了封闭式和开放式两种网络。信号安全设备应用RSSP-II协议需预先写入密钥参数,由于该密钥参数在一个运行区域内(例如城市轨道交通的一条线路)均相同,因此只能通过行政管理手段进行保密。而城市轨道交通中车载和地面的安全设备的通信网络暴露在空中,密钥参数一旦泄露,将导致所有安全设备处于被劫持和伪装的风险当中。近年来,信息安全受到越来越广泛的关注,根据全国网络安全标准化技术委员会公示的国家标准清单,截至2024年1月3日,我国共发布了378项相关标准,信息安全领域形成了完整的标准体系。国铁集团的工电部也积极推进网络安全的研究[2]。学者们也对信息安全进行了相关研究,张凯[3]提出使用高级加密标准(advancedencryptionstandard,AES)代替RSSP采用的三重数据加密标准(tripledataencryptionstandard,3DES)实现设备间通信数据加密;张成阳等[4-5]则提出使用国产商用密码算法SM4进行设备间通信数据加密。无论是AES还是SM4,这些算法只能在加密强度上进行安全提升,并不能解决加密密钥泄露的风险。因此,城市轨道交通安全设备在开放环境下必须解决密钥的机密性传输。对此,屈毅等[6]提出统一密钥生成和系统分发的密钥管理架构,以及完善铁路通信网的安全防护体系的想法。公钥基础设施(publickeyinfrastructure,PKI)是一个采用公钥管理体制的基础设施,它能够提供鉴别、加密、完整性和不可否认性服务[7]。目前,互联网采用的PKI系统,使用主流的RSA和AES算法,这些算法均是国外提出的密码算法,其核心技术受制于人,加密技术中甚至可能会被放置后门,对国家安全构成严重威胁。为了摆脱密码技术的依赖,国家密码局发展了国产商用密码算法。已经有许多学者对国家商用密码算法进行了应用研究,张宇等[8-9]研究了SM2算法高效签名的方案;ZHOU等[10]在云环境中使用SM2/3/4实现了可信计算;孙敏等[11]研究了SM4和SM2混合加密的算法。各行业不断推进的商用密码算法从根本上摆脱了对国外密码技术和产品的过度依赖,也实现了信息安全自主可控,降低研发、维护等方面的成本,避免潜在的知识产权风险。本文针对开放网络空间下的密钥泄露问题,采用国密算法,构建公钥基础设施,保障开放网络空间中设备端到端的加密传输,完善通信网的安全防护体系。
1系统模型
互联网行业的公钥基础设施为一个单向认证模型,用户要求服务器提供凭证,通过公开的密钥算法和公钥信息完成对服务器的真实性认证;服务器对用户则不进行认证,而由服务器本身的应用服务决定是否对未知用户提供服务。但是,城市轨道交通行业中的信号安全设备一般为对等通信设备,通信双方均需认证对端设备。因此,城市轨道交通行业公钥基础设施应用需要建立双向认证的系统模型。参考Subset-038标准[12],本文提出基于公钥基础设施的双向认证系统模型。双向认证系统模型如图1所示。
证书颁发机构(certificationauthority,CA)域定义为一个授权区域,这个授权区域内的所有设备均归属PKI设备进行授权和验证。每个CA域中的PKI设备包含两套非对称密钥,域内密钥对用于不同CA域之间的认证和安全传输,域间密钥对用于本CA域中的证书授权和验证。每个CA域中的设备均共享PKI设备的域内公钥。不同CA域之间使用PKI系统对外交互数字证书信息。每个PKI设备均需要保存其他可信CA域的自签名证书。安全通信设备(简称设备)-1与设备2属于相同CA域,由PKI-1管理身份认证所需证书;设备3和设备4属于另一个CA域,由PKI-2管理身份认证所需证书。设备1与设备2通过域内公钥验证双方证书,认证身份;设备1和设备3与各自归属的PKI交互验证双方证书,认证身份;设备间认证完成后,由证书中携带的密钥信息生成会话密钥,进行后续加密通信。在双向认证系统模型中,设备间通过非对称加密算法协商会话密钥完成连接建立,对称加密算法使用会话密钥完成端到端的数据加密。系统的目标是假设开放空间泄露所有信息的情况下,依然能够保证设备端到端的加密传输。
2证书签发
2.1设计原则
PKI系统需要为每一个设备进行证书签发,让设备获得自身证书凭证,该过程可在封闭网络内自动申请和授权,或者由管理者进行集中管理审核。本系统采用人工授权的方式进行集中管理审核,对每一个系统内新增设备进行确认,该授权仅需要在设备第一次取得自身证书凭证时进行。当设备取得自身证书凭证后,则无需人工干预,并在开放空间中所有数据暴露的情况下,依然能够完成端到端的加密传输。城市轨道交通系统可简单看作一个集中分布式系统,以一座城市的一条城市轨道交通线路为一个中心,设备分别归属各个中心,各中心之间互相通过骨干网络进行连接。每一条城市轨道交通线路设置独立的PKI系统,线路中设备均由PKI系统管辖,每个设备的证书由管辖PKI系统颁发;各线路的PKI系统能够相互通信。当归属不同PKI系统的设备进行通信时,设备需要根据对端设备的PKI系统进行认证,因此,设备的证书需携带设备归属信息。PKI系统中的设备面临更换或报废时,该设备具备完整接入算法和合法证书,为了防止内部人员错误使用或利用该设备进行非法接入,PKI系统证书的管理中引入管理者角色,管理设备的准入和移出。
2.2证书格式
PKI系统中设备的证书使用X.509标准[13],主要包含serialNumber(序列号),signature(签名算法)、subject(主题信息,包含证书颁发者Name值),subjectPublicKeyInfo(证书持有人公钥信息),subjectUniqueID(持有者标识),signatureAlgorithm(签名算法)和(signatureValue)签名结果。其中,客户端主要上传包含serialNumber(序列号)和subjectPublicKeyInfo信息的认证请求,由CA进行证书签名。按照X.509协议规定,Name值由country(C),state(S),locality(L),org(O),org_unit(OU),common_name(CN)6部分组成。为了满足轨道交通行业需求,将Name值各组成部分分别对应为国家、省份、城市、地铁公司、线路名称和设备ID这6个子项。证书内容如图2示例,
颁发者为中国北京的地铁10号线编号为06EA4002的设备,使用者为00031525,其中Name值按照规划,其子项分别为CN,BJ,BJ,BeijingSubway,BJ10,06EA4002;签名算法的对象标识符(ObjectIdentifier,OID)为1.2.156.10197.1.501代表证书采用了SM2签名算法。证书请求阶段,客户端随机生成注册密钥对(d0,P0),其中d0为私钥,P0为公钥;注册前,使用注册密钥的私钥d0将除signatureValue之外的其他数据进行签名,形成CSR文件,再使用域内公钥PCA进行加密,发送给PKI。证书签名阶段,PKI设备使用域内私钥dCA解密客户端CSR文件的数据后,使用该数据中的公钥P0进行签名验证,添加必要信息后,使用自身域内私钥dCA进行证书签名,得到完整证书信息;然后使用客户端CSR文件中的公钥P0进行证书信息的加密,并回传给客户端。客户端收到数据并解密后,将证书信息编码为base64格式,并存储为CRT证书文件。证书验证阶段,PKI系统中的设备A收到另一个设备B的通信请求,并获得设备B的CRT证书信息后,根据CRT证书中的subject信息判断证书归属关系,若该证书归属于当前CA域的PKI设备(PKI-1),则使用域内公钥进行验证;否则设备A将设备B的CRT证书信息发送给PKI-1,由PKI-1交给该CRT证书归属的PKI设备(PKI-2)进行验证,PKI-2再将验证结果反馈给PKI-1,PKI-1将验证结果反馈给设备,完成验证过程。
2.3签发流程
证书签发流程只在一个新的设备加入当前CA域时进行。每个安全设备首先随机生成一个公钥,由管理者先将安全设备序列号和公钥,按照行政管理手段加入PKI设备中,防止伪造设备取得证书。然后将设备连接到与PKI相同的CA域中,设备自动与PKI设备交互,获得唯一证书。证书签发流程具体如图3所示。
PKI系统的域内公钥为公开信息,任何设备和个人均可持有,该信息不影响网络中数据的机密性。PKI系统最少包含注册机构(registrationauthority,RA),CA,密钥管理中心和证书资料库4个功能实体。证书签发流程如下。1)PKI将域内密钥对(PCA,dCA)随机生成后,秘密保存私钥dCA,并将公钥PCA发送给管理人员。2)安全设备通过随机算法,生成一个注册密钥对(d0,P0),安全人员获取安全设备的序列号SN和公钥P0。3)管理人员将安全设备的P0和序列号输入PKI系统的密钥管理中心;并将域内公钥PCA发送给安全设备。4)安全设备使用PCA,通过SM2加密算法,向PKI的RA发起认证请求(certificatesigningrequest,CSR),认证请求携带了设备通信密钥对的公钥P0、序列号和主题信息,并通过注册密钥对的私钥d0进行签名。5)PKI设备的RA模块收到请求后,通过序列号向密钥管理中心查询该设备的P0,使用公钥P0进行验签。6)验证通过后,RA则将请求发送给CA模块;由CA模块使用域内密钥对的私钥签发X.509格式的证书,一方面将证书保存到资料库,另一方面将证书发送给RA模块。7)RA模块使用P0,通过SM2加密算法将证书反馈给安全设备。当设备需要从系统中退网时,可在证书资料库中证书吊销列表(certificaterevocationlist,CRL)将证书吊销,或者管理者从证书资料中删除该设备的证书。
3密钥协商
3.1密钥协商流程
图4为密钥协商三次握手协议,发起设备和响应设备可以是安全设备或者PKI。发起和响应设备均具有自身非对称密钥对,通过密钥协商后,取得公共会话密钥,并利用该公共密钥使用对称加密算法进行数据传输。设备A具备非对称密钥对(dA,PA),设备B具备非对称密钥对(dB,PB),设备A与设备B进行会话密钥Ks的协商的具体握手流程如下。1)设备A将自身证书和随机数Ra发送给设备B,证书中包含发起设备A的公钥Pa,私钥da由设备A秘密保存。2)设备B对证书验证通过后,使用设备A公钥Pa,通过SM2加密算法将自身证书和随机数Rb发送给设备A,证书中包含响应设备B的公钥Pb,私钥db由设备B秘密保存。3)设备A通过参数Ra、Rb、da和Pb计算会话密钥Ks,并利用该密钥使用SM4算法加密确认消息发给设备A;设备B通过参数为Ra、Rb、db和Pa计算会话密钥Ks,并利用该密钥使用SM4算法解密设备A发送的确认消息;设备A和设备B通过不同参数计算的会话密钥需一致,并由该密钥进行对称加密通信。
3.2密钥协商机密性
本文借鉴了Oakley算法[14]思想进行密钥交换,密钥交换的过程中,仅交换双方的公钥信息,而不泄露任何私钥信息,实现会话密钥的协商。协商关键过程如下。1)设备A将自身公钥PA和随机数Ra发送给设备B。2)设备B将自身公钥PB和随机数Rb发送给设备A。SM2采用的椭圆曲线公钥算法中,使用的倍点计算公式为P=d·G(1)式中,P为公钥;d为私钥;G为公开的椭圆曲线基点。倍点计算公式满足交换律和结合律,全局变量m和K对应的计算式可分别表示为
m=dA·PB=dA·dB·G=dB·dA·G=dB·PA(2)K=Ra·Rb·dA·PB=Ra·Rb·m=Ra·Rb·dB·PA(3)
当双方公钥交换完毕后,互相能够取得相同的全局变量m。由于设备A和设备B的私钥没有在传输中出现,因此,即使第三方获取到所有信息,依然无法得到全局变量m。3)为了防止第三方通过统计学攻击手段破解会话密钥,设备A和设备B在每次协商过程中,均产生一个随机数,该随机数的存在使得相同设备在每次协商过程会生成一个变化的全局变量K,并使用该全局变量K作为密钥生成参数。4)使用SM3杂凑算法对K进行计算,得到对称加密算法的密钥Ks,至此,完成密钥协商。从上述流程可知,当所有数据均处于第三方窃取且第三方完全掌握相同算法的情况下,如果需要获取用户数据,则必须破解会话密钥,此时需要得到K值。由交换过程可知,第三方能够完全得到PA,Ra,PB,Rb,G这5个参数,由公式(2)可知,其仍需要得到dA或者dB才能得到K值。根据椭圆曲线公钥算法[15],已知dA·G=PA和dB·G=PB,要得到dA或者dB则需要解决椭圆曲线算法中由P和G获得d的逆运算问题。若数字较大如256位,该逆运算的计算量将远远大于RSA中素数分解的计算量,这也是SM2算法加密强度优于RSA的基础,因此,可认为难以从公开的数据获取K值,也就保证了全开放环境下依然能够保证加密通信的特点。
4设备通信
4.1通信流程
本文PKI系统中设备间采用非对称加密算法协商会话密钥,对称加密算法通过会话密钥实现数据加密的方式,完成端到端的连接建立和数据交互。其中,非对称密码算法采用SM2算法,对称密码算法采用SM4算法。SM2算法加密强度高,保证会话密钥的机密性;SM4算法效率高,保证数据传输效率;二者结合能够兼顾安全和效率。设备间通信时,首先互相交互证书并验证,取得双方的公钥信息;然后通过公钥信息和私钥计算会话密钥;最后进行数据通信。当安全设备属于同一个CA域时,仅需要考虑域内CA验证,当安全设备属于不同CA域时,则需要考虑跨域CA验证。安全设备通信流程如图5所示。
PKI-1与安全设备A属于同一个CA域,PKI-2与安全设备B属于同一个CA域。跨域通信中,握手过程需要进行跨域CA验证。由于本域设备不具备其他CA域的域内公钥,因此,本域设备无法对外域设备进行证书验签。当域内设备收到跨域设备的握手请求时,则必须将跨域设备的证书上报给PKI,由PKI向跨域PKI进行证书查询。当PKI-1和PKI-2为同一个PKI时,则不需要进行跨域CA验证流程。相比于通用的密钥协商握手,域内CA验证增加了向PKI查询证书正确性的过程。由于安全设备本身具备域内公钥PCA,可以进行证书的正确性验证。因此,CA验证流程仅用于查询证书是否被吊销。当安全设备从CA域中被行政移除,管理人员应在PKI系统中将被移除安全设备未过期的证书从证书资料库中标记为吊销,当其他设备查询时,吊销信息将被反馈给查询设备。当查询设备收到的D2中的信息为证书错误或证书已吊销,则拒绝握手,通过M2消息或M3消息拒绝连接。
4.2效率分析
为了探究本系统在连接建立和数据传输中引起的时延开销,从算法效率和交互频次两个方面进行了分析。使用的测试环境为1核(vCPU)、1G主频和2GiB内存安装Ubuntu20.04系统的小型工控机。
4.2.1算法效率
利用256bit长度密钥的SM2算法对174byte数据分别做了10、102、103和104次的加密和解密仿真,数据加密后长度变更为284byte,加密和解密过程时间消耗情况如表1所示。通过256bit长度密钥的SM4算法对174byte数据分别做了104、105和106次的加解密仿真,时间消耗分别为33ms、332ms和3308ms。由SM2和SM4算法对174byte数据的加解密仿真可知,一次SM2的加密和解密约消耗1ms和0.5ms,一次SM2的数据发送接收需要消耗1.5ms;SM4完成一次加解密数据的时间约为3.3μs,每秒钟能够完成401.3Mbyte数据量的加解密,该算法加解密引起的时延可以忽略。
4.2.2交互频次
由图5可知,两个设备间至少需要进行3次握手,才能确定会话密钥。一次证书查询需要进行密钥协商的3次交互和请求响应的2次交互,一共需要5次交互。以车载设备与地面设备进行通信的典型场景为例,PKI系统中设备间数据传输前协商会话密钥产生的时延分析如下。令tw为一次无线通信时延,tl为一次有线通信时延,te为一次SM2数据的加解密时间总和,忽略SM4加解密时间。则有以下两种情况:1)两个设备属于相同CA域时,车载设备与地面设备间握手3次交互,两个设备分别与PKI设备进行身份查询的5次交互,共13次交互,其中相同CA域中设备间握手总时延ts为ts=3tw+te+5tw+te+5tl+te=8tw+5tl+3te(4)2)两个设备属于不同CA域时,车载设备与地面设备间握手3次交互,两个设备分别与PKI设备进行身份查询的5次交互,PKI设备间10次交互,其中跨域场景下设备间握手总时延ta为ta=3tw+te+5tw+te+5tl+te+10tl+2te=8tw+15tl+5te(5)
设备的跨域时延
差td为td=10tl+2te(6)
从上述分析可知,设备间握手时延由无线通信时延,有线通信时延和数据加解密时间共同构成。两个设备无论是否跨域均包含同样的无线通信频次,跨域引起的额外开销仅在有线通信时延和数据加解密时延中有所体现。城市轨道交通系统的主流车地无线通信系统LTE-M系统标准[16]规定车地传输时延不超过300ms的概率不小于98%;而地面有线网络间的时延按照经验在10ms以内。经过估算,两个设备属于相同CA域,握手时间ts小于2454.5ms的概率大于85%,属于不同CA域的握手时间ta小于2557.5ms的概率大于85%,td约为103ms。按照实际LTE-M系统传输性能的现场测试[17],其传输时延平均约为20ms,那么ts约为214.5ms,ta约为307.5ms,td约为103ms。以城市轨道交通典型的列车与地面区域控制中心通信为例,列车在初始投用时,设备开机和检车在分钟级,有足够的时间建立与地面设备的连接;列车在跨区域控制中心时,存在约90s时间的通信重叠区,也就是有90s的时间与地面设备建立连接,也远远大于连接建立所需要的ts时间。当列车连接建立后,SM4算法引起的时延可忽略不计,因此,PKI系统中设备间通信的效率能够得到保障。此外,PKI系统中设备完成会话密钥协商的时延能够进行优化,设备上线后立即与PKI设备进行握手并保存会话密钥,则能够将身份查询的5次交互降低为2次,相同CA域中设备间握手总时延ts将降低3tw+3tl的时间消耗,按照最不利情况,将降低约37.9%的时延;不同CA域中设备间握手总时延ta将降低3tw+9tl的时间消耗,按照最不利情况,将降低38.7%的时延;此外,PKI中设备通过缓存机制,管理已验证设备的身份信息,可进一步降低设备间密钥协商握手引起的时间消耗。
5结论
立足于城市轨道交通在开放网络空间数据传输的安全需求,结合城市轨道交通系统中设备按地域归属的特点,提出了一个基于国密算法的轻量级公钥基础设施解决方案。得出如下主要结论:1)将城市轨道交通系统看作集中分布式系统建立的设备间双向认证系统模型,能够满足设备从入网、运营和退网的全生命周期管理。2)采用的密钥协商流程基于SM2的不可逆特性,使用随机数和公钥自动协商会话密钥,可保障设备间通信的机密性。3)应用本文模型,在城市轨道及交通通信系统中设备间数据传输时延处于最大允许边界值的情况下,两个设备属于相同CA域,握手时间约为2454.5ms,属于不同CA域的握手时间约为2557.5ms;按照LTE系统网络平均时延计算,相同CA域握手时间约为214.5ms,跨域情况下握手时间约为307.5ms。握手产生的时延远小于列车跨区域控制中心时的通信重叠运行时间,效率能够得到保障。
消息由中国城市轨道交通网CCRM整理编辑,文章来自都市快轨交通,涉及版权请联系删除,如有转载请标明出处)

