首页> 中国专利> 一种基于Hash函数可同步更新密钥的RFID双向认证方法

一种基于Hash函数可同步更新密钥的RFID双向认证方法

摘要

一个基于Hash函数密钥可同步更新的RFID双向认证方法,该方法引入标签密钥动态更新机制,并设计了一个自同步解决方案,实现对RFID标签的二次认证。与已有的协议进行安全性分析和性能比较,分析结果表明该协议在不增加标签成本的前提下,新的双向认证降低了标签和后端数据库的计算量,提高了后端数据库的检索效率,不仅有效地解决了RFID系统的隐私保护及安全问题,同时也提高了RFID协议认证的执行效率,更适合低成本的RFID系统和大规模的电子标签系统,具有一定的实用价值。

著录项

  • 公开/公告号CN104579688A

    专利类型发明专利

  • 公开/公告日2015-04-29

    原文格式PDF

  • 申请/专利权人 江西理工大学;

    申请/专利号CN201510026773.1

  • 发明设计人 张小红;胡应梦;吴政泽;

    申请日2015-01-20

  • 分类号H04L9/32;G06K17/00;

  • 代理机构南昌新天下专利商标代理有限公司;

  • 代理人施秀瑾

  • 地址 341000 江西省赣州市红旗大道86号

  • 入库时间 2023-12-18 08:35:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-12-21

    授权

    授权

  • 2015-05-27

    实质审查的生效 IPC(主分类):H04L9/32 申请日:20150120

    实质审查的生效

  • 2015-04-29

    公开

    公开

说明书

技术领域

本发明属于射频识别技术领域,涉及到一种RFID系统中读写器与标签相互安全 认证的方法。

背景技术

射频识别(Radio Frequency Identification,RFID)技术,是一种利用射频通信实现的 非接触式自动识别技术,其基本原理是利用射频信号的空间耦合(电感或电磁耦合)或 反射的传输特性来传递信息,以实现快速识别目标并获取数据的目的。与传统的识别 技术相比,RFID技术具有非接触、抗干扰性强、能识别高速运动的物体以及可适应于 恶劣环境等多方面的优点,RFID技术在物流、跟踪、定位、工业自动化以及交通运输 控制管理等领域已得到广泛应用,被列为21世纪最有发展前途的信息技术之一。

近年来,随着RFID技术地不断发展,其传输与读取数据的速度也不断提高,但 是RFID系统面临的安全威胁以及标签安全隐私问题日益凸显,亟待解决。如何有效 地保护信息安全和用户隐私,已成为RFID技术研究的一个热点。首先,电子标签所 传递的信息很可能遭受窃听、重传和假冒等攻击;其次,在开放的环境中标签有可能 被附近的非法读写器读取,从而泄露了用户的隐私信息;另外,传输信息也可能被追 踪、遭受数据去同步化等攻击,这些问题已经严重阻碍了RFID技术的进一步发展。 目前,针对RFID安全与隐私问题的解决方式主要分为:物理机制和基于密码技术的 安全认证机制,由于物理机制需要额外的物理设备或元件,从而增加了RFID系统的 成本,在实际应用中,更加关注的是安全认证机制。

根据系统的不同复杂度和安全性以及成本,可以将安全认证协议分为三类:重量 级、中量级和轻量级协议。重量级认证协议采用比较成熟的加密手段,安全性较高, 但其协议比较复杂,标签的成本也比较高,所以往往应用在安全性要求比较高的领域。 轻量级认证协议则注重系统的成本代价,其安全性评估有一定的局限。而中量级认证 协议兼顾了安全性和成本的需求,具有更强的适用性,因此成为RFID认证协议研究 的热点。

为了保证系统的通信安全性,必须在通信之前进行读写器与标签之间的相互身份 认证。由于受到标签硬件成本的严格限制,存储空间、计算能力以及电源供给等均非 常有限,这使得现有的许多成熟的密码技术难以在RFID系统中得到有效的应用。而 单向散列Hash运算具有快速、低耗的特点,所以基于Hash函数的RFID安全方案的 设计近年来备受关注。

发明内容

本发明为了解决读写器与标签相互认证过程中的安全隐私问题,结合实际情况, 考虑标签的制作成本以及协议的复杂度等因素,提出一种基于Hash可同步更新密钥的 RFID双向认证方法(协议)。利用密钥和标签的ID实现对标签的二次认证,其分析结 果表明该协议不仅能够完成既定的安全目标,还能满足RFID协议设计的隐私保护和 安全需求。除了具有抗重放攻击,匿名性和不可区分行,抗暴力破解等安全特性之外, 该协议还具有抗异步攻击,抗拒绝服务攻击的能力。同时还提高了RFID协议认证的 执行效率,更适合低成本的RFID系统。

