4.2重传攻击

在读写器向标签发送Query和rR认证请求之后,攻击者获取到k、rk、f、G(IDrk)、G(S);在以后的认证会话中,攻击者通过后向信道响应k、rk、f、G(IDrk)、G(S),从而发动重传攻击;在读写器接收到k、rk、f、G(IDrk)、G(S)过后,进行一次过滤处理,与上一次接收到的G(ID″rk′)、G(S′)进行比较,看数据内容是否相同,如果相同,则直接丢弃该数据,然后再判决rk-k和rR的值是否一致,因为前后两次认证过程中读写器生成的rR不同,由此可见该协议对重传攻击具有安全性。

4.3追踪

攻击者使用伪装的读写器向标签发送认证请求,获取到标签的响应k、rk、f、G(IDrk)、G(S),然后通过该响应来追踪该标签;由于每次发起认证请求时,读写器都会重新产生一个随机数用于认证,并且标签自生的k、S(k)也是不断变化的,所以rk也会不断变化,f值只能是“0”或“1”无法实现追踪,因此该标签的响应是不断变化的,所以该协议能够很好地抵制追踪攻击。

4.4去同步化

认证过程中,因为采用的是无线信道,故有可能造成数据传输的丢失,或人为对标签进行恶意攻击,然后导致标签的数据与后端数据库数据不一致,使标签无效化,无法完成认证操作。后端数据库可以根据k值和f值来确保标签密值的成功匹配,每次成功认证过后,后端数据库也会根据标签传来的信息,更新后端数据库的数据。

5协议效率分析

本协议对Hash链的RFID安全双向认证协议[5]做了改进,进一步提高了后端数据库检索的效率,读写器端增加过滤功能,能够有效地拦截恶意的认证请求,很好地减少服务器资源的浪费。

通过k值的分层化处理可以有效地缩小数据检索的范围,快速定位到需要检索的k值的数值范围,从而确定待检索的数据记录所在的k值分层;再根据k值进一步缩小检索数据记录的范围,因为在f为“0”时,被检索记录的k″必须满足k″≤k。