目录
[3.1 RFID系统协议模型](#3.1 RFID系统协议模型)
[3.2 RFID系统安全认证协议分类](#3.2 RFID系统安全认证协议分类)
[3.3 RFID安全认证协议及其研究](#3.3 RFID安全认证协议及其研究)
[3.3.1 超轻量级安全认证协议及其研究](#3.3.1 超轻量级安全认证协议及其研究)
[3.3.2 轻量级安全认证协议及其研究](#3.3.2 轻量级安全认证协议及其研究)
[3.3.2 中量级安全认证协议及其研究](#3.3.2 中量级安全认证协议及其研究)
[3.3.3 重量级安全认证协议及其研究](#3.3.3 重量级安全认证协议及其研究)
[3.4 防碰撞性研究](#3.4 防碰撞性研究)
[3.4.1 Aloha 防碰撞算法](#3.4.1 Aloha 防碰撞算法)
[3.4.2 帧时隙 Aloha 算法](#3.4.2 帧时隙 Aloha 算法)
[3.4.3 动态帧时隙 Aloha 算法](#3.4.3 动态帧时隙 Aloha 算法)
[4.1 分组动态帧时隙 Aloha 的分组原则](#4.1 分组动态帧时隙 Aloha 的分组原则)
[4.2 CD-GDFSA 算法的基本设计思想](#4.2 CD-GDFSA 算法的基本设计思想)
[4.3 CD-GDFSA 算法的执行步骤](#4.3 CD-GDFSA 算法的执行步骤)
1.摘要
随着物联网的迅猛发展,RFID 技术的应用愈发广泛。然而,受电子标签物理条件的限制,RFID 安全认证协议面临着诸多挑战。本文系统梳理了主流 RFID 安全认证协议的分类及其特点,涵盖超轻量级、轻量级、中量级和重量级协议,并深入分析了各量级典型协议的研究成果与安全性表现。同时,聚焦于 RFID 系统的防碰撞性研究,探讨了 Aloha 系列防碰撞算法及其优缺点。在此基础上,针对传统防碰撞算法的不足,介绍了新的 CD - GDFSA 算法,详细阐述了其分组原则、基本设计思想及执行步骤。该算法融合 CDMA 思想,实现二维标签碰撞检测,有效提升了系统吞吐率以及读写器识别标签的效率,旨在为提升 RFID 系统整体性能提供参考与借鉴。
2.引言
在当今物联网蓬勃发展的浪潮中,RFID 技术凭借其轻量化特性,在物联网体系架构中占据了关键地位。然而,RFID 安全认证协议由于受到电子标签物理条件的限制,不可避免地面临着诸多安全隐患的严峻挑战。
通过对现阶段主流的 RFID 安全认证协议进行梳理,依据加密算法的复杂程度和资源消耗量级,可将其清晰地划分为超轻量级、轻量级、中量级以及重量级这几类安全认证协议。
近年来,随着物联网技术的不断成熟与深入发展,基于物联网技术衍生出的各项应用也在不断拓展并广泛应用于实际场景。其中,RFID 技术是一项较为典型且发展成熟的技术成果。RFID 本质上是一种利用射频信号与空间进行耦合,实现无接触式信息传递,从而对目标主体进行精准识别的先进技术手段,在物流配送、交通运输、身份核实与识别、商品防伪、资产管理、食品追溯、信息统计汇总、资料查阅应用以及安全防控等众多领域都有着极为广泛的实际应用。
一般而言,常规的 RFID 系统主要包括电子标签、RFID 标签读写器以及后台数据库这三个关键部分,如图 1 所示。其中,电子标签(Tag)主要负责存储用户信息,由天线和射频芯片组成。但由于电子标签受到有限物理结构的制约,其运算能力相对薄弱,且极易受到各类安全威胁的侵扰。RFID 标签读写器的主要作用是对电子标签的信息进行读取和写入操作,同时负责防止碰撞等任务。从理论上来说,RFID 标签读写器在物理性能层面应具备较大的存储空间和较强的计算能力。后台数据库则主要负责存储标签、读写器以及其他各类相关信息,拥有强大的数据处理能力和海量的存储容量。通常,在 RFID 系统的架构体系中,电子标签(Tag)与 Tag 读写器之间构建的是不安全的信道连接,而 Tag 读写器与后台数据库之间的信道则被认为是安全可靠的[1]。

图1 RFID系统基本构成
正是由于电子标签在物理结构上存在先天性的局限性,其往往由几百门到几千门的电路构成,并且通常出于经济成本以及轻量化设计的综合考虑,不会在电子标签中设置微处理器,这使得集成签名或者加密算法变得十分不便。因此,在 RFID 系统中设计一套高效、安全可靠的安全认证协议,无疑是一项极具挑战性的任务。当面对实力强大且具有明确针对性攻击意图的攻击者时,如何在有限的门电路资源条件下,巧妙地设计出既高效又安全的 RFID 安全认证协议,已成为一个极具吸引力和挑战性的研究课题,吸引了众多密码学领域专家学者的高度关注和深入研究。
3.前人研究成果
3.1 RFID系统协议模型
在对现有安全认证协议展开研究时,有一个不容忽视的重要衡量指标,那就是必须要与现有的通行协议标准相契合。就拿 ISO/IEC18000 标准来说,它对 RFID 标签和 RFID 读写器之间的通讯规则起着决定性的作用。这一标准所构建的模型,是按照从上到下的顺序,依次由物理层、通信层以及应用层这三个部分所构成的,如图 2 所示。

图2 RFID系统的通信模型
3.2 RFID系统安全认证协议分类
在对 RFID 系统的研究中,发现由于其应用场景和工作环境的多样性,RFID 呈现出不同的大小、形状以及内部结构,相应地也就有了多种划分方式。从工作方式来看,可将其划分为主动式、半主动式与被动式标签;若依据标签工作频率的大小,又能分为低频(LF)、高频(HF)、超高频(UHF)以及微波这四类;而按照计算能力进行分类,则包括超轻量级、轻量级、中量级和重量级这几种情况[2],这一分类方式是依据标签结构中存在的等效门电路 GE(Gate Equivalents)数量的多少来确定的。一般而言,理论上标签的物理结构越复杂,其所能承载的安全认证协议算法也就越复杂,并且不同量级的标签所采用的加密算法也相对固定[3]。例如,超轻量级安全认证协议通常采用简单的逻辑运算(如与、或、异或)作为认证方法;轻量级安全认证协议常运用 PRNG(Pseudo Random Number Generator)算法和循环冗余码 CRC(Cyclic Redundancy Code);中量级安全认证协议则较多地使用杂凑函数;而采用 RSA 或椭圆曲线的算法往往出现在重量级安全认证协议中。因此,按照量级分类的方法对 RFID 安全协议进行分类,具体的分类情况如表 1 所示。
表1 按照量级分类的方法对 RFID 安全协议进行分类

3.3 RFID安全认证协议及其研究
3.3.1 超轻量级安全认证协议及其研究
依据超轻量级安全认证协议的安全保障算法,大致分为3类:(1)基于T函数的超轻量RFID安全认证协议,此类安全认证协议通过T函数来保证协议安全,常用的T函数包括按位运算的AND、OR和XOR;(2)基于旋转算子的超轻量RFID安全认证协议,采用旋转算子与T函数进行数据加密;(3)其它类型的超轻量级安全认证协议,通常是由设计者提出新的运算法则,如置换、合并和分离等相结合。前期流行的RFID超轻量级安全协议包括HB协议簇、UMAP协议簇和SASI协议。HB协议簇是基于LPN(LearningParitywith Noise)的安全认证协议[4],LPN问题是"矢量子集求和"难题,涉及的操作仅包含与或和异或;UMAP协议簇包括LMAP(Lightweight Mutual Authentication Protocol)]、EMAP(Efficient Mutual Authentication Protocol)及MMAP (Minimalist Mutual Authentication Protocol),这些安全认证协议为了适应超轻量级受限的门电路环境均使用逐位运算;SASI协议主要通过左循环移位操作与异或操作实现信息交互。尽管前期的研究在超轻量级物理环境的限制下,用极小的代价实现了部分保密需求,但已有大量研究表明,上述安全认证协议容易受到重放攻击、去同步攻击和完全泄漏攻击。
表2对比了部分典型超轻量安全认证协议的安全性。Zhuang等人[5]构造了一个名为 FindIndex 的人工函数来分析以上典型协议保持数据完整性的能力,通过 FindIndex函数能发现消息中一个元素的某些位发生变化后其它位发生变化的可能性,从而证明了 LMAP、MMAP 、EMAP 和 David-Prasad SLMAP 等超轻量 RFID 安全认证协议都不能抵抗去同步攻击。特别证明了攻击者能够以非常高 的成功率破坏基于 T 函数的超轻量RFID安全认证协议中标签和阅读器之间的同步。
表2 部分典型超轻量安全认证协议的安全性

3.3.2 轻量级安全认证协议及其研究
不同于超轻量级协议,多数轻量级安全认证协议是为了满足ISO/IEC18000(EPCC1Gen2)标准而提出的。EPCC1G2 (Class-1Gen-2)类型安全认证协议多使用符合相关标准的简单加密手段。2006年作为低成本轻量级 UHF RFID 标签的ISO18000-6标准修正案出版。新版本的标准于2013年获得批准,具有一些可选的加密属性,如随机数生成器(PRNG)与循环冗余校验(CRC)算法。最新的标准标签使用RNG生成16位伪随机数(RN16)。
部分研究人员关注轻量级协议在满足标准后的安全性。Zavvari等人[6]分析对比了符合 EPC C1G2(Class-1Gen-2)标准的 3 组典型轻量级协议的安全性,得出了在符合轻量级标准下应遵循的安全标准。轻量级安全认证协议的另一个关注重点是 PRNG 的安全性。Vaudenay [7]提出了一种基于 PRF的弱隐私安全认证协议,通过改进此安全认证协议可以提高协议的隐私性。Arslan等人[8]探讨了 RNG 的隐私安全性并提出了改进方案。表4比较了部分轻量级安全认证协议的安全性。
3.3.2 中量级安全认证协议及其研究
中量级安全认证协议与超轻量级、轻量级这两种量级的安全认证协议相比,有着自身独特的特点。
它采用了部分经过轻量化处理的密码算法,并且以单向散列函数作为重要基础,凭借这些,其安全性要高于前两种量级的安全认证协议。而它最为显著的特征在于,此类安全认证协议在研究过程中,重点聚焦于双向认证这一关键方面。
尽管存在这样一种情况,就是部分研究人员会把能够实现单向认证的安全认证协议划分到轻量级安全认证协议范畴当中,但目前的主流观点认为,那些依靠散列函数来实现单向或者双向认证的协议,属于典型的中量级安全认证协议。
在众多中量级安全认证协议里,有一些比较经典的协议,比如基于单向散列函数的 Hash - Lock 协议、经过改进的随机 Hash - Lock 协议、Hash 链协议以及 David 数字图书馆协议等等,而且,在此之前,已经有大量针对上述这些经典安全认证协议所开展的安全性分析工作[9]。
3.3.3 重量级安全认证协议及其研究
重量级安全认证协议,在部分文献当中也被称作完备 RFID 安全认证协议,其从加密算法的角度主要可划分为对称加密算法和非对称加密算法这两大类。
这类安全认证协议出于实现高安全性的目标,往往需要依靠消耗大量的门电路来承载相应的加密算法。不过,鉴于 RFID 系统本身存在着物理层面的局限性,比如电子标签在运算能力等方面受限,在众多重量级安全认证协议里,具有代表性的是基于对称加密算法 DES 的 "三通互相鉴别" 协议以及基于 RSA 算法的认证协议。这两种安全认证协议确实都能够达到比较高的安全水平,然而它们对逻辑门数量的要求颇高,均需要一万门以上的逻辑门才能得以运行,这无疑会带来较高的成本问题。
为了有效应对这一成本难题,基于椭圆曲线密码 ECC(Ellipse Curve Cryptography)算法的安全认证协议陆续被提出[10]。并且,此类基于 ECC 算法的安全认证协议在近几年已然成为了研究的主流方向,众多研究人员期望通过它在保障安全性的同时,降低对门电路数量的依赖,进而控制成本,使重量级安全认证协议能更好地适配 RFID 系统的实际应用场景。
3.4 防碰撞性研究
同时,有众多研究人员将重心放在RFID安全认证协议的防碰撞性研究上,通常将防碰撞协议与安全协议作为单独的2部分考虑,也有人提出防碰撞的安全认证协议[11],利用防碰撞协议的模型可以在判断碰撞的同时嵌入认证协议,能同时实现门电路的优化与认证手段的革新。
在射频识别实际应用中,经常会有大量电子标签分布在读写器可识别范围内。为了能够在大量标签中高效地识别出合法的标签,读写器需要在标签识别过程中使用一种防碰撞机制来逐一识别合法标签。同时RFID标签识别算法需要有以下性质:(1)简单:由于标签计算和存储能力非常有限,标签防碰撞算法的处理模块应当尽可能简单。(2)高效:当读写器识别范围内有大量标签时,标签识别算法需要符合轻量级的通信机制,尽量避免一些不必要的控制报文,尽量保证标签的识别过程是高吞吐量和低延迟性。此外,除去标签间的信号传输碰撞外,在多个读写器被部署的环境下,读写器与读写器之间,读写器与标签之间都会存在信号传输的碰撞。如何有效地规避碰撞,提升传输的性能,降低扫描的时延,成为RFID的核心问题,从而也使得防碰撞机制成为RFID系统的核心技术。
在 RFID 系统中,数据的传输是双向的,包括读写器到标签的下行数据传输以及标签到读写器的上行数据传输,由此可以将碰撞分为读写器碰撞和标签碰撞两类。读写器碰撞是指当一个标签同时接收到来自多个读写器的命令导致无法判断数据是哪个读写器发送的。标签碰撞是指,在读写器识别区域内同时有多个标签响应读写器,从而导致了读写器在接收端的信道竞争,信号之间相互干扰,导致读写器无法正确接收数据,如图3所示。

图3 标签碰撞示意图
3.4.1 Aloha 防碰撞算法
纯 Aloha 算法,从本质上来说,是一种基于概率方式的后退机制。具体的运作过程是这样的:当读写器向标签发出请求,要求其发回自身的 ID 号时,处于识别区内的每一个标签都会自主地选定一个随机的回退时间。在经过这个所选定的回退时间之后,标签便会把自己的 ID 号发送给读写器。
要是在某个标签发送其 ID 号的这个过程中,没有出现碰撞的情况,那么该标签的 ID 号就能被读写器成功地识别出来。而一旦某个标签的 ID 号被成功识别了,这个标签此后就会停止对读写器的响应。反之,如果标签的 ID 号没有被成功识别,那么它就会持续不断地重新选择一个随机的退避时间,再次发送 ID 号,如此循环往复,直至其 ID 号最终被读写器成功识别[12]。
从图4 展示的情况来看,起初只有标签 1 占用信道发送了一个数据帧,在这种情况下,由于信道没有其他干扰,读写器便能顺利接收到标签 1 发送的数据。随后,标签 2 也占用信道发送了一个数据帧,当时公共信道处于空闲状态,所以读写器同样能够成功识别标签 2。然而,在某个特定的时隙里,标签 1 又发送了一帧数据到信道,恰好在标签 1 的这一数据帧还在信道中传送的时候,标签 3 也开始发送数据帧了,这时就出现了标签 1 与标签 3 的数据发生部分碰撞的情况。而且,如果在信道中有多个标签同时发送数据帧,那么这些数据之间将会产生完全碰撞的现象。

图4 纯 Aloha 算法示意图
该纯 Aloha 算法存在着一定的优点[13]。各个标签可以随机选择时间来发送数据帧,这使得标签和读写器之间不需要进行同步操作,整个系统的构成和运行逻辑并不复杂。特别是在标签数量比较少的情况下,系统能够相对较好地完成对标签的识别任务。
不过,该算法也存在明显的缺陷。当标签发送的数据一旦出现碰撞情况时,它就需要随机等待一段时间后再次发送数据帧。而这里的后退时间间距是一个很难把控的因素,如果选择的后退时间间距过大,那么标签就得等待很长时间才能够再次发送数据帧,这无疑会影响系统的识别效率;要是选择的后退时间间距过小,标签很可能会再次发生完全碰撞的情况,严重的时候甚至会导致更多的标签陷入不停地选择下一次后退时间的循环之中,最终使得整个系统无法完成对标签的识别工作,极大地影响了系统的正常运行和使用效果。
3.4.2 帧时隙 Aloha 算法
帧时隙 Aloha 算法(Frame Slotted Aloha,FSA)[14],其本质实际上是在时隙 Aloha 算法机制的基础上,对时域进行了进一步的离散化处理后得到的成果。
具体来看,FSA 算法是用一定数量的时隙共同组成一帧,这里面的每个时隙的长度都是相等的,而且更为关键的是,一个帧当中所涵盖的时隙数量是固定不变的,这构成了该算法的基本框架。
在实际运行过程中,标签会以随机的方式从这些时隙里选择某一个时隙来与读写器进行通信交互。一旦标签在选择的时隙中发生了碰撞情况,那么它就需要等待,直到下一帧到来时,再次重新选择一个时隙去发送数据。
从这个过程可以明显看出,标签在每一帧当中仅仅会选择一个时隙来传输自身的信息,这也就意味着在同一帧当中,同一个标签不会出现重复发送信息的情况。
这种机制带来了两个显著的优势:其一,有效避免了部分碰撞现象的发生,因为标签在一帧内只选一时隙且不重发,减少了因多次发送导致碰撞的可能性;其二,极大地简化了随机等待时间的选择机制,使得整个系统的运行逻辑更加清晰和简洁,便于实现和管理,从而在一定程度上提高了系统的运行效率和稳定性,为其在相关领域的应用奠定了基础。
3.4.3 动态帧时隙 Aloha 算法
帧时隙 Aloha 算法在实际运用过程中暴露出了不少问题。其中,时隙数量与识别区内标签数量的匹配程度对系统性能有着关键影响。一旦两者匹配不佳,系统性能便会大打折扣。
当标签数量远远多于一帧中的时隙数 N 时,极有可能出现所有的 N 个时隙都发生碰撞的糟糕情况。如此一来,这一帧中读写器就无法读取到任何一个标签,整个系统将会陷入死循环,这也就是所谓的 FSA 的 "饿死现象",严重阻碍了系统的正常运行。
而当标签数量远远少于一帧中的时隙数 N 时,必然会存在大量的空闲时隙,这些时隙未被有效利用,造成了资源的闲置浪费。无论是上述哪种情况,都表明 FSA 算法存在时隙浪费的缺陷。这主要是因为 FSA 算法的帧长是固定不变的,无法根据实际的标签数量进行灵活调整,从而导致系统难以维持一个稳定的吞吐量。
为了解决这一问题,动态帧时隙 Aloha 算法(Dynamic Frame Slotted Aloha,DFSA)应运而生。DFSA 算法会通过对标签数量进行估计,进而动态地调节帧的大小,以此来努力克服 FSA 算法的不足。
具体而言,当尚未被识别的标签数量众多时,系统会自动增大帧长,这样就能减少标签之间的碰撞概率,从而有效提高系统的吞吐量。而当系统中未识别的标签数量稀少,或者随着读写器持续不断地识别,未识别的标签数量逐渐减少时,系统又会适时地动态减少帧长,避免出现时隙浪费的现象,进一步提高系统的吞吐量。
可以说,只有借助 DFSA 算法,才能够使系统的吞吐量保持在最大值 0.368 附近波动,从而确保系统在不同的标签数量情况下都能维持相对稳定且高效的运行状态,大大提升了 RFID 系统在实际应用中的性能表现。
4.进一步研究
在 RFID 系统的实际运行过程中,当存在多个标签同时尝试访问读写器时,这些标签同时传输数据,就会在信道中引发相互碰撞的状况。这一情况直接导致读写器的识别时间大幅增加,同时系统的吞吐率也会随之降低。传统的防碰撞算法在面对多个标签需要在极短时间内存储数据的场景时,显得力不从心,无法满足实际需求。
就拿码分多址接入算法来说,如果 RFID 系统单纯使用这一算法,虽然能够实现同时并行访问多个标签,但要构建这样的系统,不仅成本高昂,而且方案复杂繁琐,对于低成本的无源标签而言,几乎难以应用。近年来,有不少学者尝试将 CDMA 技术引入射频识别系统中。例如,一种基于 CDMA 技术的时隙 Aloha 算法(CS - Aloha)[15],相较于传统的时隙 Aloha 算法,CS - Aloha 的稳定性有了显著提升,其最大吞吐率更是时隙 Aloha 的 M 倍(M 为扩频码的阶数),这在一定程度上改善了系统的识别能力。另外,一种基于 CDMA 技术的预约 Aloha 算法,该算法也在一定程度上提高了系统的吞吐率。然而,这两种算法都存在一个明显的缺陷,当待识别标签的数量较多时,标签发生碰撞的概率会显著上升,进而导致系统的吞吐率下降,整体性能变差。
针对上述问题,新设计的 CD - GDFSA 算法巧妙地借鉴了 CDMA 的思想,将原本仅在时域处理的标签碰撞问题,扩展到了时域和码域,实现了二维的标签碰撞检测。该算法首先会对大量的标签进行分组操作,并且在每组中,读写器能够根据实际情况动态地调整帧长。这样的设计使得新算法能够有效降低标签发送碰撞的可能性,大大提高了读写器识别标签的效率。
综上所述,可以在 RFID 系统中预先存入正交性良好的扩频码组,以此来增强读写器的识别能力,降低标签之间的碰撞概率。与原有的算法相比,原算法中的标签仅仅在时域上进行防碰撞处理,而新设计的算法由于融入了扩频码组,不仅在时域上能够有效防止碰撞,还在码域上对标签进行了防碰撞处理。在新算法识别标签的过程中,先是利用分组动态帧时隙的优势,将大量标签分组,然后在每个组中采用已有的扩频码对数据信息进行扩频,并且在每轮识别过程中,会依据具体情况动态地调整帧的长度,从而全面提升系统的性能。
4.1 分组动态帧时隙 Aloha 的分组原则
在分组动态帧时隙 Aloha 算法中,我们令信息帧长为 F,标签数目为 n,在一个时隙中有 r 个标签响应读写器的概率为:

当 r=1 时,即在一个时隙中只有一个标签成功发送数据给读写器。求在一帧当中读写器成功访问标签的期望为:

在 GDFSA 算法中一个时隙最多只能正确识别一个标签的数据,而且系统的识别标签信息帧最大值为 256,在 GDFSA 算法中,标签被分为 m 组或分为 m+1 组的数学期望应该相等为:

所以推导可以得出:

4.2 CD-GDFSA 算法的基本设计思想
在标签的初始生产阶段,其内存中就预先存储了两组关键数据,其中一组是独一无二的标签 ID 号,另一组则是随机写入的一组具备良好正交性的扩频码序列。
当进入标签识别流程时,第一步是读写器向周边的标签发出一个查询指令。标签在接收到这个指令后,会在一帧之中随机挑选某个特定的时隙,然后将应答指令发送回读写器。紧接着,读写器会依据所收到的应答命令,来判断是否需要对标签进行分组传输操作。这里的分组依据是遵循特定的分组原则(如同上述表格所示),从而对数量众多的标签实施分组处理。被分组后的标签会按照读写器发送来的指令存储好自己所属的组号,随后将其与读写器再次发来的查询组号进行核对,只有组号相互匹配的标签才会进入待识别状态,并对读写器的后续指令做出响应。
值得注意的是,标签发送给读写器的数据信息,是已经经过扩频码进行扩频处理后的数据。鉴于待识别标签的数量远远超过所提供的扩频码数量,所以必然会出现多个标签选择同一扩频码序列的情况。具体来说,当有两个及以上的电子标签在同一个时隙将它们的数据信息传输给读写器时,就会在时域上引发碰撞现象;而当有两个及以上电子标签选用相同的扩频码时,就会在码域上产生碰撞情况。不过,仅仅在时域或者码域发生碰撞,并不会对电子标签与读写器之间的正常通信造成实质性的干扰,只有当两个及以上电子标签同时选择同一扩频码并且还在同一时隙向读写器传送数据信息时,才会真正导致通信受阻发生碰撞。
一旦发生碰撞,这些受影响的电子标签会在下一帧当中重新选择扩频码以及时隙来再次发送数据信息。与此同时,读写器会利用本轮查询帧所获得的查询结果信息,以自适应的方式对下一查询帧的帧长进行灵活调整。
总体而言,新算法充分利用了扩频码的正交性这一特性,成功确保了算法能够满足两个及以上标签同时到达的复杂通信需求。而且,新算法创新性地采用了分组动态帧时隙的先进机制,与传统的原有算法相比,这种新算法使得射频识别系统的吞吐率得到了显著提升,同时读写器识别标签的速度也变得更快,极大地提高了整个 RFID 系统的运行效率和性能表现。
4.3 CD-GDFSA 算法的执行步骤
(1) 初始化
对于众多有待识别的标签,读写器首先会以广播的方式,向其周围空间发送一条查询命令。这条命令至关重要,因为它包含了初始识别帧的长度这一关键信息。
当标签接收到这个命令时,能够从命令中获取一定的能量,从而被激活,顺利进入待识别的状态,准备好后续的一系列操作。
此时,读写器发出的查询命令实际上还涵盖了两个重要参数,分别标记为 (F, M)。其中,F 明确表示读写器最初所选择的帧长度,这个参数将在后续的时隙分配和数据传输中起到关键作用;而 M 则代表扩频码组的阶数,它与数据的扩频处理以及标签的识别准确性紧密相关。
(2)标签响应环节
那些处于待识别状态的标签,一旦成功接收到读写器发出的查询指令,便会迅速行动起来。
它们会以一种随机的方式,从接收到的查询帧里挑选出某一个特定的时隙。这一步骤的随机性旨在避免多个标签同时选择同一时隙,从而减少碰撞的可能性。
选定时隙后,标签会将自身所携带的数据信息进行处理,具体是通过正交扩频码对数据进行扩频操作,然后将扩频后的数据信息发送给读写器,等待读写器的接收和进一步处理。
(3)读写器分组判断阶段
读写器在接收到各个标签发送过来的数据后,会立即对这些数据进行分析和统计,主要是依据时隙的相关情况来估算当前尚未被识别的标签数目。
根据估算出来的标签数量,读写器会做出相应的决策,即发送不同的分组指令。
如果估算出的标签数量大于 354 个,那么读写器将会启动分组程序。它会对这些标签进行合理分组,并将查询帧的长度设定为 256,同时还会对所分的各个组进行编号,并且妥善保存这些编号信息,以便后续能够准确地对每个组进行识别和管理。
反之,如果估算出的标签数量小于 354 个,那么读写器则会选择不进行分组操作,而是直接对这些标签进行识别处理,这样可以简化识别流程,提高识别效率,避免不必要的分组开销。
(4)读写器分组识别过程
读写器开始对每一组的标签进行识别,在此阶段中,时隙内存在以下三种情况:
(a)空闲时隙:
当某一时隙内没有任何电子标签有占用公共信道来传输数据的需求时,整个信道处于空闲状态。在这种情况下,读写器不会执行任何操作,只是静静地等待下一时隙,看是否会有标签发送数据,从而节省系统资源和能量消耗。
(b) 成功时隙:
在某个特定的时隙当中,存在两种情况可以将其判定为成功时隙。第一种情况是只有一个电子标签对读写器的查询做出响应,并成功将数据传输给读写器;第二种情况则相对复杂一些,即虽然有多个电子标签同时响应读写器并传输数据,但幸运的是,这些电子标签各自使用了不同的扩频码序列来对数据进行扩频处理。在这种情况下,读写器能够充分利用扩频码的独特特性,同时接收并准确处理这些来自不同标签的数据,而且不会发生碰撞现象,从而确保了数据的完整性和准确性。一旦某个标签的数据被成功识别,该电子标签将会立即退出整个系统,不再对读写器后续发送的任何指令做出应答,这样可以有效避免重复识别和数据干扰,提高系统的识别效率。
(c) 碰撞时隙:
当出现有两个及以上的标签在同一时间向读写器传输数据信息,并且更为糟糕的是,这些标签中有两个及以上选择了相同的扩频码序列对数据进行扩频时,就会引发标签在时域和码域上同时发生碰撞的情况。在这种碰撞时隙中,读写器将无法与这些发生碰撞的标签进行正常通信,因为数据传输受到了严重干扰。而这些发生了碰撞的标签并不会就此放弃,它们将会重新选择扩频码序列,并在下一轮的查询帧中再次随机选择时隙,再次尝试与读写器进行通信,以期能够成功被识别,完成数据的传输和标签的识别任务。
(5)动态调整与循环识别阶段
在每一个分组的识别过程中,读写器会根据实际情况,对查询帧的长度进行动态调整。这是一个非常关键的环节,因为通过不断地优化帧长度,读写器能够更好地适应每个分组内标签的数量和数据传输情况,从而更高效地识别该组内的所有标签。
当一个分组的所有标签都被成功识别后,读写器会首先依据之前保存的分组编号信息,来判断是否已经识别完所有的分组。
如果经过判断发现尚未识别完所有分组,那么读写器将会毫不犹豫地返回步骤(4),继续对下一组标签进行识别操作,重复上述的识别过程,直到所有的分组都被成功识别。
而一旦所有分组都已被识别完毕,这就意味着整个识别算法圆满结束,所有的标签都已被成功识别并处理,系统可以进入到下一个任务流程,比如对识别后的数据进行存储、分析或执行其他相关操作,或者等待新的识别指令,以开启下一轮的标签识别工作。
CD-GDFSA 算法流程可用图6 来描述。

图6 CD-GDFSA 算法流程示意图
5.结论
本文围绕 RFID 系统安全认证协议及防碰撞算法展开了深入研究与探讨。首先,回顾并分析了现有 RFID 安全认证协议不同量级的分类情况,明确各量级协议在加密算法、安全性及应用场景等方面的特点与局限,发现不同量级的安全认证协议虽各有优劣,但均需在保障安全性的同时适配 RFID 系统物理结构所带来的限制条件。
在防碰撞算法方面,详细研究了传统 Aloha 系列防碰撞算法,如纯 Aloha 算法、帧时隙 Aloha 算法以及动态帧时隙 Aloha 算法等,认识到这些算法在不同应用场景下存在的诸如时隙浪费、吞吐量不稳定以及难以应对大量标签碰撞等问题,影响了 RFID 系统在实际应用中的识别效率和整体性能。
针对上述问题,新的 CD - GDFSA 算法,通过借鉴 CDMA 思想,扩展了标签碰撞检测维度,同时利用分组动态帧时隙机制,使算法能够根据标签数量动态调整帧长,在时域和码域上同时进行防碰撞处理,有效降低标签碰撞概率,提高了读写器识别标签的效率,并增强了系统的吞吐量稳定性,使得 RFID 系统在面对多标签复杂环境时能够更高效地运行。
然而,尽管 CD - GDFSA 算法在一定程度上改善了 RFID 系统性能,但随着物联网应用场景的不断拓展和复杂程度的持续提升,RFID 系统仍面临诸多潜在挑战,后续研究可进一步探索如何在更复杂的实际环境中优化算法性能、提高安全性,以及如何更好地与其他相关技术融合,以满足日益增长的物联网应用需求,推动 RFID 技术在各领域的广泛且可靠应用。
参考文献
[1]周永彬,冯登国. RFID安全协议的设计与分析[J]. 计算机学报,2006,29(4):581-589. DOI:10.3321/j.issn:0254-4164.2006.04.009.
[2]汪亚,魏国珩,魏巍.面向RFID应用的轻量级加密算法分类模型研究[J].计算机与数字工程,2017,45(06):1150-1155+1241.
[3]汪亚,魏国珩. 适用于RFID的轻量级密码算法研究综述[J]. 计算机应用与软件,2017,34(1):9-14,44. DOI:10.3969/j.issn.1000-386x.2017.01.002.
适用于RFID的轻量级密码算法研究综述-期刊-万方数据知识服务平台
[4]Kaiping X, Wei M, Shaohua L, David S L W, Huancheng Z, Nenghai Y, et al. A Secure and Efficient Access and Handover Authentication Protocol for Internet of Things in Space Information Networks.[J], IEEE internet of things journal, 2019, 6(3): 5485-5499.
[5]张亚力,郭亚军,崔建群,等. 一种新的超轻量级RFID认证协议[J]. 计算机科学,2017,44(1):183-187. DOI:10.11896/j.issn.1002-137X.2017.01.035.
一种新的超轻量级RFID认证协议-期刊-万方数据知识服务平台
[6]Azam Z, Mohammad T I, Masoud S, Jit S M, et al. Theoretical analysis of RFID security protocols[C], Industrial Engineering and Engineering Management, 2014: 302-306.
Theoretical analysis of RFID security protocols - AMiner
[7]Serge Vaudenay. On Privacy for RFID[J], springer: 3-20.
[8]ArslanA,KardasS,ColakSA,etal.AreRNGsachillesheelofRFIDsecurityandprivacyprotocols?[J].WirelessPersonalCommunications,2018,100(4):1355-1375.
Are RNGs Achilles' Heel of RFID Security and Privacy Protocols? | Wireless Personal Communications
[9]Jangirala S, Ashok K D, Mohammad W, Neeraj K, et al. Anonymous Lightweight Chaotic Map-Based Authenticated Key Agreement Protocol for Industrial Internet of Things[J], IEEE Transactions on Dependable and Secure Computing, 2020, 17(6): 1133-1146.
Anonymous Lightweight Chaotic Map-Based Authenticated Key Agreement Protocol for Industrial Internet of Things - AMiner[10]Yu-Ju Tu, Gaurav Kapoor, Selwyn Piramuthu. On Group Ownership Delegate Protocol for RFID Systems[J], Information Systems Frontiers, 2021, 24(5): 1577-1584.
On Group Ownership Delegate Protocol for RFID Systems - AMiner
[11]Jian S, Zhengguo S, Liangbo X, Gang L, Alex X L, et al. Fast Splitting-Based Tag Identification Algorithm for Anti-Collision in UHF RFID System.[J], IEEE transactions on communications. IEEE Communications Society, 2019, 67(3): 2527-2538.
Fast Splitting-Based Tag Identification Algorithm for Anti-Collision in UHF RFID System. - AMiner
[12]杜永兴,白文浩,李宝山. RFID系统动态帧时隙ALOHA算法的改进[J]. 高技术通讯,2015,25(3):313-318. DOI:10.3772/j.issn.1002-0470.2015.03.012.
RFID系统动态帧时隙ALOHA算法的改进-期刊-万方数据知识服务平台
[13]Xingyu C, Jia L, Xia W, Haisong L, Dong J, Lijun C, et al. Eingerprint: Robust Energy-related Fingerprinting for Passive RFID Tags.[C], Symposium on Networked Systems Design and Implementation, 2020: 1101-1113.
Eingerprint: Robust Energy-related Fingerprinting for Passive RFID Tags. - AMiner
[14]李俊杰. UHF RFID读写器设计及标签防碰撞算法研究[D]. 杭州电子科技大学,2015. DOI:10.7666/d.D717728.
UHF RFID读写器设计及标签防碰撞算法研究-学位-万方数据知识服务平台
[15]梁彪,胡爱群,秦中元. 一种新的RFID防碰撞算法设计[J]. 电子与信息学报,2007,29(9):2158-2160.
[16]寇广岳,魏国珩,平源,等.RFID安全认证协议综述[J].计算机工程与科学,2023,45(01):77-84.