Rfid 的克隆防护与检测之一
安全 应用安全
RFID标签的结构简洁性和成本效益保证了它们的扩散,同时也加剧了安全和隐私的泄露。由于RFID应用程序将标签的真实性等同于标记对象的真实性,使用克隆标签模拟真实标签的克隆攻击可能会导致难以想象的威胁。

前 言

射频识别技术(RFID)是物联网发展的驱动技术之一。RFID标签的结构简洁性和成本效益保证了它们的扩散,同时也加剧了安全和隐私的泄露。由于RFID应用程序将标签的真实性等同于标记对象的真实性,使用克隆标签模拟真实标签的克隆攻击可能会导致难以想象的威胁。随着新的RFID应用的出现,针对RFID防护的相关对策在有效性、效率、安全性、私密性、适用性等方面都存在局限性。因此,其应对措施需要不断检讨和改进,以保持领先地位。

本文分为上下两篇,为读者由浅入深地对RFID的相关内容进行介绍。从了解什么是RFID开始,再到RFID克隆攻击技术的产生,进而引出应对攻击的RFID克隆防护与检测技术,最后阐述当下保障RFID安全需要解决的问题和挑战。

上篇主要介绍RFID系统、RFID的克隆攻击技术和现有的RFID克隆防护技术。

下篇主要介绍RFID的克隆检测技术和当下保障RFID安全需要解决的问题与挑战。本文内容主要参考了文献[1]。

RFID系统

RFID系统由三种实体组成:服务器、阅读器和标签。一般情况下,标签被附加到特定的对象上,并装载与对象相关的数据。对于大多数应用程序,与对象相关的数据只是一个ID(也称为EPC)。例如,在支持RFID的供应链中,可以使用ID段指定产品的类别、产地、制造商和过期日期。使用的标签有三种类型,即无源标签、半有源标签和有源标签。

无源标签没有电池,它们从接收到的信号中收集能量,然后发送响应。

半有源标签有电池,为计算提供能量,但仍然需要接收信号进行响应。

电池供电的有源标签可以启动通信,直接与标签通信的设备是读取器。

与标签相比,读取器具有更强的计算和通信能力。从阅读器到标签的查询从服务器到阅读器的命令转换而来。这些命令来自服务器上托管的系统监控协议。典型的监控协议有:识别、认证、定位等。服务器还拥有一个数据库,记录系统中所有标签的某些信息(如标签id和共享密钥)。

射频识别(RFID)标签的结构简洁性和成本效益保证了它们的扩展,广泛部署的低成本标签成本低至5美分。RFID标签遍及我们日常生活的每一个角落,其应用包括人类跟踪、目标监控、移动支付,甚至植入式医疗设备通信。

RFID作为物联网基础设施组件,其使用量会再创新高。IDTechEx预计,到2026年,RFID市场价值将达到186.8亿美元。攻击者绝对不会错过在RFID繁荣时期攫取他们的份额。主要由于资源的限制,大多数低成本标签不能支持除散列之外的复杂加密技术。由于缺乏强大的保护方案,RFID通信协议容易受到各种攻击。标签芯片也容易受到物理篡改,这会泄露存储在标签内存中的秘密信息。随着RFID技术的不断发展,RFID应用程序需要提出安全与隐私问题的解决方案。

RFID克隆攻击

在各种RFID攻击中,我们重点研究了克隆攻击。根据克隆的定义,克隆攻击程序从被破坏的标签中提取数据到其他标签芯片或仿真设备上,这被称为克隆标签。电子产品代码(Electronic Product Code, EPC)或标识符(Identifier, ID)等标签数据可以在标签读取器通信过程中被窃听,而密钥等标签数据可以通过物理篡改被浏览。即使是具有加密增强的标记也容易被克隆。在参与身份验证等RFID应用程序时,克隆标签可以像真正的标签一样拥有所有有效的数据。由于大多数RFID应用程序使用标签真实性来验证标记对象的真实性,克隆标签可能会危及各种实体。例如,具有RFID功能的供应链、入境卡、牌照、护照、信用卡、医药产品、可植入设备常常受到克隆攻击。

RFID克隆攻击产生真正标签的复制品,通常称为克隆标签。成功的克隆攻击使克隆标签具有真正标签所期望的所有有效数据。因此,克隆标记可以像真正的标记一样,通过任何基于克隆数据的身份验证。由于RFID应用使用标签真实性来验证被标记对象的真实性,克隆攻击可能会给消费者带来难以想象的威胁。

窃听是克隆低成本标签的一种有效方法。早期的低成本标签只存储标签id,并在读取器查询时以明文形式发出它们。阅读器仅通过标签ID的有效性来验证标签的真实性,也就是说,标签ID是否在数据库中。由于读取器标签通信是通过一个不安全的无线通道进行的,攻击者可以很容易地在传输过程中窃听标签id,并编程克隆标签。此外,低成本标签缺乏阅读器身份验证支持。它们可以对来自任何阅读器的查询响应标签id。

更高级的克隆方法是物理篡改。它破坏了真正的标记,并获得了存储在标记内存中的所有数据。无论标签是否使用加密技术(例如,在传输时使用共享密钥加密标签id),物理篡改都可以破解它们,现在市面上有各种各样的RFID篡改工具。

