基于可变线性反馈移位寄存器的RFID安全认证方法与流程

文档序号:11920402阅读:194来源:国知局
基于可变线性反馈移位寄存器的RFID安全认证方法与流程

本发明涉及射频识别以及安全认证领域,尤其涉及一种基于可变线性反馈移位寄存器的RFID安全认证方法。



背景技术:

RFID(Radio Frequency Identification)系统是一种非接触自动识别系统。随着物联网的发展,RFID受到越来越多的关注。一个完整的RFID系统由RFID标签、RFID阅读器以及后端服务器三部分构成。RFID标签包含唯一识别码等信息。RFID阅读器通过短距离的射频通信获得RFID标签的识别信息,并且可以将获得的标签信息传送给后端服务器。后端服务器处理从阅读器获得的信息,并将需要反馈的信息发送给阅读器,再通过阅读器将反馈信息通过射频信号发送给RFID标签,从而实现对RFID标签的管理。

RFID阅读器与后端服务器之间的通信由于是通过有线传输方式实现的,一般认为是安全的,不存在任何安全风险问题。而RFID阅读器与RFID标签之间由于是通过非接触式的射频信号进行通信,通信信道一般认为是不安全的,极易遭受信息泄露、窃取、重传、拒绝服务、异步攻击等多种攻击手段。同时,由于RFID系统低成本的要求,RFID标签的资源和存储空间都是极其有限的,因此传统的高级安全加密算法以及基于这些安全算法的认证方法并不适用于RFID系统。大多数现有的RFID安全认证方法都存在着某些安全漏洞或需要复杂的运算,无法满足RFID系统低成本,高安全的要求。如何设计出安全、高效、低成本的RFID安全认证方法成为当务之急。



技术实现要素:

本发明的目的在于提供一种基于可变线性反馈移位寄存器的RFID安全认证方法,在低成本的基础上解决现有RFID系统中存在的通信安全问题。

为达此目的,本发明采用以下技术方案:

一种基于可变线性反馈移位寄存器的RFID安全认证方法,应用于RFID系统,该RFID系统包括标签、阅读器和后端服务器,所述RFID认证方法包括初始阶段和认证阶段;

所述初始阶段包括:分别在每个标签内部存储其唯一标识UID号、秘密标识号SID及密钥m;在认证之前,阅读器获得待认证标签的UID号;

所述认证阶段包括:

所述阅读器产生随机数Rr,并将认证命令Auth和随机数Rr传送给标签;

所述标签产生随机数Rt1和Rt2,并利用其内部存储的密钥mj以及Rt1,通过可变线性反馈移位寄存器函数VLFSR运算得到A,利用产生的随机数Rt1、Rt2与标签内部的秘密标识号SIDj进行按位异或运算得到B;

所述标签将A、B发送给阅读器,阅读器再将此标签的UID号、自身产生的随机数Rr、以及从标签获得的A和B发送给后端服务器;

所述后端服务器对标签进行认证:根据UID号从后端数据库中查询与该UID号相匹配的标签秘密标识号SIDj;通过异或运算SIDj⊕B,从B中提取出标签产生的随机数Rt2和Rt1;通过SIDj从后端数据库中的密钥表Mj中寻找到对应密钥mj;根据Rt1||Rr和mj,通过可变线性反馈移位寄存器函数VLFSR生成C;比较从标签获取的A和运算结果C,如果A=C,判定后端服务器对标签的认证成功。

可选的,所述可变线性反馈移位寄存器函数VLFSR具体为VLFSR(x,y),其中x用来初始化移位寄存器的值,y用来设定线性反馈移位寄存器的反馈系数。

可选的,所述得到A或C的可变线性反馈移位寄存器函数运算为:A或者C=VLFSR(Rt1||Rr,mj);

所述得到B的异或运算为:B=(Rt2||Rt1)⊕SIDj

从所述B中提取出标签产生的随机数的异或运算为Rt2||Rt1=B⊕SIDj

可选的,在所述后端服务器对标签进行认证过程中还包括:如果A≠C,判定后端服务器对标签的认证失败。

可选的,在所述后端服务器对标签进行认证过程中还包括:如果A≠C,后端服务器将从Mj-1表中找出mj-1和SIDj-1来代替mj和SIDj,并且通过可变线性反馈移位寄存器函数VLFSR计算C’=VLFSR(Rt1||Rr,mj-1),再次比较A和C’是否相等,若相等则判定后端服务器对标签的认证成功,若不相等则判定后端服务器对标签的认证失败。

可选的,在所述后端服务器对标签进行认证的过程中,在判定后端服务器对标签的认证成功之后,还包括步骤:

所述后端服务器对后端数据库中存储的密钥m和秘密标识号SID进行更新,mj+1=(Rt2||Rt1)⊕mj,SIDj+1=VLFSR(Rt1||Rt2,mj);将mj+1、SIDj+1以及mj、SIDj分别存入后端数据库的Mj和Mj-1表中。

可选的,在判定后端服务器对标签的认证成功之后,还包括步骤:

所述后端服务器计算D=VLFSR(Rt2||Rr,SIDj),并将D通过阅读器传送给标签;

所述标签利用先前产生的随机数Rt2、从阅读器获取的随机数Rr以及内部存储的秘密标识号SID进行设定的可变线性反馈移位寄存器函数运算得到E,若D=E则标签对阅读器和后端服务器认证成功,若D≠E则认证失败。

可选的,在标签对阅读器和后端服务器认证成功之后还包括步骤:

所述标签将其内部存储的密钥m和秘密标识号SID进行更新,mj+1=(Rt2||Rt1)⊕mj和SIDj+1=VLFSR(Rt1||Rt2,mj)。

可选的,所述可变线性反馈移位寄存器由32个寄存器构成。

可选的,在认证之前,所述阅读器通过探寻命令Query获得待认证标签的UID号。。

本发明的有益效果:。

(1)本发明定义了一种新的运算——可变线性反馈移位寄存器函数运算VLFSR(x,y),并且基于可变线性反馈移位寄存器,公开了一种RFID安全认证方法。此安全认证方法只需要使用VLFSR和异或运算,因此能够大大节约RFID标签的计算和存储资源,满足RFID标签的低成本要求。

(2)在双向认证过程中,RFID阅读器和标签都会产生随机数,从而保证了传输信息的新鲜性,能有效的抵抗假冒、重传、跟踪等攻击。标签的密钥m和秘密标识SID等秘密信息的传送,都通过了VLFSR和异或运算的加密保护,能有效的防止信息泄露,以及保证数据的完整性。在后端服务器对标签的认证阶段,后端服务器为了保证和RFID标签的数据同步性,同时存储两组信息{SIDj,mj}和{SIDj-1,mj-1}于后端数据库中,能够保证RFID标签的前向安全性,也能够抵抗去同步攻击和拒绝服务(DOS)攻击。

因此本发明是安全有效的,能够解决已知的RFID系统常见安全问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例提供的32位可变线性反馈移位寄存器(VLFSR)的结构图。

图2为本发明实施例提供的RFID安全认证方法流程图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。

实施例一

为满足RFID标签低成本的要求,本发明最新定义了一种新的数字逻辑运算VLFSR(x,y)。如附图1所示的32位可变线性反馈移位寄存器(VLFSR)的结构图,x用来初始化移位寄存器的值,y用来设定线性反馈移位寄存器的反馈系数,同时y的高8位用来决定移位寄存器的循环移位次数。y的位数比x多8位,x,y的位数可以根据系统的安全等级和系统资源进行设定,x,y的位数越多,VLFSR运算的复杂度越高,同时消耗的硬件资源也越多。

例如,取x=32’h89C651F2(十六进制),y=40’h1833300011(十六进制)。可变移位寄存器由32个寄存器构成,其初始值为x。每个寄存器的反馈系数由y中低32位数据决定,对应数据位为“1”则建立反馈链接,对应数据位为“0”则不建立反馈链接,其中最低位的反馈系数一直设定为“1”。同时移位寄存器循环移动24次后结束运算,此时的32位寄存器值为32’h2211F833(十六进制),即为VLFSR(x,y)的最后计算结果。

基于上述可变线性反馈移位寄存器结构,本实施例中提供了一种RFID双向认证方法,主要包括初始阶段和认证阶段。

初始阶段:预先在每个标签内部存储该标签的唯一标识UID,秘密标识号SID及密钥m。阅读器在发送认证命令之前,通过探寻命令Query获得标签的UID号。

认证阶段:请参阅图2,包括以下步骤:

步骤一:阅读器产生随机数Rr,并将随机数Rr连同认证指令Auth一并传送给标签。

步骤二:标签接收到认证指令Auth之后,产生两个随机数Rt1和Rt2。标签利用其内部存储的密钥mj以及Rt1,通过可变线性反馈移位寄存器函数(Variable Linear Feedback Shift Registers,VLFSR)运算得到A,利用产生的随机数Rt1、Rt2与标签内部的秘密标识号SIDj进行按位异或运算得到B。

具体地,A=VLFSR(Rt1||Rr,mj),B=(Rt2||Rt1)⊕SIDj

