基于RFID技术的无线Key模型
1 引言
随着电子商务和网上银行的普遍应用,USBKey的安全使用成为日益关注的问题。在公司、银行、交易所等一些公共场所,如果用户临时有事暂时离开而又忘记拔掉USBKey,这时非法者就有可能趁虚而入,窃取用户隐私或者利用存储在USBKey中的证书进行网上非法交易,给用户造成隐私泄漏和金钱损失。所以,有必要设计一种用户可以随身携带的USBKey来解决这方面的安全问题。这样既能方便用户,而且更加安全。本文正是在这种问题背景下设计了一种基于RFID技术的无线Key模型,并对其安全性进行了分析。
2 RFID 安全性分析
RFID系统主要包括:电子标签 (Tag)、读卡器(Reader)和微型天线(Antenna)。由于集成的RFID系统实际上是一个计算机网络应用系统,因此安全问题类似于计算机和网络的安全 问题。一般地,RFID的安全威胁除了与计算机网络有相同之处外,还包括标签数据、通信链路和阅读器协议三种类型的安全威胁。标签数据的安全威胁表现为非法用户可以利用合法的阅读器或者自构一个阅读器,直接与标签进行通信,造成标签内数据泄露;通信链路上的安全威胁主要表现在黑客非法截取通信数据、非法用户通过发射干扰信号来堵塞通信链路、利用冒名顶替标签向阅读器发送数据以及发射特定电磁波破坏标签等方面;阅读器协议 安全威胁是指在阅读器中,除中间件被用来完成数据的遴选、时间过滤和管理之外,只能 提供用户业务接口,而不能提供能让用户自行提升安全性能的接口。
由此可见,如何解决RFID技术的安全缺陷成为其能否得到更大程度应用的关键。而本文正是利用USBKey的操作安全性提出了一个将RFID技术与USBKey相结合的模型。
3 无线Key模型设计
3.1 模型设计
无线Key的功能实现需要用户机终端、读卡器、无线Key等硬件,其中标签内嵌在无线Key内。其模型设计如图1所示:
图1 基于RFID技术的无线Key模型
读卡器包括控制单元、射频接口、加/解密逻辑单元和随机数发生器四部分。其中控制单元完成以下功能:与用户机终端进行通信;信号编码与解码;控制与应答器的通信过程;以及进行读卡器与无线 Key内标签的身份认证。射频接口的功能是产生高频发射功率以便 启动标签和提供能量;调制发射信号并将数据传送给应答器以及接受并解调应答器高频信号。无线Key由用户随身携带,其硬件构成如上图所示。其中ROM单元存放的是标签的ID号。COS即芯片操作系统,是无线Key的核心,它主要实现控制无线Key 和外界的信息交 换,管理存储器单元并在无线Key 内部完成各种命令的处理等功能。
无线Key的认证过程主要分为两个步骤:第一步:利用RFID技术实现标签与读卡器之间的双向认证;第二步:在标签与读卡器进行双向认证无误后,用户机终端提示用户输入PIN码,进行主机对用户身份的认证。
3.2 协议设计
这里,假设读卡器和用户机终端数据库的通信是在一条安全可靠的有连接信道上进行而读卡器和无线Key之间的通信是不安全的。并且在用户机终端和无线Key 的RAM 中已 经存储了读卡器和无线Key双方的证书。协议描述过程如下:
(1)当带有标签的无线Key进入到读卡器的作用范围内时,读卡器会向应答器发送请求。
(2)应答器产生响应,并由无线Key 的COS执行一系列操作:先由随机数发生器产生随机数R1并存储到RAM单元,然后取出RAM单元中存储的读卡器的证书Certreader,在加/解密逻辑单元中利用读卡器证书里的公钥KUB对随机数R1 进行加密。最后通过应答器再发送给读卡器,如图2所示:
图2 应答器响应并利用KUB发送R1
(3)读卡器射频接口接收到信号后,读卡器的控制单元先从用户机终端取得自己的证书,再由加解密部件进行解密获得R1,接着调用随机数发生器(RNG)产生一个随机数R2并存储到用户机终端的 RAM中,然后再从用户机终端取得无线Key的证书CertKey,在加/解密逻辑单元中执行以下操作:首先利用自己的私钥KRB 对R1、R2 进行签名,再利用无线Key 的公钥 KUA 对上一步的结果进行加密得到数据Token1,即:Token1= EKUA(DKRB(R2|| R1))。最后读卡器通过射频接口将Token1 发送给无线Key 端,如图3所示。
图3 发送Token1给无线Key
(4)应答器收到后,COS从RAM单元中取出读卡器和无线Key的证书,交由加解密逻辑单 元完成解密和验证读卡器的过程:首先用无线Key的私钥KRA 进行解密,接着利用读卡器 的公钥KUB进行验证,得到R1和R2并存储R2,将通过解密得到的R1 与第⑵步中存储的R1进行比较看是否一致。如果没有改变,则进行下步操作。否则标签进入休眠状态。
(5)无线Key端的随机数发生器产生另一随机数R3并存储,同时从ROM中取得标签的ID号, 利用读卡器和无线Key的证书,将R2、R3 和ID号交由加/解密逻辑单元进行加密和签名操 作得到数据Token2,即:Token2 = DKRA(EKUB(R3|| R2||ID))。完成后应答器将Token2 发送 给读卡器,如图4 所示。
图4 无线Key发送Token2给读卡器
(6)读卡器接收后,从用户机终端取得读卡器和无线Key的证书,在加解密逻辑单元中完成 验证标签和得到标签ID 号的过程:首先用无线Key 的公钥KUA 进行验证,再利用自己的私钥KRB解密得到随机数R2、R3 和ID号码。将得到的R2 和ID 号与存储在用户机终端RAM 中的R2 和ID 号进行比较,如果一致标签得到验证。读卡器再将得到的R3 利用自己的私钥 进行签名后发送给无线Key,以便无线Key接收后确认读卡器已收到自己的ID号。
(7)无线Key端应答器收到后进行解密,将计算得到的R3与第⑸步存储的R3进行验证比较,以确认是正确授权的读卡器接收了I 号。
至此,完成了读卡器与标签之间的双向认证,并且读卡器安全地获得了标签的ID号, 为下面进行用户身份的认证提供了前提。
(8)用户机提示用户输入无线Key对应的PIN码,输入后保存到用户机的RAM中;同时COS调用密钥生成器,生成一对公/私钥,将公/私钥存储到无线Key的RAM单元中,并把产生的公钥发送给读卡器。
(9)读卡器接收后,利用该公钥对上一步存储的PIN码进行加密并发送给应答器。
(10)应答器接收并取出存储在RAM 中相对应的私钥进行解密,得到用户输入的PIN码,然后与存储在RAM单元中的PIN码进行比较,验证用户身份。
验证通过后,用户就可以利用无线Key 进行网上交易签名或者其它电子商务活动了。
4 模型安全性分析
在虚拟的网络世界,通信安全无疑是要考虑的首要问题。而对于无线Key 模型,如何 解决无线射频环境中的通信成为其安全与否的关键。下面具体从5 个方面来分析。
(1)读卡器与标签之间通信的保密性。读卡器与标签都采用公钥密码算法(例如RSA 算法)对数据进行加/解密运算,即使被攻击者截获,也无法解密,有效地保证了数据在不安全信道 传输的安全性和完整性。
(2)防止重放攻击。在标签对读卡器认证的过程中,读卡器收到的R1是随机产生的,下一次 收到的R1是不一样的,因此攻击者再重放Token1给标签是不能通过验证的,同理标签应答器收到的R2以及后来产生的R3也是如此。因此,读卡器和标签都可以抵御重放攻击。
(3)防止中间人攻击。读卡器与标签之间采用公钥密码算法有效地防止了攻击者进行中间人攻击的可能。攻击者可以获得读卡器和无线Key所对应的证书,从而获得公钥。但是在应答器利用读卡器的公钥将随机数R1加密并发送给读卡器后,攻击者即使截获,也无法解密获得R1。
(4)保护隐私。在本模型中,RFID 标签对读卡器是有选择性的,读卡器取得标签信息之前,标签会对读卡器的合法性进行验证,如果读卡器没有通过验证,标签就认为读卡器是非法的,不会对读卡器做出任何相应。这种机制很好地保护了标签信息隐私的安全,非授权读卡器是 不可能取得标签中的信息,也不能对目标进行跟踪。
(5)防止USBKey被利用进行非法交易。由于采用了RFID技术,用户走出读卡器的作用范围后,身上随身携带的无线Key自动与终端PC机断开连接,这样可以防止用户因为疏忽而忘记 USBKey还插在PC机USB端口上的情况。这不仅方便了用户,而且也杜绝了不法分子冒充用户进行非法交易活动。
5 总结
本文在对RFID安全性进行分析的基础上,提出设计了基于RFID 技术的无线Key模型。与单一的RFID 技术应用相比,本模型不仅充分利用了RFID技术便捷的优点,而且还结合了USBKey的加密技术,使安全性和方便性得到了充分发挥。
本文作者创新点:在对RFID安全性进行分析的基础上,提出设计了基于RFID技术的无线Kev模型,使安全性和方便性得到了充分发挥。