一种移动射频识别的双向认证方法及移动射频识别系统与流程

文档序号:11138235阅读:来源:国知局

技术特征:

1.一种移动射频识别的双向认证方法,其特征在于,适用于包括标签、读写器和后端服务器的移动射频识别系统,所述移动射频识别系统的双向认证方法包括:

S1:所述读写器将预先产生的第一随机数r和认证请求发送给所述标签;

S2:所述标签接收到所述第一随机数r和所述认证请求后,基于标签假名IDS和所述第一随机数r生成第二随机数x=MIXBITS(IDS,r),并对所述第二随机数x进行加密,得到加密信息M1=IDS⊕x,并利用交叉位运算和循环校验算法生成第一验证信息P=(P1,P2),其中P1,P2为所述第一验证消息P的左右两部分,每部分长度为l,并将消息组合一(P1,M1)发送给所述读写器;

S3:所述读写器接收到消息组合一(P1,M1)后,利用交叉位运算和循环校验算法生成第二验证信息Q=(P3,P4),其中P3,P4为所述第二验证消息Q的左右两部分,每部分长度为l,并将消息组合二(P1,P3,M1,r)发送给所述后端服务器;

S4:所述后端服务器接收到消息组合二(P1,P3,M1,r)后,基于所述后端服务器中存储的读写器身份标识IDR、读写器密钥KR或者上一轮读写器密钥KRold和所述第一随机数r利用交叉位运算和循环校验算法生成第三验证信息Q′=(P3',P4'),其中P3′,P4′为所述第三验证信息Q′的左右两部分,每部分长度为l,或者Q″=(P3”,P4”),其中P3″,P4″为所述第三验证信息Q″的左右两部分,每部分长度为l,其中(P3”,P4”)基于上一轮读写器密钥KRold生成,验证所述读写器是否合法,如果合法,则更新所述读写器的密钥库,并基于预先存储的标签假名IDS或者上一轮标签假名IDSold和所述加密信息M1计算第二随机数x,基于所述后端服务器中预先存储的标签假名IDS或者上一轮标签假名IDSold、所述第一随机数r和所述第二随机数x利用交叉位运算和循环校验算法生成第四验证信息P′=(P1',P2'),其中P1′,P2′为P′的左右两部分,每部分长度为l,或者P″=(P1”,P2”),其中P1″,P2″为P″的左右两部分,每部分长度为l,验证所述标签是否合法,如果合法,则更新所述标签的密钥库,并将第五验证信息发送给所述读写器,所述第五验证信息为(P2',P4')或(P2”,P4')或(P2',P4”)或(P2”,P4”);否则,判定认证失败,终止通信;

S5:所述读写器接收到所述第五验证信息后,基于所述第五验证信息中的P4'或者P4”判断所述后端服务器是否合法,如果合法,则更新所述读写器的密钥库,并将所述第五验证信息中的P2'或者P2”发送给所述标签;否则,判定认证失败,终止通信;

S6:所述标签基于接收到的P2'或者P2”判断所述后端服务器是否合法,如果合法,则判定所述标签、所述读写器和所述后端服务器之间的双向认证成功,更新所述标签的密钥库;否则,判定认证失败,终止通信。

2.根据权利要求1所述的方法,其特征在于,步骤S4具体包括:所述后端服务器收到消息组合二(P1,P3,M1,r)后,基于所述后端服务器中存储的读写器身份标识IDR、读写器密钥KR和所述第一随机数r生成第三验证信息Q′=(P3',P4')=Cro(KR,CRC(IDR⊕r)),并判断P3'是否等于P3,如果等于,则判定所述读写器合法,并对读写器的密钥库进行更新,得到读写器更新密钥KR',KR'=IDR⊕(KR>>l/2);

