⑤比较k与k″的大小,如果k与k″相等则取d=0,否则取d=k+l-k″;然后比较G(Hd(S″))与G(S),如果相等,则转入⑦,否则转入①。
⑥计算d=k-k″,然后比较G(Hd(S″))与G(S),如果相等,则转入⑦,否则转入②。
⑦后端数据库更新当前标签记录的访问计数器k″=k+1和密值S″=Hd+1(S″),如果k为该区间的最大值,则k″置为该区间的最小值,然后计算G(ID″S″)发送给标签。
步骤(5):阅读器将后端服务器发送来的G(ID″S(k″))转发给标签。
步骤(6):标签从存储器中获取ID与密值S,计算G(IDS)与G(ID″S″)是否相等,如果相等则认证成功,同时将标志位f置为“0”,否则认证失败。
协议认证过程如图1所示。
4协议安全性分析
RFID系统面临的主要安全问题[6]有:假冒攻击、重传攻击、追踪、去同步化。这里定义读写器向标签传递信息的无线信道为前向信道,标签向读写器传递信息的无线信道为后向信道[7],对协议进行安全性分析。
4.1假冒攻击
攻击者使用伪装的读写器通过前向信道向标签发送Query和rR认证请求,获取到标签的响应k、rR、f、G(IDrk)、G(S);再在下一次与合法读写器进行认证时,读写器发送Query和rR认证请求,攻击者通过后向信道使用上次截获的k、rk、f、G(IDrk)、G(S)来响应读写器,然而由于读写器每次发送的rR都是一个随机产生的随机数,所以前后两次的随机数rR和rk-k不一致,无法进行假冒攻击。