1.一种轻量级的移动RFID系统认证方法,其特征包含于以下步骤:(1)读写器产生随机数r1,并向标签发送认证请求命令及r1;
(2)标签计算M1,M2_L,M2_R的值,并向读写器发送M1,M2_R;
(3)读写器根据M1,M2_R验证标签的真伪,为真,进行步骤(4);否则,协议终止;
(4)读写器计算M3,M4_L,M4_R的值,并向标签发送M3,M4_R;
(5)标签根据M3,M4_R验证读写器的真伪,为真,进行步骤(6);否则,协议终止;
(6)标签向读写器发送确定指令;
(7)读写器向后台数据库发送M2_R,M4_R,r1;
(8)后台数据库根据M4_R验证读写器的真伪,为真,进行步骤(9);否则,进行步骤(10);
(9)后台数据库根据M2_R验证标签的真伪,为真,进行步骤(11);否则,进行步骤(10);
(10)后台数据库用上一轮的共享密钥K_old再次验证读写器及标签的真伪,两者同时为真,进行步骤(11);否则,协议终止;
(11)后台数据库产生随机数r2,计算M5,M6,M7,同时更新共享密钥,并向读写器传送M5,M6,M7;
(12)读写器根据M5,M7验证后台数据库的真伪,为真,进行步骤(13);否则,协议终止。
(13)读写器向标签传送M6,M7,并读写器更新共享密钥;
(14)标签根据M6,M7验证后台数据库的真伪,为真,进行步骤(15);否则,协议终止;
(15)标签更新共享密钥,到此后台数据库、读写器、标签三方认证顺利结束;
其中,
M1=ID_T⊕Syn(K_L,K_R);
M2_L=[gK(r1⊕ID_T⊕K)]L;
M2_R=[gK(r1⊕ID_T⊕K)]R;
M3=IDR⊕Syn(K_L,K_R);
M4_L=[gK(r1⊕IDR⊕K)]L;
M4_R=[gK(r1⊕IDR⊕K)]R;
M5=M4_R⊕r2;
M6=M2_R⊕r2;
M7=Syn(K_L,K_R)⊕r2;
ID_T:标签T的标识符;IDR:读写器R的标识符;
K_L:本轮认证的共享密钥K的左半部分;
K_R:本轮认证的共享密钥K的右半部分;
K:本轮认证的共享密钥;
K_old:上轮认证的共享密钥;
r1:读写器产生的随机数;
r2:后台数据库产生的随机数;
gK(X,Y):基于共享密钥的伪随机函数;
[gK(X,Y)]L:取gK(X,Y)运算结果的左半部分;
[gK(X,Y)]R:取gK(X,Y)运算结果的右半部分;
Syn(X,Y):字合成运算;
⊕:异或运算;
M1,M2,M3,M4,M5,M6,M7:通信消息。
2.根据权利要求1所述的一种轻量级的移动RFID系统认证方法,其特征在于:读写器首先产生一个随机数r1,然后将随机数r1连同认证请求命令Request一并传送给标签。
3.根据权利要求2所述的一种轻量级的移动RFID系统认证方法,其特征在于:标签在接收到读写器发送来的信息后,首先用自身存放的ID_T、K_L、K_R来计算M1,用自身存放的ID_T、K及接收到的r1来计算M2_L、M2_R;然后将M1、M2_R传送给读写器。
4.根据权利要求3所述的一种轻量级的移动RFID系统认证方法,其特征在于:读写器在接收到标签发送来的信息后,首先用自身存放的K_L、K_R及接收到的M1来计算ID_T`,接着用计算得到的ID_T`、自身存放的K及自身产生的r1来计算M2_R`,然后比对计算得到的M2_R`与接收到的M2_R的值;
若两者值相等,说明标签为真,进行步骤5,同时表明计算得到的ID_T`与ID_T相同;若两者值不相等,说明标签是伪造的,协议终止,同时表明计算得到的ID_T`与ID_T不相同。
5.根据权利要求4所述的一种轻量级的移动RFID系统认证方法,其特征在于:读写器用自身存放的IDR、K_L、K_R来计算M3,用自身存放的K、IDR及自身产生的r1来计算M4_L、M4_R,并向标签发送M3,M4_R。
6.根据权利要求5所述的一种轻量级的移动RFID系统认证方法,其特征在于:标签在接收到读写器发送来的信息后,首先用自身存放的K_L、K_R及接收到的M3来计算IDR`,接着用计算得到的IDR`、自身存放的K及接收到的r1来计算M4_R`,然后比对计算得到的M4_R`与接收到的M4_R的值;
若两者值相等,说明读写器为真,进行步骤7,同时表明计算得到的IDR`与IDR相同;若两者值不相等,说明读写器是伪造的,协议终止,同时表明计算得到的IDR`与IDR不相同。
7.根据权利要求6所述的一种轻量级的移动RFID系统认证方法,其特征在于:标签向读写器确认指令Sure;到此标签与读写器之间的双向认证结束,下面开始后台数据库与读写器、标签之间的三方认证。
8.根据权利要求7所述的一种轻量级的移动RFID系统认证方法,其特征在于:读写器在接收到标签发送来的信息之后,读写器将自身产生的r1、计算得到的M4_R及接收的M2_R一并传送给后台数据库。
9.根据权利要求8所述的一种轻量级的移动RFID系统认证方法,其特征在于:后台数据库在接收到读写器发送来的信息后,首先后台数据库检索自身存放的IDR``、接收到的r1及自身存放的K来计算M4_R``,然后比对计算得到的M4_R``与接收到的M4_R的值。
若两者的值相等,说明读写器为真,后台数据库验证读写器通过,进行步骤10,同时也表明计算得到的M4_R``与接收到的M4_R相同。若两者的值不相等,则进行步骤11。
10.根据权利要求9所述的一种轻量级的移动RFID系统认证方法,其特征在于:接着后台数据库检索自身存放的ID_T``、接收到的r1及自身存放的K来计算M2_R``,然后比对计算得到的M2_R``与接收到的M2_R的值;若两者的值相等,说明标签为真,后台数据库验证标签通过,进行步骤12,同时也表明计算得到的M2_R``与接收到的M2_R相同;若两者的值不相等,则进行步骤11;其中M2_R``=[gK(r1⊕ID_T``⊕K)]R。
11.根据权利要求10所述的一种轻量级的移动RFID系统认证方法,其特征在于:后台数据库用上一轮的共享密钥K_old的值替代K重新计算M2_R```、M4_R```,然后比对计算得到的M2_R```与接收到的M2_R的值、比对计算得到的M4_R```与接收到的M4_R的值;
若M2_R```与M2_R两者值相等,且M4_R```与M4_R两者值相等,说明标签及读写器都为真,后台数据库验证标签及读写器都通过,进行步骤12;否则,说明标签及读写器两者之中至少有一方是伪造的,协议终止;其中M4_R```=[gK(r1⊕IDR``⊕K_old)]R,M2_R```=[gK(r1⊕ID_T``⊕K_old)]R。
12.根据权利要求11所述的一种轻量级的移动RFID系统认证方法,其特征在于:后台数据库产生一个随机数r2,接着用接收到的M4_R、自身产生的r2来计算M5,用接收到的M2_R、自身产生的r2来计算M6,用自身存放的K_L、K_R及自身产生的r2来计算M7,同时更新共享密钥K_old=K、K=K_new,最后向读写器发送M5,M6,M7;
其中M5=M4_R⊕r2,M6=M2_R⊕r2,M7=Syn(K_L,K_R)⊕r2,K_new=gK(ID_T⊕IDR⊕r2)。
13.根据权利要求12所述的一种轻量级的移动RFID系统认证方法,其特征在于:读写器在接收到后台数据库发送来的信息后,首先读写器用自身计算得到的M4_R及接收到的M5来计算r2`,接着用计算得到的r2`、自身存放的K_L及K_R来计算M7`,然后比对计算得到的M7`与接收到的M7的值;
若两者的值相等,说明后台数据库为真,读写器验证后台数据库通过,进行步骤14;若两者的值不相等,说明后台数据库是伪造的,协议终止;其中r2`=M5⊕M4_R,M7`=Syn(K_L,K_R)⊕r2`。
14.根据权利要求13所述的一种轻量级的移动RFID系统认证方法,其特征在于:读写器向标签传送M6,M7,同时读写器更新共享密钥K=gK(ID_T⊕IDR⊕r2)。
15.根据权利要求14所述的一种轻量级的移动RFID系统认证方法,其特征在于:标签在接收到读写器发送来的信息后,首先标签用自身计算得到的M2_R及接收到的M6来计算r2``,接着用计算得到的r2``、自身存放的K_L及K_R来计算M7``,然后比对计算得到的M7``与接收到的M7的值;
若两者的值相等,说明后台数据库为真,标签验证后台数据库通过,进行步骤16;若两者的值不相等,说明后台数据库是伪造的,协议终止;
其中r2``=M6⊕M2_R,M7``=Syn(K_L,K_R)⊕r2``。
16.根据权利要求15所述的一种轻量级的移动RFID系统认证方法,其特征在于:标签更新共享密钥K=gK(ID_T⊕IDR⊕r2);到此后台数据库与读写器、标签三方之间的认证结束。