一种基于哈希函数的RFID群组标签认证协议的制作方法

文档序号:18560929发布日期:2019-08-30 23:16阅读:431来源:国知局
一种基于哈希函数的RFID群组标签认证协议的制作方法

本发明涉及通信技术领域,具体地涉及到rfid系统中群组标签的认证问题。



背景技术:

射频识别(radiofrequencyidentification,rfid)是一种非接触式的自动识别技术,它通过射频无线信号自动识别目标对象,并获取相关数据。一般的rfid系统由电子标签、阅读器和后台数据库组成。电子标签由芯片及天线组成,附着在物体上标识目标对象,每个标签具有唯一的电子编码,存储着被识别物体的相关信息。阅读器是利用射频技术对电子标签信息进行读写的设备。后台数据库存储着与标签及阅读器有关的身份信息及相关数据,并对阅读器发送来的消息进行处理和加工。rfid的基本工作流程是:阅读器通过发射天线发送一定频率的射频信号,当标签处于阅读器的读取范围内时,标签获得能量被激活,将自身信息通过内置的天线发射出去,阅读器接收到标签发送来的消息后,对接收信号进行解码,然后送到后台数据库进行下一步的相关处理,后台数据库根据一系列逻辑运算判断标签的合法性。与传统的识别技术相比,rfid技术具有成本低、体积小、便于携带和可远距离识别等诸多优点。随着物联网的普及和应用,rfid已在供应链管理、健康医疗、交通运输、物流等领域得到了非常广泛的应用。

一般情况下,阅读器和后台数据库都是具有强大存储能力和计算能力的设备,可以实现功能强大的加密算法,因而可以将阅读器与后台数据库之间的信道看作是安全的有线信道。而由于制造成本的限制,标签大多数采用的是无源标签,使得标签的计算能力和存储能力受到了非常大的限制,难以支持高强度、复杂的加密操作,只能采用一些轻量级的加密操作如crc(循环冗余校验)、单向哈希函数和简单的比特运算等,因此标签和阅读器之间的信道通常是不安全的无线信道。攻击者可以对该不安全信道上传输的消息进行窃听、重放甚至是篡改,从而使得协议容易遭受到各种恶意攻击,如重放攻击、假冒攻击、去同步化攻击、中间人攻击、跟踪攻击等攻击,协议的安全和隐私受到了严重威胁。在这种资源受限的特殊环境下,安全、有效、低资源消耗的rfid安全和隐私保护方法的研究成为了具有挑战性的热点。目前,为实现rfid系统的安全性和隐私性,研究学者们已经提出了许多解决办法,其中包括物理解决方法和应用哈希函数加密机制。物理解决方法主要是针对rfid设备的破坏和攻击,一般会毁坏附着在物品上的标签或使用一些屏蔽措施如“法拉第笼”、kill命令等。哈希函数加密机制主要是利用了哈希函数的单向性和机密性来确保消息在不安全通信环境下的完整性和机密性,这也是当前rfid安全协议研究方面的主流。在许多应用场合中,标签常被分为多个组,每个组用来标识同一个物体,也就是用多个标签来标识同一个物体,在对物体进行认证的时候需要同时认证多个标签,这就涉及到群组标签的认证问题。目前,rfid安全协议主要集中在单个标签的认证,研究者也陆续提出了一些群组标签认证协议,但均存在隐私泄露、无法抵抗去同步化攻击、缺乏前向安全性等缺陷。



技术实现要素:

为了克服上述现有技术的不足,本发明提供了一种基于哈希函数的rfid群组标签认证协议。该协议实现了群组标签、阅读器和后台数据库之间的相互认证。在标签端采用低成本的哈希函数和随机数生成机制对消息进行加密操作和随机化处理,使得标签端发送的消息具有匿名性,防止标签被跟踪;通过在后台数据库存储当前群组标识符和旧群组标识符,可有效地抵抗去同步化攻击;并且阅读器采用了超时重传机制,确保收到了群组中所有标签的回复,实现了标签认证的完整性。