步骤三:标签将运算得到的A、B值发送给阅读器。

步骤四:阅读器紧接着将之前获得的UID号,自身产生的随机数Rr,以及从标签获得的A、B通过有线方式发送给后端服务器。

步骤五:这个步骤是后端服务器对标签的认证阶段,在这个阶段后端服务器认证标签和阅读器的合法性,同时对密钥进行更新。在这个步骤,后端服务器需要完成以下过程:

I.后端服务器根据从阅读器接收到的信息,进行以下操作:

(1)根据UID号从后端数据库中查询与该UID号相匹配的标签秘密标识号SIDj

(2)通过异或运算SIDj⊕B,从B中提取出标签产生的随机数Rt2和Rt1

(3)通过SIDj从后端数据库中的密钥表Mj中寻找到对应密钥mj

(4)根据提取出来的Rt1、Rr和mj生成C=VLFSR(Rt1||Rr,mj)。

II.比较从标签获取的A和上步骤中的运算结果C,如果A=C,表示后端服务器对标签的认证成功,计算D=VLFSR(Rt2||Rr,SIDj),标签将通过这个值对阅读器进行认证。如果A≠C,表示后端服务器对标签的认证失败。

步骤六、后端服务器传输D给阅读器。

步骤七:阅读器传输D给标签。

步骤八:标签接收到D之后,利用先前产生的随机数Rt2,从阅读器获取的随机数Rr以及内部存储的秘密标识号SID进行设定的可变线性反馈移位寄存器函数运算得到E,E的运算函数为:E=VLFSR(Rt2||Rr,SIDj)。若D=E,则标签对后端服务器的认证成功。若D≠E,则认证失败,认证过程结束。

实施例二

在实施例一中,在后端服务器对标签的认证阶段,如果A=C,表示后端服务器对标签的认证成功,不作其他处理;在标签对后端服务器的认证成功时,也不作其他处理。而本实施例二中,为了抵抗异步攻击,对此步骤进行了改进。

具体为,在对标签认证成功时,后端服务器还进行以下操作:

对密钥m和秘密标识号SID进行更新,mj+1=(Rt2||Rt1)⊕mj,SIDj+1=VLFSR(Rt1||Rt2,mj);将mj+1、SIDj+1以及mj、SIDj分别存入Mj和Mj-1表中。

在标签对后端服务器的认证成功时,标签将其内部存储的密钥m和秘密标识号SID进行更新,mj+1=(Rt2||Rt1)⊕mj和SIDj+1=VLFSR(Rt1||Rt2,mj),在此更新操作后才结束双向认证过程。

实施例三

在实施例一中,在后端服务器对标签的认证阶段,如果A≠C,则随即判定后端服务器对标签的认证失败,这样会存在一定的缺陷,容易导致因先前的认证过程失败而造成不同步。因而,本实施例三对实施例一中后端服务器对标签的认证步骤进行改进,如果A≠C,在步骤II之后增加步骤III,具体为:

III、如果A≠C,后端服务器将从Mj-1表中找出mj-1和SIDj-1来代替mj和SIDj,并且重新计算C’=VLFSR(Rt1||Rr,mj-1),再次比较A和C’是否相等,若相等则执行过程II中的操作。

(1)这是为了防止因先前的认证过程失败而造成的同步问题。例如,在II中,密钥m和秘密标识号SID在后端服务器的数据库中进行了更新。如果数据D的传输在步骤七中遭到攻击,标签的认证将会失败,标签将不会更新内部的密钥m和秘密标识SID。在下一次的认证过程中,标签仍将使用以前的密钥m和秘密标识号SID。

(2)如果重新计算的A和C’仍然不相等,则后端服务器将终止此次认证过程,因为这就表明传输的信息是不被信任的,传输信道受到了攻击。

综上,本发明中标签只需要提供随机数发生器、异或运算、可变线性反馈移位运算等即可完成整个认证过程,这些运算耗费资源极其有限,能够有效的降低标签的计算资源和存储空间,并可以有效的抵抗假冒、重传、跟踪、去同步攻击和拒绝服务(DOS)攻击等,提供前向安全性,防止信息泄露,保证数据的完整性;本发明所提供的可变线性反馈移位寄存器函数是一种全新的数字逻辑运算,并且可以根据系统需要进行扩展。

另外,本发明所提供的基于可变线性反馈移位寄存器的安全认证方法,还适用于传感器节点、智能卡等采用RFID通讯协议的产品在通信过程中的安全认证,并不局限于标签,具体认证方法与标签相同,不再赘述。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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