解决RFID安全十大问题,设计低功耗RFID定位方案

RF/无线

1806人已加入

描述

  和其它安全设备一样,RFID设备的安全性并不完美。尽管RFID设备得到了广泛的应用,但其带来的安全威胁需要我们在设备部署前解决。本文将主要介绍几个RFID相关的安全问题。

  nRF24L01

  1.RFID伪造

  根据计算能力,RFID可以分为三类:

  1.普通标签(tag)

  2.使用对称密钥的标签

  3.使用非对称密钥的标签

  其中,普通标签不做任何加密操作,很容易进行伪造。但普通标签却广泛应用在物流管理和旅游业中,攻击者可以轻易将信息写入一张空白的RFID标签中或者修改一张现有的标签,以获取使用RFID标签进行认证系统对应的访问权限。对于普通标签攻击者可以进行如下三件事:

  1.修改现有标签中的数据,使一张无效标签变为有效的,或者相反,将有效的标签变为无效。例如,可以通过修改商品的标签内容,然后以一个较低的价格购买一件昂贵的商品。

  2.同样还是修改标签,不过是将一个标签内容修改为另一个标签的内容,就是狸猫换太子。

  3.根据获取到的别人标签内容来制造一张自己的标签。

  所以,当想在一些处理如身份证这种包含敏感信息的系统中使用RFID标签时,一定要使用加密技术。但如果不得不使用普通标签的话,一定要确保配有相应的安全规范、监控和审计程序,以检测RFID系统中任何的异常行为。

  2.RFID嗅探

  RFID嗅探是RFID系统中一个主要的问题。RFID阅读器总是向标签发送请求认证的信息,当阅读器收到标签发送的认证信息时,它会利用后端数据库验证标签认证信息的合法性。但不幸的是,大部分的RFID标签并不认证RFID阅读器的合法性。那么攻击者可以使用自己的阅读器去套取标签的内容。

  3.跟踪

  通过读取标签上的内容,攻击者可以跟踪一个对象或人的运动轨迹。当一个标签进入到了阅读器可读取的范围内时,阅读器可以识别标签并记录下标签当前的位置。无论是否对标签和阅读器之间的通信进行了加密,都无法逃避标签被追踪的事实。攻击者可以使用移动机器人来跟踪标签的位置。

  4.拒绝服务

  当阅读器收到来自标签的认证信息时,它会将认证信息与后端数据库内的信息进行比对。阅读器和后端数据库都很容易遭受拒绝服务攻击。当出现拒绝服务攻击时,阅读器将无法完成对标签的认证,并导致其他相应服务的中断。所以,必须确保阅读器和后端数据库之间有相应防范拒绝服务攻击的机制。

  5.欺骗

  在欺骗攻击中,攻击中常常将自己伪造成为一个合法的用户。有时,攻击者会把自己伪造成后端数据库的管理员,如果伪造成功,那么攻击者就可以随心所欲的做任何事,例如:相应无效的请求,更改RFID标识,拒绝正常的服务或者干脆直接在系统中植入恶意代码。

  6.否认

  所谓否认就是当一个用户在进行了某个操作后拒绝承认他曾做过,当否认发送时,系统没有办法能够验证该用户究竟有没有进行这项操作。在使用RFID中,存在两种可能的否认:一种是发送者或接收者可能否认进行过一项操作,如发出一个RFID请求,此时我们没任何证据可以证明发送者或接收者是否发出过RFID 请求;另一种是数据库的拥有者可能否认他们给予过某件物品或人任何标签。

  7.插入攻击

  在这种攻击中,攻击者试图向RFID系统发送一段系统命令而不是原本正常的数据内容。一个最简单的例子就是,攻击者将攻击命令插入到标签存储的正常数据中。

  8.重传攻击

  攻击者通过截获标签与阅读器之间的通信,记录下标签对阅读器认证请求的回复信息,并在之后将这个信息重传给阅读器。重传攻击的一个例子就是,攻击者记录下标签和阅读器之间用于认证的信息。

  9.物理攻击

  物理攻击发送在攻击者能够在物理上接触到标签并篡改标签的信息。物理攻击有多种方式,例如:使用微探针读取修改标签内容,使用X射线或者其他射线去破坏标签内容,使用电磁干扰破坏标签与阅读器之间的通信。

  另外,任何人都可以轻易的使用小刀或其他工具人为的破坏标签,这样阅读器就无法识别标签了。

  10.病毒

  同其他信息系统一样,RFID系统很容易遭受病毒的攻击。多数情况下,病毒的目标都是后端数据库。RFID病毒可以破坏或泄露后端数据库中存储的标签内容,拒绝或干扰阅读器与后端数据库之间的通信。为了保护后端数据库,一定要及时修补数据库漏洞和其他风险。

  虽然RFID系统常常成为被攻击的目标,但是由于RFID系统低廉的成本,使得其在很多领域还是得到了广泛的应用。所以当准备部署RFID系统时,一定要更多的关注其安全问题,特别是本文描述的前四种攻击:伪造、嗅探、跟踪和拒绝服务攻击。

  基于MSP430F2012和nRF24L01低功耗RFID定位设计方案

  1.系统硬件设计

  1.1 系统结构

  有源标签在设计中除了需要考虑低成本、小型化之外,最重要的是要采取低功耗设计。

  RFID标签从整体结构上看,通常包括2个部分:控制端和射频端,因此在选择控制芯片和射频芯片时需要优先考虑其低功耗性能。本文在此基础上选择了 MSP430F2012控制芯片和nRF24L01射频芯片;天线则选用了Nordic公司的PCB单端天线;标签采用3V-500mAh纽扣电池供电。系统工作在2.4GHz频段。系统结构框图如图1所示。

  nRF24L01

  2.2 芯片选择及低功耗设计

  TI推出的MSP430系列单片机是16位Flash型RISC指令集单片机[3],以超低功耗闻名业界。

  MSP430F2012芯片工作电压仅为1.8~3.6V,掉电工作模式下消耗电流为0.1μA,等待工作模式下消耗电流仅为0.5μA.本设计中,MSP430F2012被长时间置于等待工作模式,通过中断唤醒的方式使其短暂进入工作状态,以节省电能。MSP430F2012具有3组独立的时钟源:片内VLO、片外晶振、DCO.其中,片外时钟基于外部晶振;DCO由片内产生,且频率可调。显然,主系统时钟频率的高低决定着系统的功耗,尤其是选择了高速片外晶振的情况下,因此,MSP430F2012提供了在不同时钟源间进行切换的功能。在实际设计中,通过实时重新配置基础时钟控制寄存器以实现主系统时钟和辅助系统时钟间的切换,既不失性能,又节约了能耗。

  MSP430F2012具有LPM0~LPM4五种低功耗模式,合理的利用这五种预设的模式是降低MCU功耗的关键,本设计中,MSP430F2012 在上电配置完毕后将直接进入LPM3模式,同时开启中断,等待外部中断信号。此外,由于MSP430F2012是一款多功能通用单片机,片内集成了较多功能模块,在上电配置时即停止所有不使用的功能模块也能起到降低系统功耗的目的。

  nRF24L01是Nordic公司开发的2.4GHz超低功耗单片无线收发芯片,芯片有125个频点,可实现点对点和点对多点的无线通信,最大传输速率可达2Mbps,工作电压为1.9~3.6V[4]。为了凸显其低功耗性能,芯片预置了两种待机模式和一种掉电模式。更值得一提的是nRF24L01 的 ShockBurstTM模式及增强型ShockBurstTM模式[4],真正实现了低速进高速出,即MCU将数据低速送入nRF24L01片内 FIFO,却以1Mbps或2Mbps高速发射出去。本设计正是利用了增强型ShockBurstTM模式,使得MSP430F2012即便在 32768Hz低速晶振下也能通过射频端高速的将数据发射出去,既降低了功耗,又提高了效率,增强了系统防冲突和应付移动目标能力。

  1.3 电路设计

  本系统主要运用于RFID定位方面,除了简单的识别外,重点在于阅读器对标签信号强度的测量,因此阅读器与标签间不会有大数据量频繁的读写操作,在电路设计时可省略片外EEPROM.同时还可以省去稳压电路以节省静态电流消耗。硬件原理图如图2所示。

  nRF24L01

  2.系统软件设计

  2.1 软件流程

  本系统属于双向通信系统,标签在发送数据前处于监听状态,nRF24L01的接收功能被打开,同时MSP430F2012处于LPM3模式,直至接收到阅读器广播的“开始”指令,并通过中断将MSP430F2012唤醒。MSP430F2012被中断唤醒后开始判断指令是否正确,如果正确则进入正常发送周期,否则返回LPM3模式。

  考虑到实时定位的需要,系统不能像一般的RFID标签那样仅仅进行有限次验证,本系统采用等间隔持续发送的模式,便于阅读器实时监测目标位置,系统设定的正常发送周期为500ms,由MSP430F2012的Timer_A定时,500ms定时开始后,标签ID通过SPI发送到 FIFO,nRF24L01采用了增强型ShockBurstTM模式,发送失败则会继续重发,标签ID发送完毕后,MSP430F2012判断定时器是否超时,一旦超时则进入下个发送周期,否则处于等待状态直至超时。当阅读器停止广播“开始”指令,MSP430F2012重新进入LPM3模式以降低功耗。

  系统完整流程如图3所示。

  nRF24L01

  2.2 防冲突设计

  nRF24L01自带载波检测功能,在发送数据前先转入接收模式进行监听,确认要传输的频率通道未被占用才发送数据,利用此功能可实现简单的硬件防冲突。

  考虑到本系统采用了500ms的统一发送间隔,在被定位目标众多的场合有可能发生识别冲突,因此需要在程序中合理的增加防冲突算法。ALOHA算法主要用于有源标签,其原理就是,一旦信源发生数据包碰撞,就让信源随机延时后再次发送数据。考虑到程序的复杂性势必引起处理时间的增加,也会带来额外的能耗,本系统采用了较为简单的纯ALOHA算法,即在每个500ms计时周期内随机发送标签ID,这就需要在程序中插入一个随机延时,延时时长的选择通过一个随机值函数来实现,随机延时范围为0~300ms.这种简单的防冲突算法既简化了指令,又能大幅降低冲突概率。

  另外,n R F 2 4 L 0 1传输速率为1 M b p s或2Mbps,单次发送一个数据包,单个数据包最大32bytes,假设标签ID为32bytes,以2Mbps速率发送一次ID的信号宽度(传输时间)约为100~150μs,相对于500ms的整个定时周期而言微乎其微,但仍有可能出现发送饱和的状态,这时可以适当的延长计时周期以增加信道容量。较快的传输速率有助于移动目标的识别和定位,而较短的数据长度也能显着提高标签基于随机延时的防冲突能力,因此尽可能将标签ID的长度限制在 32bytes以内。

  3.测试结果

  对于RFID系统而言,最重要的参数就是读取距离[5]和有效读取率。本次实验测试设备为标签3枚,阅读器一台,PC一台,阅读器基于 MSP430F149和nRF24L01芯片设计,并通过RS232串口与PC进行通信。测试中,分别将3枚标签置于距离阅读器15m、30m、45m 处,便签ID分别为AABBCCDDFFFFFF01、AABBCCDDFFFFFF02、AABBCCDDFFFFFF03,每枚标签进行一小时(约 7200次)连续读取测试。

  从表1测试结果看,30m以内为标签正常读取距离,可满足一般的室内应用,距离为45m 时读取率则显着下降。由于天线的设计对系统性能有较大影响[6],通过改进标签的天线以获取较大输出功率,改进阅读器端天线接收灵敏度也能显着提高系统性能。

  nRF24L01

  4.结束语

  本文对基于MSP430F2012和nRF24L01的有源RFID标签的设计进行了详细的介绍。对2款芯片的低功耗性能进行了分析并提出了自己的低功耗设计方案;结合了RFID定位的特点,介绍了有别于一般以识别为主要目的的标签的设计方法,分析了其软件设计流程;针对一般空间内被识别目标众多且常处于移动状态的特点,介绍了系统的防冲突能力。整个系统电路简单,尺寸小,功耗低,通过良好匹配的天线通信距离可达几十米,可以满足煤矿行业井下一般小范围空间内的定位需求。



 


 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分