基于密钥和缓存机制的rfid双向认证方法

文档序号:7958832阅读:189来源:国知局
专利名称:基于密钥和缓存机制的rfid双向认证方法
技术领域
本发明属于通信技术领域,涉及数字信息的传输,具体来说是一种基于密钥和缓存机制的RFID双向认证方法。
背景技术
射频识别RFID通称电子标签技术,是一种快速、实时、准确采集与处理信息的高新技术,被列为21世纪十大重要技术之一。RFID广泛应用于生产、零售、物流、交通等各个行业,已逐渐成为企业提高物流供应链管理水平、企业管理信息化、降低成本、参与国际经济大循环、增强企业核心竞争力不可缺少的技术和手段。RFID技术的兴起不是因为它是一项新技术,而是因为这项技术已经开始成熟并逐渐具备了走向实际应用的能力。随着RFID技术的发展和广泛应用,安全认证协议的设计与完善对于保护信息安全和用户隐私变得更加重要。设计安全、高效、低成本的RFID安全协议是RFID领域具有挑战性的研究课题之一。目前防止数据安全威胁的主要技术手段有物理隔离、读取访问控制、主动干扰、kill标签服务、双标签联合验证、智能标签、阻塞标签、Hash加密、设置伪随机序列口令和重加密等。近年来应用密码学方法解决RFID安全隐私问题日益受到人们的重视,迄今为止,已经有多种RFID安全协议被提出,如Hash-Lock协议、随机化Hash-Lock 协议、Hash链协议、基于杂凑的ID变化协议、David的数字图书馆RFID协议、分布式RFID 询问-响应认证协议、LCAP协议和重加密机制等。设计一个安全协议,必须满足如下安全需求(1)不可追踪性为了有效保护标签持有者的隐私和合法利益,必须要保证标签输出的信息不仅可以区分,攻击者也不能够从双方通信的信息中得到区分标签的信息,也不能从此次通信的消息中得出目标标签下次通信的信息特点;对标签进行跟踪,这样对持有者的安全、隐私、个人行踪都暴露给攻击者。因此,通信的协议的设计必须要保证标签的不可追踪性。(2)可区分性对于大量使用标签的RFID系统,对于读写器来说不同标签在同一时刻的输出应该具有可区分性;对于攻击者来说标签的输出要保证不可区分性。主要是针对攻击者有可能利用标签的输出信息,分析、综合后对于目的标签进行跟踪,进行下一步的不法活动。因此,在标签的认证过程中要保证标签是可区分的,但是对于敌手来说标签的输出信息要保证不可区分行,这样才能保证整个RFID系统的安全性。(3)前向安全性即使攻击者获得了某次通信过程中的全部信息,但是敌手不能利用截获的信息来获得关于目标标签以前的信息比如在何时、何地认证的,标签所处的环境信息等。对于供应链系统的RFID系统来说,前向安全性是很重要的需求,可以保护商业机密、对于目标标签整个生产、销售等各个环节都有很好的保护。(4)后向安全性敌手获得了认证过程中的所有信息,即使攻击者有强大的攻击能力。也不能从这些信息中来破解标签以后的认证消息、标签的具体位置。相对来说,前向安全性更加重要一点,但是后向安全性也能确保整个RFID系统更好的安全性。
(5)同步性对于需要对共享信息进行更新的系统来说,攻击者如果在某次认证过程中阻塞、篡改了更新消息。这样在后端数据库和标签的共享信息出现的不同步状态,秘密信息不相同,对于在下次认证过程中对于目标标签就会拒绝认证。因此,对于上述系统中的安全隐患在构建认证协议的时候要考虑到。但是,现有的大多数RFID协议都存在不能完全满足上述安全性的缺陷。如 Hash-Lock协议不能抵御窃听、重放、哄骗和跟踪攻击,安全性很差;随机Hash-Lock协议在 Hash-Lock协议的基础上虽然解决了跟踪问题,但仍然不能有效解决防拒绝服务攻击、重放和哄骗攻击;Hash链协议与基于Hash的ID变化协议同样对于拒绝服务、哄骗攻击不能抵御;分布式询问-应答协议与David数字图书馆RFID协议在防御窃听、哄骗和位置跟踪方面虽取得了较好的效果,但它们仍无法抵御拒绝服务攻击。因此,设计安全、高效和低成本的RFID安全认证协议仍然是一个具有挑战性的研究难题。

