会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 电脑安全 / 密码学 / 射频识别认证方法及系统

射频识别认证方法及系统

阅读:1230发布:2020-08-29

IPRDB可以提供射频识别认证方法及系统专利检索,专利查询,专利分析的服务。并且本发明实施例公开了一种射频识别认证方法和系统。所述方法利用伪随机数中的至少一个标识位数值实现标签和读写器预共享密值和密钥的动态选取,提升了协议会话周期的随机性。针对RFID系统标签和读写器空中接口特殊性和局限性,本方法引入基于Hash的消息认证码和单向Hash函数实现交互消息的前向安全性,采用认证机制实现了标签和读写器的身份真实性验证,有效解决RFID系统的安全数据传输问题。本方法实用新颖,采用轻量级的密码学算子进行身份认证,提高了会话周期交互数据的动态性,适用于系统资源受限的RFID应用场景。,下面是射频识别认证方法及系统专利的具体信息内容。

1.一种射频识别认证方法,其特征在于,包括:

射频识别读写器生成读写器端伪随机数,并将包含所述读写器端伪随机数的请求消息发送给射频识别标签;

接收到所述请求消息之后,所述射频识别标签生成标签端伪随机数,根据所述标签端伪随机数中的至少一个标签端标识位从标签端预共享密值集合及标签端密钥集合中分别选择标签端预共享密值及标签端密钥,根据所述标签端预共享密值及所述标签端密钥计算标签端消息认证码,并将包含所述标签端伪随机数和所述标签端消息认证码的应答消息发送给所述射频识别读写器;

接收到所述应答消息之后,所述射频识别读写器对所述读写器端伪随机数和所述标签端伪随机数进行处理,根据处理结果中的至少一个读写器端标识位从读写器端预共享密值集合及读写器端密钥集合中分别选择读写器端预共享密值及读写器端密钥,根据所述读写器端预共享密值及所述读写器端密钥计算读写器端消息认证码,并将包含所述标签端伪随机数、所述读写器端伪随机数、所述标签端消息认证码以及所述读写器端消息认证码的验证消息发送给后台数据库;

所述后台数据库根据基于散列函数的消息认证码算法对所述射频识别读写器及所述射频识别标签进行身份验证;

如果对所述射频识别读写器及所述射频识别标签的身份验证成功,所述后台数据库分别提取所述射频识别读写器的伪身份标识符及所述射频识别标签的伪身份标识符,根据所述射频识别读写器的伪身份标识符及所述射频识别标签的伪身份标识符生成所述后台数据库的消息认证码,并将所述后台数据库的消息认证码发送给所述射频识别读写器;

所述射频识别读写器接收到所述后台数据库的消息认证码之后,提取所述射频识别读写器的伪身份标识符,利用单向散列函数计算所述后台数据库的二次消息认证码,并将所述后台数据库的二次消息认证码发送给所述射频识别标签;

所述射频识别标签接收到所述二次消息认证码之后,提取所述射频识别标签的伪身份标识符,利用单向散列函数对所述射频识别标签的伪身份标识符进行计算,将计算的结果与所述二次消息认证码进行比较,并根据比较结果对所述射频识别读写器进行身份验证。

2.根据权利要求1所述的方法,其特征在于,所述射频识别标签根据所述标签端预共享密值及所述标签端密钥计算标签端消息认证码包括:所述射频识别标签根据如下公式计算标签端消息认证码:

MT=HMAC(kT,ST||rR),

其中,kT是所述标签端密钥,ST是所述标签端共享密值,rR是所述读写器端伪随机数,HMAC是基于散列函数的消息认证码函数,MT是所述标签端消息认证码。

3.根据权利要求1所述的方法,其特征在于,所述射频识别读写器对所述读写器端伪随机数和所述标签端伪随机数进行处理包括:所述射频识别读写器根据如下公式对所述读写器端伪随机数及所述标签端伪随机数进行处理:r′R=rR⊕rT,

其中,rR是所述读写器端伪随机数,rT是所述标签端伪随机数,⊕表示异或运算,r'R表示所述射频识别读写器对所述读写器端伪随机数及所述标签端伪随机数进行处理的处理结果。

4.根据权利要求1所述的方法,其特征在于,所述射频识别读写器根据所述读写器端预共享密值及所述读写器端密钥计算读写器端消息认证码包括:所述射频识别读写器根据如下公式计算读写器消息认证码:

MR=HMAC(kR,SR||r′R),

其中,kR是所述读写器端密钥,SR是所述读写器端共享密值,r'R是对所述读写器端伪随机数及所述标签端伪随机数进行处理的处理结果,HMAC是基于散列函数的消息认证码函数,MR是所述读写器端消息认证码。

