0引言
近年来,很多学者尝试把安全机制和防碰撞算法结合在一起。张晖等最早提出了新型安全机制下的RFID防冲突算法[1],将物理方法和密码机制相结合,通过将Hash锁放入阅读器中使用来节省门电路。丁治国等提出的基于码分多址和防碰撞功能的RFID安全认证协议[2],利用码分多址技术的保密性、抗干扰性和多址通信能力,结合认证密钥和Hash函数[3],设计了一种具有防碰撞功能的安全认证协议;余松森等提出了融合安全与反碰撞的RFID处理机制[4],采用的方法是将轻量级的随机密钥双向认证和动态时隙ALOHA协议进行融合。然而这些机制都是简单地将安全协议与防碰撞算法结合在一起,效率较低,随着标签的增加,信道占用率较高,吞吐率变低;数据在传输的过程中容易被窃听ID,隐私被刺探,安全性不高;而且防碰撞效果差,花费时间较长,不宜大规模使用;同时又由于安全性达不到实用级别,需要另外的安全协议来加以保护,这样增加了成本,极大地降低了RFID系统运行的质量。
本文提出了一种新的轻量级高安全性防碰撞策略,该方法将自适应二叉树遍历算法与布尔运算双向认证协议相融合,得到一种新的防碰撞策略,该算法在解决了标签碰撞问题的同时,具有较高的安全性。对于在图书馆、流水线、快递服务、散货堆场等应用场合,已能提供足够的安全级别,适用于大数量、高效率、低成本的物联网系统。
1.1自适应二叉树遍历机制
在系统读写识别之前,该机制相当于在碰撞标签堆中利用遍历规则整理出一个有序的队列,从而使标签拥挤状态变成有序状态。自适应二叉树遍历机制[5-6]的搜索过程是根据先序遍历规则,在收集到的所有碰撞标签中,根据碰撞位特征采取向前搜索策略,直到遇到一个可以识别的标签为止;同时再采取后退方式,返回上一查询指令节点,继续搜索直至识别完阅读器工作区域内所有碰撞标签。主要步骤如下:
1)阅读器根据曼彻斯特编码方法得到所有识别标签的碰撞位,得到一个查询指令栈。
2)查询指令栈取出栈顶指令Query(X,N)命令(X为碰撞位查询码,N为标签碰撞的最高位),检测所有标签的碰撞位。
3)检测有无碰撞位编码符合条件的标签,若有两个以上响应,在符合条件的标签中重新执行曼彻斯特编码检测,根据是否连续位调整碰撞位查询码,并修改N值,得到下一次查询命令Query所需的参数,继续搜索直到出现一个碰撞位或者无碰撞位。
4)若有一个碰撞位,可以根据约定直接先后识别两个标签(二进制位上取值具有互斥性,非0即1);若无碰撞,则直接识别单个标签,处理完后回跳到父节点,得到下一次查询命令Query所需的参数。
5)重复进行请求与检测过程,直到查询栈中无查询命令时结束。
算法充分利用返回式搜索[7]和自适应二进制搜索的优点,并根据检测碰撞位是否连续动态生成多分支进行分治,只查询碰撞位的方法,减少了冗余,提高了系统效率。
1.2基于布尔运算的双向认证安全协议
布尔运算是计算机最简单、最擅长、最快速的运算,具有无可媲美的优势,布尔运算贯穿该策略。
1)标签收到阅读器发出的命令数据,与ID编码进行布尔运算,命令数据与标签生成的随机数进行布尔运算[8]。
2)在阅读器中根据先建立好的Hash函数的索引,然后解码在后台数据验证,采用索引布尔运算的思想查找ID,可提高验证速度。
3)后台数据库采用布尔运算的结果更新响应标签的记录。
现有协议标签中门电路较多,成本过高;而且动态ID机制中标签与数据库更新不同步造成了安全隐患。本文利用布尔运算,提出一种新的认证协议——基于布尔运算的低成本双向认证机制(如图1所示)。将Hash模块放在阅读器中,标签上无需集成Hash函数模块,只需要异或门电路和随机数生成器,通过布尔异或运算加密保证RFID系统通信安全[9-10],简单可行,适宜于低成本电子标签。
2内嵌安全机制的防碰撞策略
2.1策略的基本思想
RFID技术利用无线射频方式在阅读器和标签之间进行非接触双向数据传输来达到目标识别与数据交换的目的,电子标签的二进制唯一标识的ID可以构成一棵完全二叉树。而在阅读器作用范围内同步响应阅读器信号的标签的ID构成一棵不完全二叉树。阅读器根据信号冲突的情况反复对二叉树的分枝进行裁剪,快捷安全地找出这棵二叉树的结构,最终完成信息交换。
1)在修剪二叉树过程中,只需要根据碰撞位的不同来进行识别,省去了非碰撞位的遍历,缩减查询范围,减少冗余。
2)综合运用曼彻斯特编码、栈队列技术、二叉树先序遍历、后退式算法经典部分及采用独立分治并行处理思想,实现标签的有序识别。
3)动态自适应策略,根据碰撞位前缀是否连续,动态选择,碰撞前缀中出现连续n个碰撞位时采取2n叉树分裂的策略(n为大于等于2的正整数)。
4)短暂锁定机制,阅读器接收到标签所发的信息后,会暂时锁定,不再发出和接收任何标签命令。标签成功发送完信息后进入暂时休眠状态不再重复发送,阅读器开始进行内部的防碰撞处理,处理完后会逐步将结果发送到已识别的标签。
2.2策略准备工作
传统的都是通过来回多次请求命令实现交互通信的做法,在源头上将阅读器与标签之间的通信信道暴露出来,本文则将加密的ID编译出来之后,直接在阅读器中完成处理,最终只需要返回结果即可,减少来回请求次数。这种设计有利于标签简单化,低成本化,把重心放在阅读器上,便于后续的维护升级,使系统生存能力增强。
1)请求命令Request(Null,m1):阅读器发出同步广播请求信号命令作用范围内的所有标签(m1为随机数)。
2)查询命令Query(X,N):X为曼彻斯特编码检测到的碰撞位前缀,参数N为冲突的最高位,在读写器的内部,查询命令不断按照先序规则搜索碰撞位生成的二叉树,直到检测至无碰撞或只有一个碰撞位为止;否则不断根据曼彻斯特编码调整X和N值,继续搜索。
3)应答命令Answer(Data)(Data是标签内部经布尔运算加密之后的数据):其作用是收到请求命令的标签对阅读器作出应答,将数据信息返回给阅读器。
4)锁定命令Lock():阅读器收到作用范围内的标签响应后,会自动进入到锁定状态,暂时不接收外界任何消息。
5)h(x)、fk(x):分别表示标签能够运行的Hash函数和带密钥的Hash函数[11]。
6)在标准稳定环境中内存记录安全,阅读器与后台服务器之间信道安全,阅读器与标签之间信道不安全。
3策略分析
3.1特点分析
本文所提出的策略主要有以下特点:
1)重阅读器轻标签。传统的防碰撞算法都是通过来回多次Request请求命令实现阅读器标签间的交互通信,这样不仅使得标签的成本很高,而且在源头上将通信信道暴露出来,不太合理。本文做法是将阅读器收集到的数据进行解密,得到ID标识号,直接在阅读器中完成有序列队处理,最终只需要一次将结果返回即可,不需要来回多次请求应答,使通道处于较安全状态,即只需Request、Answer两个命令的传送。这种设计有利于标签简单化,成本降低,把处理重心放在阅读器和后台上,便于后续的维护的升级,利于超大批量的标签系统运作,生存能力加强。
2)内嵌安全机制。通过布尔运算加密的方式将安全机制融合在防碰撞处理之前,一方面先行过滤掉攻击和假冒的无用标签,减轻碰撞处理的压力;另一方面提高标签的生存能力,通过加密的随机数和布尔运算打乱前后的信息逻辑,使得无法推测通信以前的信息,保证通信的安全性。并且通过双向认证的方式来验证消息的可靠性,确保标签、阅读器合法,不被修改。表3给出了该策略与几种其他的协议安全性能对比。
3)高性价比。在轻量级的RFID解决方案中,利用较简单的标签结构,能为整个系统节省非常可观的费用,同时也能兼顾较高的安全系数。不同策略下的标签成本。
仿真结果表明,当标签数目较少时,本文策略防碰撞效果并不明显,当数目不断增加时,搜索效果只是比后退机制好一些,但是传输比特位会比较显著。这是因为二叉树先序遍历机制采用的是只在碰撞位中遍历,并且有回退机制避免了搜索路径的重复,自适应多叉树策略对碰撞位前缀搜索做了优化,同时利用搜索索引采用布尔运算来匹配,提高了查找的运算速度。
当有巨量标签、标签的长度增大时,本文策略传输的比特位就会非常有优势。以后还可以通过阅读器升级,增加并行分组识别,效果将会更好。
4结语
本文提出了一种轻量级的内嵌安全机制的RFID防碰撞策略,该方案巧妙地将经典动态自适应机制、先序遍历算法和布尔双向认证机制融合在一起,提高了防碰撞效率,降低了系统成本,具有一定的防重传、防纂改、防跟踪、防阻断的安全特性,简单高效,可靠实用。实验结果表明该处理策略能够减少碰撞时隙,提高吞吐量和防碰撞质量,在处理大量标签、较长ID标签环境中优势更为突出,具有良好的发展基础和应用前景。后续,在防碰撞过滤和识别处理等方面需要进一步的优化探索,采用基于PUF的物理不可克隆功能模块也是RFID系统发展的方向,以不断提高识别系统的安全性水平。
责任编辑:Ct
评论
查看更多