RFID克隆防护

RFID克隆预防是用软件或硬件技术防护标签,使攻击者无法从真正的标签获得所有的认证证书。其中软件技术在部署前将共享的秘密加载到标记中,硬件技术则是在不同标签之间存在独特的物理特性。现有的RFID防克隆解决方案分为五种类型。三种属于软件技术,两种属于硬件技术。如图1所示。

图1 RFID克隆防护

杀死标签。EPCC1G2标准在销售点采用kill命令去灭活标签,任何拥有相同ID的克隆标签和被杀死的标签将不被读取器接受。为了支持kill命令,阅读器和标签应该先商定一个密码,这个密码会和kill命令一起发送给标签。如果密码是正确的,标记将清空内存中的所有数据,并对任何后续查询保持沉默。杀死标签虽然简单有效,但并不适用于许多需要标签在销售后激活的RFID应用。以支持RFID的RFID零售商为例。在产品销售后,保持标签的活性,有利于产品的撤回和召回。

反窃听。标签id反窃听在不使标签失效的情况下,发起了对抗RFID克隆攻击的战斗。在RFID蓬勃发展的初期,标签id被直接传输,用于识别、跟踪甚至验证标签。具体来说,EPCglobal标准不强制阅读器和标签之间的相互身份验证,阅读器只接受具有有效id的标签,而标签对来自任何阅读器的查询回复id。这使得攻击者很容易窃听标签id。然后攻击者可以将它们复制到其他标签上,产生克隆标签。在RFID通信中没有足够的安全和隐私增强,克隆标签可以用相同的ID模仿真正的对等物。Juels建议将一组元id预加载到标签中。标签在每次查询时都用集合中的不同元id进行响应。然而,攻击者可以被动地窃听足够多轮的读写标签通信,或者主动地查询标签以获取标签的所有元id。因此,防止标签id被窃听是一种可行的解决方法。

身份验证。认证是向另一个实体证明一个实体的真实性和有效性。相互认证需要双向证明,证据应该建立在共享的秘密上。希望只有参与身份验证的两方知道这些秘密,而其他好奇的实体(如攻击者)则不知道。从这个意义上说,几乎所有的防克隆协议都可以认为是基于认证的,包括上述带有id的协议,如SectionIII和SectionIII-B。

物理层的指纹标签。物理层通信特征在RFID标签上是唯一的。常用的信号特性是统计数据,例如在一个时间窗口内的振幅、频率或相位。这种物理层识别方案也被称为指纹。使用指纹技术防止克隆,部署前,读写器需要训练标签来收集和记录信号统计。记录的统计数据用于与标签识别后的统计数据进行比较。如果统计信息匹配,则标签通过认证;否则,标记将被拒绝。由于不同标签之间的信号特征是唯一的,克隆标签很难模仿真正的对应标签,因此无法欺骗阅读器接受它们。

物理上不可克隆的功能(PUF)。PUF是利用制造电路中的线延迟和门延迟的微芯片中的嵌入功能。PUF可以在少于1,000个门的情况下实现,比需要8,000到10,000个门的昂贵加密函数更高效。PUFs基于馈电输入产生输出,这使得PUF适用于基于挑战-响应的身份验证。为了使用PUF进行身份验证,验证者应该用一系列“挑战”训练PUF支持的设备,并记录相应的响应。在认证时,验证者用之前使用过的“挑战”查询设备,并将响应与记录的响应进行比较,响应匹配将产生成功的身份验证。

小 结

克隆标签可以模拟真实的标签,从而对各种RFID应用程序造成难以想象的威胁。随着物联网产品的普及,RFID也逐渐充斥着我们的生活,因此了解RFID及其相关的克隆攻击和防护技术是十分有必要的。本文主要就RFID系统、RFID克隆攻击和RFID克隆防护进行了简单的阐述,期望可以使读者对RFID有一个简单的理解,可以在了解RFID克隆攻击和防护技术后,正确合理地使用RFID产品,减少被攻击的风险,保障自身安全。

在下篇,将介绍RFID的克隆检测技术和当下保障RFID安全需要解决的问题与挑战,以实现更有效和更健壮的应对RFID克隆攻击的对策。

参考

文献[1] Bu K, Weng M, Zheng Y, et al. You can clone but you cannot hide: A survey of clone prevention and detection for RFID[J]. IEEE Communications Surveys & Tutorials, 2017, 19(3): 1682-1700.

 

责任编辑:武晓燕 来源: 51CTO专栏

同话题下的热门内容

渗透测试101:道德黑客入门指南恶意软件伪装成系统更新,通杀Win Mac Linux三大系统实现超自动化——补丁管理的过去、现在和未来净化网络空间 保护信息安全云密码,开辟网络安全的新“蓝海”双重勒索勒索软件兴起安全团队不可错过的七个开源工具零信任的六大误解

编辑推荐

权威解读 | 网络安全等级保护2.0标准体系以及主要标准浅谈反浏览器指纹追踪符号执行:利用Angr进行简单CTF逆向分析常见六大Web漏洞介绍和防御方案如何理解什么是线程安全?
我收藏的内容
点赞
收藏

51CTO技术栈视频号