RFID双向安全认证协议的设计及分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要:针对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