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

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

  射频识别(RFID)技术是一种利用电磁发射或电磁耦合实现无接触信息传递,进而自动识别和获取目标对象信息数据的技术。作为一种稳定、可靠、快速采集数据并对数据进行加工的新兴技术,RFID得到了广泛应用并突显其强大的实用价值。但RFID技术在安全隐私问题上面临着诸多挑战。为此,本文在已有的RFID协议基础上,通过分析其执行过程及优缺点,提出一种新的基于Hash的RFID双向认证协议,并进行了安全性分析和比较。

  射频识别(RFID)技术是一种利用电磁发射或电磁耦合实现无接触信息传递,进而自动识别和获取目标对象信息数据的技术。作为一种稳定、可靠、快速采集数据并对数据进行加工的新兴技术,RFID得到了广泛应用并突显其强大的实用价值。但RFID技术在安全隐私问题上面临着诸多挑战。为此,本文在已有的RFID协议基础上,通过分析其执行过程及优缺点,提出一种新的基于Hash的RFID双向认证协议,并进行了安全性分析和比较。

  (1)电子标签:由芯片和无线通信天线两个主要部分组成,在电子标签中可以通过存储一些需要被识别的物品相关信息来分类、标识物品。

  (2)阅读器:RFID阅读器包含逻辑控制单元、射频接口和无。线个部分,主要处理与电子标签之间的通信,实现数据的读写。阅读器既是标签的汇聚部分,也是应用系统的下一级。

  (3)应用系统:对读写器转发的所有电子标签信息进行集中统计和分析,并通过安全信道反馈给读写器。RFID系统基本构成如图1所示。

  RFID技术在方便人们生活的同时也带来诸多安全隐患,其中,RFID系统对应用的完全开放是造成系统出现安全隐私问题的根本原因。

  Hash-Lock协议是Sarma等提出的一种安全协议。标签存储唯一标识ID及metaID,初始状态为锁定状态。后端数据库存储所有的标签密钥key、ID和metaID。

  ② 标签回答metaID并通过读写器将认证请求响应消息metaID转发给后端数据库;

  ③ 后端数据库接收消息并检索系统文档,如果阅读器发送过来的metaID与数据库系统中保存的metaID值相同,就返回读写器该匹配项的key和ID;否则,返回给读写器认证失败信息;

  ⑤ 标签接收密钥信息并利用散列函数验证H(key)与metaID是否相等。如果相等,标签返回给读写器唯一标识;否则,验证失败;

  ⑥ 读写器判断两份ID数据是否相同。如果相同,则认证成功;否则,认证失败。

  随机化Hash-Lock协议是Weis等提出的一种安全协议。标签保存ID并嵌入随机数产生器,初始状态为锁定状态。后端数据库存储全部标签ID。

  ② 标签接收认证消息并生成一个R,通过读写器将H(IDkR)数据值连同R一同转发给后端数据库,其中R是随机数;

  ⑤ 标签接收数据消息并判断IDj和IDk是否相等。如果相等,则认证通过,否则认证失败。

  在Hash链协议中,标签存有ID和秘密值S,初始状态为锁定状态。系统全部标签数值对(ID,S)保存在后端数据库。

  ② 标签接收请求命令并通过散列函数计算G(S),然后标签将计算结果通过读写器响应给后端数据库并使用哈希函数H更替标签的秘密值;

  ③ 后端数据库接收消息并检索系统文档。计算G(H(S))并和读写器的相应数据比较,如果相等,则认证成功;否则,认证失败。

  Hash锁协议使用标签metaID代替真实的ID,标签对读写器进行认证后再将其ID通过非安全信道发送给读写器。但每次传送的metaID也属于常量值,RFID系统很容易受到非法用户的假冒攻击和重传攻击。随机化Hash-Lock协议和Hash锁协议一样,标签ID仍以明文形式在非安全信道传送,不能应对非法用户的重传攻击。而且每次标签执行认证请求过程中,读写器与后端数据库之间的安全信道需要传送全部标签的ID,具有很大的信息交互量。

  Hash链协议中,标签成为一个具有自主更新ID能力的主动式标签。此外,每一次认证过程中,后端数据库都需要针对标签使用2个不同的散列函数G和H进行j次散列运算.随着标签数量规模的扩大,计算负荷也随之加大。

  通过分析上述几种安全协议的原理和执行流程,发现这些协议都存在种种安全隐患。本文提出了一种改进的安全协议,实现阅读器-电子标签的双重认证,基本达到认证协议的安全目标。

  标签存有ID和秘密值S,系统全部标签数值对(ID,S)存储在后端数据库,并且后端数据库和标签都嵌入了随机数产生器.协议流程如图3所示。

  ① 后端数据库产生一个随机数RDB并通过读写器将数值结果连同Query一同发送给标签;

  ② 标签根据自身ID、读写器认证请求的相关随机数RDB、后端数据库和标签的秘密数值S与散列函数计算出ST,其中ST=H(IDRDBS),然后标签产生一个新的随机数RT,通过读写器将新的随机数连同ST一起发送给后端数据库;

  ③ 后端数据库接收消息并检索系统中的文档数据是否有某个IDj(1jn),使得H(IDjRDBS)=H(IDRDBS)成立;如果没有,则认证失败;如果有,则后端数据库根据IDj、标签响应的相关随机数RT、后端数据库和标签的秘密数值S与散列函数计算出SDB,其中SDB=H(IDjRTS)。通过读写器将结果数值转发给标签;

  ④ 标签计算ST=H(IDRTS),并比较是否与接收到的H(IDjRTS)相同;若相同,则认证通过;若不同,则认证失败;

  (1)双向认证。在后端数据库通过散列函数检验H(IDjRDBS)和H(IDRDBS)是否相等,以及在标签中通过散列函数计算并比较H(IDRTS)和H(IDjRTS)是否相等,实现RFID系统合法身份的双向认证。

  (2)向前安全。由于随机数R、共享数值S的可变性以及Hash的单向性,即使非法用户获取了H(IDRDBS)也查不出标签之前的运作数据。

  (3)防位置跟踪。由于保存在后端数据库中的RDB和数值S是变化的,因此每次读写器请求认证后的反馈消息H(IDRDBS)也不相同,有效阻止了攻击者的位置跟踪。

  (4)防重传攻击。由于共享数值S的可变性,非法用户不能再次模拟出读写器响应给标签的数值H(IDjRTS),有效防止了重传攻击。

  (5)防窃听。标签ID在非安全信道传播时经过Hash的加密处理,所以非法用户无法窃听标签的线)

  假如非法用户将非法标签伪装成合法标签,并使用非法算法返回给读写器认证,由于后端数据库产生的随机数RDB和共享秘密值S是变化的,合法标签响应的H(ID‖RDB‖S)值与伪装标签响应的数值完全不同,因此标签无法通过读写器认证。(7)

  假设RFID有N个标签。每次认证,在后端数据库中本文协议需要进行N次值对照和N+1个Hash函数,而Hash链方法则需进行N次记录搜索、N次值比较和2N个Hash函数计算,所以当N很大时,本方法运算负载小、效率高。

http://idagoldadv.com/sanliehanshu/46.html
点击次数:??更新时间2019-05-17??【打印此页】??【关闭
  • Copyright © 2002-2017 DEDECMS. 织梦科技 版权所有  
  • 点击这里给我发消息
在线交流 
客服咨询
【我们的专业】
【效果的保证】
【百度百科】
【因为有我】
【所以精彩】