5.根据权利要求1所述的方法,其特征在于,所述后台数据库根据基于散列函数的消息认证码算法对所述射频识别读写器及所述射频识别标签进行身份验证包括:所述后台数据库根据是否存在满足如下公式的标签端预共享密值ST*及标签端密钥kT*对所述射频识别标签进行验证:HMAC(kT*,ST*||(rR⊕rT))=MT;

并且,所述后台数据库根据是否存在满足如下公式的读写器端预共享密值SR*及读写器端密钥kR*对所述射频识别读写器进行验证:HMAC(kR*,SR*||rT)=MR。

6.根据权利要求1所述的方法,其特征在于,所述后台数据库根据所述射频识别读写器的伪身份标识符及所述射频识别标签的伪身份标识符生成所述后台数据库的消息认证码包括:所述后台数据库根据如下公式生成所述后台数据库的消息认证码:

MDB=H(PIDT)⊕H(PIDR),

其中,PIDT是所述射频识别标签的伪身份标识符,PIDR是所述射频识别读写器的伪身份标识符,H是单向散列函数,⊕表示异或运算,MDB是所述后台数据库的消息认证码。

7.根据权利要求1所述的方法,其特征在于,所述射频识别读写器利用单向散列函数计算所述后台数据库的二次消息认证码包括:所述射频识别读写器根据如下公式计算所述二次消息认证码:

M′DB=H(MDB⊕H(PIDR)||rT),

其中,MDB是所述后台数据库的消息认证码,PIDR是所述射频识别读写器的伪身份标识符,rT是所述标签端伪随机数,⊕表示异或运算,M'DB是所述后台数据库的二次消息认证码。

8.根据权利要求1所述的方法,其特征在于,所述射频识别标签利用单向散列函数对所述射频识别标签的伪身份标识符进行计算包括:所述射频识别标签根据如下公式对所述射频识别标签的伪身份标识符进行计算:

Re=H(H(PIDT)||rT),

其中,PIDT是所述射频识别标签的伪身份标识符,H是单向散列函数,rT是所述标签伪随机数,Re是对所述射频识别标签的伪身份标识符进行计算的计算结果;

接着,所述射频识别标签将计算的结果与所述二次消息认证码进行比较,如果二者相同,则认为所述射频识别读写器的身份合法,否则,认为所述射频识别读写器的身份不合法。

9.一种射频识别认证系统,其特征在于,包括:

射频识别标签,用于接收到请求消息之后,生成标签端伪随机数,根据所述标签端伪随机数中的至少一个标签端标识位从标签端预共享密值集合及标签端密钥集合中分别选择标签端预共享密值及标签端密钥,根据所述标签端预共享密值及所述标签端密钥计算标签端消息认证码,并将包含所述标签端伪随机数和所述标签端消息认证码的应答消息发送给射频识别读写器,以及接收到所述二次消息认证码之后,提取所述射频识别标签的伪身份标识符,利用单向散列函数对所述射频识别标签的伪身份标识符进行计算,将计算的结果与所述二次为身份验证标识进行比较,并根据比较结果对所述射频识别读写器进行身份验证;

射频识别读写器,用于生成读写器端伪随机数,将包含所述读写器端伪随机数的请求消息发送给射频识别标签,在接收到所述应答消息之后,对所述读写器端伪随机数和所述标签端伪随机数进行处理,根据处理结果中的至少一个读写器端标识位从读写器端预共享密值集合及读写器端密钥集合中分别选择读写器端预共享密值及读写器端密钥,根据所述读写器端预共享密值及所述读写器端密钥计算读写器端消息认证码,并将包含所述标签端伪随机数、所述读写器端伪随机数、所述标签端消息认证码以及所述读写器端消息认证码的验证消息发送给后台数据库,以及接收到所述后台数据库的消息认证码之后,提取所述射频识别读写器的伪身份标识符,利用单向散列函数计算所述后台数据库的二次消息认证码,并将所述后台数据库的二次消息认证码发送给所述射频识别标签;

后台数据库,用于根据基于散列函数的消息认证码算法对所述射频识别读写器及所述射频识别标签进行身份验证,若对所述射频识别读写器及所述射频识别标签的身份验证成功,分别提取所述射频识别读写器的伪身份标识符及所述射频识别标签的伪身份标识符,根据所述射频识别读写器的伪身份标识符及所述射频识别标签的伪身份标识符生成所述后台数据库的消息认证码,并将所述后台数据库的消息认证码发送给所述射频识别读写器。

说明书全文

射频识别认证方法及系统

技术领域

[0001] 本发明实施例涉及射频识别技术领域,尤其涉及一种射频识别认证方法和系统。

背景技术

