一种无线射频识别系统认证的方法及系统与流程

文档序号:13141851阅读:182来源:国知局
一种无线射频识别系统认证的方法及系统与流程

本发明涉及通信技术领域,特别涉及一种无线射频识别系统认证的方法及系统。



背景技术:

当今,无处不在的信息和通信技术已经越来越被人们广泛地接受和喜爱。射频识别(radiofrequencyidentification,又称rfid)技术,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。rfid系统一般由后台数据库、标签及读写器三部分组成。

在rfid技术初期,读写器与后端数据库之间通过有线连接,因而视为安全的通信。但随着科技迅猛发展,物联网和无线通信的紧密结合,移动支付等业务的快速发展,无线射频识别系统开始受到广泛的关注。

在现有技术中,无线射频识别系统中的读写器和后端数据库采用无线的方式进行通信,还没有相关的认证方法,但是无线连接使得在该链路下的通信存在安全隐患,容易受到假冒、重放等攻击,从而导致用户隐私的泄露。

因此,如何设计一种安全的无线射频识别系统双向认证的方案,是本领域技术人员目前需要解决的技术问题。



技术实现要素:

本申请的目的是提供一种无线射频识别系统认证的方法及系统,能够自动化地提取并生成结构化的威胁情报。

为解决上述技术问题,本申请提供一种无线射频识别系统认证的方法及系统,该方法包括:

读写器生成第一通信消息,并将所述第一通信消息发送给标签;

所述标签根据所述第一通信消息判断所述读写器是否为真;若所述读写器为真,标签则根据所述第一通信消息生成第二通信消息,并将所述第二通信消息发送给所述读写器;

读写器根据所述第二通信消息判断所述标签是否为真;若所述标签为真,读写器则根据所述第二通信消息生成第三通信消息,并将所述第三通信消息与新密钥发送至所述标签;

标签根据所述第三通信消息判断所述读写器是否为真;若根据所述第三通信消息判断所述读写器为真,则将上一轮共享密钥更新为所述新密钥。

可选的,所述读写器生成第一通信消息,并将所述第一通信消息发送给标签包括:

读写器生成第一随机数,并根据所述随机数计算得到所述第一通信消息;

将所述第一通信消息发送给所述标签。

可选的,若所述读写器为真,标签则根据所述第一通信消息生成第二通信消息,并将所述第二通信消息发送给所述读写器包括:

若所述读写器为真,所述标签则生成第二随机数,并根据所述随机数与第一通信消息生成所述第二通信消息;

将所述第二通信消息发送给所述读写器。

可选的,读写器根据所述第二通信消息判断所述标签是否为真包括:

读写器根据所述第二通信消息判断所述标签是否为真;

若根据所述第二通信消息判断所述标签不为真,则根据所述上一轮共享密钥和标签的假名判断所述标签是否为真。

本申请还提供了一种无线射频识别系统认证的系统,所述系统包括:

读写器,用于生成第一通信消息,并将所述第一通信消息发送给标签;根据所述第二通信消息判断所述标签是否为真;若所述标签为真,则根据所述第二通信消息生成第三通信消息,并将所述第三通信消息与新密钥发送至所述标签;

标签,用于根据所述第一通信消息判断所述读写器是否为真;当根据所述第一通信消息判断所述读写器为真时,根据所述第一通信消息生成第二通信消息,并将所述第二通信消息发送给所述读写器;根据所述第三通信消息判断所述读写器是否为真;当根据所述第三通信消息判断所述读写器为真时,将上一轮共享密钥更新为所述新密钥。

可选的,所述读写器包括:

第一通信消息生成模块,用于生成第一随机数,并根据所述随机数计算得到所述第一通信消息;

第一通信消息发送模块,用于将所述第一通信消息发送给所述标签。

可选的,所述标签包括:

第二通信消息生成模块,用于当根据所述第一通信消息判断所述读写器为真时,生成第二随机数,并根据所述随机数与第一通信消息生成所述第二通信消息;

第二通信消息发送模块,用于将所述第二通信消息发送给所述读写器。

可选的,所述读写器包括:

判断模块,用于根据所述第二通信消息判断所述标签是否为真;

再判断模块,用于当根据所述第二通信消息判断所述标签不为真时,根据所述上一轮共享密钥和标签的假名判断所述标签是否为真。

本发明提供了一种无线射频识别系统认证的方法,读写器生成第一通信消息,并将所述第一通信消息发送给标签;所述标签根据所述第一通信消息判断所述读写器是否为真;若所述读写器为真,标签则根据所述第一通信消息生成第二通信消息,并将所述第二通信消息发送给所述读写器;读写器根据所述第二通信消息判断所述标签是否为真;若所述标签为真,读写器则根据所述第二通信消息生成第三通信消息,并将所述第三通信消息与新密钥发送至所述标签;标签根据所述第三通信消息判断所述读写器是否为真;若根据所述第三通信消息判断所述读写器为真,则将上一轮共享密钥更新为所述新密钥。