本发明采用的技术方案是:一种基于哈希函数的rfid群组标签认证协议,包括如下步骤:

步骤1阅读器向其读取范围内的标签发送询问请求消息;

步骤2阅读器将所有标签的响应消息发送至后台数据库;

步骤3后台数据库根据阅读器发送来的标签响应消息确定标签的群组标识符以及无效标识符,选择其中一个群组标识符;

步骤4后台数据库对选择的群组里的所有标签进行认证;

步骤5群组标签对后台数据库进行认证;

步骤6群组标签和后台数据库更新群标识符。

初始化阶段:

后台数据库维护一张关于群组标签信息的表,表中信息包括标签存储自身信息阅读器不存储任何自身身份信息,可以对数据库和标签的信息进行转发、存储和处理。后台数据库与阅读器之间是安全的有线信道,阅读器与标签之间是不安全的无线信道。

认证阶段:

进一步的,所述步骤1具体为阅读器向其读取范围内的所有标签发出query请求。

进一步的,所述步骤2具体为:

c)标签(表示群组i里面的第j个标签)收到阅读器发起的请求后,产生随机数并且利用自身存储的群组标识符kgroupi计算再把消息发送给阅读器;

d)阅读器收到消息后,产生随机数rr,将该随机数和接收到的标签消息转发给后台数据库。

进一步的,所述步骤3具体为后台数据库收到阅读器发来的消息后,根据自身存储的以及接收到的随机数计算若该计算值与接收到的相等,则说明该标签属于合法群组里面的标签(若相等,则下面步骤中数据库使用的群组标识符为反之,则使用的是);若存在多组标签,则选择其中一个群组标签进行认证;假设选择的是第i个群组标签,群组标识符为(或),该群组中的标签总数为ni;然后计算并把消息ni发送给阅读器。

进一步的,所述步骤4具体为:

e)阅读器收到后台数据库发送的消息后,首先在本地存储标签总数ni,然后计算并把它发送给标签;

f)标签收到消息后,根据自身存储的ni计算得到rr;然后根据自身存储的kgroupi,以及在步骤2中产生的随机数计算并把该消息发送给阅读器;

g)收到标签的消息后,阅读器利用自身产生的随机数rr和接收到的得到将该值进行哈希运算之后得到若该值与从标签端接收的相等,说明没有被篡改,计算所得的就是标签产生的随机数;然后利用该随机数与接收到的进行计算得到将该值与步骤3中后台数据库发送的进行比较,若相等,则说明该标签是被选择群组里面的标签,统计匹配成功的标签个数,若不相等,则说明该消息来自于非法标签或者其他群组中的标签,对该消息不予处理;若在一定时间内没有收到标签回复消息,则启动超时重传机制,重新开始步骤4(a)的流程,直到收到了该群组里面所有标签的消息;最后计算并把消息a发送给后台数据库;

h)后台数据库收到阅读器发送的消息后,根据在步骤3中选择的群组标识符,在其本地维护的表中找到对应的群组标签信息,包括标签的和在步骤3中匹配成功的(或),然后根据这些标签信息计算(其中x=coro)。若a′与a不相等,则说明在这些标签中至少存在一个非法标签或者在步骤4(b)进行中已经被攻击者篡改,立即终止协议;若a′与a相等,则说明该群组中的标签都是合法的,随即产生随机数rs,计算并把它们发送给阅读器。

进一步的,所述步骤5具体为:

c)阅读器收到后台数据库的消息后,生成ni个随机数发送给标签;

d)标签收到阅读器发送的消息后,根据自身存储的kgroupi和ni计算再结合接收到的得到rs,若h(rs)与接收到的h(rs)相等,则说明该rs就是数据库产生的随机数,进一步计算得到计算并发送给阅读器。

进一步的,所述步骤6具体为:

a)阅读器收到来自标签的消息后,将接收到的与阅读器在步骤5(a)产生的随机数的哈希值进行比较,并统计匹配相等的个数,直到收到了所有群组标签的消息,此时发送消息rr给后台数据库,通知数据库进行群组标识符的更新;否则启动超时重传机制,重复步骤5(a),若重传次数超过设定的阈值,终止协议;

