当前位置RFID世界网 > 技术文章 > 支付 > 正文

AFC系统中非接触式IC卡数据安全的研究与探讨

作者:叶飞,徐骏善 来源:微型机与应用2011年第15期 2012-02-22 17:44:34

摘要:针对AFC系统中非接触式IC卡存储数据和传输数据所受到的安全风险进行详细分析。从认证、加密、完整性三个方面对非接触式IC卡数据安全阐述了解决方案,并提出了部分实现。

关键词:IC卡[201篇]  CPU卡[21篇]  存储卡[2篇]  

   随着整个社会信息化进程的不断发展,尤其是国家“三金工程”的启动和发展,IC卡在我国的应用范围正不断扩大。与此同时,针对IC卡及其系统的各种攻击性犯罪现象随时可能出现,这就使得IC卡数据加密的研究和实现处于十分重要的地位[1]。

  IC卡的安全级别分为:非加密存储卡、逻辑加密存储卡、CPU卡。非加密存储卡不需要对其进行密码核对就可以进行读写操作,其安全性最差;逻辑加密存储卡需要先通过装置(一般为读卡器)将密码送入卡中,IC卡核对密码正确后,输出正确的应答信号,才能进行下一步的操作,这样可以防止对卡中信息的随意阅读和改写,其安全性远远高于非加密存储卡;CPU卡因其具有微处理器,具有更高的计算能力和和编程能力,故其安全级别比逻辑加密存储卡更高。

  在地铁AFC系统中,国内大部分都采用了逻辑加密存储卡,如南京地铁目前单程票都采用了MIFARE的Ultralight Token,而储值票(方卡)则采用了Mifare Desfire和Mifare Standard,这几种卡都是逻辑加密存储卡。事实上,非加密存储卡因其较差的安全性已经在很大程度上退出了市场。

  1 IC卡面临的安全问题 

  1.1 安全类型缺陷

  由于成本所限,IC卡本身很难保证足够的安全,非法用户可以使用合法的读卡器或者自构一个读卡器,直接与IC卡进行通信,从而很容易地获取IC卡内的所存数据,使IC卡面临数据被改写的风险。而IC卡的数据通信链路是无线通信连接,与有线连接不一样,无线传输的信号本身是开放的,这就给非法用户的侦听带来了方便。

  在读卡器中,除了中间件被用来完成数据的遴选、时间过滤和管理之外,读卡器只提供用户业务接口,但不提供能够让用户自行提升安全性能的接口。

  1.2 AFC系统中IC卡的安全问题

  (1)车票安全:防止伪造、克隆、篡改、泄密、偷盗;
  (2)设备安全:防止车票被偷盗后进行加值或复制,防止业务程序被攻击改变,防止重要参数及数据被改变;
  (3)数据安全:防止篡改、窃取、丢失、抵赖;
  (4)系统安全:防止攻击、破坏,泄露重要信息。

  对于IC卡单程票,经过半自动售票机、自动售票机等环节发售到乘客手中,到出站闸机再进行回收。在整个使用过程中,IC卡处于两种状态:(1)在系统运营人员管理中,包括单程票的采购、初始化、发售、回收、循环运输等环节。(2)在乘客手中,从购买单程票到出站之间,对于IC卡储值票,经过半自动售票机、自动售票机等设备发售到乘客手中后,将一直在乘客手中重复使用,直至被收回。两种情况中,IC卡在乘客手中时有更大的不安全风险。但是整体而言,单程票处在安全范围内比例要比储值票大,尤其是储值票,由于其储值金额可能较大,所以被攻击的可能性更大。

  2 密码学概述

  密码学通常被定义为在通信过程中进行解密和加密的过程和技巧。

  密码技术可用于解决以下三大领域内的安全问题[2]:
  (1)认证。用于可靠的确定某人或某物的身份,防止有人冒充合法用户或防止设备冒充合法资源。
  (2)加密。对数据进行编码以防搭线窃听的过程。加密所提供的保护也称为机密性业务,提供该业务用以保护数据安全,不被非法者偷听。
  (3)完整性。保证数据没有经过篡改,需要确认所收到的消息正是所发送的消息。

  本文中涉及到传输数据的安全和存储数据的安全两个方面。其中传输数据的安全主要包括数据的机密性、完整性、可获取性和真实性。数据的机密性、完整性和可获取性是通过对数据的加解密来实现的。数据的真实性是通过相互认证技术实现的。存储数据的安全是指数据的持久性,是通过存储区域的访问条件控制和冗余存储实现的。

  3 地铁非接触式IC卡的加密措施

  3.1 认证

  在对IC卡进行读写操作之前,必须对IC卡的密码进行认证。如果认证通过,才允许进行下一步操作。
  非接触式IC卡的密码认证分为五个步骤,其过程如图1所示。 


  (A)由IC卡向读卡器发送一个随机数据RB。
  (B)读卡器收到RB后,向IC卡发送一个令牌数据TOKEN AB=EK(RB||RA||ID||T1),其中RA是读卡器发出的一个随机数,ID是IC卡的物理唯一序列号,T1是附加的时间戳数据。EK表示一种加密算法,如ASH-1算法。
  (C)IC卡收到TOKEN AB后,对TOKEN AB的加密部分进行解密,并校验第一次由(A)中的IC卡发出的随机数RB是否与(B)中接收到的TOKEN AB中的RB相一致。
  (D)如果(C)环节校验结果正确,则IC卡向读卡器发送令牌TOKEN BA=EK(RA||RB||T2)给读卡器。
  (E)读卡器收到令牌TOKEN BA后,将对令牌TOKEN BA中的RB(随机数)进行解密;并检验由(B)中读卡器发出的随机数RA是否与(D)中接收到的TOKEN BA中的RA一致。

  地铁IC卡共有16个分区,每个分区都分别有自己的密码,互不干涉。因此即使通过了一个分区的的密码认证,也不能对其他的分区进行读写操作。如果想对其他分区进行操作,必须按照该分区密码重新完成上述的认证过程。每个分区都可独立地作为某一种应用,这也是IC卡一卡多用的原理。

  如果上述的每一个环节都能正确通过验证,则整个认证过程将成功。认证过程中的任何一个环节出错,则整个认证过程终止,认证过程必须重新开始。如果事先不知道IC卡的密码,全部搜索需要很长时间,随机地给出一个密码而打开IC卡的一个分区的可能性几乎没有。

  3.2 消息加密

  目前使用较广泛的密码算法主要有对称密钥算法DES(Data Encryption Standard)、IDEA(International Data Encryption Algorithm)和公共密钥算法RSA(由Rivest,Shamir,Adleman三人于1978年提出),DSA(Digital Signature Algorithm)等。

12

 已有0条评论 我要评论 联系编辑 分享到:网易新浪腾讯人人开心网豆瓣MSN


最新评论(加载最新评论):


上一篇:基于物联网的烟草商业企业物流作业管理

下一篇:基于移动支付的POS终端系统软件研究


相关文章:


关键字搜索:


新闻中心:IC卡[2130篇]  CPU卡[182篇]  存储卡[13篇]  

成功应用:IC卡[53篇]  CPU卡[5篇]  存储卡[0篇]  

解决方案:IC卡[109篇]  CPU卡[8篇]  存储卡[0篇]  


图片文章:

热点专题