如果不等于,则基于所述后端服务器中存储的读写器身份标识IDR、上一轮读写器密钥KRold和所述第一随机数r生成第三验证信息Q″=(P3”,P4”)=Cro(KRold,CRC(IDR⊕r)),并判断P3”是否等于P3,若等于,则判定所述读写器合法,并更新读写器的密钥库:KR=KRold,KR'=IDR⊕(KR>>l/2);若P3″不等于P3,则判定所述读写器不合法,通信立即终止;

当P3'等于P3时,利用所述后端服务器中预先存储的标签假名IDS和所述加密信息M1计算x=M1⊕IDS,基于所述后端服务器中预先存储的标签假名IDS、所述第一随机数r和x生成第四验证信息

P′=(P1',P2')=Cro(x,CRC(IDS⊕r)),并判断P1'是否等于P1,若等于,则判定所述标签合法,并更新标签假名,得到更新的标签假名IDS',

IDS'=x⊕(IDS>>l/2),并将(P2',P4')发送给所述读写器;若不等于,则利用所述后端服务器中预先存储的上一轮标签假名IDSold和所述加密信息M1计算x=M1⊕IDSold,基于所述后端服务器中预先存储的上一轮标签假名IDSold、所述第一随机数r和x生成第四验证信息P″=(P1”,P2”)=Cro(x,CRC(IDS⊕r)),并判断P1”是否等于P1,如果等于,则判定所述标签合法,并更新标签假名:

IDS=IDSold,IDS'=x⊕(IDS>>l/2),并将(P2”,P4')发送给所述读写器;若P1″不等于P1,则判定所述标签不合法,通信立即终止;

当P3”等于P3时,利用所述后端服务器中预先存储的标签假名IDS和所述加密信息M1计算x=M1⊕IDS,基于所述后端服务器中预先存储的标签假名IDS、所述第一随机数r和x生成第四验证信息

P′=(P1',P2')=Cro(x,CRC(IDS⊕r)),并判断P1'是否等于P1,若等于,则判定所述标签合法,并更新标签假名,得到更新的标签假名IDS',

IDS'=x⊕(IDS>>l/2),并将(P2',P4”)发送给所述读写器;若不等于,则利用所述后端服务器中预先存储的上一轮标签假名IDSold和所述加密信息M1计算x=M1⊕IDSold,基于所述后端服务器中预先存储的上一轮标签假名IDSold、所述第一随机数r和x生成第四验证信息

P″=(P1”,P2”)=Cro(x,CRC(IDS⊕r)),并判断P1”是否等于P1,如果等于,则判定所述标签合法,并更新标签假名:IDS=IDSold,IDS'=x⊕(IDS>>l/2),并将(P2”,P4”)发送给所述读写器;如果P1″不等于P1,则判定所述标签不合法,通信立即终止;

其中,Cro代表交叉位运算,CRC代表循环校验函数,⊕代表异或运算,l=128bits。

3.根据权利要求2所述的方法,其特征在于,步骤S5具体包括:所述读写器接收到所述第五验证信息后,判定P4'是否和P4相等,如果P4'等于P4,则判定所述后端服务器合法,更新读写器密钥:KR'=IDR⊕(KR>>l/2),并将P2'发送给所述标签;如果P4”等于P4,则判定所述后端服务器合法,更新读写器密钥:KR=KRold,KR'=IDR⊕(KR>>l/2),并将P2”发送给所述标签,如果P4′或P4″均与P4不相等,则判定所述后端服务器不合法,通信终止。

4.根据权利要求3所述的方法,其特征在于,步骤S6具体包括:所述标签接收到P2'或者P2”后,判定P2'或者P2”是否等于P2,如果P2'等于P2,则判定所述后端服务器合法,并判定所述标签、所述读写器和所述后端服务器之间的双向认证成功,更新标签假名IDS',IDS'=x⊕(IDS>>l/2);如果P2”等于P2,则判定所述后端服务器合法,并判定所述标签、所述读写器和所述后端服务器之间的双向认证成功,进行数据更新:IDS=IDSold,IDS'=x⊕(IDS>>l/2);如果P2′或者P2″均不等于P2,则判定此次双向认证失败。

