一种基于Hash的RFID双向认证协议*

2011-02-27 07:28伍新华唐翠婷
关键词:读写器阅读器攻击者

伍新华 唐翠婷

(武汉理工大学计算机学院 武汉 430063)

0 引 言

RFID技术是物联网的核心技术之一,RFID系统由3个部分组成:RFID标签、RFID标签读写器和后台数据库.一般认为,标签读写器至后台数据库的通信通道为安全信道,标签和标签读写器之间的通信通道为不安全信道.本文主要探讨的是基于标签和标签读写器之间(为描述方便,称其为无线数据采集区域)的不安全信道上的安全问题.无线数据采集区域主要涉及到非法访问、跟踪、窃听、伪造、数据演绎、重放攻击、DOS攻击、标签失效[1]、物理攻击等安全问题.

RFID系统安全问题的关键在于阅读器与标签能够相互认证识别,且在通信过程中不会引起消息和个人隐私泄密等.因此,一种高效、安全的RFID认证协议就显得尤为重要.目前大多数协议重视对标签的安全认证,而忽略了对阅读器的安全识别,以致未授权阅读器仍可通过安全认证,导致标签信息的泄露;重视复杂的运算算法来加大通信信息本身的可辨识度,试图使攻击者不能获取真正有利信息,却忽略了RFID系统本身资源的局限.

本文剖析了具有代表性的基于Hash函数的RFID安全协议,针对它们的缺陷,提出了改进后的RFID安全协议——HASH-IMAP(improved mutual authentication protocol)协议.因为采用的运算大部分是基于通过性能分析和安全性对比,说明了该协议是高效和安全的.

1 基于Hash函数的RFID安全协议研究

针对RFID系统的无线数据采集区域的安全问题,研究者提出了许多安全认证协议,例如Hash-Lock协议[2]、随机Hash-Lock协议[3]和Hash-Chain协议[4]等.文献[5]在对Hash-Lock,随机Hash-Lock,Hash-Chain协议的分析基础上,实现了数据库与标签的安全认证.阅读器产生的随机数R,不断更新的S值,使得每次认证过程中阅读器与标签的通信信道上的消息不相同.加之每次认证信息均经过Hash运算,使得消息内容不易被破译和演绎.但当重放认证请求时,标签给予同样回应,攻击者可对此标签进行跟踪定位.S的更新方法是:标签计算H(ID||S),并与所接收值进行对比,相同则让数据库与标签同步更新S.此方法模糊不清,易给攻击者可乘之机.

文献[6]中,若认证成功,则数据库增加一条记录(H(H(Key)),IDk,H(Key),i),并将第i条记录中Pointer指向该新增记录编号,其中i为标签IDk的初始记录标号.下一次与标签IDk通信更新Key值时,则会覆盖掉第i条记录,以此类推.相对于文献[5]中的密值更新模糊,文献[6]将初始记录中的Pointer指向成功认证(标签Key值更新)后的另一条标签记录,即一个标签对应数据库中两条记录(一份是当前的认证记录,另一份是上一次的认证记录),成功解决了数据库与标签的密值不同步而带来的安全隐患.但是一个标签对应数据库中两条记录,占用较多资源,当标签数量急剧增多时,数据库的存储空间也需急剧增大,且仍未解决重放攻击问题.

文献[7]设置2个k值:K存储当前k值,Klast存储上一次成功认证时的k值.用一个标签对应数据库中的一条记录,来优化一个标签对应两条记录的存储方案,同样成功解决了标签与数据库密值的更新同步的问题.阅读器和标签均产生随机数,有效地解决了重放攻击问题.

文献[5-7]的协议均采用保持标签ID不变、更新密值的方式,在基于Hash函数的安全认证协议上进行了相关的改进.显然,文献[7]在以上三种方案中的安全性能是最好的.在牺牲部分计算和存储开销的代价下,它成功实现了标签与数据库的双向认证.阅读器和标签都产生随机数有效解决了重放攻击带来的安全隐患;不断更新密值可提高认证协议的安全性.采用了存储2个密值域的方式,不仅简单地解决了数据库存储开销问题,还能抵御攻击者的恶意攻击造成的密值不同步的隐患.但第三种方案还是存在一些不足:(1)非法访问.合法但未授权的阅读器仍可获得标签的安全认证;(2)DOS攻击.为保证安全认证牺牲了过多的计算开销.每一次认证过程中,数据库最多要计算O(n)的Hash运算,极大的加重了数据库的运算负担.攻击者的持续攻击有可能造成数据库的不堪重负;(3)标签失效.标签在每次认证过程中,除需存储自身产生的随机数外,还要存储阅读器发送的随机数.攻击者的持续攻击有可能造成标签存储资源的耗尽.