发明内容
本发明的目的在于针对上述已有技术存在的问题,提出一种基于密钥和缓存机制的RFID双向认证方法,以抵御非法读取、位置跟踪、窃听、伪装哄骗和重放的行为,满足全部安全需求。实现本发明目的的技术思路是采用一种典型的询问应答机制,使用了 Hash函数和一个随机数生成模块,同时引入读写器缓存机制。具体实现步骤包括如下(1)读写器产生随机数IV并向标签发送该随机数Γ(ι和认证请求;( 标签收到认证请求后,产生随机数,根据收到的随机数Γ(ι和标签自身的密钥 k,计算异或认证信息值α和哈希认证信息值β,其中α = rx k,β = hash(ri P rQ),并将α、β发送给读写器;(3)读写器收到所述的认证信息值后,根据其缓存中的m个标签密钥集合Q中的每个密钥k',计算中间值r/ = 十F,再由此中间值计算哈希认证信息值hashOV P r0), 判断此计算值与收到的哈希认证信息值β是否相等,如果全部k'都无法满足条件,则将异或认证信息值α、哈希认证信息值β与随机数发送给后台数据库,执行步骤(4);如果存k'满足条件,将返回认证信息值hash (k' Pr0 Pr1')发送给标签,标签收到返回认证信息值后,通过自身产生的随机数Α、读写器请求通信时发送的Γ(ι及自身的密钥k,计算返回认证信息值hash (k Pr0 Pr1),并与收到的返回认证信息值hash (k' Pr0 Pr1')比较, 如果比较结果不同,则认证失败;如果比较结果相同,则认证通过;(4)数据库收到所述的α、β ^ci后,对其存储的全部标签密钥集合G中的每个密钥k"依次计算中间值/T = P十α,判断计算的哈希认证信息值hash (ri" Pr0)是否等于收到的哈希认证信息值β,若依次计算结束,所有密钥k"都无法满足条件,则认证失败, 如果找到相应的密钥k"满足条件即k" =k,则停止计算,将此密钥k"和中间值r/发送给读写器;(5)读写器收到数据库发送过来的密钥k"时,将其存储在自身的缓存模块中,并通过此密钥k"和中间值r/计算返回认证信息值hash(k" Pr0 Pr1"),然后将此返回认证信息值发送给标签;(6)标签收到返回认证信息值hash(k〃 Pr0 Pr1")后,通过自身产生的随机数巧、读写器请求通信时发送的r(l及自身的密钥k,计算返回认证信息值hash (k Pr0 Pr1)并和收到的返回认证信息值比较,如果比较结果不同,则认证失败;如果比较结果相同,则认证通过。本发明具有如下优点(1)本发明由于在认证过程中所传递的有用信息都是经过Hash函数加密或随机数异或处理的,因此即使非法者窃取了信息,也无法知道其中的真正内容。所以本发明具有防窃听性能。(2)本发明由于在认证过程中的采用每次生成标签的随机数不同,所以其在每次通信中所传输的消息都是不同的,因此非法者无法根据固定输出来进行位置跟踪,本发明可有效防止因固定输出而引发的位置跟踪问题。(3)本发明由于随机数在每次通信时都是不同的,非法者无法通过之前通信记录下的标签信息来伪装成合法标签与读写器通信,因此本发明具有防伪装哄骗或重放攻击的性能。(4)本发明采用了双向认证的方法,对标签和读写器都进行认证,保证了通信双方的安全性。(5)本发明引入了读写器对标签密钥的缓存,减少后端数据库搜索次数。在标签数目较多的情况下,相比于现有协议,认证速度影响较小。从而提高了认证协议的执行效率。


图1是现有RFID系统模型;图2是本发明的实现过程图。
具体实施例方式参照图1,最基本的射频识别RFID系统主要由标签、读写器和后台数据库组成。其中标签由耦合元件及芯片组成,每个标签具有唯一的电子编码,附着在物体上标识目标对象。通过射频信号与读写器通信。读写器是写入、读取标签信息的设备,通过网络与数据库进行数据通信,以此完成对射频电子标签的数据的多项任务。后端数据库对标签进行读写控制,其存有标签相关信息。本发明为读写器与标签的认证方法,只有双方通过安全认证,方可进行相关数据
ififn。初始条件标签中含有一个随机数生成模块和Hash函数,并保存有一个自身密钥k,不同标签的密钥k值互不相同。读写器中包括有一个随机数生成模块、一个与标签相同的Hash函数和一个缓存模块,该缓存器中存有最近与此读写器通信过的m个标签的密钥集合Q。后端数据库中保存着全部合法标签的密钥集合G和一个与标签相同的Hash函数。由于射频识别RFID系统硬件资源有限,安全隐私与成本之间是相互制约的。因此,良好的RFID安全协议需要权衡安全隐私保护与成本之间的问题。本发明提出的协议充分考虑到标签资源的宝贵性,在尽量降低标签成本的前提下,满足相关安全隐私需求。参照图2,本发明的认验证过程如下步骤1,读写器中的随机数生成模块产生随机数IV并通过射频信号向标签发送该随机数A和认证请求Query。步骤2,标签收到认证请求后,其中的随机数生成模块产生随机数巧,并根据收到的随机数^和标签自身的密钥k,计算异或认证信息值α和哈希认证信息值β,其中 a = rx@k =hash(ri Pr0);然后将这两个认证信息值值α、β通过射频信号发送给
读写器。步骤3,读写器与标签直接认证3a)读写器收到所述的两个认证信息值后,根据其缓存中的m个标签密钥集合Q中的每个密钥k',计算中间值< = &’;再由此中间值计算哈希认证信息值 hash(r/ ftj,判断此计算值与收到的哈希认证信息值β是否相等,如果全部k'都无法满足条件,则将异或认证信息值α、哈希认证信息值β与随机数^通过有线网络发送给后台数据库,执行步骤4;如果存在密钥k'满足条件,将返回认证信息值hash(k' ft·。Pr1') 发送给标签;3b)标签收到返回认证信息值后,通过自身产生的随机数、读写器请求通信时发送的A及自身的密钥k,计算返回认证信息值hash(k Pr0 ftg,并与收到的返回认证信息值hash(k' Pr0 Pr1')比较,如果比较值不同,则认证失败,标签判定读写器为非法读写器,本认证过程立即结束,同时标签删除之前存储的随机数Α、Γι ;如果比较值相同,则标签通过对读写器的认证。步骤4,数据库收到所述的信息α、β、Γ(ι后,对其存储的全部标签密钥集合G中的每个密钥k〃依次计算中间值/T = P十α,判断计算的哈希认证信息值hash (ri" Pr0) 是否等于收到的哈希认证信息值β,若依次计算结束,所有密钥k"都无法满足条件,则认证失败,数据库判定标签非法,本认证过程立即结束;如果找到相应的密钥k"满足条件即 k" =k,停止计算,数据库通过对标签的认证,将此密钥k"和计算的中间值r/通过有线网络发送给读写器。步骤5,读写器收到数据库发送过来的密钥k"时,将其存储在自身的缓存模块中,并通过此密钥k"和中间值r/计算返回认证信息值hash(k〃 Pr0 Pr1"),再通过射频信号将此返回认证信息值发送给标签。步骤6,标签收到返回认证信息值hash(k〃 Pr0 Pr1")后,通过自身产生的随机数ri和读写器请求通信时发送的随机数Γ(ι及自身的密钥k,计算返回认证信息值hash(k ft·。I^r1),并将该计算值与收到的返回认证信息值比较,如果比较结果不同,则认证失败,标签判定读写器非法,立即终止认证,标签同时删除之前存储的随机数Α、Γι ;如果比较结果相同,则标签通过对读写器的认证。符号说明H {0,1}* ^ {0,1}1 是一个单向 Hash 函数;P 连接操作符,用于连接两个比特串;r0, Γι 通信过程中由随机数生成器产生的随机数;
?=比较操作,看等式两边是否相等;Θ :对两个比特串进行异或操作。以上仅是对本发明的一个具体事例,不构成对本发明的任何限制,凡是在本发明精神和原则之内,所做的任何修改、同等替换、改进等,均应包含在本发明的保护之中。
权利要求
1.一种基于密钥和缓存机制的RFID双向认证方法,包括以下步骤(1)读写器产生随机数IV并向标签发送该随机数Γ(ι和认证请求;(2)标签收到认证请求后,产生随机数η,根据收到的随机数Γ(ι和标签自身的密钥k, 计算异或认证信息值α和哈希认证信息值β,其中仅=巧十籴,β =hash(ri ft·。),并将 α、β发送给读写器;(3)读写器收到所述的认证信息值后,根据其缓存中的m个标签密钥集合Q中的每个密钥k',计算中间值< = 十F,再由此中间值计算哈希认证信息值hashO·/ ft·。),判断此计算值与收到的哈希认证信息值β是否相等,如果全部k'都无法满足条件,则将异或认证信息值α、哈希认证信息值β与随机数^发送给后台数据库,执行步骤;如果存k' 满足条件,将返回认证信息值hash (k' Pr0 Pr1')发送给标签,标签收到返回认证信息值后,通过自身产生的随机数Α、读写器请求通信时发送的Γ(ι及自身的密钥k,计算返回认证信息值hash(k Pr0 Pr1),并与收到的返回认证信息值hash (k' Pr0 Pr1')比较,如果比较结果不同,则认证失败;如果比较结果相同,则认证通过;(4)数据库收到所述的信息值α、β、Γ(Ι后,对其存储的全部标签密钥集合G中的每个密钥k"依次计算中间值/T = P十α,判断计算的哈希认证信息值hash (Γι" Pr0)是否等于收到的哈希认证信息值β,若依次计算结束,所有密钥k"都无法满足条件,则认证失败,如果找到相应的密钥k〃满足条件即k〃 =k,则停止计算,将此密钥k〃和中间值r/ 发送给读写器;(5)读写器收到数据库发送过来的密钥k"时,将其存储在自身的缓存模块中,并通过此密钥k"和中间值r/计算返回认证信息值hash(k" Pr0 Pr1"),然后将此返回认证信息值发送给标签;(6)标签收到返回认证信息值hash(k〃 Pr0 Pr1")后,通过自身产生的随机数巧、读写器请求通信时发送的随机数A及自身的密钥k,计算返回认证信息值hash (k Pr0 Pr1)并和收到的返回认证信息值比较,如果比较结果不同,则认证失败;如果比较结果相同,则认证通过。
2.根据权利要求1所述的RFID双向认证方法,其中所述的标签,包含有一个随机数生成模块和Hash函数H {0,1}* — {0,I}1,并保存有一个自身密钥k。
3.根据权利要求1所述的RFID双向认证方法,其中所述的读写器,包括有一个随机数生成模块、一个与标签相同的Hash函数和一个缓存模块,该缓存模块中存有已与此读写器通信过的m个标签的密钥集合Q。
4.根据权利要求1所述的RFID双向认证方法,其中所述的后端数据库,保存有全部标签的密钥集合G和一个与标签相同的Hash函数。
全文摘要
本发明提供了一种基于密钥和缓存机制的RFID双向认证方法,主要解决现有技术无法同时抵御非法读取、位置跟踪、窃听、伪装哄骗和重放不安全的问题。其实现步骤为读写器与标签采用典型的询问应答机制,标签生成两个认证信息值β=hash(r1 Pr0)、发送给读写器,读写器将收到的信息值与自身计算的信息值比较,若比较结果相同,则通过认证,将返回认证信息hash(k′Pr0 Pr1′)发送给标签。若比较结果不同,则将信息发送给后端数据库,由后端数据库进行认证判定,并将返回认证信息hash(k″Pr0 Pr1″)发送给标签,标签收到返回认证信息后,通过其与自身计算值hash(k Pr0 Pr1)比较来对读写器进行认证,若两者相同,则通过认证。本发明具有安全性能和执行效率高的优点,可用于资源受限且要求高安全性的RFID应用场景。
文档编号H04L9/32GK102394753SQ20111034027
公开日2012年3月28日 申请日期2011年11月1日 优先权日2011年11月1日
发明者李晖, 李 杰, 梁晨, 樊凯 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1