当前位置:刘伯温火凤凰公式网 > 散列函数 >

浅谈基于哈希函数的RFID身份认证协议

  协议进行了简要的介绍,对多个协议的安全性能进行了详细的分析和比较,指出其存在的安全缺陷,并提出相应的改进思路。

  无线射频识别(Radio Frequency Identification,RFID)是一种非接触式的自动识别技术,可以视为无线版本的条形码,具有使用时间长、读取精度高、能够加密标签数据、数据容量更大、操作便捷等优点。RFID技术在生活中的应用日趋广泛,其安全与隐私问题也日益受到关注,比如伪造标签、非法访问等。身份认证是保证信息安全的关键技术之一,由于RFID系统中标签的存储空间和计算能力有限,难以进行复杂的数据加、解密运算,因此轻量级的RFID身份认证协议成为当前研究的热点之一。

  现有的轻量级RFID身份认证协议多数基于哈希函数,其中比较典型的有:哈希锁协议[1]、随机哈希锁协议[2]、哈希链协议[3]等,这几个协议都存在无法保障用户隐私、标签容易追踪等安全隐患。对此,Shen等人提出了一种基于匿名机制的RFID身份认证协议ARAP(Anonymous RFID Authentication Protocol)[4]。本文将对多个RFID身份认证协议进行简要介绍,着重对其安全性能进行讨论和比较。

  哈希锁协议采用哈希函数实现简单的访问控制,工作原理如图1所示:阅读器存储每个标签的访问密钥Key,并生成metaID=hash(key),写入标签。标签接收到阅读器的访问请求时,发送metaID,阅读器则查出相应的key发给标签。标签计算并判断hash(key)与metaID是否相同,若相同,则把自己的ID信息发给阅读器。

  随机哈希锁是哈希锁协议的改良,工作原理如图2所示:当收到阅读器的访问请求时,标签先生成一个随机数R,并和计算的h(IDkR)一起发给阅读器。阅读器将此信息转送给后台数据库,后台数据库则需要穷举所有标签的IDi来计算h(IDiR),直至找到计算值与接收到的哈希值相同的IDi,阅读器将此IDi发回,对标签进行解锁和访问。

  在哈希链协议中,标签和阅读器共享两个哈希函数H和G,H用来进行更新,G用来计算响应消息,具体过程如图3所示,S为共享的初始随机标识符。在收到阅读器的查询请求时,标签返回ai=G(Si),同时更新当前的Si为Si+1 =H(Si),准备接受阅读器的下一个访问请求。

  在ARAP协议中,阅读器R和标签T都拥有一个伪随机数发生器,每个标签T都与后端数据库DB共享一个初始秘密xT,DB能够根据T的假名P遍历出初始共享的秘密xT,实现对T的身份认证。具体认证过程如图3所示:

  (4)DB→R:DB收到消息后,计算S’=h(P⊕xT)和M’=h(rT⊕rA⊕P)⊕S’,验证M’与M是否相等。若相等,则通过认证,DB计算N’=h(M’⊕S’)发送给R。否则,认证失败,协议终止。

  (5)R→T:R收到N’后转发给T,T计算N=h(M⊕S),验证N’与N是否相等,若相等,则R通过认证,T更新假名P,否则认证失败,协议终止。

  哈希锁协议为标签提供初步的访问控制,可在一定程度上保护标签数据,抵抗非法访问攻击[5]。但由于每次标签响应时均使用固定的metaID,攻击者可将此当作对应标签的别名,跟踪标签及其携带者。此外,密钥key通过明文传输,攻击者容易窃取,并可以通过记录、计算组合(metaID,key,ID),在与合法标签或者阅读器的信息交互中进行假冒攻击。

  随机哈希锁协议采用基于随机数的询问/应答机制,可防止标签被跟踪,保护其隐私。但由于标签的返回消息不包含能够唯一确定本次会话的标识,攻击者可以此进行重放和假冒攻击。再者,每确认一个标签身份都需要遍历数据库所存的所有ID,认证过程耗时较多,且容易遭受拒绝服务攻击。因此哈希锁协议的可扩展性较差,只适用于小规模应用。

  在哈希链协议中,标签使用不同的标识符响应阅读器的询问,以确保前向安全性,但无法抵抗假冒阅读器的攻击。此外,阅读器收到标签的响应后,需要计算数据库中所有标签标识符的哈希值来与之匹配。若标签被攻击者恶意扫描多次,则将导致穷举匹配时标签的认证时间过长,系统无法正常工作。因此,哈希链协议也只适合小规模的应用,且无法抵抗重放和拒绝服务攻击。

  ARAP协议能够实现匿名双向认证,标签使用了大量假名来防止被跟踪,能够很好地保障用户的隐私,且协议每执行一次,假名P就随之更新,能够有效抵抗重放攻击。在通常情况下,ARAP协议执行时保持标签和阅读器共享的信息同时更新,能够抵抗拒绝服务攻击。

  但是,ARAP协议也存在因异或不当而被攻击者假冒的安全隐患[6-7]。在ARAP协议的第2步中,标签T计算了S=h(P⊕xT)和M=h(rT⊕rA⊕P)⊕S,其中P为标签的匿名,xT为共享秘密,rA和rT分别为攻击者与标签生成的伪随机数。若攻击者截取了消息M,rA,rT,P,利用异或运算的性质(a⊕a=0,a⊕0=a),则可直接计算M⊕h(rT⊕rA⊕P)=h(rT⊕rA⊕P)⊕S⊕h(rT⊕rA⊕P) =S,从而获取S,就相当于获得了阅读器向标签进行认证的钥匙N’=h(M⊕S),攻击者可假冒阅读器向标签发送N’,从而获取标签的信任,成功进行假冒攻击。

  综上,可通过表1对上述协议的安全性进行比较,其中ARAP协议比其他3个协议复杂,安全性能也略胜一筹。无法抵抗假冒攻击是ARAP协议的重大缺陷。

  在RFID系统中,标签的存储空间和计算能力有限,认证协议在解决安全性问题的同时,也要尽可能减少标签的计算量和存储容量,以降低标签的成本。在此对典型的RFID身份认证协议进行对比,比较各协议中标签、阅读器和后端数据库的计算量,结果如表2所示。其中,“H”表示Hash运算的次数,“X”表示异或运算的次数,“R”表示产生随机数的次数,“N”表示数据库存储的标签数量,“j”表示Hash链的长度。

  通过比较,哈希锁协议的计算量是最小的,但其安全性得不到保证。随机哈希锁协议和哈希链协议的计算量与标签数量成正比,且执行过程需要遍历计算,只适合小规模应用。ARAP协议的计算量相对较大,但其并没有采用计算开销大的操作,协议中的哈希运算、异或运算、随机数运算标签都够实现,在RFID系统可执行的能力范围之内,具有较高的可行性。

  本文主要对基于哈希函数的四种RFID身份认证协议进行了简要介绍和安全性能分析,与哈希锁协议、随机哈希锁协议和哈希链协议相比,ARAP协议的安全性能较好,但存在因异或不当而遭受假冒攻击的安全隐患。对此,需要对部分异或运算和验证操作进行修改,将标签用户的秘密隐藏入哈希函数中,使攻击者无法通过异或运算实施假冒攻击。ARAP协议的全面分析和改进工作将在后继的科研工作中展开。

  [5] 陆桑璐,谢磊.射频识别技术:原理、协议及系统设计 [M] . 北京:科学出版社,2014

  本文来源于中国科技核心期刊《电子产品世界》2016年第1期第30页,欢迎您写论文时引用,并注明出处。

http://idagoldadv.com/sanliehanshu/48.html
点击次数:??更新时间2019-05-17??【打印此页】??【关闭
上一篇:pHash 095 发布感知哈希算法库 - OSCHINA
下一篇:没有了
  • Copyright © 2002-2017 DEDECMS. 织梦科技 版权所有  
  • 点击这里给我发消息
在线交流 
客服咨询
【我们的专业】
【效果的保证】
【百度百科】
【因为有我】
【所以精彩】