[0002] RFID(射频识别)技术利用无线射频信号实现目标对象的非接触自动识别,逐渐推广应用于身份识别、安全防伪、交通物流、资产管理等领域。作为一项新兴的无线识别技术,RFID技术作为物联网系统的典型无线传感技术,可以实现全球范围内物品感知和信息共享,具有广泛的市场应用前景。然而,由于RFID系统自身硬件系统的局限性和通信链路的特殊性,标签和读写器之间的空中接口面临着严峻的安全威胁和隐私问题,使得RFID系统安全成为一项重要的研究课题。
[0003] 由于RFID系统中标签和读写器之间的通信信道是无线信道,并且标签和读写器的计算能力有限,导致标签和读写器之间进行相互认证时,它们之间的交互面临着严峻的安全威胁。

发明内容

[0004] 针对上述技术问题,本发明实施例提供了一种射频识别认证方法和系统,以增强射频识别认证过程的安全性。
[0005] 第一方面,本发明实施例提供了一种射频识别认证方法,所述方法包括:
[0006] 射频识别读写器生成读写器端伪随机数,并将包含所述读写器端伪随机数的请求消息发送给射频识别标签;
[0007] 接收到所述请求消息之后,所述射频识别标签生成标签端伪随机数,根据所述标签端伪随机数中的至少一个标签端标识位从标签端预共享密值集合及标签端密钥集合中分别选择标签端预共享密值及标签端密钥,根据所述标签端预共享密值及所述标签端密钥计算标签端消息认证码,并将包含所述标签端伪随机数和所述标签端消息认证码的应答消息发送给所述射频识别读写器;
[0008] 接收到所述应答消息之后,所述射频识别读写器对所述读写器端伪随机数和所述标签端伪随机数进行处理,根据处理结果中的至少一个读写器端标识位从读写器端预共享密值集合及读写器端密钥集合中分别选择读写器端预共享密值及读写器端密钥,根据所述读写器端预共享密值及所述读写器端密钥计算读写器端消息认证码,并将包含所述标签端伪随机数、所述读写器端伪随机数、所述标签端消息认证码以及所述读写器端消息认证码的验证消息发送给后台数据库;
[0009] 所述后台数据库根据基于散列函数的消息认证码算法对所述射频识别读写器及所述射频识别标签进行身份验证;
[0010] 如果对所述射频识别读写器及所述射频识别标签的身份验证成功,所述后台数据库分别提取所述射频识别读写器的伪身份标识符及所述射频识别标签的伪身份标识符,根据所述射频识别读写器的伪身份标识符及所述射频识别标签的伪身份标识符生成所述后台数据库的消息认证码,并将所述后台数据库的消息认证码发送给所述射频识别读写器;
[0011] 所述射频识别读写器接收到所述后台数据库的消息认证码之后,提取所述射频识别读写器的伪身份标识符,利用单向散列函数计算所述后台数据库的二次消息认证码,并将所述后台数据库的二次消息认证码发送给所述射频识别标签;
[0012] 所述射频识别标签接收到所述二次消息认证码之后,提取所述射频识别标签的伪身份标识符,利用单向散列函数对所述射频识别标签的伪身份标识符进行计算,将计算的结果与所述二次消息认证码进行比较,并根据比较结果对所述射频识别读写器进行身份验证。
[0013] 第二方面,本发明实施例还提供了一种射频识别认证系统,所述系统包括:
[0014] 射频识别标签,用于接收到请求消息之后,生成标签端伪随机数,根据所述标签端伪随机数中的至少一个标签端标识位从标签端预共享密值集合及标签端密钥集合中分别选择标签端预共享密值及标签端密钥,根据所述标签端预共享密值及所述标签端密钥计算标签端消息认证码,并将包含所述标签端伪随机数和所述标签端消息认证码的应答消息发送给射频识别读写器,以及接收到所述二次消息认证码之后,提取所述射频识别标签的伪身份标识符,利用单向散列函数对所述射频识别标签的伪身份标识符进行计算,将计算的结果与所述二次为身份验证标识进行比较,并根据比较结果对所述射频识别读写器进行身份验证;
[0015] 射频识别读写器,用于生成读写器端伪随机数,将包含所述读写器端伪随机数的请求消息发送给射频识别标签,在接收到所述应答消息之后,对所述读写器端伪随机数和所述标签端伪随机数进行处理,根据处理结果中的至少一个读写器端标识位从读写器端预共享密值集合及读写器端密钥集合中分别选择读写器端预共享密值及读写器端密钥,根据所述读写器端预共享密值及所述读写器端密钥计算读写器端消息认证码,并将包含所述标签端伪随机数、所述读写器端伪随机数、所述标签端消息认证码以及所述读写器端消息认证码的验证消息发送给后台数据库,以及接收到所述后台数据库的消息认证码之后,提取所述射频识别读写器的伪身份标识符,利用单向散列函数计算所述后台数据库的二次消息认证码,并将所述后台数据库的二次消息认证码发送给所述射频识别标签;
[0016] 后台数据库,用于根据基于散列函数的消息认证码算法对所述射频识别读写器及所述射频识别标签进行身份验证,若对所述射频识别读写器及所述射频识别标签的身份验证成功,分别提取所述射频识别读写器的伪身份标识符及所述射频识别标签的伪身份标识符,根据所述射频识别读写器的伪身份标识符及所述射频识别标签的伪身份标识符生成所述后台数据库的消息认证码,并将所述后台数据库的消息认证码发送给所述射频识别读写器。
[0017] 本发明实施例提供的射频识别认证方法和系统通过根据随机生成的伪随机数中的标识位的具体取值从共享密值集合以及密钥集合中选择共享密值以及密钥,并根据选择的共享密值及密钥进行射频识别标签与射频识别读写器之间的通信,使得重放攻击、假冒攻击等攻击的攻击者难以入侵上述认证过程,从而提高了认证过程的安全性。

