IC卡道路运输证件中间件安全机制设计
2018-09-10范琦张路彬
范琦 张路彬
摘 要:本文通过分析对称加密算法和非对称加密算法技术,研究在密钥分散、安全认证、数据加密方面IC卡访问安全方案,探讨终端设备通信和认证中心密钥下载的安全方法。
关键词:IC卡;道路运输证;安全机制
中图分类号:U495;U492.8 文献标识码:A 文章编号:1003-5168(2018)23-0106-03
Design of Middleware Security Mechanism for IC Card
Road Transport Certificate
FAN Qi1 ZHANG Lubin2
(1.Henan Traffic Communication Center,Zhengzhou Henan 450000;
2. China Academy of Transportation Science,Beijing 100000)
Abstract: By analyzing symmetric encryption algorithm and asymmetric encryption algorithm technology, this paper studied the security scheme of IC card access in key dispersion, security authentication and data encryption, and discussed the security method of terminal equipment communication and key download of authentication center.
Keywords: IC card;road transport certificate;safety mechanism
IC卡访问采用TSAM卡方式的加密机制,在读写过程中需要传输密钥相关内容,中间件在读写过程中需要保护传输的密钥值,防止密钥泄漏。数据传输过程中的安全威胁,包括USB监听、网络监听、串口监听等,需要防止非法入侵,防范潜在的威胁。
1 常见安全算法技术分析
1.1 对称加密算法技术分析
对称加密也叫作私钥加密,其是指在加密数据和解密数据时采用相同的密钥。该技术通常要求数据发送方和接收方在建立通信之前,首先确定一个双方都知道的密钥值,然后双方通过相同的加解密算法对要传输的数据进行加密和解密运算。对称加密算法的优点是算法是公开的,计算量小,加密速度快;缺点是如果泄漏密钥,任何截获密文的人都可以对密文进行解密。
1.2 非对称加密算法技术分析
非对称加密算法与对称加密算法相对。非对称加密算法需要两个密钥,即公钥和私钥。每组密钥必须成对出现,公钥一般是以明文的方式发布给对方,私钥由产生方自己进行保存。如果使用公钥进行加密,必须使用配对私钥进行解密;如果使用私钥进行加密,必须使用公钥进行解密,这样才能获得正确的原文。非对称加密算法一般用于数字签名、密钥交换等[1]。非对称加密算法的安全性依赖于现有的难以解决的数学问题,算法强度较大,计算速度相比对称加密算法较慢,常见的密钥算法包括背包算法、RSA算法、ECC算法等。
1.3 各类算法的比较
目前公布的常见的对称加密算法和非对称加密算法在相同的保密级别下,密钥长度对比关系见表1。
在对称加密算法领域,尽管DES在安全上相对脆弱,但由于DES加密速度快,硬件芯片的大量生产和TDES的应用,使DES算法成为目前实际应用中最为广泛的加密算法。当前IC卡道路运输证件也采用TDES加密算法。随着AES算法的推广和国密算法的推广,IC卡道路运输证件安全系统将可能逐步被国密算法取代。
在非对称加密算法领域,目前RSA算法是最常见的算法,但ECC比RSA在相同的安全级别下采用的密钥长度更短,加解密运算的速度更快,对于网络传输的硬件资源使用得更少,ECC将逐步取代RSA。
2 IC卡道路运输证件的访问安全机制设计
根据《IC卡道路运输证件》(JT/T 825—2012)[2]的要求,目前IC卡道路运输证件采用基于TDES技术的对称密钥技术。
2.1 密钥体系设计
IC卡道路运输证件密钥体系采用部省两级管理的模式,总体框架如图1所示。
2.2 密钥推导方法
按照IC卡道路运输证件密钥体系设计,在IC卡和终端内TSAM卡内都预先安装了相同的对称密钥,解决了密钥传输和发布的问题。但是,在实际的应用中,IC卡的数量较为庞大,为了使IC卡更加安全,采用“一卡一密”的方式。为了使每个终端都能够支持读写每张IC卡,在TSAM卡中内置所有IC卡的密钥是不现实的问题。所以,在TSAM卡中只能存储密钥体系中的根密钥,在IC卡读写认证时,TSAM卡能产生临时的对应IC卡的密钥,实现对IC卡认证和数据加密功能。密钥推导模型见图2。
2.3 安全分析
IC卡道路运输证件采用密钥分散的算法,保证了一卡一密钥,且使得IC卡道路運输证在使用过程中,如果一张卡被人破解后,不会影响整个密钥系统。此外,在数据传输过程中,通过使用随机数、计算MAC等方式,减小了在空中传输过程中被第三方监听后采用重放机制伪造数据的可能性。
3 数据通信安全机制设计
中间件与外部设备硬件通信包括两大类:第一类是与认证中心后台服务器及密钥中心进行通信,传输的内容包括读写卡数据记录和密钥参数,传输的介质为网络传输;第二类是中间件与读写器等终端设备通信,通信的内容包括读写卡过程数据、认证数据和密钥ID等信息。
3.1 终端通信安全设计
采用对称加密算法首先要将密钥存储到读写器中。为了防止第三方通过暴力通信的方式恶意破解读写器中的密钥值,对每个读写器内存储不同的密钥值。读写器芯片都有唯一的序列号,可以使用序列号作为分散因子。同时,考虑将对称密钥的根密钥放到读写器中,为了混淆,在每个读写器中也同时放入了不同的根密钥,具体实现方式如下。
①事先选择100组密钥作为根密钥,这100个密钥都通过密文方式内置在中间件中,并将这100个密钥按照序号从0编到99。
②在为读写器下载根密钥时,从中间随机选取5个密钥作为根密钥,依据是[C5100=75 287 520],这样可以生成约7 000万个不同组合的根密钥,能满足现阶段每个读写器中根密钥都不相同的结果。
③采用根密钥对读写器序列号进行分散,得到5个分散后的密钥,将这5个密钥及根密钥对应的序号存放到读写器中。
在读写卡时,生成临时密钥的序列如图3所示。具体步骤如下。
①中间件向读写器发送握手指令,读写器内部生成一个随机数,根据随机数计算获得5个密钥ID的值,读写器将这个密钥ID号和读写器序列号发送给中间件。
②中间件根据密钥ID号确定根密钥,然后用根密钥对读写器序列号进行分散操作,得到与读写器对应的子密钥,后续的通信都通过该密钥对传输的数据进行加解密计算。
3.2 认证中心密钥下载安全设计
根据常见安全算法技术分析,笔者在中间件与认证中心通信时采用ECC算法,考虑到非对称加密算法的计算时间较长等特点,在密钥传输中仅通过发送认证和密钥传输两条报文即可实现密钥的传输功能,具体流程见图4所示。
①中间件的私钥和公钥分别为PRc和PUc,服务器端的私钥和公钥分别为PRs和PUs。
②中间件生成16字节的随机数N1,用中间件的私钥PRc加密生成M2。
③将M2和N1作为数据,使用服务器端公钥Pus进行加密生成密文M3,并发给服务器端。
④服务器端收到数据后,先用服务器端的私钥对M3进行解密,将解密后数据的右半部分赋值给S2,将解密后数据的左半部分用中间件的公钥PUc解密,得到S1。
⑤服务器端判断S1是否等于S2,如果两个数据相同,说明该随机数是由真正的中间件发来,认证成功,服务器可以为中间件提供服务;如果两个数字不相同,说明可能是第三方伪造的数据或者数据在链路中传输出现错误,服务器不予响应。
⑥认证成功后,服务器端生成随机数N2,并使用中间件的公钥PUc进行加密后生成,将M4传输给中间件端。
⑦中间件收到M4后,使用中间件的私钥PRc解密得到M5,至此,认证过程完成。
⑧中间件通过读写器获得IC卡ID号后,将ID号和M5作为数据使用服务器端的公钥Pus加密生成密文M6,将M6发送到服务器端。
⑨服务器端收到报文M6后,使用私钥进行解密,界面后的数据右半部分赋值为S4,左半部分赋值为S3。
⑩判断S4是否等于随机数N2,如果相同,则S3就为IC卡的卡号ID,如果不相等,则服务器端断开中间件连接。
?服务器端访问密钥管理系统,将ID发给密钥管理系统,密钥管理系统通过密钥分散算法,生成对应的密钥K,发送给服务器。
?服务器端将密钥K,先使用服务器私钥PRs加密,然后再使用中间件的公钥PUc加密后得到密钥密文,将K2发送给中间件。
?中间件将收到的密文K2先使用中间件私钥PRc解密,再使用服务器的公钥PUs解密得到K3,即IC卡的对应密钥,至此,IC卡子密钥下载完成。
该流程的优点如下。①每次数据传输都采用随机数的方式,避免被第三方监听后重复发送数据攻击。②服务器端认证后给客户端返回随机数的目的,避免中间件认证成功后被第三方截获通道,伪造数据获取真实的密钥;同时,服务端对于下发的随机数增加计时功能,如果超时后中间件还没有发送请求传输密钥的指令,则服务器端主动断开中间件连接,中间件如果需要传输密钥,还必须再次认证才可以得到授权,这样能有效避免中间件一直占用服务器资源。③中间件每次认证后只能传输一次密钥,传输结束后,认证失效。
4 结论
本文详细介绍了几种常见的对称加密算法和非对称加密算法的实现原理,分析其优缺点,提出中间件在IC卡道路运输证件读写、数据传输方面采用的安全技術手段。伴随新技术的发展,IC卡安全性也会面临新的挑战,在应用领域应紧密结合国密技术的发展,对现阶段的IC卡密钥的升级换代工作进行进一步的深入研究。
参考文献:
[1]杨晓珂.IC卡道路运输证密钥管理系统研究与实现[D].西安:长安大学,2009.
[2]中华人民共和国交通运输部.IC卡道路运输证件:JT/T 825—2012 [S].北京:人民交通出版社,2012.