1.一种基于Hash函数可同步更新密钥的RFID双向认证方法,其特征是步骤如下:(S1)读写器生成一个随机数rR,并和查询命令Query一起发给标签作为认证请求;
(S2)标签收到该消息后,也产生一个随机数rT,然后计算其密钥Ki的哈希值H(Ki),以及 并将该三元组 发送到读写器作为应答消息;
(S3)读写器接收到应答消息后,将 转发给后台数据库DB,后台数据库再根据接收到的消息对标签的合法性进行判断;
(S4)若通过对标签的认证,则DB更新密钥库,否则,终止对该标签后面的认证;
(S5)后端数据库也产生一个随机数rD,计算h′2=H(rD,ID′i)和 并将该二元组 传递给读写器;
(S6)读写器收到该消息后,将 转发给标签;标签接收后,首先从 中提取随机数rD,然后结合标签的IDi,计算h2=H(rD,IDi),再与收到的认证信息h′2进行一致性验证,若不一致,则认证不成功,判读写器为非法;反之,则通过对读写器的认证;
(S7)完成标签与读写器之间的双向认证之后,标签再更新自身的密钥即实现标签与后端数据库密钥的同步更新。
2.根据权利要求1所述的基于Hash函数可同步更新密钥的RFID双向认证方法,其特征是步骤(S3)所述的后台数据库再根据接收到的消息对标签的合法性进行判断,按以下步骤进行二次认证:(1)后端数据库查找是否存在某个标签K′i的哈希值满足H(K′ i)=H(Ki),如果不存在,则判断该标签为非法,拒绝认证请求;
(2)如果存在,则后端数据库首先从 中求得rT,再结合密钥K′i以及随机数rR一起计算h′1=H(K′ i,rT,rR),由 可求得ID″i;检索后端数据库中ID列表,(查找对应K′i行)是否满足ID′ i=ID″ i,若不成立,则终止认证;若成立,即通过对标签的第二次认证。
3.根据权利要求1所述的基于Hash函数可同步更新密钥的RFID双向认证方法,其特征是步骤(S4)所述的通过对标签的认证,则DB更新密钥库,按以下两种情况对密钥进行更新:(1)若等式H(Ki)=H(Ki_new)成立,即K′i=Ki_new,则将数据库中的Ki_old更新为Ki_new,然后再计算 进而更新 将其作为标签下一会话的密钥值;
(2)若等式H(Ki)=H(Ki_old)成立,则保留Ki_old,更新 作为标签下一会话的密钥值。