2 HASH-IMAP安全认证协议

本文提出了一种阅读器与标签双向认证的HASH-IMAP安全协议.该协议同样是基于Hash函数的,且通过为阅读器设置标识来防止非法访问,并在保证安全的前提下尽可能采用简单的运算来减少系统开销,实现了阅读器与标签的安全双向认证.

2.1 初始条件

数据库中的记录主要包括4列:ID,keyold,keynew和ID′R.其中,ID为标签的惟一标识符,ID′R为合法授权的阅读器的唯一标识符,keyold是上一次成功认证的key值,初始值为0;keynew是本次认证过程中生成的key值,初始值为数据库与标签共享的随机关键字.

2.2 协议描述

HASH-IMAP安全协议执行过程见图1.

图1 HASH-IMAP执行过程

图1中:(1)阅读器产生随机数R1,将发送请求Query与R1传给标签;(2)标签生成随机数R2并存储,计算key⊕H(R1⊕R2),将结果连同R2一起发送给阅读器;(3)阅读器将接收到的R2,key⊕H(R1⊕R2)连同R1发送给数据库;(4)数据库首先计算H(R1⊕R2),与key⊕H(R1⊕R2)异或运算后得到标签的key值,再与每条记录中keynew进行比较.若存在keynew=key,则验证了标签的合法性.然后计算key′=H(key||R2),更新keyold=keynew,keynew=key′.再分别计算H(key′⊕R2)和H(ID′R⊕R1),并将两结果异或,即H(key′⊕R2)⊕H(ID′R⊕R1),将其传给阅读器,若不存在keynew=key,再验证是否存在keyold=key.若存在,则验证了标签的合法性,后续处理过程同上,若以上两种情况均不存在,则说明此标签为非法标签,可不予处理;(5)阅读器接收到数据库传过来的H(key′⊕R2)⊕H(ID′R⊕R1)后,根据自身IDR计算H(IDR⊕R1)与之异或,并将结果,即H(key′⊕R2)发送给标签;(6)标签计算H(H(key||R2)⊕R2),并与接收到阅读器传过来的H(key′⊕R2)比较.若相等,则验证了读写器的合法性,且将H(key||R2)赋给key;若不等,则说明此读写器为非法不授权读写器,可不予处理.

3 HASH-IMAP协议安全性与效率分析

3.1 HASH-IMAP协议安全性能分析

1)非法访问 未授权的读写器不能通过协议认证.因为只有合法的阅读器的IDR等于数据库中对应标签记录存储的ID′R,继而在步骤5中用自身IDR计算H(IDR⊕R1),再将得到的结果H(key′⊕R2)传给标签.若为非法阅读器,则无法计算H(IDR⊕R1),故步骤6中标签收到的结果肯定不能通过验证,标签不予反应;若为不授权阅读器,因无法得知授权阅读器ID′R,只能用自身ID″R计算H(ID″R⊕R1),再与H(key′⊕R2)异或,显然不能得到结果H(key′⊕R2),故步骤6中标签收到的结果还是不能通过验证,标签不予反应.

2)跟踪 阅读器和标签均可产生随机数,故两者之间每次通信的数据均不相同,攻击者无法通过相同信息的反馈来达到定位跟踪的目的.

3)窃听 窃听不能禁止,但阅读器和标签之间的通信采用Hash函数与异或操作,可有效防止攻击者通过窃听到的数据来达到不可告人的目的.

4)伪造 伪造的标签不能通过数据库后台的验证,数据库不予反应;同样,伪造的阅读器亦不能通过标签的验证,标签不予反应.

5)数据演译 阅读器和标签之间的通信采用Hash函数与异或操作,即使攻击者利用某种手段获得了某一个标签上的数据,也很难推断出通信的真实信息.

6)重放攻击 阅读器和标签均可产生随机数,攻击者窃听到数据后进行重放攻击并不能通过数据库和标签的认证.

