射频识别技术RFID(Radio Frequency Identification)是一种利用射频通信实现的非接触式通信技术,利用此项技术可以实现对目标对象的自动识别,并读取相关数据的目的。RFID技术具有操作快捷、精度高、非可视识别、适应环境能力强、抗干扰性强等多方面的条形码技术不具备的优点。因此,RFID技术也已经被越来越多地应用于诸如零售、物流、生产制造、自动收费、动物识别、仓储、图书管理、军事等众多领域。随着RFID技术被广泛的应用,它所带来的信息安全和隐私问题也越来越显现出来。例如,标签中的信息被非授权访问,造成用户的隐私泄露;标签中的数据可以被恶意的克隆,甚至只要用重放攻击等手段就能够很轻易地伪装成合法的标签。这些亟待解决的问题逐渐成为国内外学者研究RFID系统的热点。RFID系统的安全机制主要分为物理安全机制和认证安全机制两大类。由于物理安全机制受到成本和法律等因素的限制,使得认证安全机制,特别是基于Hash函数的认证安全机制越来越受到人们的青睐,其主要研究内容则是利用Hash函数具有单向性这一特点,来设计出满足RFID安全性需求的认证协议。设计基于Hash函数的同时又能满足应用中安全、高效、低成本需求的RFID认证协议,成为了一个新的具有挑战性的问题。本文首先详细介绍了RFID系统的基本工作原理,深入分析了RFID系统所存在的安全隐患,并总结出了RFID系统的安全需求。其次,对有关认证机制进行了详细的分析比较和评估,指出了其不足之处。然后,针对已有认证机制中存在的问题,提出了一种新的基于Hash链的RFID双向认证协议,实现了标签和读写器之间的双向认证,并运用BAN逻辑以形式化分析的方式证明其安全性。最后,在MyEclipse6.0+JDK1.7环境下对认证过程予以仿真实现,通过对各种情况的模拟,说明了该协议的可靠性和实用性。