来源:本站整理 作者:佚名 2009-05-06 15:20:16
(3)R将ZAM1转发给B。
(4)B计算ID'=α1⊕H(r⊕SK),在数据库中查找是否有这样的ID',如果有,T则通过初步认证,之后R产生随机数作为RSK,计算β=RSK⊕H(DT⊕SK),β2=H(ID⊕RSK⊕SK),形成ZAM2={DT,β1,β2)发给R。其中:DT为时间戳,是B的系统时间或具有时间戳功能的随机数,用于防止重放攻击,并作为本次会话的序号,合法的T可以用β1恢复出RSK,用β2验证RSK的有效性,同时验证R的合法性。
(5)R将ZAM2转发给T。
(6)T收到ZAM2后,首先判断DT,如果比以前保存的大,则认为正常,然后T用自己的SK计算H(DT⊕SK),恢复出RSK,并进行验证,如果正确则通过对R的认证,并保存DT,计算α2=H(r⊕SK⊕RSK⊕DT),形成再次认证消息ZAM3={α2)发送给R,作为对ZAM2的应答。该应答也是零知识的,既确认正确的收到RSK,又证明T是整个认证会话的参与者。如果DT不正常或RSK无效,则忽略ZAM2,并保持静默。
(7)R将ZAM3转发给B,B计算H(r⊕SK⊕RSK⊕DT),与收到的α2进行比较,如果相等则通过对T的认证。
4 协议安全性和抗攻击性分析
4.1 安全性分析
机密性 Hash函数的单向性确保了从认证消息中无法获得SK等敏感信息。认证过程的零知识性保证在完成认证的同时,不泄露标签ID等信息。协议采用共享SK,阅读器和标签可以对收到的消息进行正确性和完整性验证,从而保证认证信息和交换RSK的机密性。
可认证性 采用双向身份认证的机制,有效地防止了未授权的阅读器和假冒的标签参与会话,增加了认证的可靠性,因此协议在不可信环境中依然有效。
可用性 入侵者可能发起一个DoS攻击来影响的RFID系统的使用,但无法通过这种攻击获取敏感信息,因此具有较高的可用性。
4.2 抗攻击性分析
4.2.1 对RFID标签的攻击
一种是攻击者假装成合法的阅读器。这种攻击会被DT、RSK和SK的组合击败,因为只有合法的阅读器才能提供一个有效的ZAM2,假冒阅读器采用重放或篡改个别信息等方式向标签作认证时会被标签识破。
另一种是攻击者通过查询来跟踪标签。这种攻击会被r的随机性击败,因为每次标签所发出的ZAM1都是不同的,所以跟踪者无法判定跟踪的是否是同一个标签。
4.2.2 对RFID阅读器攻击
攻击者假装成有效标签的攻击有两种情况:一是攻击者发出假的ZAM1,在没有SK的情况下这种攻击在对标签的初次认证时就会被阅读器识破;二是攻击者对阅读器重放某次有效标签的ZAM1进行攻击,这种攻击虽然能使B产生ZAM2,但在再次认证时,由于攻击者没有SK,不可能恢复出RSK,因此不能构造出正确的ZAM3,进而不能通过系统对其的再次认证。
4.2.3 中间人攻击
假定协议在长距离下工作,由中间人来转发认证消息,但认证和响应都是加密和零知识的,因此认证消息对于中间人是透明的,通过直接读取消息,攻击者仅可以得知阅读器和标签在通信,而不能得到任何秘密信息。即使攻击者通过转发标签的认证消息和再次认证消息而通过认证,但不可能获得RSK,从而无法进行后续的会话,使这种欺骗变得没有意义。
5 结 语
RFID技术的使用提高了制造业、服务业等行业的效率,节约了成本,但同时也带来了安全和隐私问题。这些问题越来越成为RFID技术进一步发展和应用的障碍。本文简单分析了RFID技术所带来的安全和隐私风险,回顾了解决安全和隐私问题的相关方案,提出了一种适合于低成本标签的双向RFID认证协议。
与其他基于Hash函数的方案相比,在计算量和通信量略有增加的情况下,本文协议提高了认证的安全性和有效性,增加了抗攻击的能力。与基于传统加密算法的方案相比,该协议在计算量和通信量上对低成本RFID标签是适度的,且在认证的灵活性方面有较大的优势。针对不同的安全级别要求,可以选择不同规模的Hash函数。