摘要提出一种解决RFID安全与隐私问题的方法。它是在随机控制Hash锁方法基础上的一种改进方法,解决了位置隐私和中间人攻击问题;与定控制和随机Hash锁方法相比,具备相同的安全级水平,同时降低计算负载,适合于大量射频标签的场合。
关键词RFID Hash锁 安全与隐私
引言
RFID安全问题集中在对个人用户的隐私保护、对企业用户的商业秘密保护,防范对RFID系统的攻击以及利用RFID技术进行安全防范等多个方面。面临的挑战是:
① 保证用户对标签的拥有信息不被未经授权访问,以保护用户在消费习惯、个人行踪等方面的隐私。
② 避免由于RFID系统读取速度快,可以迅速对超市中所有商品进行扫描并跟踪变化,而被利用来窃取用户商业机密。
③ 防护对RFID系统的各类攻击,如重写标签以篡改物品信息;使用特制设备伪造标签应答欺骗读写器,以制造物品存在的假相;根据RFID前后向信道的不对称性远距离窃听标签信息;通过干扰RFID工作频率实施拒绝服务攻击;通过发射特定电磁波破坏标签等。
④ 如何把RFID的唯一标识特性用于门禁安防、支票防伪、产品防伪等。
为了避免RFID标签给客户带来关于个人隐私的担忧,同时也为了防止用户携带安装有标签的产品进入市场所带来的混乱,很多商家在商品交付给客户时都把标签拆掉。这种方法无疑增加了系统成本,降低了RFID标签的利用率,并且有些场合标签不可拆卸。为解决上述安全与隐私问题,人们还从技术上提出了多种方案,包括Kill标签、法拉第网罩、主动干扰、智能标签、阻止标签和Hash锁等方法。Hash锁通过简单的Hash函数,增加闭锁和开锁状态,对标签和读写器之间的通信进行访问;但是它无法解决位置隐私和中间人攻击问题。本文提出一种Hash锁改进方法,成功解决了这个问题。
1 Hash锁方法分析
1.1 定读取控制Hash锁方法
在定读取控制Hash锁方法中,射频标签只对授权的读写器起作用,它代表了一种认证过程,认证密匙固定不变。使用该方法的射频标签分别有1个只读(ROM)和1个可读写(如RAM)的存储器,并且每个电子标签只供有限的用户使用。这些用户都共有同一个存储在读写存储器中的识别码。每个标签认证读写器的过程如图1所示。读写器对每一个电子标签都有一个认证密匙k,每个电子标签都存储有一Hash方程计算的结果metaID=Hash(k)。首先读写器向射频标签发出ID访问请求,标签向读写器发出相应的metaID。读写器根据接收到的metaID得出密匙k并发送给标签。然后该标签把接收到的密匙k代入Hash方程,检验计算得到的结果与存储在标签中的metaID是否一致。如果一致,标签就把其ID发送给读写器。
该方案提出了一种低成本解决安全与隐私问题的方法。仅仅需要一个Hash方程和存储metaID值就足够。但是它不能防止被跟踪,因为射频标签的反应能提前被预测泄露,并且随机密匙k和标签ID能被敌人窃听到。
图1 定读取控制Hash锁方法
1.2 随机读取控制Hash锁的方法
为了避免被跟踪,射频标签的反应不能被预测到而是随机的。主要有两种随机读取控制Hash锁的方法。MIT AutoID中心提出了一种随机Hash方案。读写器向射频标签发出ID访问请求,标签向读写器发出的不是固定的metaID,而是变化的。如图2所示,每个标签与读写器共享一个认证密匙IDk。当读写器向射频标签发出ID访问请求时,射频标签产生一个伪随机数字R和输出(R,h(IDk‖R)),其中h(IDk‖R)是输入R和认证密匙IDk的Hash方程。然后读写器获得所有射频标签的认证密匙。读写器根据接收的R和存储在后台数据库中所有密匙的ID计算Hash方程。如果Hash方程值与射频标签发送的Hash方程值匹配,读写器识别出该射频标签的密匙IDk并发送给射频标签。因为每次访问时,射频标签的输出改变了。该方法避免了被跟踪的缺点;但是该方法不适合少量射频标签的用户。因为被授权的读写器识别一个射频标签,就需要搜索和计算所有标签的ID,因此该方法不适合大量射频标签。
图2 随机读取控制Hash锁方法
NTT提出了一种Hash链方法。在第i次与读写器交换时,射频标签有其初始值Si,发送ai=G(Si)给读写器,再根据以前的Si更新密匙Si+1=H(Si)。其中G和H都是Hash函数,如图3所示。