b)数据库收到阅读器的更新消息后,更新表中群组标识符:待更新过程完成以后,后台数据库给阅读器发送一个更新完成的反馈消息ok;

c)阅读器收到后台数据库的反馈信息后,给群组中的标签发送对应的更新消息update,h(ni),标签收到消息后,根据自身存储的ni进行哈希运算后得到哈希值h(ni),若该值与阅读器发送的h(ni)相等,则进行群组标识符的更新:否则,不进行更新。

上述的安全协议中用到的符号及其定义如下所示:

上述协议中后台数据库存储的群组信息表如下:

本发明的有益效果如下:

(1)消息机密性

在通信过程中,尤其是在不安全的无线信道中,阅读器和标签之间传输的消息都是经过单向哈希函数加密的,由于哈希函数的单向性、抗原像性和抗碰撞性,攻击者即使窃听到了阅读器和标签之间的消息,也不能从中得到任何有关标签的敏感信息。而且在消息中还加入了随机数,增加了消息的随机性。

(2)抵抗假冒攻击

由于阅读器和后台数据库之间的信道是安全的有线信道,因此可以将阅读器和后台数据库看成是一个整体。当攻击者通过截获的消息假冒标签并企图通过数据库的认证时,由于攻击者无法获得标签的私有秘钥并且kgroupi在每一轮会话结束后都会进行更新,因而无法计算正确的通过数据库的认证。若攻击者假冒阅读器欺骗标签,由于每次数据库都会生产随机数rs,并且该随机数的都是经过哈希函数和随机数加密的,攻击者在不知道ni和kgroupi的情况下是不可能获得该随机数的,也无法计算出正确的认证信息通过标签的认证。

(3)抵抗跟踪攻击

在每一轮会话中,标签都会产生不同的随机数加上阅读器产生的随机数rr和后台数据库产生的随机数rs,标签发送的消息具有新鲜性和随机性,并且消息都由哈希函数加密,攻击者并不能通过这些消息将一个标签与其他标签区分开来,可以很好地抵抗跟踪攻击。

(4)抵抗重放攻击

在每一轮会话中,后台数据库都会产生随机数rs,并且阅读器产生的随机数rr和标签的产生随机数也不相同,群组标识符kgroupi也会进行更新,攻击者即使重放了上一轮的消息,也不可能通过认证。

(5)抵抗去同步化攻击

在步骤6(c)中,阅读器在后台数据库更新完成后,通知标签进行更新。若攻击者对更新通知消息进行了篡改,使得标签更新失败,造成后台数据库与标签更新不同步,由于后台数据库存储了旧群组标识符,在下一轮认证过程中,未成功更新的标签仍然可以通过后台数据库的认证,并且更新群组标识符的过程为使得数据库与标签之间可能再次同步。

(6)前向/后向安全性

即使标签信息kgroupi或者遭到泄露,由于在每一轮会话时,kgroupi都会更新,并且后台数据库产生的随机数rs和阅读器产生的随机数rr都是不同的,因此可以保证加上哈希函数的单向性,即使攻击者获取了某次通信数据,也不可能计算出先前的会话消息和将要发送的消息,因此该协议具有前向安全性和后向安全性。

附图说明

图1为本发明的一种基于哈希函数的rfid群组标签认证协议的详细流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本实施例提供了一种基于哈希函数的rfid群组标签认证协议,包括如下步骤:步骤1阅读器向其读取范围内的标签发送询问请求消息;步骤2阅读器将所有标签的响应消息发送至后台数据库;步骤3后台数据库根据阅读器发送来的标签响应消息确定标签的群组标识符以及无效标识符,选择其中一个群组标识符;步骤4后台数据库对选择的群组里的所有标签进行认证;步骤5群组标签对后台数据库进行认证;步骤6群组标签和后台数据库更新群标识符。

初始化阶段:

后台数据库维护一张关于群组标签信息的表,表中信息包括标签存储自身信息阅读器不存储任何自身身份信息,可以对数据库和标签的信息进行转发、存储和处理。后台数据库与阅读器之间是安全的有线信道,阅读器与标签之间是不安全的无线信道。

认证阶段:

步骤1具体为阅读器向其读取范围内的所有标签发出query请求。

步骤2具体为:a)标签(表示群组i里面的第j个标签)收到阅读器发起的请求后,产生随机数并且利用自身存储的群组标识符kgroupi计算再把消息发送给阅读器;b)阅读器收到消息后,产生随机数rr,将该随机数和接收到的标签消息转发给后台数据库。

步骤3具体为后台数据库收到阅读器发来的消息后,根据自身存储的以及接收到的随机数计算若该计算值与接收到的相等,则说明该标签属于合法群组里面的标签(若相等,则下面步骤中数据库使用的群组标识符为反之,则使用的是);若存在多组标签,则选择其中一个群组标签进行认证;假设选择的是第i个群组标签,群组标识符为(或),该群组中的标签总数为ni;然后计算并把消息ni发送给阅读器。

步骤4具体为a)阅读器收到后台数据库发送的消息后,首先在本地存储标签总数ni,然后计算并把它发送给标签;b)标签收到消息后,根据自身存储的ni计算得到rr;然后根据自身存储的kgroupi,以及在步骤2中产生的随机数计算并把该消息发送给阅读器;c)收到标签的消息后,阅读器利用自身产生的随机数rr和接收到的得到将该值进行哈希运算之后得到若该值与从标签端接收的相等,说明没有被篡改,计算所得的就是标签产生的随机数;然后利用该随机数与接收到的进行计算得到将该值与步骤3中后台数据库发送的进行比较,若相等,则说明该标签是被选择群组里面的标签,统计匹配成功的标签个数,若不相等,则说明该消息来自于非法标签或者其他群组中的标签,对该消息不予处理;若在一定时间内没有收到标签回复消息,则启动超时重传机制,重新开始步骤4(a)的流程,直到收到了该群组里面所有标签的消息;最后计算并把消息a发送给后台数据库;d)后台数据库收到阅读器发送的消息后,根据在步骤3中选择的群组标识符,在其本地维护的表中找到对应的群组标签信息,包括标签的和在步骤3中匹配成功的(或),然后根据这些标签信息计算(其中x=coro)。若a′与a不相等,则说明在这些标签中至少存在一个非法标签或者在步骤4(b)进行中已经被攻击者篡改,立即终止协议;若a′与a相等,则说明该群组中的标签都是合法的,随即产生随机数rs,计算并把它们发送给阅读器。

步骤5具体为a)阅读器收到后台数据库的消息后,生成ni个随机数发送给标签;b)标签收到阅读器发送的消息后,根据自身存储的kgroupi和ni计算再结合接收到的得到rs,若h(rs)与接收到的h(rs)相等,则说明该rs就是数据库产生的随机数,进一步计算得到计算并发送给阅读器。

步骤6具体为:a)阅读器收到来自标签的消息后,将接收到的与阅读器在步骤5(a)产生的随机数的哈希值进行比较,并统计匹配相等的个数,直到收到了所有群组标签的消息,此时发送消息rr给后台数据库,通知数据库进行群组标识符的更新;否则启动超时重传机制,重复步骤5(a),若重传次数超过设定的阈值,终止协议;b)数据库收到阅读器的更新消息后,更新表中群组标识符:待更新过程完成以后,后台数据库给阅读器发送一个更新完成的反馈消息ok;c)阅读器收到后台数据库的反馈信息后,给群组中的标签发送对应的更新消息update,h(ni),标签收到消息后,根据自身存储的ni进行哈希运算后得到哈希值h(ni),若该值与阅读器发送的h(ni)相等,则进行群组标识符的更新:否则,不进行更新。

以上所述仅是本发明的一个具体实例,并未构成对本发明的任何限制,应当指出,对于本技术领域的普通技术人员,在不背离本发明原理、结构的前提下,还可以做出若干改进和补充,这些改进和补充也应视为本发明的权利要求保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1