对于标签来说:(1)假设攻击者重放步骤1,但由于标签自身能产生随机数R2,所以标签的反应信息key⊕H(R1⊕R2)每次都不一样,不能达到跟踪定位的目的;(2)假设攻击者重放或伪造步骤1后,重放步骤5,以造成上次认证失败的假象,但由于标签产生的随机数R2贯穿整个协议过程,故攻击者伪造的阅读器不能通过标签验证.

对于阅读器来说:显然,攻击者重放步骤2,阅读器收到信息后传至后台数据库.由于key⊕H(R1⊕R2)中的R1并非此次阅读器产生的随机数,故数据库经过计算,并不能找到与之相符的数据记录,伪造标签不能通过后台验证.

7)DOS攻击 假设共有n个标签信息.阅读器在整个协议中有1次Hash运算,2次异或运算;数据库在整个协议中,最多有2n次比较运算,4次Hash运算,5次异或运算.

8)标签失效 标签在整个协议过程中需3次Hash运算,一次异或运算,且只需存储其自身产生的随机数R2,用于后期key值更新及阅读器合法性验证.

9)物理攻击 物理攻击不可避免.

3.2 HASH-IMAP协议性能对比分析

HASH-IMAP协议与以上3种协议的常驻变量存储开销对比如表1所列.其中,假设每个域的存储长度均为L,X表示未涉及.

表1 协议存储开销对比

HASH-IMAP协议与以上三种协议的计算开销对比如表2所列.其中,假设一次Hash运算所需时间为1h,一次异或运算所需时间为1XOR,X表示未涉及.

表2 协议计算开销对比

HASH-IMAP协议与以上3种协议的安全性能对比如表3所列.其中,X表示未满足,○表示满足,-表示部分满足.

通过对4种协议的存储开销、计算开销和安全性能对比分析可知,HASH-IMAP协议的存储开销和计算开销居中,安全性能最好.认证协议最重要的是要保证认证过程的认证性、完整性、秘密性和不可抵赖性.在保证安全性的前提下,适当牺牲部分计算开销和存储开销是很有必要的.而HASH-IMAP协议在已有协议的优点基础上,有效抵御了各种攻击手段,保证了认证过程的安全持续.

表3 协议安全性能对比

4 结束语

本文提出的安全认证协议HASH-IMAP中,以Hash函数加密通信信息,让数据库采用异或运算替代较复杂的Hash运算,减少了其计算开销,同时防止了非法不授权的阅读器对标签的非法访问,并及时释放了标签中的过多冗余存储信息,有效地完成了阅读器和数据库的双向安全认证过程.

[1]Han D G,Takagi T,Kim H W.New security problem in RFID systems tag killing[C]//ICCSC 2006,Springer-Verlag,LNCS,2006(3982):375-384.

[2]Sarma S,Weis S,Engels D.RFID systems and security and privacy implications[C]//Proc.of CHES'02.[S.1.]:Springer,2002:454-469.

[3]Weis S,Sarma S,Rivest R.Security and privacy aspects of low-cost radio frequency identification systems[C]//Proc.of Security in Pervasive Computing'04,2004:201-212.

[4]Ohkubo M,Suzuki K,Kinoshita S.Cryptographic approach to“privacy-friendly”tags[C]//Proc.of RFID Privacy Workshop,USA MIT,2003.

[5]张彩霞,程良伦.基于Hash的RFID安全协议的设计[J].包装工程,2009,30(1):115-117.

[6]曾丽华,雄 璋,张 挺.Key值更新随机Hash锁对RFID安全隐私的加强[J].计算机工程,2007,33(3):151-153.

[7]杜志国,杨 波,欧阳国帧,陈 成.安全的RFID认证协议研究设计[J].计算机工程与设计,2009,30(3):561-565.

猜你喜欢
读写器阅读器攻击者
基于反向权重的阅读器防碰撞算法
机动能力受限的目标-攻击-防御定性微分对策
The Magna Carta
Winner Takes All
正面迎接批判
有限次重复博弈下的网络攻击行为研究
一种RFID网络系统中消除冗余阅读器的高效算法
基于视频抓拍读写器的高速公路防倒卡研究
基于随机时隙的RFID读写器防冲突方法
基于 LMAP和 EAP-SAKE的 RFID系统安全解决方案