5.根据权利要求1所述的方法,其特征在于,所述预先产生的第一随机数r的过程,具体包括:

利用随机数生成器生成第一随机数r。

6.一种移动射频识别系统,其特征在于,包括:标签、读写器和后端服务器,其中:

所述读写器,用于将预先产生的第一随机数r和认证请求发送给所述标签,及接收到标签反馈的消息组合一(P1,M1)后,利用交叉位运算和循环校验算法生成第二验证信息Q=(P3,P4),其中P3,P4为所述第二验证消息Q的左右两部分,每部分长度为l,并将消息组合二(P1,P3,M1,r)发送给所述后端服务器;和用于接收到所述后端服务器反馈的第五验证信息后,所述第五验证信息为(P2',P4')或(P2”,P4')或(P2',P4”)或(P2”,P4”),基于收到的P4'或者P4”判断所述后端服务器是否合法,如果合法,则更新所述读写器的密钥库,并将P2'或者P2”发送给所述标签;否则,判定认证失败,终止通信;

所述后端服务器,用于接收到所述读写器发送的消息组合二(P1,P3,M1,r)后,基于所述后端服务器中存储的读写器身份标识IDR、读写器密钥KR或者上一轮读写器密钥KRold和所述第一随机数r利用交叉位运算和循环校验算法生成第三验证信息Q′=(P3',P4')或者Q″=(P3”,P4”),其中(P3”,P4”)基于上一轮读写器密钥KRold生成,验证所述读写器是否合法,如果合法,则更新所述读写器的密钥库,并基于预先存储的标签假名IDS或者上一轮标签假名IDSold和所述加密信息M1计算第二随机数x,基于所述后端服务器中预先存储的标签假名IDS或者上一轮标签假名IDSold、所述第一随机数r和所述第二随机数x利用交叉位运算和循环校验算法生成第四验证信息P′=(P1',P2'),其中P1′,P2′为P′的左右两部分,每部分长度为l,或者P′=(P1”,P2”),其中P1″,P2″为P″的左右两部分,每部分长度为l,验证所述标签是否合法,如果合法,则更新所述标签的密钥库,并将第五验证信息发送给所述读写器;否则,判定认证失败,终止通信;

所述标签,用于接收到所述读写器发送的第一随机数r和所述认证请求后,基于标签假名IDS和所述第一随机数r生成第二随机数x=MIXBITS(IDS,r),并对所述第二随机数x进行加密,得到加密信息M1 =IDS⊕x,并利用交叉位运算和循环校验算法生成第一验证信息P=(P1,P2),其中P1,P2为所述第一验证消息P的左右两部分,每部分长度为l,并将消息组合一(P1,M1)发送给所述读写器;基于接收到的P2'或者P2”判断所述后端服务器是否合法,如果合法,则判定所述标签、所述读写器和所述后端服务器之间的双向认证成功,更新所述标签的密钥库;否则,判定认证失败,终止通信。

7.根据权利要求6所述的系统,其特征在于,所述后端服务器,具体用于,在收到消息组合二(P1,P3,M1,r)后,基于所述后端服务器中存储的读写器身份标识IDR、读写器密钥KR和所述第一随机数r生成第三验证信息Q′=(P3',P4')=Cro(KR,CRC(IDR⊕r)),并判断P3'是否等于P3,如果等于,则判定所述读写器合法,并对读写器的密钥库进行更新,得到读写器更新密钥KR',KR'=IDR⊕(KR>>l/2);

如果不等于,则基于所述后端服务器中存储的读写器身份标识IDR、上一轮读写器密钥KRold和所述第一随机数r生成第三验证信息Q″=(P3”,P4”)=Cro(KRold,CRC(IDR⊕r)),并判断P3”是否等于P3,若等于,则判定所述读写器合法,并更新读写器的密钥库:KR=KRold,KR'=IDR⊕(KR>>l/2);若P3″不等于P3,则判定所述读写器不合法,通信立即终止;

