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