您好,请 登录
 
|
|
|
 

有源RFID系统的安全性研究

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2010-06-25 22:47:28

有源RFID系统的安全性研究
4.1系统的安全需求在有源RFID系统中,标签和读写器之间是采用无线射频信号进行通信。这在给系统提供灵活性和方便性的同时也使传递的信息暴露于大庭广众之下。在它们构成了一个典型的开放性网络环境中,任意一个实体(合法的或是非法的)都能够加入这一网络,并且通过该网络来发送和接收消息,这无疑给系统带来了严重的安全隐患。RFID系统存在的安全隐患主要可以分为安全和隐私两个范畴。普通的安全威胁一般是指通过某种手段达到破坏系统的目的。例如通过伪装成合法标签欺骗系统,从而危害系统的安全;或者将标签所保存的信息进行非法读取和篡改。除此之外,系统还可能会受到物理攻击、拒绝服务攻击,偷听和通信流量分析等安全威胁。隐私威胁一般可以分为两种:一种是由于标签信息泄露,从而导致标签相关物体和用户信息泄露,以至于合法身份被非法用户的冒充和欺骗:另外一种是通过标签所发送的唯一标识符进行恶意追踪,非法用户通过恶意追踪,可以在任何时间和地点追踪识别某一特定的标签,侵犯标签用户隐私。同时,由于标签所采用的是信息交互技术,因此携带标签的任何单位或实体都可能在公开场合被跟踪。而且信息在交互的过程当中,也可能涉及到个人信息隐私与公共安全的问题I3’一37j。基于以上安全隐患,一个安全性较高的孙D系统必须能够有效地保证数据保密性、完整性、可用性、真实性和隐私性。(l)保密性:一个电子标签不可以向未经过授权阅读器发送任何敏感的信息:(2)完整性:在发送信息的过程中,必须能够保证接收者所收到的信息没有被他人篡改或替换;(3)可用性:必须保证系统所提供的各种服务能够被合法用户所使用,同时还必须能够有效地防止拒绝服务攻击;(4)真实性:必须确保发送信息方的身份真实可靠,不会被伪装者假冒和欺骗;(5)隐私性:作为一个安全的系统,必须能够有效地保护使用者不被他人追踪,导致隐私的泄露[3843]。武汉理工大学硕士学位论文4.2只读式有源R「ID认证协议的设计4.2.1只读式有源RFID的特殊性目前国内在微波段的RFD系统一般均采用有源标签。有源盯D系统的读写器不需要向电子标签供电,电子标签自带电池,当电子标签进入读写器的工作范围后,电子标签主动地将存储的识别信息(D)以电磁波的形式传给读写器。由于功耗及成本问题,国内目前的绝大部分有源RFID产品都是采用只读式。当标签装上电池通电以后,标签就开始向外发送自己的标识信息m号。
每次发送完成之后,标签自动进入低功耗状态,降低电流的损耗。等待一定的时间后,标签恢复工作状态,继续将自己的标识信息发送出去,然后再次进入低功耗状态,如此反复循环工作。当标签进入读写器的工作范围内,读写器就可以接收到标签所发送的信息,然后对其进行识别判断。在标签和读写器的整个通信过程中,只读式标签是单向地向读写器发送自身的标识信息,而没有与读写器进行交互。正是由于只读式有源标签的这种单向通信方式,其认证过程有别于低频段的无源可读写式标签。同时,因为缺少与读写器的交互过程,在认证时要保证通信过程的安全,难度也会相应的增加。4.2.2认证协议的设计针对只读式有源RFm这种单向通信模式,为了保证系统的通信安全,本文设计了一种基于Hash函数的安全认证过程,其过程为:首先,在系统初始化的时候,需要将标签标识IDr与阅读器标识低存放于标签中,在阅读器中存放刃刀,而后端数据库中存放系统所有标签的.r,以便在认证时的调用与查询。另外,在标签中需要设计一个Hash函数模块用于每次发送时计算,一个CRC模块用于每次发送前计算发送信息的校验值,一个随机数函数用以产生随机数k和一个与发送次数有关的变量产;在阅读器端则需要一个Hash函数模块用于每次接收计算以及一个CRC模块用于每次计算接收信息的校验值判断信息是否被修改。认证协议流程如图4一1所示,其执行过程如下:武汉理工大学硕士学位论文读读读读读读读标标网网网网写写写,签签????器器器器步骤3:查询码,,并比较n了’im“图4一1认证协议流程图(l)标签先产生一个随机数k,并将k与IDn组合,计算H(k,低)。然后将,Dr以及发送次数nTim。组合,并计算CRc(IDr,。Time)。将IDr,。Tim。以及CRC(毋,nTime)组合,与H(k,IDe)进行异或运算得到H(k,低)。(IDr,。Time,CRC(毋,nTime)),最后将k与上面的计算结果进行组合得到(k,H(k,,Dn)。(,DT,nTime,CRc(件,nTime))),并将该信息发送给读写器,同时nTim。++。(2)阅读器收到(k,H(k,IDn)。(IDT,nTime,CRC(IDr,nTime)))之后,将k提取出来与自带的IDn组合,计算H(k,低)。然后与H(k,低)。(玛,nTime,CRC(毋,nTime))进行异或运算得到IDr,。几脚。以及CRC(码,。Time)。读写器计算得鸡和。Tim。组合的校验值与CRC(母,nTime)进行比较,相同的话,将玛和nTim。发送给后端的数据库,不同则不再处理该信息。(3)后端的数据库收到IDr和nTim。之后,查询数据库中存放的标签标识信息是否存在以与毋相同,如果存在,然后将琳对应的nTim百与nTim。比较,如果nTim百小于nTim。,则通过验证,说明标签是合法的,并将nTim。保存到数据库中;反之则无法通过验证。4.3协议的安全性分析上面描述的协议,在符合只读式有源RFID系统的通信方式的前提下,能够有效地抵抗各种形式的攻击。下面将根据RFID系统面临的一些攻击风险对该协议进行分析。(l)数据的私密性:标签的标识信息,DT每次在发送之前,都会和H(k,低)进行异或运算以后发送。攻击者在知道随机数k,而不知道功尺的情况下,想要计算出H(k,IDn)是很困难的,进而想要得到毋也很困难。因此通过使用该协武汉理工大学硕士学位论文议,可以保证每次毋都以密文形式发送,并且攻击者想通过已知信息得到洱很困难,从而可以有效地保证数据的私密性。(2)数据的完整性:标签每次在将标识信息发送给读写器之前,都要将砚和nTime组合,并计算他们的CRC校验值。如果在发送过程中,攻击者篡改了其中的任意一位,然后将修改的信息发送给读写器。那么读写器根据攻击者发送的信息计算H(x’,低),然后通过异或还原得到琳,nTim百以及CRC(以,。Time’)中必然也发生变化。此时根据,Dr和,Tim。计算出来的校验值与正确值匹配的概率只有(l/2)”,从而可以有效的保证数据的完整性。(3)数据的真实性:标签将信息数据串发送给读写器时,如果有攻击者截获信息,并通过分析,修改砚或者。Tl’m。与H(k,低)异或部分的值,想冒充其他标签玛或者改变发送次数,几功e’来达到欺骗或者伪装的目的。但是由于校验码的存在,如果不能对应的修改校验码,读写器就会发现数据被修改,无法通过检测。而攻击者仅仅是通过修改得到琳和,Tim百,无法得知这两个数的具体内容,因而也无法得到对应的CRC(玛,。Time’)值。由此可见,攻击者无法伪装成合法用户,从而可以保证通过检测数据的真实性。(4)用户的隐私:标签将自己的标识信息数据串发送给读写器时,虽然件和低不变,n几川。也有规律的递增。然而由于随机数k的存在,使得每次计算得到H(k,ID,)与前一次都不相同,因此最终发送的(k,H(k,刃流)。(砚,,。几脚e,CRC(IDr,n几州e)))信息也与前一次不同。而且由于k变化无规律,因此每次发送的信息也在无规律变化。由此可见,攻击者无法从获取到的通讯数据中判断标签是否由同一个标签所发,从而也就无法通过标签定位其携带者的位置或者活动路径。从上面的分析可以看出,该协议在符合只读式有源RFID系统通信方式的前提下,可以有效的保证系统通信的安全。4.4协议的具体实现Hash函数包括MD4、MDS、SHAI以及其他一些加密算法。本文在实际测试时,所采用的加密算法为SHAI【44书]。在软件设计中,除了可使用汇编语言外,使用c语言[,6]更能够提高设计效率,加快开发进度。由于考虑到C代码效率高、可移植性强、可读性高,所以采用C语言进行编程,使用的编译器为IAR公司的IAREmbeddedwbrkbench。下面使用PDL语言对标签中几个加密部分的关键函数进行了描述。
(l)ProeedureSHAI加密变换15begin产生随机数nRandom随机数和读写器ID构成SHAI加密变换定长数组进行SHAI加密变换加密结果保存到Enc卿tData[20〕endSHAI加密变换(2)Proeedure计算CRC1615begin存放标签ID和发送次数到数组CRCData计算CRC16值结果保存到CRC[2]end计算CRC16(3)Proeedure构造发送数据数组TXDataisbegin获得发送地址位获得随机数Encr)!PtData与CRCData异或获得异或结果获得CRC16值end构造发送数据数组TXData而读写器收到标签发送的数据后,使用读写器自身的m号,结合发送过来的随机数nRandom,进行一次SHAI加密变换。然后与接收到的数据中被异或的部分再次异或,从而得到标签的ID和发送次数。利用标签ID和发送次数计算对应的CRC值,得到的结果同发送来的CRC校验值进行比较。如果相同,则将标签D号和发送次数发送给上位机,上位机再通过发送次数判断发送信息的真伪。由于实现加密过程并完成整个通信协议,至少需要RAM的空间为299字节。所以在具体实现过程中,本文采用MSP430F149作为控制芯片来测试整个通信过程。在整个实现过程中,执行SHAI加密过程,大约需要9万个时钟周期。由于本程序使用的控制芯片执行一个周期需要125纳秒,因此执行整个加密过程大约需要n.25毫秒。当标签和读写器正常工作时,读写器可以将标签所发送的数据经过处理,武汉理工大学硕士学位论文发送给后方程序。为了方便观察实际的运行情况,让读写器将收到的原始信息,以及处理后的信息全部发送给应用程序。程序将收到的原始数据、标签编号以及发送次数显示出来。标签与读写器正常通信时,应用程序显示的结果如图4一2所示。图4一2正常运行图从图4一2中可以看到,每次标签发送的原始数据都不相同,且无规律。攻击者通过标签发送的数据,很难得到标签所发送的实际信息,有效地提高了系统数据的私密性。同时,攻击者通过发送的数据也很难推断出发送信息的标签是否为同一个标签,从而可以有效防止被他人追踪,增加了系统的隐私性。图4一3为攻击者将发送信息篡改后发送所得结果。如果攻击者修改了标签所发送信息中的任意一位,都会导致异或所得的标签编号、发送次数或者CRC值发生改变。而标签编号与发送次数与对应的CRC值在发生改变的情况下,只有0.0047%概率可以通过校验检测。因而只有系统的合法用户发送的、未被篡改的信息才可以通过检测,从而有效地保证了系统数据的完整性和真实性。4.5本章小结由于只读式有源RFD的通信模式有别于无源RFD,本章就针对这种通信模式,提出了一种基于SHAI加密算法的认证协议,以保证系统通信的安全。本章在对协议进行了具体描述之后,对该协议进行了安全性分析。从对数据私密性、完整性、真实性以及用户隐私的保护和对重放攻击的防范五个方面证明了协议的安全性。并通过在MSP430F149芯片中写入发送和接收程序,成功实现整个认证过程。

  • 好的评价 如果您觉得此文章好,就请您
      0%(0)
  • 差的评价 如果您觉得此文章差,就请您
      0%(0)

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论