2安全问题分析

RFID系统面临的安全问题[4]主要包括:(1)假冒攻击(spoofing attack),通过使用假冒读写器来记录标签的响应,再用该响应去响应合法的读写器,让合法的读写器认为该标签还存在,通过RFID的认证,事实上该标签已经离去;(2)重传攻击(replay attack),是通过截取标签和读写器之间通信的有效信号,再在RFID系统中进行重传而对系统进行的一种攻击;(3)去同步化(desynchronization),指通过对标签进行恶意认证或者攻击,导致后端数据与标签中存储的信息不一致,进而导致标签无法认证的一种攻击。

3认证方案

通过标签访问计数器值的自更新特性与密值,结合Hash函数进行RFID认证,虽然能够抵抗标签伪装等攻击,但是该协议标签数量较大,若干标签存在恶意认证时,根据k值来检索数据库中标签记录,将导致检索范围过大,标签记录命中率降低,而数据库的每次数据比对都会进行一定量的Hash计算,这会导致服务器耗费大量的时间和资源来进行运算,进而导致这个RFID系统效率低下。

针对基于Hash链的RFID安全双向认证协议做如下改进:对k值进行分层化处理,可以有效提高数据库标签记录检索的命中率;认证请求中使用RFID读写器产生随机数,将标签响应中推算出的随机数与该随机数进行比较,过滤无效的认证会话;RFID读写器保存上一次认证会话中接收的标签响应,RFID读写器接收到的标签响应与上次会话中使用的标签响应进行比较,如果相同就过滤该认证会话(标签在每次认证会话中会更新认证响应),提高认证请求的有效性,减少服务器的运行压力。有关协议中的参数如表1所示。

预备:对每个标签的k值的范围进行分层化处理,例如0~999,1 000~9 999,将k置为所在分层的最小值。当k为所在分层区间k的最大值时,k+1将重置k的值为该分层区间的最小值,同时置f的值为“1”,每个标签配置一个初始密值S,为RFID系统筛选两个碰撞和复杂度都较低的Hash函数,将标签k、ID、S存储到数据库。