首页 理论教育探讨RFID系统的安全机制

探讨RFID系统的安全机制

【摘要】:RFID系统安全一般涉及标签到读写器的空中接口射频安全和读写器到后台系统的通信安全,这里特指空中接口安全。现有的RFID安全和隐私技术可以分为两大类:一类是通过物理安全机制阻止标签与读写器之间通信,另一类是通过逻辑方法增加标签安全机制。

RFID系统安全一般涉及标签到读写器的空中接口射频安全和读写器到后台系统的通信安全,这里特指空中接口安全。现有的RFID安全和隐私技术可以分为两大类:一类是通过物理安全机制阻止标签与读写器之间通信,另一类是通过逻辑方法增加标签安全机制。其中逻辑方法包括3个方面:访问控制、认证和加密算法[1]

1.物理安全机制

物理安全机制通过物理硬件等手段阻止非授权者访问RFID标签,从而满足RFID系统的匿名性和不可链接性,不受标签数据存储量和计算能力限制。

(1)Kill命令

Kill命令是用来在需要的时候使标签灭活的命令,一旦标签永久性失效,就无法再发射和接收数据。例如在零售业中,基于对消费者隐私保护的目的,必须在离开卖场的时候使标签失效。但是灭活标签是以牺牲标签功能和对商品的售后退货维修服务为代价的,并不能有效解决商业用户的隐私问题。

(2)法拉第

通过用金属网或金属薄片制成的容器屏蔽某一频段的无线电信号,进而使标签无法接收到能量而被激活,当然也就不能进行读/写操作。这种通过破坏标签和读写器之间正常通信的保护标签信息的方法不具有普适性。

(3)阻塞标签

基于二进制树形查询算法,在受保护的标签附近放置廉价的被动RFID设备来实时发射假冒标签的ID,将有用信号隐藏起来,从而使非授权者的设备不能准确识别有用信号。其优点是基本不需要修改标签,也不必执行密码运算,减少投入的成本,但恶意阻塞标签能对系统进行拒绝服务攻击,便破坏了RFID系统的正常服务。

(4)夹子标签

通过将RFID天线扯掉或者刮除,缩小标签的可阅读范围,使标签不能被随意读取。将芯片和其天线拆分开,尽管天线不能再用,RFID读写器仍然能够直接读取标签。

(5)只读标签

禁止标签被写入,在标签芯片设计时设置成只读标签,可以消除数据被篡改和删除的风险,但是仍然存在被非法阅读的风险。

(6)假名标签

给每个标签一套假名{P1,P2,…,Pk},在每次阅读标签的时候循环使用这些假名,这就是假名标签。它实现了不给标签写入密码,只简单改变他们的序号就可以保护消费者隐私的目的。

(7)主动干扰法

使用强电磁脉冲进行主动干扰,使得RFID读写器和天线感应出高电流,以阻滞或中断附近其他RFID读写器的操作,从而干扰电路正常工作。

(8)动态频率法

对于读写器,其可使用任意频率,这样未经授权的用户就不能轻易地探测或窃听读写器与标签之间的通信;对于标签,特殊设计的标签可以通过一个保留的频率传送信息。动态频率法需要复杂的电路设计,因此将会造成设备成本的提高。

(9)天线能量分析法

通过分析信号的信噪比实现对不同远近读写器的响应。该方法需要一个额外的附加电路,使标签能够粗略估计读写器的距离,并以此为依据改变动作行为。但是,该方法通过判断距离远近来判定信任度,存在一定的设计漏洞,可以通过结合远程接入控制技术来弥补。

(10)其他方法

可以使用存储芯片来确认指令的合法性。指令信号可以被记录在存储器中并用于返回信号,读写器以此特征信号为依据来辨别信号的合法性;新出现的RFID标签可能包括一些内置的控制转换或者隐私增强技术,使用噪声抑制或者不可链接协议来确保使用者能够控制和阻止RFID的链接。

综上,物理安全机制存在很大的局限性,往往需要附加额外的辅助设备,这不但增加了额外的成本,还存在其他缺陷。比如Kill命令对标签的破坏具有不可逆性;某些贴有RFID标签的物品不便于置于法拉第笼中;对于阻塞标签方法需要一个额外的标签,同时这种方法也会增加消费者的负担等。

