基于移动数字证书的铁路身份认证方案研究

2024-03-20 02:00潘红芹马建邓敏丽纪方
铁道通信信号 2024年3期
关键词:数字证书服务端密钥

潘红芹,马建,邓敏丽,纪方

铁路各业务系统中已广泛使用基于数字证书的身份认证技术架构来实现用户的身份认证。传统方式中,利用专用的USBKey、TF卡等硬件设备来存储并保护私钥,需要签名时,通过中间件配合调用硬件设备完成数字签名运算。用户的密钥始终掌握在自己手中,是传统硬件密码介质应用的安全基础。在移动互联网时代,越来越多的签名业务逐步迁移到移动端,用户仅需通过联网的移动智能设备(手机、IPad)就可以完成日常办公与业务操作。但传统硬件密码介质却难以在移动端发挥作用:①携带不便,用户需要在手机之外携带额外的硬件介质;②硬件接口无法对接,手机端无法提供对接传统密码的USB接口;③中间件开发困难,针对硬件调用的中间件开发难度大。

因此,需研究适用于铁路移动业务架构的新型去介质身份认证技术方案,保证可直接运行在移动设备上实现安全合规的数字签名。为此,本文设计了基于移动数字证书的铁路身份认证系统(简称“数字证书用户身份认证系统”),实现移动端用户基于移动数字证书的铁路业务安全接入。

1 移动数字证书

移动数字证书[1]作为数字证书面向移动业务应用的具象化展现类型,是一种基于公钥基础设施[2](Public Key Infrastructure,PKI)的新型身份认证手段,依托数字证书载体,为移动端用户提供安全身份认证功能,通过密钥分割和数字证书技术,采用协同签名[3]应用模式提供服务,完成在移动端无硬件存储介质情况下的数字签名,并满足国家及行业关于电子签名服务技术要求。通过研究协同签名技术架构和协同签名应用模式,充分论证方案的技术路线和可行性。

1.1 协同签名技术架构

协同签名技术是一种用于验证数据来源和完整性的身份验证技术,在移动互联网安全接入和移动端扫码登录等应用场景广泛使用[4]。用于电子签名的密钥通常分为服务端密钥分量与客户端密钥分量2个部分,客户端密钥分量由用户移动端中的协同密码组件生成并本地加密存储,服务端密钥分量由签名服务端生成并加密存储于密钥库中。

基于云计算的协同签名服务典型技术架构由云签名服务、签名方和依赖方组成,见图1。云签名服务提供用户管理服务、密钥管理服务和协同签名服务,并提供与服务相匹配的安全管理和策略管理;签名方和依赖方作为铁路业务系统的用户,可通过云签名服务的交互协议或应用编程接口,使用云签名服务完成电子签名。CA(Certification Authority)认证中心作为第三方支撑服务,向签名者提供电子认证服务,并对数字证书进行全生命周期管理。

图1 基于云计算的协同签名服务典型技术架构

签名方使用带有密码模块的终端、应用程序或应用系统对制作电子签名的过程进行控制和确认。签名方将电子签名的一部分功能委托给云签名服务来完成,签名方使用协同密码组件进行签名计算,云签名服务使用密码设备完成服务端签名计算,最终由签名方合成完整的签名结果。依赖方判断签名方提供的电子签名及相关数据有效后进行后续业务操作。协同签名技术中协同密钥管理机制保证了电子签名完整的密钥不在签名方或云签名服务出现,密钥的服务端分量、客户端分量不在网络上传输,也不能由网络传输的数据计算得出,杜绝了用户签名私钥暴露的风险,无需额外的硬件介质进行密钥的存储,保证签名密钥安全性。

1.2 协同签名应用模式

移动端依托数字证书为载体,采用协同签名技术,保证移动端扫码登录的身份认证安全。协同签名典型应用模式见图2,流程如下:

图2 协同签名典型应用模式

Step 1业务系统向签名服务端发起签名请求。

Step 2签名服务端向终端设备推送签名请求,此时终端设备可通过与签名相关的业务活动情况对签名请求进行确认。

Step 3终端设备向签名服务端推送签名服务。

Step 4签名服务端查询该请求者的密钥,检索服务端密钥分量和证书。

Step 5签名服务端调用密码设备/密码模块进行服务端协同签名。

Step 6签名服务端向终端设备返回服务端部分签名结果。

Step 7终端设备通过签名服务客户端中间件调用协同签名模块,使用客户端密钥分量进行协同签名,合成完整签名。

Step 8终端设备向签名服务端提交完整签名结果。

Step 9签名服务端验证签名结果。

Step 10签名服务端向业务系统返回签名验证结果。

Step 11验证成功后,业务系统允许终端设备进行操作访问。

1.3 协同签名应用优势

从协同签名应用合规性、便捷性、高效性、可追溯性4个方面开展方案优势分析。

1)合规性:移动数字证书应用符合《基于云计算的电子签名服务技术要求》(GM/T 0109—2021)[5]、《SM2椭圆曲线公钥密码算法》(GB/T 32918—2016)[6]、《SM3密码杂凑算法》(GB/T 32905—2016)[7]、《SM2密码算法使用规范》(GB/T 35276—2017)[8]、《SM4分组密码算法》(GB/T 32907—2016)[9]等国家密码应用相关标准要求。本方案中移动客户端应用的协同密码组件符合《密码模块安全技术要求》(GM/T 0028—2014)[10]安全等级第二级认证。

2)便携性:移动数字证书存储在移动设备中,用户可以随时随地进行身份认证,无需携带其他硬件存储介质。