本方法在读写器与标签之间进行双向认证,只有在双向认证都通过时才可以进行更新共享密钥的步骤,若其中任何一方出现认证失败都会导致双向认证失败。本方法在读写器与标签相互认证通过后在更新密钥,保证了射频识别系统的安全性。该方法设计一种安全的无线射频识别系统双向认证的方案,提高了系统的安全性,保护用户的隐私。本申请同时还提供了一种无线射频识别系统认证的系统,具有上述有益效果,在此不再赘述。

附图说明

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

图1为本申请实施例所提供的一种无线射频识别系统认证的方法的流程图;

图2为本申请实施例所提供的另一种无线射频识别系统认证的方法的流程图;

图3为本申请在实际应用中的实施例提供的另一种无线射频识别系统认证的方法的示意图;

图4为本申请实施例所提供的一种无线射频识别系统认证的系统的结构示意图。

具体实施方式

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

下面请参见图1,图1为本申请实施例所提供的一种无线射频识别系统认证的方法的流程图;

具体步骤可以包括:

步骤s101:读写器生成第一通信消息,并将所述第一通信消息发送给标签;

其中,本步骤中提到的第一通信消息是一组携带有读写器身份信息的消息,标签可以根据第一通信消息中携带的信息来判断读写器的身份是否为真。生成第一通信消息的方法有很多,本步骤的目的是将携带有读写其身份信息的第一通信消息发送给标签,并不限定生成第一通信消息的具体方法。

步骤s102:所述标签根据所述第一通信消息判断所述读写器是否为真;若所述读写器为真,标签则根据所述第一通信消息生成第二通信消息,并将所述第二通信消息发送给所述读写器;

其中,此步骤是在步骤s101读写器已经发送第一通信消息的基础上进行的,第一通信消息是一组携带有读写器身份信息的消息,标签可以根据第一通信消息中携带的信息来判断读写器的身份是否为真。当然标签判断读写器真伪的方法有很多,可以是根据某些程序验证第一通信消息的真伪,也可以是提取第一通信消息中有关读写器的身份信息,将身份信息与自身存储的身份信息对照表进行比对来验证读写器的真伪,当然本领域的技术人员也可以根据rfid系统的具体实际情况设计判断读写器真伪的其他方法,此处只要能够将读写器的真伪判断出来即可,并不对判断的具体方法进行限定。

当标签判定读写器为真时,只是说明标签单方面判定读写器为真,并不代表读写器也默认标签为真,因此若想实现标签与读写器双向的认证还需要标签向读写器发送第二通信消息,以实现读写器对标签的认证。可以理解的是,第二通信消息是一组携带有与标签身份信息的消息,读写器可以根据第二通信消息判断标签的真伪。

当然,当标签判定读写器为伪时,终止认证流程。

步骤s103:读写器根据所述第二通信消息判断所述标签是否为真;若所述标签为真,读写器则根据所述第二通信消息生成第三通信消息,并将所述第三通信消息与新密钥发送至所述标签;

其中,本步骤的目的是读写器验证标签是否为真,可以理解的是读写器验证标签的方法也有很多,可以参见步骤s102中标签验证读写器的真伪时使用的方法,此处只要能够将读写器的真伪判断出来即可,并不对判断的具体方法进行限定。

当读写器判断标签为真时,说明读写器单方向认证标签为真,由于在步骤s101中标签认证读写器已经通过,所以此时读写器与标签的双向认证,也就是说,读写器与标签相互认证对方为真。

可以理解的是当读写器判断标签为伪时,终止认证流程。

当读写器与标签双向认证结束后,需要开始更新共享密钥,更新共享密钥的步骤先是在读写器中进行的。当读写器更新完共享密钥时,需要标签也更新共享密钥,因此读写器将共享密钥发送给标签。但是由于标签无法确认标签是否为已经认证通过的读写器发来的,还有可能是其他恶意软件发送的伪共享密钥来窃取信息,因此标签需要对共享密钥的真伪进行判断。对共享密钥的真伪进行判断的依据是:若共享密钥由认证通过的读写器发送来的,那么该共享密钥即为真,反之则为伪。读写器为了证明共享密钥的真伪还需要在发送共享密钥的同时发送第三通信消息以证明身份。第三通信消息的生成过程与生成第一通信消息的过程基本一致,在此不再赘述。