本发明是通过以下技术方案实现的。

一种基于Hash可同步更新密钥的RFID双向认证方法,是用于RFID系统中读写 器与标签之间相互认证的安全协议,所述的RFID系统包括读写器,标签和后端数据 库,其特征在于:

(1)条件说明:假设读写器与后端数据库之间是在安全可控的环境下进行通信的, 标签和读写器都具有伪随机发生器,标签能够执行Hash运算以及简单的逻辑运算。

(2)对RFID系统初始化:后端数据库为每个标签存储一条记录 (Ki_new,H(Ki_new),Ki_old,H(Ki_old),IDi),标签则存储自己的IDi以及密钥Ki。表1为协议 所使用的符号说明。

(3)协议的认证主要分为以下4个过程:读写器对标签的认证过程,后端数据库 更新密钥过程,标签对读写器(后端数据库)的认证过程以及标签更新密钥过程,如图1 所示。

表1 符号说明

其中,H(x,y,z)=H(xyz)

本发明的具体认证步骤如下:

(S1)读写器→标签。读写器生成一个随机数rR,并和查询命令Query一起发给 标签作为认证请求;

(S2)标签→读写器。标签收到该消息后,也产生一个随机数rT,然后计算其密 钥Ki的哈希值H(Ki),以及,并将该三元组发送到读写器作为应答消息;

(S3)读写器→后端数据库。读写器接收到应答消息后,将转 发给后台数据库DB,后台数据库再根据接收到的消息对标签的合法性进行判断;

(S4)若通过对标签的认证,则DB更新密钥库,否则,终止对该标签后面的认 证;

(S5)后端数据库→读写器。后端数据库也产生一个随机数rD,计算h'2=H(rD,IDi') 和,并将该二元组传递给读写器;

(S6)读写器→标签。读写器收到该消息后,将转发给标签。标签 接收后,首先从中提取随机数rD,然后结合标签的IDi,计算h2=H(rD,IDi),再 与收到的认证信息h'2进行一致性验证,若不一致,则认证不成功,判读写器为非法; 反之,则通过标签对读写器的认证;

(S7)完成标签与读写器之间的双向认证之后,标签再更新自身的密钥 ,即实现标签与后端数据库密钥的同步更新。

本发明步骤(S3)所述的后台数据库再根据接收到的消息对标签的合法性进行判 断,按以下步骤进行二次认证:

(1)后端数据库查找是否存在某个标签Ki'的哈希值满足H(Ki')=H(Ki),如果不存 在,则判断该标签为非法,拒绝认证请求;

(2)如果存在,则后端数据库首先从中求得rT,再结合密钥Ki'以及随机数rR一起计算h1'=H(Ki',rT,rR),由可求得IDi″;检索后端数据库中ID列表,(查找对应 Ki'行)是否满足IDi'=IDi″,若不成立,则终止认证;若成立,即通过对标签的第二次认 证。

本发明步骤(S4)所述的通过对标签的认证,则DB更新密钥库,按以下两种情 况对密钥进行更新:

(1)若等式H(Ki)=H(Ki_new)成立,即Ki'=Ki_new,则将数据库中的Ki_old更新为 Ki_new,然后再计算,进而更新,将其作为标签下一会 话的密钥值;

(2)若等式H(Ki)=H(Ki_old)成立,则保留Ki_old,更新作为 标签下一会话的密钥值。

本发明所述的基于Hash函数的可同步更新密钥的RFID双向认证方法,其特征是: 对于标签只需具备Hash运算和简单的异或运算以及产生随机数的功能,即可完成协议 的双向认证。对于读写器,利用标签的密钥和ID实现对标签的二次认证,这样既可以 使后端数据库避免复杂的运算,又可以提高系统的认证效率和安全性。

利用随机数和Hash函数对协议中所传递的消息进行加密,即使是传递同一密文, 经过加密后的明文,也会完全不同。此外,利用Hash函数的单向性,从而有效保证标 签的前向安全。每次成功完成相互认证之后,标签均会自动更新其密钥,可以防止被 追踪,具有不可区分性。同时,也实现了与后端数据库密钥的同步更新。

本发明的特点在于:

(1)抗重传攻击

为了达到重放攻击的目的,攻击者至少需要存储一轮成功认证周期中的交互消息, 通过伪装标签或者读写器在无线通信信道上重放消息,试图通过另外一方的认证,最 终达到获取机密信息的目的。

重放攻击可分为伪装标签重放应答消息和伪装读写器重放挑战消息两种。但在本 协议中,由于在每一次认证过程中标签、读写器以及后端数据库都将产生随机数,密 钥也会不断地更新,使得每次会话中的交互消息都是随机变化的,即使攻击者截取到 某一次通信的所有交互信息,也无法利用重放这些信息通过后面的认证,从而有效地 防止了重传攻击。

(2)抗拒绝服务攻击

如果攻击者通过拦截第五步的认证消息而导致后端数据库与标签的信息不同步, 使得标签的数据没有及时得到更新。但本发明采用特殊的密钥更新方式,即后端数据 库为所有的标签分配了两个密钥{Ki_old,Ki_new},无论标签的密钥更新与否,始终保留着 一条记录与标签中的密钥相匹配。因此服务器可以使用更新前的密钥实现对标签的认 证,从而避免了拒绝服务攻击。

(3)前向安全性

在本协议中,标签的密钥Ki可不断更新,且与随机数rT有关,即随机数的变化使得在不同会话时期的密钥Ki不存在递推关系。由于利用了Hash的单 向性来更新标签的密钥,所以即使攻击者获得了标签当前会话的密钥Ki,也不能推算 出上一会话密钥Ki_old,也就不能获得协议之前建立的所有会话密钥信息,从而保护 RFID系统的前向安全性。

(4)去同步攻击

读写器通过对标签的认证后,及时更新了后端数据库里的密钥。此时,如果攻击 者对标签信号进行干扰,阻止标签收到读写器发来的认证信息h'2=H(Ki',rD,rT,IDi')或更 改认证信息,则标签会误认为此次通信读写器没有通过认证或认证失败,所以标签的 密钥不会更新,导致标签与DB中的密钥不一致。但在本协议中,这并不影响标签的 下一次认证,由于在后端数据库的每个记录中,存在两个密钥的哈希值库 {H(Ki_new),H(Ki_old)},即它保存了标签上一次及当前密钥的哈希值。因此即使标签没有 及时更新密钥但仍然可以通过认证,进而更新其密钥,再次实现与后端数据库保持同 步。

(5)匿名性和不可区分性

标签的身份标识IDi在不安全信道中通过消息h1来传送,即由于攻击者并不知道标签的密钥Ki,从而无法从h1中得到IDi。此外,标签的密钥是随 参数rT动态更新,各标签之间可以有相同或不同的密钥,但只有找到唯一匹配的ID, 才能通过对标签的认证。即使攻击者跟踪到消息,也无法区分是来自同一标签还是不 同的标签。

本协议与其它几个相关的协议在安全属性方面的比较,如表2所示。其中,Y表 示提供,N表示不提供。

表2 安全性比较

本发明的有益效果包括:

(1)从存储方面分析,由表4可以看出,除了Song和Yeh协议外,其他协议和本 发明协议一样,标签内部都存储两个参数。后端数据库与标签相比,无论是计算能力, 还是存储量都要比标签强得多,所以本协议要求后端数据库不仅为每个标签存储 {Ki_new,Ki_old}两个密钥,还存储了相应的哈希值,以提高数据库索引数据的速度,另 外还存储了每个标签的ID。

(2)从计算量方面分析,本发明协议标签的计算量虽然比Lee与Song协议多一次 Hash运算,但这并没有增加标签的成本,因为这是同一个Hash函数,就整体而言, 本协议标签的计算量还是相对比较少。后端数据库的计算量对比,除了Yeh协议,同 样比其他协议多一次Hash运算,但这对于计算能力强大的后端数据库而言,几乎可以 忽略。更重要的是,本发明索引数据的方式与一般协议的方式完全不相同。如Cho协 议的认证,有可能会使后端数据库为了认证一个标签,而索引了所有标签的信息,进 行大量的运算。如果攻击者不断的发送消息,就有可能使后端数据库一直处于忙碌状 态,合法的标签长时间得不到认证,最终导致后端数据库崩溃。

