一种基于轻权加密体制的RFID认证协议
2014-09-29夏永祥史志才
夏永祥,史志才,2,张 瑜,戴 建
(1.上海工程技术大学 a.电子电气工程学院;b.中韩多媒体设计学院,上海 201620;2.麦考瑞大学计算机系,悉尼 2109)
1 概述
随着物联网技术的推广应用,作为重要的感知技术之一的射频识别(Radio Frequency Identification,RFID)技术得到了广泛关注,目前已被广泛应用于制造、供应链、农业、运输、健康、交通等领域[1]。然而,因RFID技术的简单、开放等特点使得RFID系统的隐私保护和安全性受到了严峻挑战,如竞争对手非法收集未受保护的RFID系统信息,使用伪造标签发送错误信息等;另一方面,用户希望保护标签所标识信息的隐私性。然而,在一定距离内的读写器可以轻易读出未受保护标签中的信息,跟踪所标识的产品,甚至识别携带标签产品的个人。由此可见,隐私保护是RFID系统得以应用的前提,而授权和认证技术就是实现隐私保护的有效方法。通过认证协议可使合法的通信对象相互识别和承认对方的身份,防止非授权用户或者非法用户的访问。由于当前处于主流的RFID产品是价格低廉的标签,这些标签存储、计算资源有限,难以支持高强度的加密操作,因此研究资源受限条件下的认证协议是非常必要的。本文结合轻权加密算法,提出一种具有一定加密强度的轻权RFID认证协议,以满足资源受限条件下的RFID系统的特殊需求。
2 RFID系统的组成
一个RFID系统包括3个组成部分:射频标签,射频读写器和后端服务器,如图1所示。
图1 RFID系统的组成
标签是一块具有天线和少量存储计算资源的硅片,其中存储有该芯片的唯一标识码,该标识码也称为EPC(Electronic Product Code)码。读写器是一个以射频信号形式发送和接收信息的设备,它对标签中存储的信息进行读写,以有线或者无线的方式与后端服务器进行通信,相互交换信息。后端服务器中存储有与标签相关的大量信息,负责完成安全认证、数据处理等复杂工作。
对于一个RFID系统,标签往往是决定系统功能和特点的最有特色的一个重要组成部分。目前有2种标签:主动标签和被动标签。主动标签内置有给标签供电的电池,能够在较大的范围内发送和接收信息。被动标签是一种无源标签,它内部没有供电电池,需要通过读写器发射的射频信号感应出供电电压,因而只能在较小的范围内发送信息。由此可见,由读写器到标签的前向通道和由标签到读写器的后向通道是不对称的;这两个通信信道是开放的,因而是不安全的,RFID系统的安全问题大都是由这两个不安全的信道引起的。此外,本文假设后端服务器和读写器的资源丰富,可以支持高计算强度的加密等操作,因此,假设读写器与后端服务器间的通信信道是安全的。
3 相关研究
为了满足RFID安全应用的广泛需求,目前已经提出了许多种RFID安全协议。文献[2]提出了Hash-Lock协议,为了避免信息泄露和被追踪,该协议使用metaID来代替真实的标签ID,但是缺乏ID动态刷新机制,ID以明文形式传送,并且metaID一直保持不变,因此非常容易受到假冒攻击和重传攻击,攻击者也可以很容易地对标签(Tag)进行追踪。文献[3]对协议进行了改进,提出了随机化Hash-Lock协议,它采用了基于随机数的询问-应答机制,但同样也无法抵抗假冒攻击和重传攻击[4]。文献[5]提出了LCAP协议,它每次执行之后都要动态刷新标签的ID;在认证过程中,标签是在接收到最后一条消息且验证通过之后才更新其ID,而在此之前,后端数据库已经成功完成相关ID的更新;因此,存在数据库不同步的安全隐患。文献[6]提出了基于散列树的认证方案,像多数基于散列树方案一样,每个标签的计算量不是常数,而是标签数量的对数。而且如果一个标签被攻陷,散列树中其他标签的匿名性就可能被破坏[7]。文献[8]提出的YA-YRAP协议使用了时间戳,虽然有效地降低了复杂性,但是时间戳的使用使得标签易受到导致标签长久失效的拒绝服务攻击。针对RFID的受限条件,文献[9]提出了一个轻权认证协议,能够实现标签和读写器间的认证,其中涉及查表操作,当键列表很长时导致协议的效率降低。文献[10]基于最小列表和索引随机数的思想,提出一个轻权认证协议,它将标签中存储的键值分成4个部分,每一部分在认证成功后立即更新;但是该协议对于Desynchronization Attack非常脆弱[11]。文献[12]提出了一个保护用户隐私和防止标签克隆的认证协议,该协议也采用了询问-应答机制和哈希函数,但是在有效会话期间,标签ID一直保持不变,很容易受到跟踪攻击和拒绝服务攻击。轻权认证协议系列LMAP、M2AP和EMAP因仅使用逻辑位操作和模2加而取得了较高的效率,Peris-Lopez证实了这些协议能够抵抗中间人攻击、重放攻击和伪造攻击,但是不能抵抗针对交换信息的位操作攻击[13]。文献[14]提出了基于AES与NTRU的RFID安全认证协议,使用2种不同的加密算法而导致加密需要的计算和存储资源过大。文献[15]提出一种基于NTRU公钥加密系统的RFID认证协议,采用键值更新防止跟踪,因而仍存在受到同步攻击的隐患;同时一次认证标签需要进行两次加密操作,计算强度较大。文献[16]利用NTRU公钥密码系统产生共享公钥密码K,同时对共享密钥进行Hash运算,计算强度较大。
由上述分析可见,目前针对RFID的认证协议并不完备,有些协议在交换信息时缺乏动态刷新机制,很容易受到跟踪;有些协议通过动态刷新避免了跟踪攻击,但是在后端服务器和标签中的刷新不一致又难以抵抗同步攻击;有些协议通过简单操作实现了认证功能,但是没有真正建立起密码学意义上的安全性。本文通过引入轻量级的公钥密码体制NTRU以及数据更新机制,设计一种占用资源少、确保安全性和隐私性的RFID相互认证协议。
4 基于NTRU的RFID认证协议
基于公钥密码体制的认证协议已被证明具有最强的安全性和隐私性[17]。在所有的公钥密码体制中,NTRU(Number Theory Research Unit)是一个轻量级的加密算法,它仅需少量的计算和存储资源,而且运行速度快。采用该加密体制仅需要6000个逻辑门电路就可以实现加密操作,完全能够满足RFID系统的安全需求[18]。
4.1 认证协议的设计
在下面设计的认证协议中,本文通过NTRU公钥体制加密在读写器和标签之间交换的所有信息,从而确保RFID系统的保密性和隐私;通过保证每次在读写器和标签之间交换信息的不同,确保交换信息的新鲜性以使系统具有抵抗跟踪、重放等攻击的能力。通信信息经过加密之后,其保密性取决于私钥的保密性,因为加密算法是公开的,只要私钥安全那么通信就安全,与ID等其他因素无关。即使攻击者通过物理读写的方式掌握了标签的ID,该认证协议仍然是有效的。所以该算法是可行的,文献[14]在RFID中实现了AES和轻权加密算法,但需要的片上资源比本文算法还要多。认证协议中所使用的符号如表1所示。
表1 认证协议中使用的符号及其含义
假设每个标签由唯一的标识符ID所标识。在初始状态下,每个标签存有其标识符ID、H(ID)和kpu,其中,H(ID)是标识符ID的哈希值;后端服务器中存储每个标签的ID和对应的H(ID)以及kpr。标签内存有2个函数供调用,一个是NTRU加密函数 Ekpu(),另一个是伪随机数生成函数PRNG()。后端服务器中存储有NTRU解密函数 Dkpr(),读写器中存储有伪随机数生成函数PRNG()。
尼采曾经说过:“用生命力的蓬勃兴旺战胜人生的悲剧性质,这本身就是人生的意义所在。”《红高粱家族》通篇以一个小男孩的口吻讲述“我爷爷”“我奶奶”的故事,在高粱地里,莫言呈现的是对生命的肯定,高粱地里男男女女抛开世俗的面具,豁达狂野地享受着生命;在中华民族抵抗外辱的战争年代,莫言描写的是生存在高密黑土地之上的普通乡亲对抗敌人入侵的淳朴态度和生命之气,悲壮地诠释了民族血性灵魂里那股原始蛮横的激情和力量。莫言在小说中使用的怪诞写法使得肯定生命这一主题发挥了强大的震撼力和积极意义。苦难和痛苦磨炼了人的意志,激发了生机,解放了心灵,从而创造了生命的美丽、崇高和伟大。
读写器与标签间的相互认证过程描述如下:
步骤1读写器→标签
读写器生成一个对标签的认证请求query,并调用函数PRNG()生成一个随机数Rr,然后读写器发送消息query||Rr给标签。
步骤2标签→读写器
标签调用函数PRNG()生成一个随机数Rt,然后调用加密函数 Ekpu()加密 ID⊕Rt⊕Rr,形成消息m0=Ekpu(I D⊕Rt⊕ Rr)和m1=m0||Rt,然后标签将m1发送给读写器。
步骤3读写器→后端服务器
读写器用接收到的信息m1形成消息m2=m1||Rr,然后将m2发送给后端服务器。
后端服务器从m2中提取出m0=Ekpu(ID⊕ Rt⊕ Rr),然后使用其私钥kpr和解密函数 Dkpr()解密,得到ID⊕Rt⊕Rr,再与Rt和Rr进行异或运算进而提取出ID。后端服务器到数据库中查找与ID对应的记录。如果服务器找到了对应的记录它就通知读写器该标签是合法的,然后服务器用m0和与ID对应的H(ID)进行异或运算形成m3,即m3=m 0 ⊕H(I D),并发送m3给读写器;如果服务器没有找到对应的记录,它就通知读写器该标签是非法的,然后结束认证过程;上述2种情况完成了读写器对标签的认证。
步骤5读写器→标签
读写器将m3与Rr进行异或运算形成消息m4=m3⊕Rr,并发送m4给标签;与Rr进行异或运算的目的是通知标签该消息仍然是本次认证过程中由本读写器发出的一个有效消息。标签接收到m4后,用m4与自己的H(ID)以及Rr进行异或运算形成消息m5,即m5=m 4 ⊕ H(I D)⊕ Rr=Ekpu(ID⊕ Rt⊕ Rr)。然后标签将m5和步骤2中生成的m0进行比较。如果它们相同则标签就认为该读写器是合法的,否则标签认为该读写器是非法的,拒绝该读写器的访问。这一步完成了标签对读写器的认证。
密钥分发是公钥体制的一个重要问题,本文仅在服务器端存储一个密钥对,公钥是公开的,各个RFID标签采用后端服务器的公钥加密消息给读写器和服务器,服务器用存储在本地的私钥进行解密,在标签端仅存储服务器的公钥,而该公钥是公开的,所以,不涉及到密钥的分发。
4.2 认证协议的分析
通过上述认证过程可以看出,本文协议的标签和读写器均要完成一次随机数生成操作;此外,标签还需完成一次加密操作,后端服务器还需完成一次解密操作;而异或操作仅涉及位运算,相对简单;显然,该认证协议的计算强度明显小于文献[14-15]所提出的认证协议,其性能对比具体如表2所示。
协议的安全性分析如下:
(1)窃听:整个认证期间,在标签、读写器/后端服务器间传输的有关标签ID的消息均是经过加密处理的,攻击者尽管可以对标签和读写器间的通信信道进行窃听,但所获得的消息均是加密的数据,它无法解密,所以无法从中得知有关标签的任何信息,从而有效防止了RFID系统秘密信息的泄露。
(2)位置检测和跟踪:对于一个RFID系统而言,若标签在每次会话过程中均传输一个固定的消息,攻击者根据该消息就可以跟踪标签的位置,因而容易受到跟踪攻击。为了防止上述攻击的发生,通过随机数生成、各种信息的组合以及异或和加密操作使得标签和读写器乃至与后端服务器间每次会话交换的消息均不相同,有效保证了会话消息的新鲜性,使得攻击者无法从获得的数据中推测出该数据是来自于哪个标签。
(3)重放攻击:这种攻击是指重新发送通过窃听得到的消息对RFID系统进行攻击。由于每次认证过程中,读写器和标签均生成一个新的随机数,使得各次认证过程中交换的信息均不相同,所以尽管攻击者获得了某次会话的消息并在一定时间后进行重放,但此时该消息已经失去了意义。
(4)后向追踪:由于每次认证标签和读写器均产生一对与上次认证不相关的随机数,而且会话过程中传递的均是经过加密后的消息,这些因素使得攻击者无法从获得的信息中推测出系统上一次的认证行为。所以该认证协议具有前向安全性。
(5)匿名性:系统将其标签的ID或者ID的哈希值与随机数进行异或、加密运算然后再进行传输,确保了标签的匿名性。同时后端服务器发送给读写器和标签中的信息中尽管也包括了标签的ID,但是经过了加密和异或操作,这些因素使得标签的ID不可能被解密和利用。
5 结束语
业界普遍认为标签的安全和隐私保护是决定RFID系统性能和成本的关键因素。针对计算存储资源受限条件下RFID系统的安全应用问题,本文提出了一个基于公钥密码体制NTRU的轻权相互认证协议。NTRU协议是一个轻权加密协议,其实现仅需要较少的计算和存储资源,非常适合应用于计算存储资源受限条件下的RFID系统。该认证协议通过信息加密操作确保认证过程中信息的保密传输和隐私性。通过分析证实,本文所提出的RFID相互认证协议能够抵抗窃听、位置追踪、重放、反向跟踪等攻击,而且标签仅需提供轻权加密和随机数生成操作,非常适合应用于计算、存储资源受限条件下的RFID系统。
[1]Nambiar A N.RFID Technology:A Review of Its Applications[C]//Proc.of World Congress on Engineering and Computer Science.San Francisco,USA:[s.n.],2009:1-7.
[2]Sarma S E,Weis S A,Engels D W.Radio-frequency Identification:Secure Risks and Challenges[J].RSA Laboratories Cryptobytes,2003,6(1):2-9.
[3]Weis S A,Sarma S E,Rivest R L,et al.Security and Privacy Aspects of Low-cost Radio Frequency Identification Systems[C]//Proc.of the 1st International Conference on Security in Pervasive Computing.Boppard,Germany:IEEE Press,2004:201-212.
[4]周永彬,冯登国.RFID安全协议的设计和分析[J].计算机学报,2006,29(4):581-589.
[5]Lee S M,Hwang Y J,Lee D H.Efficient Authentication for Low-cost RFID Systems[C]//Proc.ofICCSA’05.Berlin,Germany:Springer-Verlag,2005:619-627.
[6]Molnar D,Soppera A,Wagner D.A Scalable,Delegatable Pseudonym Protocol Enabling Ownership Transfer of RFID Tags[C]//Proc.of Workshop on Selected Areas in Cryptography.Berlin,Germany:Springer-Verlag,2006:276-290.
[7]Le T V,Burmester M,Medeirosde B.Universally Composable and Forward Secure RFID Authentication and Authenticated Key Exchange[C]//Proc.of the 2nd ACM Symposium on Information,Computer and Communications Security.New York,USA:2007:242-252.
[8]Tsudik G.YA-TRAP:Yet Another Trivial RFID Authentication Protocol[C]//Proc.of the 4th Annual IEEE International Conference on Pervasive Computing and Communications Workshops.Pisa,Itlay:IEEE Press,2006:640-651.
[9]Stephen A.Security and Privacy Aspects of Low-Cost Radio Frequency Identification Systems[C]//Proc. of the 1st Conference on Security in Pervasive Computing.Boppard,Germany:Spring-Verlag,2004:201-212
[10]Peris-Lopez P,Estevez-Tapiador J M,Hernandez-Castro J,et al.EMAP:An Efficient Mutual-authentication Protocol for Low-Cost RFID Tags[C]//Proc.of OTM Workshops.Berlin,Germany:Springer-Verlag,2006:352-361.
[11]LiTieyan,Wang Guilin.Security Analysis of Two Ultra-Lightweight RFID Authentication Protocols[C]//Proc.of IFIP SEC 2007.Sandton,South Africa:[s.n.],2007:109-120.[12]Dimitriou T.A Lightweight RFID Protocol to Protect Against Traceability and Cloning Attacks[C]//Proc.of Conference on Security and Privacy for Emerging Areas in Communication Networks.[S.l.]:IEEE Press,2005:59-66.
[13]Li Tieyan,Wang Guilin,Deng R H.Security Analysis on a Family of Ultra-lightweight RFID Authentication Protocols[J].Journal of Software,2008,3(3):1-10.
[14]姚华桢,刘传菊.基于AES与NTRU的RFID安全认证协议[J].计算机应用与工程,2012,48(35):80-84.
[15]李 斌,凌 力.一种基于NTRU公钥加密系统的RFID认证协议[J].计算机应用与软件,2012,29(4):278-280.
[16]冯 军,潘 郁.基于共享密钥的RFID认证协议[J].自动化仪表,2012,33(6):49-52
[17]Kaya S V,Sava E.Public Key Cryptography Based Privacy Preserving Multi-context RFID Infrastructure[J].Ad Hoc Networks,2009,7(1):136-152.
[18]陈 剑,张 春.低功耗RFID的公钥密码系统实现[J].半导体技术,2009,(9):890-894.