步骤s104:标签根据所述第三通信消息判断所述读写器是否为真;若根据所述第三通信消息判断所述读写器为真,则将上一轮共享密钥更新为所述新密钥;

其中,本步骤中标签根据第三通信消息判断所述读写器是否为真的方法与在步骤s102中根据第一通信消息判断所述读写器是否为真的方法基本一致,在此不再赘述。当标签根据第三通信消息判断所述读写器为真时,可更新共享密钥,可以理解的是,更新共享密钥的方法有很多,本领域的技术人员可以根据射频识别系统的具体情况进行设计,此处不进行具体的限定。

下面请参见图2,图2为本申请实施例所提供的另一种无线射频识别系统认证的方法的流程图;此实施例是在上述实施例的基础上,对各通信消息的生成方法和双向验证的步骤进行了限定,其他步骤与其他实施例大体相同,相同部分可参见其他实施例中相关部分,在此不再赘述。

具体步骤可以包括:

步骤s201:读写器生成第一随机数,并根据所述随机数计算得到所述第一通信消息。

步骤s202:将所述第一通信消息发送给所述标签。

步骤s203:所述标签根据所述第一通信消息判断所述读写器是否为真。

步骤s204:若所述读写器为真,所述标签则生成第二随机数,并根据所述随机数与第一通信消息生成所述第二通信消息。

步骤s205:标签将所述第二通信消息发送给所述读写器。

步骤s206:读写器根据所述第二通信消息判断所述标签是否为真;若为真则进入步骤s207,若为伪则进入步骤s208,

步骤s207:若根据所述第二通信消息判断所述标签不为真,则根据所述上一轮共享密钥和标签的假名判断所述标签是否为真。

其中,本步骤是在读写器根据所述第二通信消息判断所述标签不为真的情况下进行的,通过上一轮的密钥对标签的真伪进行再次的判断;若根据所述第二通信消息判断所述标签为真时则直接进入步骤s208。

步骤s208:若所述标签为真,读写器则根据所述第二通信消息生成第三通信消息,并将所述第三通信消息与新密钥发送至标签。

其中,本步骤中提到的“若所述标签均真”这种情况是指读写器根据第二通信消息和共享密钥中一者判断读写器和标签为真,但需要注意的是应先使用第二通信消息进行判断。其中,共享密钥是指上一轮使用的共享密钥,更新共享密钥的方法有很多,此处不进行具体的限定。

步骤s209:标签根据所述第三通信消息判断所述读写器是否为真;若根据所述第三通信消息判断所述读写器为真,则将上一轮共享密钥更新为所述新密钥。

请参见图3,图3为本申请在实际应用中的实施例提供的另一种无线射频识别系统认证的方法的示意图,具体步骤可以包括:

步骤s301:读读写器生成两个随机数r1、r2,然后计算m1、m2、m3,并将认证请求命令及m1、m2、m3一同发给标签。

读写器首先生成两个随机数,一个记为r1、一个记为r2;接着读写器用自身生成的r1、r2来计算m1,用自身生成的r1、自身存放的id来计算m2,用自身生成的r2、自身存放的k来计算m3;最后将认证请求命令hello及m1、m2、m3发送给标签。

其中m1=mixbits(r1,r2),mixbits表示轻量级的非线性函数。

步骤s302:标签根据m1、m2、m3验证读写器的真伪,为真,进行步骤s303;否则,协议终止。

标签在接收到读写器发送来的信息之后,标签用自身存放的id、接收到的m2计算得到r1`,用自身存放的k、接收到的m3计算得到r2`,用计算得到的r1`、r2`来计算m1`;然后比对计算得到的m1`与接收到的m1的值。

如果两者的值相等,说明读写器为真,进行步骤s303,同时表明计算得到的r1`与r1相同、计算得到的r2`与r2相同。如果两者的值不相等,说明读写器是伪造的,协议终止,同时表明计算得到的r1`与r1不相同、计算得到的r2`与r2不相同。

其中m1`=mixbits(r1`,r2`),

步骤s303:标签生成一个随机数r3,然后计算m4、m5、m6,并向读写器发送m4、m5、m6。

其中,标签生成一个随机数,记为r3,然后用自身生成的r3_l、自身存放的ids来计算m4,用自身生成的r3_r、自身存放的k来计算m5,用计算得到的r1及r2、自身生成的r3来计算m6;最后标签将m4、m5、m6发送给读写器。

其中<<<表示左移运算,r3_l表示随机数r3的左半部分,r3_r表示随机数r3的右半部分。

步骤s304:读写器根据m4、m5、m6验证标签的真伪,若为真,进行步骤s306;否则,进行步骤s305。

读写器在接收到标签发送来的信息之后,首先读写器用自身存放的ids、接收到的m4计算得到r3_l`,用自身存放的k、接收到的m5计算得到r3_r`,用计算得到的r3_l`、r3_r`连接得到r3`,用自身生成的r1及r2、计算得到的r3`计算m6`,然后比对计算得到的m6`与接收到的m6的值。

如果两者的值相等,说明标签为真,进行步骤s306,同时表明计算得到的r3_l`与r3_l相同、计算得到的r3_r`与r3_r相同,计算得到的r3`与r3相同。如果两者的值不相等,进行步骤s305。

