1.一种基于中国剩余定理的RFID系统群组标签认证方法,所述RFID系统设有后台数据库及与后台数据库连接的阅读器,阅读器外接多个群组标签,其特征在于,该方法包括如下步骤:
1)后台数据库认证初始化:
(1)假设其中一个群组标签的个数为n个,后台数据库选取两个大素数p和q,并且满足然后从后台数据库中的 中选取n个两两互素的私钥sk1,sk2,sk3…skn,最后计算 其中 表示p阶的乘法循环群;
(2)后台数据库用私钥分别计算 得到 然后
计算xi×yi≡1modski,得到所有的yi以及vari=xi×yi,最后将所有的vari求和得到其中xi、yi、vari为单个标签的参数,μ为该群组所有标签的参数;
(3)为该群组中的每个标签分配ID1,ID2,…IDn,并选择一个初始群组共享密钥kg<q<ski<p且满足rg=μ×kg,其中rg为初始公开传递的密钥参数, 表示后台数据库中的q阶的乘法循环群;
(4)然后在后台数据库中存储(ID1,sk1,kg,x1,y1),(ID2,sk2,kg,x2,y2),……(IDn,skn,kg,xn,yn);
(5)从后台数据库选取三个单向哈希函数H1(),H2(),H3(),并且均满足
2)标签的登记:后台数据库完成初始化后,对该群组中的每个标签进行登记注册,每个标签通过安全的通道获得自己的(IDi,ski,kg),即(ID1,sk1,kg),(ID2,sk2,kg),……,(IDn,skn,kg)的信息参数;
3)后台数据库认证标签:
(1)阅读器向该群组中的每个标签同时发送认证query和随机数α1;
(2)每个标签接收到认证query和随机数α1后,利用自身存储的(IDi,ski,kg)进行以下计算:即 N1=H1(kg),(3)完成上述计算后,每个标签向阅读器发送自己的回应信息(M1,N1),(M2,N2),……,(Mn,Nn);
(4)阅读器收到每个标签的回应信息后,对比每条回应消息中的后半部分(Ni),如果(N1=N2=…=Nn),则表示所有标签为同一群组的标签,初步判定没有其他群组的标签,然后将回应消息整合为{(M1,M2,…,Mn),(N1,N2,…,Nn),α1},并通过安全信道将{(M1,M2,…,Mn),(N1,N2,…,Nn),α1}发送给后台数据库;
(5)后台数据库收到{(M1,M2,…,Mn),(N1,N2,…,Nn),α1}后,首先通过(N1,N2,…,Nn)的值,查找后台数据库中的初始群组共享密钥kg,并计算H1(kg),若找到与(N1,N2,…,Nn)的值相等的kg,则证明该群组为合法的群组,并确定该群组的位置,并找出存储在后台数据库中的其他信息;
(6)然后将(M1,M2,…,Mn)中的每条信息进行以下操作: 即并将 进行求和,得到
(7)将收到的α1及确定该群组的其他信息ID1,ID2,…IDn,分别进行如下计算:即H1(ID1||α1),H1(ID2||α1),……,H1(IDn||α1),然后将H1(ID1||α1),H1(ID2||α1),……,H1(IDn||α1)进行求和,得到(8)比较 与 是否相等,若相等,则证明该群组中的所有标签
均为合法标签,并且通过后台数据库的认证;若不相等,则证明该群组中至少存在一个非法标签,或者标签受到了攻击,然后将 的结果与后台数据库计算出的每一项H1(IDi||α1)进行比对,确定 成立的每一个标签的IDi,找出与 的结果不相等的标签,并通过H1(IDi||α1)来确定不相等标签的IDi;
4)标签认证后台数据库:
(1)认证该群组中的所有标签为合法标签后,后台数据库将该群组的初始群组共享密钥kg更新为群组共享密钥k′g, 且k′g<q<ski<p,计算r′g=μ×k′g,其中r′g表示为公开传递的密钥参数;
(2)后台数据库同时生成一个随机数α2,并计算H2(k′g||α2)的值,然后将{r′g,H2(k′g||α2),α2}发送给阅读器;
(3)阅读器将{r′g,H2(k′g||α2),α2}转发给该群组中的每个标签,每个标签收到{r′g,H2(k′g||α2),α2}后,通过计算r′gmodski,即r′gmodsk1=k′g,r′gmodsk2=k′g,……,r′gmodskn=k′g,每个标签同时来获得更新后的群组共享密钥k′g;
(4)然后每个标签再通过收到的随机数α2和算出的群组共享密钥k′g,计算H′2(k′g||α2)的值,将H′2(k′g||α2)的值与H2(k′g||α2)的值进行对比,若他们的值相等,则表示每个标签认证了阅读器和后台数据库的合法性,则每个标签的群组共享密钥确认更新为k′g;
(5)每个标签利用群组共享密钥k′g,计算H3(k′g||α2+1)的值,然后将此值发送给阅读器;
(6)阅读器收到H3(k′g||α2+1)的值后,将H3(k′g||α2+1)的值发送给后台数据库,后台数据库计算H′3(k′g||α2+1),并比较H3(k′g||α2+1)与H′3(k′g||α2+1)是否相等,若相等,则证明每个标签中的群组共享密钥k′g已经更新成功;
(7)最后,后台数据库最终确定更新的群组共享密钥为k′g,k′g用于下一次对该群组标签的认证;
5)群组标签的管理:
(1)若步骤3)中的第8步检测出问题标签后,假设检测出的标签IDj存在问题,没有通过后台数据库的认证,则需要将标签IDj从本群组中去除,标签IDj不与其它的标签共享该群组共享密钥;
(2)在后台数据库查找到标签IDj的varj值,计算μ′=μ-varj,然后后台数据库选取群组共享密钥k′g,并计算r′g=μ′×k′g;
(3)向群组中的每个标签发送{r′g,H2(k′g||α2),α2},标签同样通过r′gmodski=k′g来获得群组共享密钥k′g,即使标签IDj能够得到r′g,而μ′中不再含有varj,因此r′gmodskj≠k′g,所以标签IDj不能得到更新后的群组共享密钥k′g;
(4)只有通过认证合法的标签才能得到更新后的群组共享密钥k′g,然后进行步骤4)中第5-7步的操作,最终完成标签与后台数据库的双向认证。