2.逻辑安全机制

(1)基于Hash函数和伪随机函数的安全协议

目前,国内外学者已经提出了许多基于Hash函数和伪随机函数的安全协议,这类协议利用Hash函数的单向性来实现通信数据的完整性,利用伪随机函数产生的随机数来保证认证周期的新鲜性,其中典型协议包括:

1)Hash-Lock协议 该协议使用metal ID来代替真实标签ID以避免信息泄露和被追踪,但是该协议没有ID动态刷新机制,非常容易受到假冒攻击和重传攻击,标签也很容易被跟踪。

2)随机Hash-Lock协议 该协议采用基于随机数的询问-应答机制,认证通过后的标签ID仍以明文形式通过不安全的信道传送,容易被攻击者对标签进行假冒和跟踪,无法抵抗重传攻击,且后端数据库与读写器之间的数据通信量大。

3)Hash-Chain协议 该协议对标签进行单向身份认证,容易受到重传和假冒攻击。虽然满足了不可分辨和向前的安全特性,但后端数据库计算量很大,标签制造成本高。

4)折中Hash-Chain协议 该协议基于共享密钥的询问应答机制,读写器通过使用两个不同的Hash函数同时对标签发起认证,通过标签应答的不同信息实现认证。但是,协议也很容易受到重传和假冒攻击,计算负载和标签成本都较大。

5)逆Hash-Chain协议 该协议不需要在标签上增加伪随机数发生器PRNG等模块,通过XOR运算对通信明文进行加密,具有计算效率高,计算量小,计算复杂度低,标签功耗小等优点,适用于计算资源有限的环境

6)基于Hash的ID变化协议 该协议采用刷新ID机制,使用了一个随机数对标签ID进行动态刷新,同时还对TID(最后一次回话号)和LST(最后一次成功的回话号)信息进行更新,该协议可以抵抗重传攻击,但是它不适合于使用分布式数据库的普适计算环境。

7)LCAP协议 该协议是询问-应答机制,每次执行认证后要进行动态更新标签ID,该协议同样不适于普适计算环境,存在数据同步问题。

8)YA-TRAP认证协议 该协议基于带密钥的Hash函数和时间戳进行认证,可以使标签和读写器之间的交互作用最小化,并且减轻标签和后台数据库的计算负载,大大提高了系统效率。在标签响应读写器询问时,需要计算标签时间戳的Hash值,并将其作为标签的Meta ID返回给读写器。只有响应了合法Meta ID值的标签才能通过认证。但是,该协议很容易受到拒绝服务攻击,也不能达到不可跟踪性的要求。

9)分布式询问-应答协议 该协议是一种适用于分布式数据库环境的RFID认证协议,它是典型的询问-应答型双向认证协议,目前该协议虽没有明显的安全漏洞,但执行一次认证协议需要标签进行两次Hash运算。标签电路中需要集成随机数发生器和Hash函数模块,因此不适于低成本RFID系统。

(2)基于共享秘密和伪随机函数的安全协议

1)David数字图书馆协议 该协议使用基于预共享密钥的伪随机函数实现认证,目前未发现明显漏洞,但协议需要随机数生成和伪随机函数模块,不适于低成本系统。

2)三次互认证协议 该协议在认证过程,属于同一应用的所有标签和读写器共享同一加密密钥。由于同一应用的所有标签都使用唯一的加密密钥,所以三次互认证协议具有安全隐患。

(3)基于逻辑位运算的安全协议

SASI协议是典型的基于逻辑位运算的超轻量级认证协议,该协议不需要在标签上增加伪随机数发生器PRNG等模块,通过简单的异或、移位和与操作,代替复杂的加密运算,具有计算效率高,计算量小,计算复杂度低,标签功耗小等优点,适用于计算资源有限的环境。类似的协议还包括,UMAP、M2 AP协议、LMAP协议、FLMAP协议。

(4)基于LPN的HB协议族

Hopper和Blum提出了基于LPN(Learning Parity with Noise)的HB协议。HB协议执行过程简单,硬件设备易于实现,存储空间和计算负载较小,适用于低功耗普适计算环境。同时,HB+、HB++等一系列HB协议基于千位数据二进制向量、千位密钥向量和一些噪声位,用1或0来表示向量位元素,满足一些限定方程。但攻击者仍有可能运用标准随机估计理论通过个别数据猜测出可能的函数,存在一定的安全隐患。

