摘要:
无线射频识别(RFID)系统是一种可以远程地通过附着于物体上的所谓的RFID标签来识别物体的技术。现在,这些系统在工业界(例如:供应链)和商店的应用大大增加。人们希望在未来每个物体都有一个RFID标签,这样可以支持一些有趣的应用。比如药品的包装上有了RFID标签后,可以将诸如将有效期和禁忌症的重要信息与药品联系起来。
一个RFID系统包括三个部分:
- 标签,集成了一个电路和一个小的天线,放置在要识别的物体上,它们接受请求后发送自己的标识。
- 接收器,负责与数据库以及标签通信。
- 数据库,存储标签对应的物体的信息。
根据电力供应的不同,标签可以分为被动式、半被动式和主动式标签三类。被动式标签没有电池,他们依靠接收器的信号产生电力。半被动式标签带有电池,当它们被询问时供电给电路适用。主动式标签很昂贵,因为它们的电池供应主动的发射。本文关注被动式标签,因为它们最便宜,应用最广泛。
尽管如此,使用被动式标签时不得不考虑以下几个实现和安全的条件:
1. 被动式RFID的简单限制了硬件:
成本(几美分),逻辑门的数量(约15,000个),和发送的频率(根据使用带宽的不同520或者640bps)
2. 泄露标签的信息,可能通过人们持有的带标签的物品取得其秘密物品信息,并以此跟踪持有人的行动。必须要保护用户的隐私。
此外,最好能实现一种叫前向安全(forward security)的性质。它保证即便是在标签的一个秘密信息被发现的情况下也不泄露之前发送过的加密信息。
有一些文章提出了解决隐私问题的方案,通过限制实现。例如,标签隐蔽方案(Tag Killing scheme),哈希锁,匿名ID,外部加密,或者随机哈希锁。在标签隐蔽方案中,标签有一个PIN保护的消除命令,可以禁用标签从而保护用户的隐私。哈希锁系统,匿名ID或者外部加密系统不存储它们真正的标识,因而能够解决隐私问题,但是它们不能解决跟踪的问题。其它的方案,例如随机哈希锁,解决了隐私和跟踪问题,因为标签发送伪随机生成的标识。很不幸,它们不支持前向安全。
前面提到的某些方案还有规模可伸缩性的问题。它们要求接收器检查所有可能的标签键,这在非常大的系统中是不现实的。基于树的方法更加有效,因为键查询的时间代价是标签数的对数级。但是这些系统通常在应对泄密攻击(compromising attack)时很脆弱。
SPA协议通过减低标签被捕捉时键的暴露概率,能够阻止这些攻击。
在Ohkubo,Suzuki和Kinoshita提出的哈希链方案中,标签发送一个经过哈希函数处理过的秘密标识,然后再用一个哈希函数改变这个标识。这个方法是安全的,但是它大大提高了数据库的计算复杂度。Avoine 和Oechslin在他们的方案中用空间换时间,部分地解决了这个问题。
因此,人们非常需要即有高可靠性又高效的隐私策略。在本文中,我们提出了一种新的协议,接收器必须得到认证,只有有效的接收器才能被允许读取标签。这使得我们的协议在大规模应用时效率更高。
我们的办法基于椭圆曲线版的无知识的Schnorr的方案,Schnorr方案允许接收器在不解密任何相关信息的情况下验证一个秘密。这样,接收器和标签之间以前的验证不能被试图假冒有效的那些恶意接收器使用。主意是一个接收器在接收标签的标识之前认证自己,这个标识在每次接收操作只有都从一个种子计算一个新值。
这个协议由四步构成:
- 启动阶段:生成协议的参数,(只在开始时)。
- 接收器认证阶段:Schnorr协议,(交换三个消息)。
- 标签标识阶段:标签计算它的标识和下一个种子值,然后存储新的种子值,发送标识给接收器。
- 标签验证阶段:接收器和数据库通信,验证标签的标识,得到其相关信息。
数据库需要存储所有标签和其的种子值对应的所有标识,这样当数据库找到一个标签时,也按照标签做的那样计算下一个种子值,删除旧的标识,插入下一次接收到的标识。
文章中讨论了一些实现的问题,关于协议中的主参数的合适的维度的问题,怎样提供一个可接收的安全级别。我们证明,有了合适的维度,本协议在现在和不久的将来的被动式RFID标签上都是可行的。
本文还分析证明了这个协议可以有效防御以下四种基本攻击类型:吸入(sniffing),跟踪标签(tracking of the tags),伪造接收器或者标签(spoofing),重复发送和拒绝服务攻击。我们还证明了协议是前向安全的。那么,解密任意一个信息中的标签种子值都不会对之前发送的信息造成威胁。