李春梅,柴 涌,汪小勇
(卡斯柯信号有限公司,上海 200071)
信号系统应用国产加密技术通常有以下几种:在既有信号系统设备的基础上,增加国密安全芯片等相关设备;使用国产商用密码分组标准对称(SM1)算法对通信数据提供机密性保护;使用国产商用密码椭圆曲线公钥(SM2)算法对通信数据提供可鉴别性保护和不可否认性保护;使用国产商用密码杂凑(SM3)算法对通信数据提供完整性保护。
公钥基础设施(Public Key Infrastructure,PKI)也称为公开密钥基础设施,按照国际电联制定的X.509标准,PKI是一个包括硬件、软件、人员、策略和规程的集合,用来实现基于公钥密码体制的密钥和证书的产生、管理、存储、分发和撤销等功能。PKI是一种遵循标准、利用公钥加密技术提供安全基础平台的技术和规范,能够为网络应用提供密码服务的基本解决方案。PKI解决了大规模网络中的公钥分发和信任建立问题。
提供一种在应用国产加密技术的信号系统中,基于传统PKI模型进行适应性改造并使用SM2算法完成身份验证的方法,由此信号系统的通信数据得到可鉴别性保护和不可否认性保护,同时也为使用SM1、SM3算法对通信数据提供机密性保护和完整性保护打下了前提基础。
PKI一般由认证权威机构(Certification Authority,CA)、注册权威机构(Registration Authority,RA)、 证 书 /证 书 吊 销 列 表(Certi fi cate Revocation List,CRL)库和终端实体等部分组成,如图1所示,主要元素说明如下。
图1 PKI模型标准结构Fig.1 PKI model standard structure
1) CA
数字证书是各实体的身份证明,具有唯一性和权威性。为满足这一要求,需要建立一个可信的机构,专门负责数字证书的产生、发放和管理,以保证数字证书真实可靠,这个机构就是认证权威机构CA,也称数字证书管理中心,它作为PKI管理实体和服务的提供者,管理用户数字证书的生成、发放、更新和撤销等。CA是PKI的核心组成部分,PKI体系也往往被称为PKI/CA体系。
2) RA
RA又称证书注册中心,是受CA委派,负责和终端实体交互的、接受数字证书申请并进行审核的机构,同时也是CA认证机构的延伸,有时也称为用户注册系统。在逻辑上RA和CA是一个整体,主要负责证书注册、审核以及发证。
3) 证书/CRL库
证书/CRL库主要用来发布、存储数字证书和证书撤销列表,供用户查询、获取其他用户的数字证书,为系统中的CRL所用。在信号系统中,鉴于证书/CRL库的使用频率不高,所需存储空间也不大,故将证书/CRL库和CA设置安装在一个硬件服务器中,共同使用硬件设备。
4) 终端实体
终端实体(end entity)是只拥有公/私钥对和相应公钥证书的最终用户,可以是人、设备、进程等。在信号系统中,终端实体指代分布于信号系统各子系统上的国密安全芯片设备。
国密安全设备与信号系统集成后的结构如图2所示,应用层设备由车载子系统(CC),轨旁子系统(ZC/LC),联锁子系统(CI),列车监控子系统(ATS),维护子系统(MSS)几个子系统组成,见图2中黄色部分,在应用层设备上增加国密安全芯片。通信层设备为通信子系统(DCS)设备,见图2中绿色部分。本方案结合信号系统架构和PKI模型,增加CA服务器(含证书/CRL数据库)和RA服务器,见图2中红色部分。
图2 信号系统与国密安全设备集成结构Fig.2 Signal system and state security equipment integration structure
信号系统的身份认证包含以下几个阶段,其中1~4阶段为线下人工操作,如图3所示;5~6为线上软件行为,如图4、5所示。
图3 线下证书操作Fig.3 Off-line certificate operation
图4 会话密钥协商阶段的身份验证Fig.4 Authentication during the session key negotiation phase
图5 CRL查询下载Fig.5 CRL query and download
1) 证书申请
信号系统通过固定的终端,使用特定的支持PKI的应用程序,向CA申请数字证书给指定的国密安全芯片。该终端与CA通过网络连接,同时指定的国密安全芯片必须安装在该终端上。
2) 证书生成
一旦信号系统申请了数字证书,CA就将根据其建立的认证策略验证国密安全芯片设备信息。如果确定信息有效,则CA创建该证书。
3) 证书存储
CA在生成证书后,通过网络把证书发回给国密安全芯片设备。数字证书将被保存在国密安全芯片设备里。
4) 证书发布
CA除了将生成的数字证书发回给国密安全芯片设备外,还会将自身设备的数字证书发送到所有申请的国密安全芯片设备中。CA确保数字证书中信息的真实性,可以作为终端实体的身份证明。
5) 证书校验
信号系统使用国密安全芯片设备时,不同的国密安全芯片设备在会话阶段使用存储在自身芯片中的CA根证书验证对方身份证书,只有验证通过后才会继续进行会话,验证未通过则经过尝试(尝试次数可以配置)后中断会话密钥协商。即会话密钥协商必须以身份验证为前提。
6) 证书废止
国密安全芯片设备的数字证书不配置特定的到期时间,避免分布安装在信号系统内的国密安全芯片设备需要频繁拆解、集中更新、重新安装的问题。如果需要撤销某一特定证书,可以由CA将这一撤销事实发布到CRL中,使所有国密安全芯片设备都可以查询。CRL是由CA签名的一组电子文档,包括被撤销证书的唯一标识(证书序列号)。出于减少信号系统网络吞吐量和系统负荷考虑,信号系统内的国密安全芯片设备需要定期连接CA查询CRL,在查询同时下载CRL并保存到芯片内部,在下一个查询周期前国密安全芯片将一直将此CRL视为最新并使用。
本文描述的信号系统与国密安全设备集成后,在设备启动时首先进行一次CRL更新,如果更新成功,则以更新后的CRL为准;如果多次尝试(尝试次数可以配置)后仍然无法更新成功,则跳过本次CRL更新,以上一次更新成功的CRL为准,对于没有任何成功更新经验的设备来说,CRL为空。设备启动后,每隔固定间隔(间隔时间可以配置)进行一次CRL更新,以保证CRL保持最新,其更新判断与第一次更新相同,对于未更新成功的情况,信号系统设备会发出告警至维护子系统,提醒运维人员注意查验。详细流程如图6所示。
图6 CRL更新流程图Fig.6 CRL update flowchart
在会话阶段,客户端首先发起会话请求,请求消息中包含了客户端的证书;服务端收到请求后,验证客户端证书(CRL、有效期、签发者关系、以及签名数据)后,再通过客户端的证书,服务端证书及服务端本地生成的随机数,根据SM2算法生成会话密钥,然后对客户端请求进行响应,并向客户端发送服务端证书与随机数;同样,客户端收到回复后,验证服务端证书(CRL、有效期、签发者关系、以及签名数据)后,再根据客户端的证书,服务端证书及服务端本地生成的随机数,通过SM2算法生成会话密钥,并对服务端响应进行确认,向服务器端发送会话密钥。详细流程如图7所示。
图7 会话阶段身份认证流程图Fig.7 Authentication flow chart during session phase
本文提出一种在城市轨道交通信号系统中,基于传统PKI模型进行改造并使用国产密码算法进行身份验证的方法。实际应用结果表明,与现有技术相比本方法具有以下优点。
1) 针对采用国产加密技术的信号系统,使用SM2算法进行身份验证,使信号系统的通信数据得到可鉴别性保护和不可否认性保护;
2) 基于KPI模型改进,使身份验证机制各阶段的工作流程更好的适配于信号系统;
3) 提供旁路功能,即使身份验证机制出现问题,仍然能够保证信号系统的运行不受影响,并提供告警功能,可以在最大程度上保证身份验证功能的可维护性;
4) 保证信号系统既有功能和安全等级不受影响。