其中r3`=r3_l`||r3_r`,

步骤s305:读写器用上一轮的共享密钥kold、标签的假名idsold再次验证标签的真伪,为真,进行步骤s306;否则,协议终止。

读写器用上一轮的共享密钥kold的值替代k、用上一轮的标签假名idsold的值替代ids重新计算m6``,然后比对计算得到的m6``与接收到的m6的值。

若m6``与m6两者值相等,说明标签为真,读写器验证标签通过,进行步骤s306。否则,说明标签是伪造的,协议终止。

其中r3``=r3_l``||r3_r``,

步骤s306:读写器计算m7,然后更新共享密钥等信息,并向标签发送m7。

读写器用自身存放的id、计算得到的r3`、自身生成的r1来计算m7,同时读写器端开始更新信息kold=k、k=knew、idsold=ids、ids=idsnew,最后读写器将m7传送给标签。

其中

步骤s307:标签根据m7验证读写器的真伪,为真,进行步骤s308;否则,协议终止。

标签在接收到读写器传送来的信息之后,标签用自身存放的id、自身生成的r3、计算得到的r1`来计算m7`,然后比对计算得到的m7`与接收到的m7的值。

若m7`与m7两者值相等,说明读写器为真,标签验证读写器通过,进行步骤s308,同时表明计算得到的r1`与r1相同。否则,说明读写器是伪造的,协议终止。

其中

步骤s308:标签开始更新共享密钥等信息,到此读写器与标签之间的双向认证顺利结束。

标签开始更新信息k=knew、ids=idsnew,到此读写器与标签之间的双向认证结束。

其中

对协议中出现的符号进行如下说明:

r:读写器;

t:标签;

id:标签t的标识符;

ids:标签t的假名;

idsnew:本轮认证的标签的假名;

idsold:上轮认证的标签的假名;

k:标签与读写器之间的共享密钥;

knew:本轮认证的共享密钥;

kold:上轮认证的共享密钥;

r1、r2:读写器产生的两个随机数;

r3:标签产生的随机数;

r3_l:标签产生的随机数r3的右半部分;

r3_r:标签产生的随机数r3的右半部分;

:异或运算;

&:与运算;

||:连接运算;

<<<:左移运算;

mixbits:轻量级的非线性函数;

m1,m2,m3,m4,m5,m6,m7:通信消息。

由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

请参见图4,图4为本申请实施例所提供的一种无线射频识别系统认证的系统的结构示意图;

该系统可以包括:

读写器100,用于生成第一通信消息,并将所述第一通信消息发送给标签;根据所述第二通信消息判断所述标签是否为真;若所述标签为真,则根据所述第二通信消息生成第三通信消息,并将所述第三通信消息与新密钥发送至所述标签;

标签200,用于根据所述第一通信消息判断所述读写器是否为真;当根据所述第一通信消息判断所述读写器为真时,根据所述第一通信消息生成第二通信消息,并将所述第二通信消息发送给所述读写器;根据所述第三通信消息判断所述读写器是否为真;当根据所述第三通信消息判断所述读写器为真时,将上一轮共享密钥更新为所述新密钥。

在本申请提供的另一种无线射频识别系统认证的系统的实施例中,该系统进一步,还包括:所述读写器100包括:

第一通信消息生成模块,用于生成第一随机数,并根据所述随机数计算得到所述第一通信消息;

第一通信消息发送模块,用于将所述第一通信消息发送给所述标签。

进一步的,所述标签200包括:

第二通信消息生成模块,用于当根据所述第一通信消息判断所述读写器为真时,生成第二随机数,并根据所述随机数与第一通信消息生成所述第二通信消息;

第二通信消息发送模块,用于将所述第二通信消息发送给所述读写器。

进一步的,所述读写器100包括:

判断模块,用于根据所述第二通信消息判断所述标签是否为真;

再判断模块,用于当根据所述第二通信消息判断所述标签不为真时,根据所述上一轮共享密钥和标签的假名判断所述标签是否为真。

以上对本申请所提供的一种无线射频识别系统认证的方法及系统进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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