(5)基于消息认证码(MAC)的安全协议

消息认证码(MAC)可用于进行标签和读写器之前数据的完整性进行检验。例如,Yoking-proof协议通过使用随机数来计算MAC,实现了读写器对两个标签的同时识别。此外,该协议可以引入时间戳机制,利用时间戳计算MAC来抵抗重放攻击。

(6)基于循环冗余校验(CRC)的安全协议

针对EPCglobal C1G2标准的标签,由于其计算资源非常有限,该标准采用了硬件复杂度较低的CRC校验来进行基本的安全防护。该类协议利用CRC校验码的生成功能,在认证中,将校验码作为密文进行传输。但是,由于CRC算法的线性特性,不能有效抵御拒绝服务攻击。

(7)基于加密算法的安全协议

1)极小加密算法 极小加密算法(TEA),是一种高效的轻量级对称加密算法,加密速度比DES快,抗差分能力强。TEA算法硬件实现复杂度与DES相当,但加密强度远高于DES,适用于RFID智能标签的加密,但该算法的安全等级及是否存在受攻击漏洞还需要进一步的验证。

2)椭圆曲线密码算法 椭圆曲线密码体制来源于对椭圆曲线的研究,这种算法利用有限域上椭圆曲线的点构成的Abel群离散对数难解性,实现加解密和数字签名,将椭圆曲线中的加法运算与离散对数中的模乘运算相对应,就可以建立基于椭圆曲线的对应密码体制。算法中的椭圆曲线由韦尔斯特拉斯(Weierstrass)方程确定,密钥长度小、安全性能高、数字签名耗时小等优点。

3)重加密算法 采用公钥加密机制进行标签信息的密文存储,通过第三方数据加密装置定期对标签数据进行重写。该方案的最大缺陷是标签的数据必须经常重写,否则,即使标签ID加密了,其固定的输出也将导致标签位置的隐私泄露。

4)A5/1流密码算法 该算法适用于低功耗超大规模集成电路中,具有很高的硬件执行效率,但仍然存在安全弱点和漏洞,容易受到明文攻击。

5)密钥变化协议 该协议是基于标签的序列号和秘密主密钥。用于安全防护的主密钥一般存储在安全接入模块中。基于密钥变化协议的互认证过程需要一个特殊的优先步骤。认证过程从读写器向标签询问序列号开始。该协议比较复杂,增加了计算负载和标签成本。

6)基于密钥阵列的协议 该协议包括两种类型:一是将矩阵阵列作为认证密钥对标签数据进行加密,实现密文传输;二是将密钥存放在矩阵阵列中,标签和读写器之间拥有唯一的认证密钥。后者可以有效抵御内部合法用户之间的越权访问,但对内存的需求较大。

7)基于公钥密码的协议 该协议使用公钥密码算法对RFID系统的通信信息进行加密,使用询问-响应机制对读写器和标签双方身份的合法性进行认证。可以有效地解决流量分析、跟踪攻击、隐私泄漏等RFID系统特殊的安全问题。

与物理安全机制相比,基于密码安全机制解决RFID系统的安全问题更加灵活、便捷。目前,用密码安全机制解决RFID的安全问题已成为业界研究的热点,其主要研究内容是利用各种成熟的密码方案和机制来设计和实现符合RFID安全需求的密码协议。

综上,没有任何一种单一的手段可以彻底保证RFID系统的应用安全。在保证RFID系统安全性的问题上,往往需要采用综合性的解决方案。在实施和部署RFID应用系统之前,有必要进行充分的业务安全评估和风险分析,综合的解决方案需要考虑成本和收益之间的关系。目前,主流厂商主要考虑采用以下几种安全解决方案:

●标签数据的密文存储保护技术;

●标签内存密码技术;

●标签内存开关键技术;

●标签认证技术;

●设置读写器自保护技术;

●设置数据读取探测器;

●使用灭活标签技术;

●使用法拉第笼技术;

●使用有源干扰技术;

●使用公钥加密技术;

●使用Hash函数技术。