2.1数据完整性问题
数据完整性是指在通信过程中接收者收到的数据与发送者发出的数据是一致的,没有被篡改或替换。这一性质也说明了数据是准确和可靠的。通信过程中倘若不能保证数据的完整性,也就意味着数据可能已经被篡改或者丢失,导致其包含的信息不完整甚至无效。
在基于公钥的密码体制中,一般是采取消息摘要或数字签名的方式来保证数据的完整性。而在RFID系统中,为了保证数据完整性,通常会采用消息认证码来进行校验。它使用的是一种带有共享密钥或者不带密钥的Hash算法,其实质是将后端数据库和标签所共享的秘密与待检验的消息连接在一起,或者单独对消息进行Hash运算。由于Hash函数的性质,攻击者对待检验消息的任何细微改动都会产生雪崩效应,造成消息认证码的较大改变。事实上,在读写器和标签的通信过程中,除了采用ISO14443标准并使用了消息认证码的高端系统外,传输信息的完整性无法得到保障。但如果在具有可读写标签的系统中不采用数据完整性控制机制,那么攻击者就可利用计算机的通信接口,扫描到在读写器发出查询请求后RFID标签所作出的响应,并由此寻找到系统所使用的加密算法、安全协议以及实现机制上的漏洞,然后就可以对标签中的数据进行篡改或删除。
2.2身份真实性问题
对于RF1D系统的许多应用来说,对认证标签身份的真实性是非常重要的环节。标签和读写器只有相互确认合法之后,才能输出自身信息和控制命令。由于标签和读写器之间的信息是通过无线射频信号的方式在不安全信道上传播,攻击者可以很容易的从窃听到的通信数据中获得敏感信息,并以此伪造系统中标签,从而达到欺骗读写器的目的。举例来说,攻击者可以通过将截取的合法标签的信息进行重放,或利用伪造的标签代替实际物品,或把高价物品标签的内容用低价物品标签来替换从而获取非法利益。同时,为了将物品成功转移,攻击者也可以通过技术手段将合法的标签屏蔽掉,以此来躲避读写器的跟踪;反之,也可以伪装成一个合法的读写器向标签发出控制命令,来修改标签内的数据。因此,为了保护数据的真实性,读写器只有确认了标签的合法身份之后才能确信所接收消息的真实性;标签也只能在确认了读写器的合法身份之后才能向其传送自身的数据。