RFID双向安全认证协议的设计及分析
2013-04-29张文丽赵峰
张文丽 赵峰
摘要:针对RFID系统的实际安全需求,利用数学和密码学技术方法,同时考虑交互认证协议的安全性,隐私性和有效性,对RFID系统认证协议进行研究,提出了一个RFID互认证协议。对其进行安全性及性能分析发现,该协议安全性能良好,功能全面,能够保证内容隐私、防止位置跟踪攻击、抵抗重放攻击、防止假冒攻击,并且具有前向安全性。
关键词:射频识别; 安全; 稳私; 认证; 互认证
中图分类号:TP391.4 文献标识码:A文章编号:2095-2163(2013)05-0091-03
0引言
射频识别(Radio Frequency Identification)技术是一种非接触的无线自动识别技术,主要由RFID标签和读写器组成。电子标签通过与读写器发生电磁耦合并获得能量,将自身的数据信息传递给读写器,所交换数据自动传送,系统无需任何物理接触就可以完成对特定目标对象的自动识别,并可在各种恶劣的环境下工作,同时还对多个标签进行数据交换,操作简单快捷[1]。因而在上世纪末,RFID技术就已逐渐进入到企业应用领域。
尽管RFID技术比传统的识别技术有着许多无法比拟的优点,但是,由于读写器和电子标签之间的信息是通过无线射频信号传播的,所传递的这些数据信息完全暴露在外面,任何人通过一定手段都能够得到这些信息,这样就会使得一些比较敏感的信息可能发生泄漏,因而会导致其存在传统识别技术并不曾面对的一些安全隐私方面的问题。
安全认证技术是解决RFID安全的关键之一。有了可靠的安全机制,就可以保证RFID标签中的数据、信息不被窃取、干扰、更改等,RFID系统中的个人信息,甚至是军事机密和商业机密才能不被人盗窃和利用。另外,由于电子标签本身在处理能力、存储空间、电源供给等方面的局限性,目前比较成熟的加密算法难以应用其中。因此,研究设计一种高效、安全、低成本的RFID安全认证协议具有重大的实用意义。
1相关工作
国内外专家针对RFID的安全问题提出了许多不同的对策,如电磁屏蔽方法,Kill命令机制,标签阻塞器的方法,有源干扰的方法等物理方法[2]。但是,这些物理方法都使得标签的利用率降低,成本增高,安全性也较差,甚至有可能涉及到法律问题。
物理安全机制主要用于低成本的RFID标签中,但物理安全机制存在着种种缺陷,而密码机制通过采用各种密码算法来保护RFID系统的安全和隐私,其实现方法较为灵活,是目前的研究热点。
由于标签资源的有限性,传统的密码算法不能被运用在协议的认证过程中。研究者提出了不同的解决方案,Sarma等人在2003年提出了Hash-Lock协议[3],此方案不能防止位置跟踪攻击,还会遭受假冒和重放攻击;为了在认证过程中避免信息的跟踪,对Hash-Lock方法加以改进,就得到了随机Hash-Lock协议[4];对其再改进,又得到了HSAP协议以及改进的协议IHSAP[5];Hash链方案[6]也是基于秘密共享的询问—应答机制,且标签具有自主更新ID的能力,但是Hash链协议只能对标签身份进行单向认证,并且不能抵抗重放攻击;另有基于杂凑的ID变化协议[2]、David的数字图书馆RFID协议[2]、分布式RFID询问—响应协议等被提出[2]。
以上提出的协议中,存在着各种缺陷和漏洞,部分协议存在严重的安全隐患,无法真正实现低成本RFID系统的安全要求。所以,随着研究的深入和应用的不断推广,迫切需要适用于不同应用领域的低成本RFID系统的安全认证协议。第5期张文丽,等:RFID双向安全认证协议的设计及分析智能计算机与应用第3卷
2协议设计
以上所提出的大多数协议,仅仅是读写器对标签的单向认证,使得合法的标签能够被读写器所处理,而在现实应用中,攻击者常常假冒合法读写器来读取标签中的数据信息,以此来谋取非法利益,所以,标签对于读写器的认证即显得尤为重要。
因此,RFID安全认证协议的设计,就要求一方面能够实现读写器对标签的认证,同时还要能够实现标签对读写器的认证,这种双向认证RFID的安全认证协议的安全性能才会更高。
下面,就提出一种双向认证的RFID安全认证协议,该协议的认证过程如图1所示。
2.1协议描述
初始状态:先为每个标签分配IDT值,为每个读写器分配IDR值,同时后台数据库应保存各个合法标签的IDT值以及各个合法读写器的(IDR,H(IDR))数据对。
2.2认证过程
(1) 读写器以时间戳TS,作为认证请求并发送至标签;
(2) 标签判断TS>TSlast是否成立,若成立,则将H(IDT‖TS)值发送给读写器,并置TSlast=TS;否则拒绝;
(3) 读写器根据自身IDR计算H(IDR),并把(H(IDT‖TS)),H(IDR),TS)值发送给数据库;
(4)数据库根据收到的TS,在IDT项目中计算并查询是否存在满足H(IDTk‖TS)=H(ITT‖TS)的记录,若找到满足等式的IDTk,则说明标签合法;然后数据库根据收到的H(IDR),并在(IDR,H(IDR))项目中查询是否有相对应的H(IDR)值,若有则说明读写器合法,最后,可根据H(IDR)在(IDR,H(IDR))项目中得到读写器的IDR值;
(5) 数据库计算出IDTIDRTS值,将此值发给读写器;
(6) 读写器根据自身IDR值可计算出IDTTS,然后计算H(IDTTS),并发给标签;
(7) 标签根据自身IDT、TS计算H*(IDTTS),比较H*(IDTTS)=H(IDTTS)是否成立,若成立,则标签通过读写器的认证,而同时,读写器通过标签的认证,从而标签开锁,并允许读写器读取其信息;若不相等,则认为读写器为非法读写器,标签不作任何回应。
双向认证的RFID安全认证协议如图1所示。
图1 双向认证的安全认证协议
Fig.1 Mutual authentication protocol of RFID3协议评价
3.1安全性分析
(1)保证隐私内容安全。只有授权的后台数据库和读写器才能够访问标签的详细信息,而所有信息均是利用Hash函数变换后进行传递的,Hash函数的单向性保证了标签的内容是安全的;
(2) 防止位置跟踪攻击。在该协议中,在每次成功认证后,标签都要更新其IDT值,在不同的通信时间,标签的H(IDT‖TS)值都不同,攻击者即使截获这些信息,也不能够据此确定标签位置,因此可以防止位置信息被跟踪;同时,在该协议中,时间戳TS防止了攻击者持续发送同一个数的这样的攻击方式,若每次认证请求时时间戳TS都不同,则标签的回应H(ID‖TS)信息都不同,从而攻击者无法由此确定标签所在的位置;
(3) 防止重放攻击。在该协议中,标签在每次完成成功认证过程后,要更新标签的值,则每次通信中标签的返回值都和上一次不同,所以攻击者无法使用之前窃听到的通信内容重放给读写器来欺骗后台数据库从而获得认证;
(4) 防止假冒攻击。加入了时间戳TS,标签的回应信息为H(IDT‖TS),如果是非法标签想冒充合法通过读写器的认证,而攻击者无法通过截获TS或H(IDT‖TS)得到H*(IDTTS)到和H(IDTTS), 所以,就无法通过读写器的认证;同样,若是非法读写器想要冒充合法通过标签的认证,也是要满足H*(IDTTS)=H(IDTTS)这个等式,攻击者根据窃听等方式截获的信息无法得到H*(IDTTS)和H(IDTTS),所以,非法读写器也就不能通过合法标签的认证了;
(5) 具有前向安全性。在该协议中,如果一个攻击者获取了该标签先前发出的信息H(IDT‖TS),那么攻击者利用此次截获的信息不能够确定该标签,也即攻击者不能够根据在本次通信中截取到的标签的输出H(IDT‖TS),然后通过某种推算,以此得出标签所发送的历史数据;
(6) 具有双向认证功能。在该协议中,只有合法的标签才能够得到读写器的认证,而同样,只有合法的读写器才能够得到标签的认证。在认证过程中,读写器收到标签的回应信息H(IDT‖TS)后,将(H(IDT‖TS),H(IDR),TS)数据对发送至后台数据库,后台数据库根据收到的数据来验证标签以及读写器的合法性。若是非法标签,在验证过程中,后台数据库根据收到的TS,在IDT项目中计算并查询是否存在满足H(IDTk‖TS)=H(IDT‖TS)的记录时,理论上是不会找到满足等式的IDTk,从而非法标签就不能继续之后的认证过程;若是非法读写器,后台数据库根据收到的H(IDR)并在(IDR,H(IDR))项目中查询是否有相对应的H(IDR)值时,理论上是不会找到满足等式的H(IDR)来的,从而非法读写器就不能继续之后的认证过程。只是当且仅当读写器和标签同时合法时,才能互相通过认证。
以上对该协议的安全性进行了详细分析,现将文中提到的部分协议的安全性进行比较。
3.2性能分析
由以上的分析可知,该协议有比较好的安全性能,RFID安全认证协议除了安全性能要得到保证以外,还要在计算时间和存储容量方面进行考虑以降低标签成本,从而降低RFID系统的成本。通过计算标签、读写器和后台数据库在完成整个认证过程中所需要的计算时间和存储空间来对协议进行评估。
为了方便起见,假设系统中标签的数目为n,,L表示128个比特位,标签和读写器的标识只有128bit,也就是1L。H代表进行Hash运算的次数,G代表生成随机数的次数,T代表时间戳的生成次数,X表示进行异或运算的次数。
对于本文提到的部分安全认证协议,其时间复杂度和空间复杂度如表2所示。
从表2可看出,Hash-Lock协议、随机Hash-Lock协议、以及HSAP协议都有n数量级以上的运算量,这使得计算量过大,对RFID系统的成本和运算速度都带来了影响。表2文中部分协议的存储空间和计算量比较
Tab.2 Comparison of capacity and computing with different authentication protocol
安全协议计算时间存储容量标签读写器后台数据库标签读写器后台数据库Hash-Lock协议1H——2L—3nL随机Hash-Lock协议1H+1G—nH1L—nLHSAP协议3H+1G—2H2L—4nLIHSAP协议2H+1X1T (2n+1)H+1X2L—2nL本文协议2H+1X1T+2H+1XnH+2X2L1L(n+2)L在本文提出的双向认证协议中,标签的存储容量小,只需要2L,同时不需要随机数产生器,所以计算时间不大,标签成本大大降低,RFID系统成本也会因此而降低。
4结束语
本文提出了一种基于Hash函数的RFID安全认证协议,从安全性能,计算速度和存储容量三方面考虑,本文提出的双向认证的RFID安全认证协议更优于其他协议。首先,在安全性方面,该协议能够较好地解决RFID系统中的安全隐私问题,通过对其进行安全性分析可知,该协议可以保证内容隐私、防止位置跟踪攻击、抵抗重放攻击,防止假冒攻击,具有前向安全性,并且具有双向认证功能,这是协议最基本的要求,虽然这需要计算速度和存储容量上的一点代价。但是与其他一些协议相比,该协议的计算量并不是太大,其次对存储容量要求非常低,并且该协议是基于Hash函数的RFID安全认证协议,所以具有计算量小,成本低的特点,由此可知该协议是一种安全、高效、低成本的RFID安全认证协议。
参考文献:
[1]邓淼磊,马建峰,周利华.RFID匿名认证协议的设计[J].通信学报,2009,30(7):20-26.
[2]周永彬,冯登国.RFID安全协议的设计与分析[J]. 计算机学报,2006,29(4):581-589.
[3]SARMA S E,WEIS S A, Engels D W.RFID systems and security and privacy implications[C]//Proceedings of the 4th International Workshop on Cryptographic Hardware and Embedded Systems.Berlin:Springer-Verlag,2003:454-469.
[4]WEIS S A, SARMA S E, RIVEST R L,et al. Security and privacy aspects of low-cost radio frequency identication systems[C]//Proceedings of the 1st Security in Pervasive Computing. Berlin:Springer-Verlag,2003:201-212.
[5]张文丽.RFID安全认证协议HSAP的分析及改进[J].智能计算机与应用,2012,2(5): 78-80.
[6]OHKUBO M,SUZUKI K,KINOSHITA S. Hash-chain based forward-secure privacy protection scheme for low-cost RFID [C]//Sendai:SCIS,2004:719-724.