物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  其他  >  正文

一种RFID隐私保护双向认证协议

作者:常振华,陈越,邵婧,甄鸿鹄
来源:《现代电子技术》
日期:2009-05-06 09:20:05
摘要:RFID技术的使用提高了制造业、服务业等行业的效率,节约了成本,但同时也带来了安全和隐私问题。这些问题越来越成为RFID技术进一步发展和应用的障碍。本文简单分析了RFID技术所带来的安全和隐私风险,回顾了解决安全和隐私问题的相关方案,提出了一种适合于低成本标签的双向RFID认证协议。
  1 引 言

  无线射频识别(Radio Frequency Identification,RFID)是一种非接触式的自动识别技术,利用它可以在远距离、恶劣环境下对集群目标和移动目标进行快速信息采集和自动识别。因其不需要物理与视觉接触便可以对目标对象进行识别而被看作是一项革命性的新技术。近年来,RFID在供应链管理、动物识别管理、矿井管理、交通管理、电子钱包、生产线自动控制、军事等多领域广泛应用。

  一个完整的RFID系统包括数据库服务器、阅读器和标签。虽然数据库本身和阅读器向服务器的认证也存在安全问题,但它们有足够的能源和计算资源,可以采用传统的密码算法来确保其安全。相比之下RFID标签的所带来的安全性和隐私性问题显得尤为突出。RFID标签与阅读器之间的通信媒体是无线电,对攻击者和其它未授权的阅读器是完全暴露的,因此信息的传递缺乏机密性。在缺乏认证的情况下,攻击者可以采用重放合法阅读器或标签信号的方式来假冒,以获得标签或阅读器的信任,进而获取秘密信息。第三方可以监听、干扰、篡改标签和阅读器之间的会话,信息的完整性和可用性难以保证。攻击者也可以通过监听来获取敏感信息,并制造假标签,或通过监听、查询来跟踪标签和标签携带者。由于人们对安全性和隐私性越来越多的关注,有人称RFID标签为“间谍芯片”和“跟踪设备”,并建立组织来抵制任何RFID测试计划。

  2 解决安全性和隐私性的相关工作

  由于RFID标签尺寸和成本的限制,设计RFID系统安全性和隐私性解决方案是一项富有挑战性的研究工作,也是关系到RFID技术能否进一步发展应用的关键。许多文章讨论了RFID系统的安全性和隐私性,并提出了许多方案。根据所采取的安全机制,这些方案分为物理机制方案和加密机制方案。

  2.1 物理机制方案

  物理机制主要有:Kill命令机制、静电屏蔽、阻塞法等。

  “Kill命令机制”是在设计标签时使之能够接受一个Kill命令。带标签的产品在卖点扫描结账后,向标签发出该命令,使标签自动失效。完全杀死标签可以完美的阻止扫描和追踪,但对于消费者来说,牺牲了RFID标签所有售后利益,比如售后服务、智能家庭应用、产品交易与回收等。而且在很多情况下,标签不能被杀死,比如图书馆、租用商店等,他们必须保证标签能够被再次使用。 

  “静电屏蔽”是指将标签或带标签的产品放入特制的具有静电屏蔽功能的容器中再携带,使之不能与外界进行电磁耦合,也就不会被访问到。但显然这种方法需要一个额外的物理设备,增加了系统的成本。

  阻塞法依靠编入标签识别码的可修改位来保护隐私性,这一位称为隐私位,为0表示可以公开扫描,为1表示是私有。阻塞法依赖树遍历反冲突协议来起作用。除此之外,由于不可靠的RFID传输,可以造成阻塞的失败。随着阅读器的发展,可以利用信号强度等特征来过滤阻塞信号。

  2.2 加密机制方案

  在目前提出的方案中采用的协议大多都是询问/响应的协议模式,不同之处在于所采用的算法不同。主要有基于单向Hash函数和基于传统加密算法两类。

  基于单向Hash函数的安全协议主要包括Hashlock协议、随机化Hash lock协议、Hash链协议、基于杂凑的ID变化协议、分布式RFID询问/响应认证协议、LCAP协议等。文献[1,4,5]提出的协议容易受到重传和假冒攻击。文献[7]提出的方案在匹配标签ID时需要计算所有标签ID和所交换随机数的Hash值,对于拥有大量标签的RFID系统,后端数据库计算量太大。文献[6,8]提出的方案用升级ID来防止重放攻击,但存在数据库与标签数据不同步的隐患。

  基于传统的加密算法的安全协议,文献[9]提出基于矩阵乘法的认证方案,由于标签存储能力的限制,矩阵阶数不能太大,因此作者分析了该方案存在的弱点是不能防止野蛮密钥攻击。文献[10]提出基于椭圆曲线的公钥认证方案。文献[11]提出的方案基于零知识证明思想。这类协议大部分在计算量和通信量上较大,适合于电能、计算能力和存储能力限制不大的主动式RFID标签,不适合于低成本RFID标签。

  3 零知识泄露的双向RFID认证协议

  提出一种零知识泄露的双向RFID认证协议。对于低成本RFID标签来说,该协议有合适的通信量和计算量,并能够有效地保护RFID系统的安全性和隐私性。首先,我们给出协议的主要思想,定义协议的假设,然后给出协议的描述。

  为方便和简化协议的描述,定义:T表示标签,R表示阅读器,B表示后端数据库系统,A表示攻击者。

  3.1 主要思想 

  由前面的安全性和隐私性分析可以看出,RFID安全弱点来自T和R之间不安全的无线通信接口。A可以干扰、篡改或窃听T和R之间的通信,使T和B的数据不同步,可以对T和R实施重放攻击,也可以在不被察觉的情况下跟踪标签持有者的位置和行为,并模仿合法的T或R。而基于零知识证明的身份认证机制的基本思想是:信息的拥有者可以在无需泄漏密秘信息的情况下就能够向验证者证明它拥有该信息。因此,基于零知识的身份认证机制很适合于RFID系统。

  我们的协议采用在R与T之间传送零知识认证消息(Zero-knowledge Authentication Message,ZAM)的方式,在不泄露标签ID的情况下,实现R和T之间的双向认证,并为以后的会话提供一个一次一换的随机会话密钥(Random Session Key,RSK)和可以作为会话序号的时间戳(Date Timestamp,DT)。

  3.2 假设

  我们的方案主要针对低成本标签中可以执行同步加密操作的一类标签(也称为同步密钥标签),这类标签是目前低成本标签的主流和发展趋势。根据Auto-ID中心的试验数据,在设计5美分标签时,集成电路芯片的成本不应该超过2美分,也就是说用于安全和隐私保护的门电路数量不能超过2.5k~5k个。根据文献[12],实现一个Hash函数单元只需要1.7k个门电路,实现一个随机数发生器(Pseudorandom Number Generator,PRNG)也仅需要数百个门电路。因此,我们假设T有一个单向Hash函数H(),有一个随机数发生器,有一定的存储能力,有基本的运算能力(如XOR)。T和B有相同的单向Hash函数,并预共享一个会话密钥(Session Key,SK)。

  R和B有很大的计算机能力,因此假设R和B之间的通信信道是安全的。

  3.3 协议描述

  协议执行过程如图1所示。


  (1)R向T发送Query认证请求。

  (2)T产生一个随机数r,使用自己的ID和SK计算α1=ID⊕H(r⊕SK),形成ZAM1={r,α1}并发送给R。

  (3)R将ZAM1转发给B。

  (4)B计算ID’=α1⊕H(r⊕SK),在数据库中查找是否有这样的ID’,如果有,T则通过初步认证,之后R产生随机数作为RSK,计算β=RSK⊕H(DT⊕SK),β2=H(ID⊕RSK⊕SK),形成ZAM2={DT,β1,β2)发给R。其中:DT为时间戳,是B的系统时间或具有时间戳功能的随机数,用于防止重放攻击,并作为本次会话的序号,合法的T可以用β1恢复出RSK,用β2验证RSK的有效性,同时验证R的合法性。

  (5)R将ZAM2转发给T。

  (6)T收到ZAM2后,首先判断DT,如果比以前保存的大,则认为正常,然后T用自己的SK计算H(DT⊕SK),恢复出RSK,并进行验证,如果正确则通过对R的认证,并保存DT,计算α2=H(r⊕SK⊕RSK⊕DT),形成再次认证消息ZAM3={α2)发送给R,作为对ZAM2的应答。该应答也是零知识的,既确认正确的收到RSK,又证明T是整个认证会话的参与者。如果DT不正常或RSK无效,则忽略ZAM2,并保持静默。

  (7)R将ZAM3转发给B,B计算H(r⊕SK⊕RSK⊕DT),与收到的α2进行比较,如果相等则通过对T的认证。

  4 协议安全性和抗攻击性分析

  4.1 安全性分析

  机密性 Hash函数的单向性确保了从认证消息中无法获得SK等敏感信息。认证过程的零知识性保证在完成认证的同时,不泄露标签ID等信息。协议采用共享SK,阅读器和标签可以对收到的消息进行正确性和完整性验证,从而保证认证信息和交换RSK的机密性。

  可认证性 采用双向身份认证的机制,有效地防止了未授权的阅读器和假冒的标签参与会话,增加了认证的可靠性,因此协议在不可信环境中依然有效。

  可用性 入侵者可能发起一个DoS攻击来影响的RFID系统的使用,但无法通过这种攻击获取敏感信息,因此具有较高的可用性。

  4.2 抗攻击性分析

  4.2.1 对RFID标签的攻击

  一种是攻击者假装成合法的阅读器。这种攻击会被DT、RSK和SK的组合击败,因为只有合法的阅读器才能提供一个有效的ZAM2,假冒阅读器采用重放或篡改个别信息等方式向标签作认证时会被标签识破。

  另一种是攻击者通过查询来跟踪标签。这种攻击会被r的随机性击败,因为每次标签所发出的ZAM1都是不同的,所以跟踪者无法判定跟踪的是否是同一个标签。

  4.2.2 对RFID阅读器攻击

  攻击者假装成有效标签的攻击有两种情况:一是攻击者发出假的ZAM1,在没有SK的情况下这种攻击在对标签的初次认证时就会被阅读器识破;二是攻击者对阅读器重放某次有效标签的ZAM1进行攻击,这种攻击虽然能使B产生ZAM2,但在再次认证时,由于攻击者没有SK,不可能恢复出RSK,因此不能构造出正确的ZAM3,进而不能通过系统对其的再次认证。

  4.2.3 中间人攻击

  假定协议在长距离下工作,由中间人来转发认证消息,但认证和响应都是加密和零知识的,因此认证消息对于中间人是透明的,通过直接读取消息,攻击者仅可以得知阅读器和标签在通信,而不能得到任何秘密信息。即使攻击者通过转发标签的认证消息和再次认证消息而通过认证,但不可能获得RSK,从而无法进行后续的会话,使这种欺骗变得没有意义。

  5 结 语

  RFID技术的使用提高了制造业、服务业等行业的效率,节约了成本,但同时也带来了安全和隐私问题。这些问题越来越成为RFID技术进一步发展和应用的障碍。本文简单分析了RFID技术所带来的安全和隐私风险,回顾了解决安全和隐私问题的相关方案,提出了一种适合于低成本标签的双向RFID认证协议。

  与其他基于Hash函数的方案相比,在计算量和通信量略有增加的情况下,本文协议提高了认证的安全性和有效性,增加了抗攻击的能力。与基于传统加密算法的方案相比,该协议在计算量和通信量上对低成本RFID标签是适度的,且在认证的灵活性方面有较大的优势。针对不同的安全级别要求,可以选择不同规模的Hash函数。