附图说明

[0018] 图1是本发明第一实施例提供的射频识别认证方法的流程图;
[0019] 图2是本发明第二实施例提供的射频识别认证方法的交互流程图;
[0020] 图3是本发明第三实施例提供的射频识别认证系统的结构图。

具体实施方式

[0021] 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0022] 第一实施例
[0023] 本实施例提供了射频识别认证方法的一种技术方案。所述射频识别认证方法可以由射频识别系统实施。所述射频识别系统包括:射频识别标签、射频识别读写器以及后台数据库。所述射频识别读写器与所述射频识别标签、后台数据库分别连接,并且所述射频识别标签与所述后台数据库之间不具有通信连接。在上述的两个通信连接中,所述射频识别标签与所述射频识别读写器之间的连接是使用射频识别技术的无线连接,因此该通信连接容易受到攻击;而所述射频识别读写器与所述后台数据库之间的连接是有线的通信连接,攻击者很难接入,所以可以认为所述射频识别读写器与所述后台数据库之间的连接是安全的通信连接。
[0024] 参见图1,所述射频识别认证方法包括:
[0025] S11,射频识别读写器生成读写器端伪随机数,并将包含所述读写器端伪随机数的请求消息发送给射频识别标签。
[0026] 在运行本实施例提供的射频识别认证方法之前,执行所述射频识别认证方法的射频识别系统需要首先进行初始化。在初始化的过程中,每个射频识别标签拥有自身的伪身份标识符PIDT、标签端预共享密值集合以及标签端密钥集合。相应的,每个射频识别读写器拥有自身的伪身份标识符PIDR、读写器端预共享密值集合以及读写器端密钥集合。在所述后台数据库中,存储有每个射频识别标签的伪身份标识符、可能的标签端预共享密值及可能的标签端密钥,还存储有每个射频识别读写器的伪身份标识符、可能的读写器端预共享密值及可能的读写器端密钥。
[0027] 完成了射频识别系统的初始化,在认证过程开始之后,射频识别读写器首先生成一个读写器端伪随机数rR,并且将包含这个读写器端伪随机数rR的请求消息发送给射频识别标签。
[0028] S12,接收到所述请求消息之后,所述射频识别标签生成标签端伪随机数,根据所述标签端伪随机数中的至少一个标签端标识位从标签端预共享密值集合及标签端密钥集合中分别选择标签端预共享密值及标签端密钥,根据所述标签端预共享密值及所述标签端密钥计算标签端消息认证码,并将包含所述标签端伪随机数和所述标签端消息认证码的应答消息发送给所述射频识别读写器。
[0029] 所述射频识别标签接收到包含所述读写器端伪随机数rR的请求消息之后,生成标签端伪随机数rT。然后,所述射频识别标签根据所述标签端伪随机数中的至少一个标签端标识位从标签端预共享密值集合中选择标签端共享密值,并根据所述标签端标识位从标签端密钥集合中选择标签端密钥。比如,规定所述标签端标识位是所述标签端伪随机数中的最低一位,而所述标签端预共享密值集合包括标签端预共享密值ST0及ST1。那么,可以当所述标签端标识位,也就是所述标签端伪随机数中的最低一位的取值是0的时候选择ST0作为标签端预共享密值,而当所述标签端标识位,也就是所述标签端伪随机数的最低一位的取值是1的时候选择ST1作为标签端预共享密值。
[0030] 由于标签端预共享密值及标签端密钥是根据伪随机数的中的至少一位的取值从标签端预共享密值集合及标签端密钥集合中随机选取的,因此,难以准确的伪造上述两个参数,为重放攻击、仿冒攻击设置了障碍,提高了身份验证过程的安全性。
[0031] 可以理解的是,如果所述标签端标识位共有n个二进制位,则所述标签端预共享n n密值集合可以容纳2个标签端预共享密值,同样,所述标签端密钥集合可以容纳2 个标签端密钥。
[0032] 接着,所述射频识别标签根据下面的公式计算标签端消息认证码:
[0033] MT=HMAC(kT,ST||rR) (1)
[0034] 在上式中,kT是标签端密钥,ST是标签端共享密值,rR是读写器端伪随机数,HMAC是基于散列函数的消息认证码函数,MT是根据上述公式计算得到的标签端消息认证码。
[0035] 根据式(1)计算得到标签端消息认证码之后,所述射频识别标签将包含标签端伪随机数rT,以及标签端消息认证码MT的应答消息发送给射频识别读写器。
[0036] S13,接收到所述应答消息之后,所述射频识别读写器对所述读写器端伪随机数和所述标签端伪随机数进行处理,根据处理结果中的至少一个读写器端标识位从读写器端预共享密值集合及读写器端密钥集合中分别选择读写器端预共享密值及读写器端密钥,根据所述读写器端预共享密值及所述读写器端密钥计算读写器端消息认证码,并将包含所述标签端伪随机数、所述读写器端伪随机数、所述标签端消息认证码以及所述读写器端消息认证码的验证消息发送给后台数据库。
[0037] 从所述射频识别标签接收到所述应答消息之后,所述射频识别读写器根据如下公式对所述读写器端伪随机数和所述标签端伪随机数进行处理:
[0038] r′R=rR⊕rT (2)
[0039] 在公式(2)中,rT是标签端伪随机数,rR是读写器端伪随机数,⊕表示异或运算,r'R是根据异或运算计算得到的处理结果。
[0040] 得到上述处理结果之后,所述射频识别读写器根据所述处理结果中的至少一个读写器端标识位从所述读写器端预共享密值集合中选择读写器端预共享密值,并且从所述读写器端密钥集合中选择读写器端密钥。比如,所述读写器端标识位是所述处理结果中最低的一个二进制位,而所述读写器端预共享密值集合中包括读写器端预共享密值SR0及SR1,那么,可以当所述读写器端标识位,也就是所述处理结果中最低的一个二进制位的取值是0的时候,选择SR0为读写器端预共享密值,而当所述读写器标识位,也就是所述处理结果中最低的一个二进制位的取值是1的时候,选择SR1为读写器端预共享密值。
[0041] 由于读写器端预共享密值及读写器端密钥是根据伪随机数中至少一位的取值从读写器端预共享密值集合及读写器端密钥集合中随机选取的,因此,难以准确的伪造上述两个参数,为重放攻击、仿冒攻击设置了障碍,提高了身份验证过程的安全性。
[0042] 可以理解的是,如果所述读写器端标识位共有n个二进制位,则所述读写器端预n共享密值集合可以容纳2个读写器端预共享密值,同样,所述读写器端密钥集合可以容纳n
2个读写器端密钥。
[0043] 接着,所述射频识别读写器根据式(3)计算读写器端消息认证码:
[0044] MR=HMAC(kR,SR||r′R) (3)
[0045] 在公式(3)中,kR是所述标签端密钥,SR是所述标签端共享密值,r'R是对所述读写器端伪随机数及所述标签端伪随机数进行处理的处理结果,HMAC是基于散列函数的消息认证码函数,MR是所述读写器端消息认证码。
[0046] 完成根据式(3)的运算之后,所述射频识别读写器将包含所述标签端伪随机数、所述读写器端伪随机数、所述标签端消息认证码以及所述读写器端消息认证码的验证消息发送给后台数据库。
[0047] S14,所述后台数据库根据基于散列函数的消息认证码算法对所述射频识别读写器及所述射频识别标签进行身份验证。
[0048] 所述后台数据库接收到所述射频识别读写器发送的包括所述标签端伪随机数、所述读写器端伪随机数、所述标签端消息认证码以及所述读写器端消息认证码的验证消息之后,基于散列函数的消息认证码算法对所述射频识别读写器及所述射频识别标签进行身份验证。
[0049] 具体的,所述后台数据库验证是否存在满足式(4)的kT*及ST*:
[0050] HMAC(kT*,ST*||(rR⊕rT))=MT (4)
[0051] 并且,所述后台数据库进一步验证是否存在满足式(5)的kR*及SR*:
[0052] HMAC(kR*,SR*||rT)=MR (5)
[0053] 如果经过所述后台数据库的验证,存在满足式(4)的kT*及ST*,并且存在满足式(5)的kR*及SR*,则认为所述射频识别标签及所述射频识别读写器的身份合法;如果不存在满足式(4)的kT*及ST*,或者不存在满足式(5)的kR*及SR*,则认为所述射频识别标签及所述射频识别读写器的身份均不合法。
[0054] S15,如果对所述射频识别读写器及所述射频识别标签的身份验证成功,所述后台数据库分别提取所述射频识别读写器的伪身份标识符及所述射频识别标签的伪身份标识符,根据所述射频识别读写器的伪身份标识符及所述射频识别标签的伪身份标识符生成所述后台数据库的消息认证码,并将所述后台数据库的消息认证码发送给所述射频识别读写器。
[0055] 所述后台数据库中存储有每个射频识别读写器的伪身份标识符,以及每个射频识别标签的伪身份标识符。当所述后台数据库对所述射频识别读写器及所述射频识别标签的身份验证均成功时,所述后台数据库提取身份验证成功的射频识别标签的伪身份标识符,以及身份验证成功的射频识别读写器的伪身份标识符。
[0056] 提取到二者的伪身份标识符之后,根据式(6)生成所述后台数据库的消息认证码:
[0057] MDB=H(PIDT)⊕H(PIDR) (6)
[0058] 在式(6)中,PIDT是射频识别标签的伪身份标识符,PIDR是射频识别读写器的伪身份标识符,H()是单向散列函数,⊕表示异或运算,MDB则是根据式(6)计算得到的后台数据库的消息认证码。
[0059] 根据式(6)计算得到后台数据库的消息认证码之后,所述后台数据库将所计算得到的消息认证码发送给射频识别读写器。
[0060] S16,所述射频识别读写器接收到所述后台数据库的消息认证码之后,提取所述射频识别读写器的伪身份标识符,利用单向散列函数计算所述后台数据库的二次消息认证码,并将所述后台数据库的二次消息认证码发送给所述射频识别标签。
[0061] 所述射频识别读写器根据式(7)计算所述后台数据库的二次消息认证码:
[0062] M′DB=H(MDB⊕H(PIDR)||rT) (7)
[0063] 在式(7)中,MDB是所述后台数据库的消息认证码,PIDR是所述射频识别读写器的伪身份标识符,rT是所述标签端伪随机数,⊕表示异或运算,M'DB是所述后台数据库的二次消息认证码。
[0064] 生成所述后台数据库的二次消息认证码之后,所述射频识别读写器将所述后台数据库的二次消息认证码发送给所述射频识别标签。
[0065] S17,所述射频识别标签接收到所述二次消息认证码之后,提取所述射频识别标签的伪身份标识符,利用单向散列函数对所述射频识别标签的伪身份标识符进行计算,将计算的结果与所述二次消息认证码进行比较,并根据比较结果对所述射频识别读写器进行身份验证。
[0066] 所述射频识别标签提取所述射频识别标签的伪身份标识符,根据式(8)对所述射频识别标签的伪身份标识符进行计算:
[0067] Re=H(H(PIDT)||rT) (8)
[0068] 在式(8)中,PIDT是所述射频识别标签的伪身份标识符,H是单向散列函数,rT是所述标签伪随机数,Re是对所述射频识别标签的伪身份标识符进行计算的计算结果。
[0069] 接着,所述射频识别标签将计算的结果与所述二次消息认证码进行比较。具体的,如果二者相同,则认为所述射频识别读写器的身份合法,否则,认为所述射频识别读写器的身份不合法。
[0070] 本实施例通过根据伪随机数中的数个指定的标识位,从预先指定的共享密值集合中选取共享密值,以及从密钥集合中选取密钥,实现了共享密值及密钥的动态选取,有效避免了针对射频识别系统的重放攻击、仿冒攻击,另外,在这个验证过程中均采用轻量级的位运算及基于散列的消息认证码,从而具有响应速度快简单实用的特点。
[0071] 第二实施例
[0072] 本实施例提供了射频识别认证方法的另一种技术方案。该技术方案中,[0073] 参见图2,所述射频识别认证方法包括:
[0074] S201,射频识别读写器生成读写器端伪随机数rR。
[0075] S202,射频识别读写器向射频识别标签发送其生成的读写器端伪随机数rR。
[0076] S203,射频识别标签生成标签端伪随机数rT。
[0077] S204,根据所述标签端伪随机数rT中的至少一个标签端标识位BrT选择标签端密钥kT及标签端共享密值ST。
[0078] 示例性的,在所述标签端标识位BrT只包含一位的情况下,如果所述标签端伪随机数rT的末位数字BrT的取值是0,所述射频识别标签选取kT0为标签端密钥,并选取ST0为标签端共享密值;如果所述标签端伪随机数rT的末位数字BrT的取值是1,所述射频识别标签选取kT1为标签端密钥,并选取ST1为标签端共享密值,并根据基于散列函数的消息认证码函数计算标签端消息认证码。
[0079] 具体的,所述射频识别标签根据如下公式计算所述标签端消息认证码:
[0080] MT=HMAC(kT,ST||rR)。
[0081] 在上式中,kT是根据所述末位数字的取值BrT选取的标签端密钥,ST是根据所述末位数字的取值BrT选取的标签端共享密值,MT是标签端消息认证码。
[0082] S205,所述射频识别标签将所述标签端密钥以及标签端消息认证码发送给所述射频识别读写器。
[0083] S206,所述射频识别读写器对所述标签端伪随机数以及读写器端伪随机数进行异或运算。
[0084] S207,根据所述读写器端伪随机数rR中的至少一个读写器端标识位BrR选择读写器端密钥kR及读写器端共享密值SR。
[0085] 示例性的,在所述标签端标识位BrR只包含一位的情况下,如果异或运算结果r'R的末位数字Br'R的取值是0,所述射频识别标签选取kR0为标签端密钥,并选取SR0为标签端共享密值;如果所述标签端伪随机数r'R的末位数字Br'R的取值是1,所述射频识别标签选取kR1为标签端密钥,并选取SR1为标签端共享密值。接着,所述射频识别读写器根据基于散列函数的消息认证码函数计算读写器端消息认证码。
[0086] 具体的,所述射频识别读写器根据如下公式计算所述读写器端消息认证码:
[0087] MR=HMAC(kR,SR||r′R)。
[0088] 在上式中,kR是根据所述异或运算结果的末位数字的取值Br'R选取的读写器端密钥,SR是根据所述末位数字的取值Br'R选取的读写器端共享密值,MR是读写器端消息认证码。
[0089] S208,所述射频识别读写器将标签端伪随机数、读写器端伪随机数、标签端消息认证码以及读写器端消息认证码发送至后台数据库。
[0090] S209,所述后台数据库根据自身存储的数据对所述射频识别标签及所述射频识别读写器的身份进行验证,提取所述射频识别标签的伪身份标识符,以及所述射频识别读写器的伪身份标识符,并计算自身的消息认证码。
[0091] 具体的,所述后台数据库根据是否存在满足如下两个公式的kT*、ST*、kR*及SR*对所述射频识别标签及所述射频识别读写器的身份进行验证。
[0092] HMAC(kT*,ST*||(rR⊕rT))=MT;
[0093] HMAC(kR*,SR*||rT)=MR。
[0094] 并且,所述后台数据库根据下面的公式自身的消息认证码:
[0095] MDB=H(PIDT)⊕H(PIDR)。
[0096] S210,所述后台数据库将自身的消息认证码发送给所述射频识别读写器。
[0097] S211,所述射频识别读写器接收到所述后台数据库的消息认证码之后,提取所述射频识别读写器的伪身份标识符,并计算所述后台数据库的二次消息认证码。
[0098] 具体的,所述射频识别读写器根据如下公式计算所述后台数据库的二次消息认证码:
[0099] M′DB=H(MDB⊕H(PIDR)||rT)。
[0100] S212,所述射频识别读写器将所述后台数据库的二次消息认证码发送给所述射频识别标签。
[0101] S213,所述射频识别标签接收到所述后台数据库的二次消息认证码之后,提取所述射频识别标签的伪身份标识符,对所述射频识别标签的伪身份标识符进行计算,并根据计算结果对射频识别读写器的身份进行验证。
[0102] 具体的,所述射频识别标签根据如下公式对所述射频识别标签的伪身份标识符进行计算:
[0103] Re=H(H(PIDT)||rT)。
[0104] 其中,Re表示对所述射频识别标签的伪身份标识符PIDT进行计算的计算结果。
[0105] 在进一步的对所述射频识别读写器的身份进行验证之时,如果对所述射频识别标签的伪身份标识符进行计算的计算结果与所述后台数据库的二次消息认证码相同,则认为所述射频识别读写器的身份合法;否则,认为所述射频识别读写器的身份不合法。
[0106] 本实施例利用伪随机数的末位数值实现标签和读写器预共享密值和密钥的动态选取,增强认证周期的新鲜性和前向不可链接性,可有效抵抗标签重放、跟踪等攻击,同时本实施例还兼顾了系统资源占用率和执行效率,具有响应迅速、简单实用等优点。
[0107] 第三实施例
[0108] 本实施例提供了射频识别认证系统的一种技术方案。参见图3,在该技术方案中,所述射频识别认证系统包括:射频识别标签31、射频识别读写器32以及后台数据库33。
[0109] 所述射频识别标签31用于接收到请求消息之后,生成标签端伪随机数,根据所述标签端伪随机数中的至少一个标签端标识位从标签端预共享密值集合及标签端密钥集合中分别选择标签端预共享密值及标签端密钥,根据所述标签端预共享密值及所述标签端密钥计算标签端消息认证码,并将包含所述标签端伪随机数和所述标签端消息认证码的应答消息发送给射频识别读写器32,以及接收到所述二次消息认证码之后,提取所述射频识别标签31的伪身份标识符,利用单向散列函数对所述射频识别标签的伪身份标识符进行计算,将计算的结果与所述二次消息认证码进行比较,并根据比较结果对所述射频识别读写器32进行身份验证。
[0110] 所述射频识别读写器32用于生成读写器端伪随机数,将包含所述读写器端伪随机数的请求消息发送给射频识别标签,在接收到所述应答消息之后,对所述读写器端伪随机数和所述标签端伪随机数进行处理,根据处理结果中的至少一个读写器端标识位从读写器端预共享密值集合及读写器端密钥集合中分别选择读写器端预共享密值及读写器端密钥,根据所述读写器端预共享密值及所述读写器端密钥计算读写器端消息认证码,并将包含所述标签端伪随机数、所述读写器端伪随机数、所述标签端消息认证码以及所述读写器端消息认证码的验证消息发送给后台数据库33,以及接收到所述后台数据库33的消息认证码之后,提取所述射频识别读写器32的伪身份标识符,利用单向散列函数计算所述后台数据库33的二次消息认证码,并将所述后台数据库33的二次消息认证码发送给所述射频识别标签31。
[0111] 所述后台数据库33用于根据基于散列函数的消息认证码算法对所述射频识别读写器32及所述射频识别标签31进行身份验证,若对所述射频识别读写器32及所述射频识别标签31的身份验证成功,分别提取所述射频识别读写器32的伪身份标识符及所述射频识别标签31的伪身份标识符,根据所述射频识别读写器32的伪身份标识符及所述射频识别标签31的伪身份标识符生成所述后台数据库的消息认证码,并将所述后台数据库33的消息认证码发送给所述射频识别读写器32。
[0112] 优选的,所述射频识别标签31根据所述标签端预共享密值及所述标签端密钥计算标签端消息认证码包括:
[0113] 所述射频识别标签31根据如下公式计算标签端消息认证码:
[0114] MT=HMAC(kT,ST||rR),
[0115] 其中,kT是所述标签端密钥,ST是所述标签端共享密值,rR是所述读写器端伪随机数,HMAC是基于散列函数的消息认证码函数,MT是所述标签端消息认证码。
[0116] 优选的,所述射频识别读写器32对所述读写器端伪随机数和所述标签端伪随机数进行处理包括:
[0117] 所述射频识别读写器32根据如下公式对所述读写器端伪随机数及所述标签端伪随机数进行处理:
[0118] r′R=rR⊕rT,
[0119] 其中,rR是所述读写器端伪随机数,rT是所述标签端伪随机数,⊕表示异或运算,r'R表示所述射频识别读写器对所述读写器端伪随机数及所述标签端伪随机数进行处理的处理结果。
[0120] 优选的,所述射频识别读写器32根据所述读写器端预共享密值及所述读写器端密钥计算读写器端消息认证码包括:
[0121] 所述射频识别读写器32根据如下公式计算读写器消息认证码:
[0122] MR=HMAC(kR,SR||r′R),
[0123] 其中,kR是所述标签端密钥,SR是所述标签端共享密值,r'R是对所述读写器端伪随机数及所述标签端伪随机数进行处理的处理结果,HMAC是基于散列函数的消息认证码函数,MR是所述读写器端消息认证码。
[0124] 优选的,所述后台数据库33根据基于散列函数的消息认证码算法对所述射频识别读写器32及所述射频识别标签31进行身份验证包括:
[0125] 所述后台数据库33根据是否存在满足如下公式的标签端预共享密值ST*及标签端密钥kT*对所述射频识别标签41进行验证:
[0126] HMAC(kT*,ST*||(rR⊕rT))=MT;
[0127] 并且,所述后台数据库33根据是否存在满足如下公式的读写器端预共享密值SR*及读写器端密钥kR*对所述射频识别读写器32进行验证:
[0128] HMAC(kR*,SR*||rT)=MR。
[0129] 优选的,所述后台数据库33根据所述射频识别读写器32的伪身份标识符及所述射频识别标签31的伪身份标识符生成所述后台数据库33的消息认证码包括:
[0130] 所述后台数据库33根据如下公式生成所述后台数据库33的消息认证码:
[0131] MDB=H(PIDT)⊕H(PIDR),
[0132] 其中,PIDT是所述射频识别标签31的伪身份标识符,PIDR是所述射频识别读写器32的伪身份标识符,H是单向散列函数,⊕表示异或运算,MDB是所述后台数据库33的消息认证码。
[0133] 优选的,所述射频识别读写器32利用单向散列函数计算所述后台数据库33的二次消息认证码包括:
[0134] 所述射频识别读写器32根据如下公式计算所述二次消息认证码:
[0135] M′DB=H(MDB⊕H(PIDR)||rT),
[0136] 其中,MDB是所述后台数据库33的消息认证码,PIDR是所述射频识别读写器32的伪身份标识符,rT是所述标签端伪随机数,⊕表示异或运算,M'DB是所述后台数据库33的二次消息认证码。
[0137] 优选的,所述射频识别标签31利用单向散列函数对所述射频识别标签31的伪身份标识符进行计算包括:
[0138] 所述射频识别标签31根据如下公式对所述射频识别标签31的伪身份标识符进行计算:
[0139] Re=H(H(PIDT)||rT),
[0140] 其中,PIDT是所述射频识别标签31的伪身份标识符,H是单向散列函数,rT是所述标签伪随机数。
[0141] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间的相同或相似的部分互相参见即可。
[0142] 以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用