当P3'等于P3时,利用所述后端服务器中预先存储的标签假名IDS和所述加密信息M1计算x=M1⊕IDS,基于所述后端服务器中预先存储的标签假名IDS、所述第一随机数r和x生成第四验证信息

P′=(P1',P2')=Cro(x,CRC(IDS⊕r)),并判断P1'是否等于P1,若等于,则判定所述标签合法,并更新标签假名,得到更新的标签假名IDS',

IDS'=x⊕(IDS>>l/2),并将(P2',P4')发送给所述读写器;若不等于,则利用所述后端服务器中预先存储的上一轮标签假名IDSold和所述加密信息M1计算x=M1⊕IDSold,基于所述后端服务器中预先存储的上一轮标签假名

IDSold、所述第一随机数r和x生成第四验证信息

P″=(P1”,P2”)=Cro(x,CRC(IDS⊕r)),并判断P1”是否等于P1,如果等于,则判定所述标签合法,并更新标签假名:IDS=IDSold,IDS'=x⊕(IDS>>l/2),并 将(P2”,P4')发送给所述读写器;若P1″不等于P1,则判定所述标签不合法,通信立即终止;

当P3”等于P3时,利用所述后端服务器中预先存储的标签假名IDS和所述加密信息M1计算x=M1⊕IDS,基于所述后端服务器中预先存储的标签假名IDS、所述第一随机数r和x生成第四验证信息

P′=(P1',P2')=Cro(x,CRC(IDS⊕r)),并判断P1'是否等于P1,若等于,则判定所述标签合法,并更新标签假名,得到更新的标签假名IDS',

IDS'=x⊕(IDS>>l/2),并将(P2',P4”)发送给所述读写器;若不等于,则利用所述后端服务器中预先存储的上一轮标签假名IDSold和所述加密信息M1计算x=M1⊕IDSold,基于所述后端服务器中预先存储的上一轮标签假名IDSold、所述第一随机数r和x生成第四验证信息P″=(P1”,P2”)=Cro(x,CRC(IDS⊕r)),并判断P1”是否等于P1,如果等于,则判定所述标签合法,并更新标签假名:

IDS=IDSold,IDS'=x⊕(IDS>>l/2),并将(P2”,P4”)发送给所述读写器;如果P1″不等于P1,则判定所述标签不合法,通信立即终止;

其中,Cro代表交叉位运算,CRC代表循环校验函数,⊕代表异或运算,l=128bits。

8.根据权利要求7所述的系统,其特征在于,所述读写器接收到所述后端服务器反馈的第五验证信息后,判定P4'是否和P4相等,如果P4'等于P4,则判定所述后端服务器合法,更新读写器密钥:KR'=IDR⊕(KR>>l/2),并将P2'发送给所述标签;如果P4”等于P4,则判定所述后端服务器合法,更新读写器密钥:KR=KRold,KR'=IDR⊕(KR>>l/2),并将P2”发送给所述标签,如果P4′或P4″均与P4不相等,则判定所述后端服务器不合法,通信终止。

9.根据权利要求8所述的系统,其特征在于,所述标签接收到P2'或者P2”后,判定P2'或者P2”是否等于P2,如果P2'等于P2,则判定所述后端服务器合法,并判定所述标签、所述读写器和所述后端服务器之间的双向认证成功,更新标签假名IDS',IDS'=x⊕(IDS>>l/2);如果P2”等于P2,则判定所述后端服务器合法,并判定所述标签、所述读写器和所述后端服务器之间的双向认证成功,进行数据更新:IDS=IDSold,IDS'=x⊕(IDS>>l/2);如果P2′或者P2″均不等于P2,则判定此次双向认证失败。

10.根据权利要求6所述的系统,其特征在于,所述读写器还包括:随机数生成器;

所述随机数生成器,用于生成第一随机数r。

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