3)高效性:移动数字证书充分结合铁路业务系统移动应用需求,将拔插USBKey、PIN码校验等传统操作模式转变为生物特征识别或短信认证等方式[11],降低密码应用复杂度,提升应用效率。

4)可追溯性:移动数字证书具有可追溯性,可以对用户的签名行为进行跟踪和记录,方便有关部门进行监管和调查。

2 技术方案设计

2.1 技术架构

针对铁路业务在移动互联网环境下的身份认证需求,选取移动APP扫码登录业务作为本方案重点研究场景,通过建设数字证书用户身份认证系统实现移动端用户的身份认证。系统分别部署于内部服务网、外部服务网和互联网移动终端,通过调用移动互联网安全接入平台、安全平台等接口,完成内外网数据交互,实现移动终端数字证书申请、证书签发、证书更新、证书注销、证书有效性验证、协同签名、扫码认证等功能,为业务应用系统提供统一的身份认证服务。数字证书用户身份认证系统技术架构见图3中绿色部分。

图3 数字证书用户身份认证系统技术架构

1)内网数字证书用户身份认证系统。调用服务器密码机接口,与铁路业务系统交互,实现数字证书身份认证和移动端数字证书的全生命周期管理。

2)外网数字证书用户身份认证系统。密码协作系统为移动终端提供服务端协同签名运算和密钥安全存储;外网收发服务为移动终端和内网数字证书用户身份认证系统提供数据收发服务。

3)移动APP。移动APP通过接口调用方式实现移动端密钥分量的生成及本地加密存储,生成的移动端密钥分量可与服务端协商合成完整密钥,并向服务端数字证书用户身份认证系统申请移动数字证书。用户通过移动终端上的生物认证方式调用协同密码组件实现移动端电子签名和身份认证[12]。其中,协同密码组件通常以软件开发工具包形式对外提供密钥生成、证书申请、协同签名等服务,可与移动端铁路各类APP应用进行集成,支持移动端Android、IOS、鸿蒙[13]等主流操作系统。

2.2 业务应用流程

从用户移动数字证书申请,到基于移动数字证书完成协同签名及系统验证,最终实现用户扫码登录业务系统,整个业务应用流程形成有效闭环,实现了基于移动数字证书的身份认证[14],见图4。

图4 扫码登录业务应用流程

2.2.1 移动数字证书申请流程

Step 1移动APP通过调用协同密码组件注册生成一对与用户永久绑定的固定公私钥对(PC,dC),将移动端自身固定公钥PC发送给密码协作系统。

Step 2密码协作系统根据公钥PC生成与用户绑定的固定公私钥对(PB,dB),同时计算生成签名公钥P并发布。

Step 3移动APP调用协同密码组件利用签名公钥P计算生成P10文件(证书签发请求),发送给服务端数字证书用户身份认证系统。

Step 4服务端数字证书用户身份认证系统为移动APP签发移动数字证书,移动APP获取移动数字证书并本地存储。

2.2.2 扫码登录协同签名流程

Step 1用户通过计算机访问铁路业务系统Web登录网站,点击扫码登录。

Step 2铁路业务系统向服务端数字证书用户身份认证系统请求二维码,系统生成二维码并推送至铁路业务系统。

Step 3用户使用移动终端扫描二维码,铁路业务系统将二维码中待签名消息发送给移动APP。

Step 4移动APP收到铁路业务系统的待签名消息后,生成临时公私钥对(PTmp,dTmp),并将公钥PTmp和待签名消息发送给密码协作系统。

Step 5密码协作系统收到后生成临时公私钥对(PSTmp,dSTmp),并计算生成签名消息摘要。

Step 6密码协作系统根据临时公钥PTmp、签名消息摘要和固定私钥dB完成协同签名操作,并将生成的部分签名结果发送给移动APP。

Step 7移动APP根据部分签名结果,利用自身的固定私钥dC和临时私钥dTmp进行签名授权,得到符合标准协议的签名报文,最终合成协同签名后,将签名报文、签名消息和数字证书发给服务端数字证书用户身份认证系统。

2.2.3 扫码登录验证流程

Step 1服务端数字证书用户身份认证系统对完整签名报文进行验签,并对数字证书进行有效性验证。

Step 2若签名验证和证书有效性验证成功,则将验证成功的报文发送给铁路业务系统。

Step 3铁路业务系统收到验证成功结果,扫码登录成功,业务系统允许用户登录,流程结束。

3 结束语

目前,该移动数字认证技术方案已广泛应用于95306中国铁路货运电子商务平台。2023年度,完成移动端登录4 958 791次,支持2 623 699笔订单完成数字签名。

本文通过对基于移动数字证书的铁路身份认证方案进行设计与研究,切实有效地将密码技术与铁路业务系统相融合[15],可为移动终端提供移动证书和协同签名服务,在满足密码安全要求的同时兼顾业务应用的便捷性和实用性,充分说明该方案的技术可行性及可扩展性,具备良好的潜在推广价值,在实现铁路数字化建设和提高生产力方面具有重要意义[16]。

猜你喜欢
数字证书服务端密钥
探索企业创新密钥
密码系统中密钥的状态与保护*
云存储中基于相似性的客户-服务端双端数据去重方法
新时期《移动Web服务端开发》课程教学改革的研究
一种对称密钥的密钥管理方法及系统
在Windows Server 2008上创建应用
基于ECC的智能家居密钥管理机制的实现
当心黑客利用数字证书的漏洞
基于数字证书的军事信息系统安全防护方案
管理好系统中的数字证书