周 晔
(1.中共四川省委省直机关党校科研处 四川 610017;2.西南交通大学信息安全与国家计算网格实验室 四川 610031)
射频识别技术RFID(Radio Frequency Identification)是一种利用射频通信实现的非接触式双向通信技术,以达到自动识别目标对象并获取相关数据的目的,具有精度高、适应环境能力强、抗干扰性强、操作快捷、非可视识别等多方面优点。因此,RFID系统已被越来越多地应用于零售、物流、仓储、自动收费、图书管理、军事等领域[1]。
然而,随着RFID技术的广泛应用,所引起的安全和隐私问题也日益突出。RFID系统的安全问题逐渐成为国内外学者的研究热点。当前RFID系统的安全机制主要有物理安全机制和认证安全机制两大类。但由于物理安全机制受到成本和法律等因素的限制,使得认证安全机制,特别是基于Hash函数的认证安全机制越来越受到人们的青睐,其主要研究内容则是利用Hash函数的单向性这一特点来设计和实现符合RFID安全需求的认证协议。因此,设计安全、高效、低成本的基于Hash函数的RFID认证协议成为了一个新的具有挑战性的问题。
RFID系统一般由标签(Tag)、读写器(Reader)以及后端数据库(Database)三大部分组成。Tag是RFID系统中数据的载体,由IC芯片和天线构成,存储着被识别物体的相关信息。Reader可利用射频技术对Tag中的信息进行读写,并能够将读取的信息传送到DB。DB则具有强大的数据分析和存储能力。其中Tag和Reader之间是进行无线射频通信,而Reader与DB之间则是有线通信。一般而言,我们通常做如下基本假设:Tag与Reader之间的通信信道是不安全的[2];而Reader与DB之间的通信信道是安全的。RFID系统的基本组成如图1所示。
图1 RFID系统组成
RFID的安全风险主要来自于“系统开放”的设计思想。此外,RFID设计和应用的目的就是了为降低成本,提高效率。所以要求被大规模使用的Tag具有低廉的价格和简单的元件,从而不能实现复杂的密码算法。这些局限对RFID系统的安全机制的设计带来了特殊的要求。
一般来说,一个安全的RFID系统应该解决3个基本的安全问题:保密性、信息泄露和可追踪性[2]。具体说来需要满足以下几个方面的安全需求:
1.2.1 前向安全性
指攻击者不能通过联系当前数据和历史数据对Tag进行分析获得Tag中的隐私信息。
1.2.2 不可分辨性
指攻击者即使获得了来自于不同Tag的输出,也无法区分出是那一张Tag的输出;另一方面是即使攻击者获得了来自于同一张Tag的多次输出,同样无法区分该Tag的输出。
1.2.3 访问控制
指避免攻击者伪装成合法的Reader进行未授权的扫描;同时保证合法的Reader能够顺利读写Tag中的信息。
1.2.4 抗通信量分析指攻击者即使获得了大量的通信数据样本也无法从中分析获得一定的规律性,从而破解通信协议。
1.2.5 抗重放攻击
指攻击者无法通过重放截取的信息而骗取Reader,来达到通过认证的目的。
为解决RFID系统的安全问题,国内外学者作了大量的研究,提出了许多认证方案。下面将详细分析几种典型的基于Hash函数的RFID认证协议。
Hash-Lock协议[34]是由Sarma等人于2003年提出的一个RFID认证协议。为了避免信息泄露和被追踪,在该协议中,每个Tag都有自己独立的访问密钥key,并使用metaID来代替真实的TagID,其中 m etalID= H(key)。DB存储了每一个 Tag的 key、metalID以及ID。其协议的认证流程如图2所示。
图2 Hash-Lock协议
该协议利用Hash函数的单向性这一特点,使用metalID来代替真实的 TagID,能够在一定程度上解决访问控制和隐私保护的问题。但是由于 metalID一旦生成,在以后的所有认证过程中也就会保持不变。因此,攻击者极有可能利用截获的metalID对 Tag进行位置追踪、重放攻击和假冒攻击。所以,Hash-Lock协议存在着严重的漏洞,完全没有满足安全需求。
随机化 Hash-Lock协议[5]是由 Weis等提出的一种Hash-Lock协议的改进形式。Tag中除了采用了Hash函数外,还嵌入了伪随机数发生器,协议作者设想对于Reader发出的不同询问,以Tag的ID值串连上随机数值后再进行Hash运算予以应答。其协议的认证流程如图3所示。
图3 随机化Hash-Lock协议
在该协议中,尽管提出了添加伪随机数以保证数据在每次传输过程中都不一致的想法。但该协议的缺陷在于,一是由于伪随机数发生器是集成在Tag内部,导致了运算能力有限的低成本Tag实现该方案的困难。二是在协议的第5步,Tag经Reader认证通过后,Reader将Tag标识ID以明文的方式通过前向信道传送,因此攻击者一旦截获了Tag标识ID,就可以对Tag进行有效的追踪,同时,也可以用截获的ID假冒成合法的Tag。三是在认证过程的第4步,DB都需要将系统内所有Tag的标识ID全部发送给Reader,在拥有大量Tag的系统中,会产生巨大的通信量并有可能造成系统的延时。因此,该协议在安全性和适用性上也完全没有达到预期的目标。
Hash链[6]协议是NTT实验室的Ohkubo等于2004年提出的一个基于共享秘密的询问-应答的协议。在该协议中,Tag集成了H和G两个不同的Hash函数,并与DB拥有共同的初始秘密值1,ts 。同时,DB还存储了所有Tag的标识和共享秘密数据对(IDt,1,ts)。作者认为该协议在前向安全性上是无懈可击的。其协议的认证流程如图4所示。
图4 Hash链协议
在该协议中,Tag具有自主更新能力,具有了不可分辨性和前向安全性,从而可以在一定程度上有效地防止因固定输出而引起的跟踪、假冒和重放攻击。然而,从整个协议的认证过程来看,该协议是一个单向认证协议,只能实现Reader对Tag的认证而不能使Tag认证Reader的合法身份。同时,攻击者一旦截获了 at,j= G (st,j),就能进行假冒和重传攻击,伪装成合法Tag通过认证。在适用性方面,为了实现协议,Tag中集成了两个Hash函数,也相应增加了Tag的成本。
针对以上几种安全协议存在的各种安全隐患,效率低下等问题。本文在研究国内外学者提出的各种协议的基础上,提出了一种基于随机数和Hash链的 RFID双向认证协议,实现了Reader和Tag身份的双向认证,并具有前向安全性、抗重传、假冒、窃听和位置跟踪等优点。
在系统运行之前,为Database分配一个初始秘密值0,ts,Tag要存储一个初始秘密值 st,1= H( st,0),同时DB还存放Tag的身份IDi和经Hash运算计算后的秘密值1,−jts 的序列对(IDi、 st,j−1),则此协议的双向认证过程如图5所示。
①Reader向Tag发送Query和随机数R;
②Tag 使 用 当 前 秘 密 值jts,计 算at,j= G (st,j||R),Tag将 at,j发送给Reader;
③Reader将jta,和R发送给DB;
④DB系统针对所有的Tag数据项查找并计算是否存在某个IDi( ni≤≤1)以及是否存在某个j( mj≤≤1,其中m为系统预设置的最大链长度)使得at,j=G (H (st,j−1)||R)成立,若有,则DB存储 st,j=H (st,j−1),Tag通过DB的验证;DB计算 bt,j= G(H (St,j)||R ||IDi),并将 bt,j发送给Reader;
⑤Reader将jtb,发送给Tag;
图5 Hash链双向认证协议
本协议在原Hash链认证协议的基础上,增加了随机数以及Tag对Reader验证这一环节。除具有Hash链协议的前向安全性以外,还具有以下几个特点。
3.2.1 实现了Tag—Reader身份的双向认证
3.2.2 防窃听
Tag和Reader之间的通信都经过了Hash函数G加密。根据Hash函数的单向性,攻击者无法根据密文推断出明文。
3.2.3 抗重放攻击
每次认证,后台数据库和Tag共享的秘密都是变化的。攻击者即使截取到随机数 R, at,j= G( st,j||R)或者bt,j= G( H (st,j)||R||IDi),根据Hash函数的抗碰撞性以及R的随机性,也无法伪装成合法的Tag通过认证。
3.2.4 抗假冒攻击
攻击者即使截获了随机数R和 at,j= G( st,j||R),并伪装成合法Tag将以上内容发送给Reader,但由于R和jts,均是变化的,所以,攻击者也无法通过Reader认证。
3.2.5 防位置跟踪
由于随机数R和jts,的值在每一次认证过程中都不同,因此Tag每次给Reader的响应 at,j= G( st,j||R)也是不同的。因此可以抵抗攻击者根据特定的输出而对Tag进行定位。
3.2.6 不可分辨性
对于Tag对Reader的响应 at,j= G(st,j||R)。根据Hash函数的单向性和随机数R的不确定性。攻击者即使获得了多个Tag的输出,也无法区分出所对应的具体 Tag的输出。即G(st,j||R)≠G(si,j||R);攻击者即使获得了同一个 Tag的输出,也无法区分出该 Tag的具体某一次输出。即G(st,j||R)≠G(st,m||R')。
本文在分析总结已有的基于Hash函数的RFID认证协议的基础上,提出了一种新的基于Hash链的RFID双向认证协议。通过对该协议的定性分析,证明该协议具有前向安全性、抗重放、哄骗、窃听、跟踪等优点。通过 BAN逻辑对其进行形式化分析,结果表明该协议完全能够满足安全需求。弥补了当前Hash链认证协议的不足。但本方案在一次双向认证过程中,Tag需要进行3次Hash运算,这与Tag低成本的要求产生了矛盾。还有待于进一步研究。
本文的创新点在于,提出了一种基于Hash链的RFID双向认证协议。并通过形式化方法证明该协议能够满足系统安全的需求。具有抵抗各种攻击的特点。在下一步研究中,将对该协议进行具体的仿真和评估,使其成为完整的RFID系统安全体系。
[1]游战清,李苏剑.无线射频识别技术(RFID)理论与应用[M].北京:电子工业出版社.2005:13-17.
[2]周永彬,冯登国.RFID安全协议的设计与分析.计算机学报,2006,29(4):581-589.
[3]Sarma S.E.,W eis S.A.,Engels D.W..RFID systems an security and privacy implications.In:Kaliski B.S.,Koc C.K.,Paar C.eds..Proceedings of the 4th International W orkshop on Cryptographic Hardware and Embedded System ( CHES 2002).Lectures Notes in Computer Science 2523.Berlin:Springer-Verlag,2003,454-469.
[4]Sarma S.E.,Weis S.A.,Engels D.W..Radio-frequency identification:Secure risks and challenges.RSA Laboratories Cryptobytes,2003,6(1):2-9.
[5]W eis S.A.,Sarma S.E.,R ivest R.L.,Engels D.W..Security and privacy aspects of low-cost radio frequency identification systems.In:Hutter D.,Müller G.,Stephan W.,U llmann M.eds..Proceedings of the 1st International Conference on Security in Pervasive Computing.Lectures Notes in Computer Science 2802.Berlin:Springer-Verlag,2004,201-212.
[6]Ohkubo M.,Suzuki K.,Kinoshita S.Hash-chain based forward-secure privacy protection scheme for low-cost RFID.In:Proceedings of the 2004 Symposium on Cryptography and Information Security(SCIS 2004),Sendai,2004,719-724.
[7]骆宗伟,周世杰,LI Jenny.Enhancement of a Lightweight RFID Security Protocol.电子科技大学学报,2007,36(6):1172-1178.