而本发明设计的协议完全可以抵抗此类攻击,后端数据库收到消息后,直接从两 个密钥的哈希值里面查询,如果没有找到匹配的,则拒绝后面的查询。如果存在匹配, 提取相应的密钥,再结合收到的信息来恢复未知标签的IDi,利用IDi的唯一性,进行 二次认证,这样既可以使后端数据库避免进行复杂且海量的运算,又可以有效地提高 系统的认证效率及安全性。

(3)从通信量方面分析,以上这些协议完成一次认证,均需要交互5次数据,其 中标签与读写器之间需要交互3次,读写器与后端数据库之间需要交互2次。由于本 发明协议设计标签的计算量相对较少,后端数据库具有计算量少和索引数据效率高的 特点,所以在相同的条件下,本发明协议认证效率最高。

通过上述分析及比较可知,在同样满足安全需求的前提下,与Cho协议相比,本 发明方案显著降低了标签的存储量和计算量,极大地减少了后端数据库的计算量。与 其结构类似的Lee,Yeh和Song协议相比,而本发明协议有着突出的安全性能优势。

表3 协议性能对比

其中,h表示Hash函数,表示异或操作,||表示连接函数,F表示其他函数。

附图说明

图1为数据库为每个标签存储记录。

图2为本发明提出的RFID双向认证协议流程图。

具体实施方式

以下将结合附图对本发明作进一步说明。

本发明协议包括系统初始化,互相认证,密钥更新三个阶段,具体交互过程如下:

一、RFID系统初始化

首先对RFID系统进行初始化,后端数据库为每个标签相应地存储一条记录,如 图1所示。此外,标签也存储自己的IDi以及密钥Ki

二、系统认证过程

RFID系统安全认证过程如图2所示,步骤如下:

(1)读写器生成一个随机数rR,并和查询命令Query一起发给标签作为认证请求。

(2)读写器对标签的认证

①(读写器→后端数据库):标签收到消息{Query,rR}后,也产生一个随机数rT,然 后计算其密钥Ki的哈希值H(Ki),以及,并将该三元组 发送到读写器作为应答消息;

②(读写器→后端数据库):读写器接收到应答消息后,将转发给 后台数据库DB。后台数据库再根据接收到的消息对标签的合法性进行判断:

1)后端数据库查找是否存在某个标签Ki'的哈希值满足H(Ki')=H(Ki),如果不存 在,则判断该标签为非法,拒绝认证请求;

2)如果存在,则后端数据库首先从中求得rT,再结合密钥Ki'以及随机数rR一起计算h1'=H(Ki',rT,rR),由可求得IDi″;检索后端数据库中ID列表,(查找对应 Ki'行中的IDi',如图1所示)是否满足IDi'=IDi″,若不成立,则终止认证;若成立,即 通过对标签的第二次认证。

(3)标签对读写器的认证

①(后端数据库→读写器):后端数据库也产生一个随机数rD,计算h'2=H(rD,IDi')和 ,并将该二元组传递给读写器。

②(读写器→标签)。读写器收到消息后,将转发给标签。标签收到消 息后,首先从中提取随机数rD,然后结合标签的唯一标识码IDi,计算 h2=H(rD,IDi),再与收到的认证信息h'2进行一致性验证,若不一致,则认证不成功, 验证读写器为非法;反之,则通过标签对读写器的认证。

三、密钥更新过程

①后端数据库更新密钥

读写器(后端数据库)通过对标签的认证之后,可按以下两种情况对密钥进行更新:

1)若等式H(Ki)=H(Ki_new)成立,即Ki'=Ki_new,则将数据库中的Ki_old更新为 Ki_new,然后再计算,进而更新,将其作为标签下一会 话的密钥值;

2)若等式H(Ki)=H(Ki_old)成立,则保留Ki_old,更新作为标 签下一会话的密钥值。

②标签更新密钥

标签完成对后端数据库的认证之后,更新其自身的密钥,即实现标 签与后端数据库密钥的同步更新。

通过上述的操作过程,完成RFID系统中读写器与标签之间的相互认证,从而保 证两者之间的通信安全。

本发明在合理平衡RFID系统的安全性能、隐私保护与标签制作成本以及协议的 复杂度等因素的基础之上,提出一种基于Hash函数可同步更新密钥的RFID双向认证 协议。在不增加标签成本的前提下,尽可能地减少标签的计算量,极大地降低了后端 数据库的计算量,提高了其处理标签信息的效率,使得后端数据库识别标签的效率有 大幅度地提高。总之,该协议能有效地解决目前RFID系统面临的安全问题,特别适 合于低成本、大规模的电子标签系统,具有一定的实用价值。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号