RFID标签的安全建模及对EPC CIG2协议的改进
1 引言
未来RFID的标签将在各个领域得到广泛的应用.在商业的应用中,标签芯片可以附着在商品上用来对商品进行防伪,同时可以记录商品的生产信息和使用信息;在物流应用中,将标签芯片贴在流通物品外包装上,使得物品在经过各个流通点时能够自动登记,极大的提高流通效率;在工业的应用中,标签芯片可以贴在车间里的产品托盘上来记录产品的生产信息.标签芯片是一个信息集合体,在各种应用中,标签或多或少包含了商业信息,流通信息,工业信息以及个人信息.这些信息对于攻击对手来说具有极大的诱惑.攻击者可以通过攻击标签获取各种信息,这种信息的泄漏对于商业、工业机密乃至个人隐私都带来了巨大的灾难.
由于RFID技术和应用环境的独特性,它的安全问题非同于常规的通讯技术,根据对于RFID标签可能受到的攻击,本文首先对标签和读卡器之间通讯安全进行分析,建立了适于RFID标签和读卡器之间相互通讯的安全模型,提出了RFID标签应根据应用归类于不同的安全等级,并在各个安全等级下实施相应的安全措施.依据这个模型本文对EPC Class一1 Gen一2(EPC CIG2)协议[1]进行了安全分析,指出了其中可能出现的安全漏洞,在经过权衡RFID标签硬件资源以及协议要求后,本文提出增加标签与读卡器身份验证与数据加密机制的EPC CIG2协议改进方案.作为未来的信息识别技术,RFID的安全和隐私问题将引起更广泛的关注和研究.
2 RFID标签攻击分析
2.1 对RFID标签可能进行的攻击
由于RFID标签与读卡器采用的是无线通讯,其通讯信道可长达1O米的距离并可以穿透某些介质,这给攻击者带来了便利.攻击者可以通过藏匿在标签或者读卡器的周围对标签或者读卡器来进行攻击.另一方面由于RFID应用的广泛性,攻击者可以比较轻易的获取标签或读卡器,并具有充分的时问和精力来对标签进行探测和攻击.从这一点来说是对于RFID及其不利的.RFID标签与读卡器通讯本节以具体的攻击实例来阐述可能针对RFID标签的攻击方法.
(1)非法访问.攻击者A拥有未经过授权的读写器,并使用这个读写器来获取某类商品标签上的信息.
(2)跟踪.攻击者B拥有比较简便的测试仪器,他通过向标签发射简易的命令,探测并记录Tag的后向反射的通讯信息,他善于利用每次探测到的信号对附着这种标签的物品进行跟踪监视.
(3)窃听.攻击者C是藏匿在附近只能对前向通道进行探测的窃听者.由于无法接近后向信道,它只能获取读卡器向标签发送的有限的数据.而攻击者D则是满腹抱怨的员工的代表,他通过在合法的读卡器和标签通讯信道之间设置一个探测器,通过窃听它们之间的通讯,来获取标签上的信息.
(4)伪造.攻击者E利用窃听到的标签发射的信号,制造出一个具有相同发射信号的标签,并使用此伪造的标签来标示伪造的商品.
(5)物理攻击.攻击者F拥有较全面的实验设施,他通过设备分析标签芯片上的功耗来分析标签芯片上负载的数据.
(6)数据演绎.攻击者G利用某种手段获得了某一种标签的数据,然后寄希望于使用演绎的方法,从这一信息中推测出其他标签上的数据,以至于掌握整个系统的数据.
2.2 RFID标签攻击者能力分析
RFID标签芯片通讯的安全问题不同与常规通讯系统,它特殊的操作方式限制了对手的攻击能力:
(1)RFID标签芯片具有一定的读写范围,这迫使攻击者只能在有限的地理范围内发起攻击.由于RFID标签与读卡器通讯时,读卡器向标签发送数据时的前向通道距离较大,而标签向读卡器发回数据的后向通道距离较小,在一些情况下,攻击者甚至不能够获知标签向读卡器返回的信息.这种攻击方式不同于因特网上所发生的一些攻击,由于因特网广阔的覆盖范围,黑客可以从因特网所覆盖的任何一个角落对连接在因特网上的其他用户进行攻击.而针对RFID标签芯片的攻击只能在其物理位置周围的一个有限范围之内.同时对RFID标签的前向通道攻击较容易,而对于RFID标签的后向通道需要攻击者很好的隐匿才能发起攻击.
(2)RFID标签芯片一般工作在移动情况下,这实际上给窃听或者隐匿在周围的攻击者带来障碍.由于它的移动性,攻击者不得不在有限时间内发起攻击,同时攻击的次数也受到了限制.而因特网的攻击是没有被窃听时间的限制的.
(3)RFID标签芯片的成本很低,并且是集成电路产品,针对RFID标签芯片的物理攻击需要精密的设备才能进行.对手采用物理攻击的方法付出成本较高.
3 RFID标签芯片通讯的安全模型
3.1 RFID标签与读卡器通讯安全模型措施尽管对于攻击者有诸多的障碍,但是这并不能说RFID标签是安全的,不能说这些障碍可以阻止攻击者获取标签信息.在现有的RFID系统的安全研究中,[2]针对RFID标签将在欧元中的应用提出了一个针对该应用的协议和安全模型;[33提出了一种在零售业中使用的RFID标签的使用周期的建模;[4]建模了整个RFID系统.RFID系统包括数据库、以太网、读卡器和标签等部分,安全问题深入各个通讯模块,已有研究的建模多是立足于系统或针对某种应用的角度,但是这些模型较为理论,并不能指导实际标签设计和协议优化.本文专门针对读卡器与标签通讯建立安全建模方案,该模型可以用来分析具体的通讯协议并指导设计.本模型根据第二章所提出的一些攻击案例,提出了9条安全模型措施:
(1)RFID标签必须支持与读卡器之间的相互验证.这种相互验证的过程通过双方共同约定的验证机制才能实现.
(2)读卡器与RFID标签间发送的数据必须以密文方式进行传送,在前向信道上传输的消息不能够出现原始内容.
(3)RFID标签与读卡器间发送的数据必须以密文方式进行传送,在后向信道上传输的消息不能够出现原始内容.
(4)RFID标签发送给读卡器的带有数据的信息时,这些信息应每次均不相同.
(5)根据RFID标签发送给读卡器的一个信息无法推断出其他信息的内容.
(6)根据RFID标签与读卡器之间相互传输的信息的运算无法获知标签上承载的内容.
(7)当获取了某一个RFID标签的信息,无法通过这个信息推断出其他RFID标签上的信息.
(8)RFID标签根据其应用进行适当读取次数的限制,当大于某些规定的读取次数时,标签进入自毁状态.
(9)RFID标签支持人为主动发送的销毁命令,并进入死锁状态.
其中:RFID读卡器接收到的第n个标签发出的第i条关键接收的数据与读卡器发送的数据相一致
KILL:处死指令
3.2 RFID标签在模型中的安全级别划分
随着RFID标签芯片对于安全防范功能的增加,芯片硬件变复杂面积增大,从而带来成本的增大.为了降级RFID标签芯片成本,充分利用RFID芯片资源避免浪费,使不同应用的标签能够根据需要满足其安全要求.在考虑RFID标签的各种应用环境和用途、所附着物品的成本以及社会因素后,本模型将RFID标签根据应用需要的安全划分为以下四个安全等级,在各个等级中规定标签应支持的安全防范措施.以自然数的较小数字代表安全性要求较低的等级,以较大自然数代表安全性要求较高的等级.对于各等级下能够防范的攻击者如表1所示.
等级1.支持标签与读卡器之间基本的验证机制.
等级2.支持标签与读卡器之间的验证机制,并对于读卡器向标签传输信息的前向通道上的信息进行加密.
等级3.支持标签与读卡器之间的验证机制,能够对于信道上读卡器与标签通讯的前向和后向通道均进行加密.同时使得每次通讯在信道上传输的数据具有可变性,并且无法通过对标签与读卡器之间传输指令的简单运算获取标签上承载的内容.
等级4.支持标签与读卡器之间的验证机制,使用某种加密方法对信道上前向与后向传输的数据进行加密,并支持硬件的密钥管理机制和密钥分配机制.使每次通讯在信道上传输的数据具有可变性,限制标签被读取的次数.
对于RFID标签的攻击有弱到强,所以对于其安全级别的划分也不是绝对的,各种安全措施的增加主要考虑对攻击者带来更困难的障碍,从而达到安全的目的.对于具体应用中的标签安全方案的实施,还应该针对具体情况进行分析,采取正确的防范措施.
4 基于安全模型对EPC C1G2协议进行的分析
在EPC C1 G2的协议中,reader通过三种基本操作:Se—lect,Inventory和Access管理标签群.同时根据读卡器的操作,标签工作于七种状态模式:Ready,Arbitrate,Reply,Ac—knowledged,Open,Secured和Killed.其中处于Killed状态下的标签,将处于死亡状态,不可被唤醒,如图1读卡器和标签通讯状态图所示.
在上电后,标签处于Ready状态,在接收到读卡器发出的盘存命令后,标签进入Arbitrate状态,并在此状态中使用防碰撞的通讯算法使得唯一的一个标签能够及时与读卡器进行通讯,这个可以立即通讯的标签通过进入Reply和Acknowl—edge状态与读卡器的定点通讯握手完成后,进入Open状态.Open状态是用户可对标签进行操作的状态,用户可以使用Read指令获取标签中的信息.也可以使用Write指令向标签中写入信息.标签管理者则可以使用access指令和access密码使标签进入Secure状态,并在这个状态下来设置用户对标签的操作权限.
在进行读操作时,读卡器向标签发出读指令,随后标签根据读指令传送出明文数据.在进行写操作时,读卡器向标签请求一个随机数,标签将这个随机数以明文的方式传送给读卡器,读卡器使用这个随机数与待写入的数据进行异或运算传输给标签,标签将获得的数据经过再次异或得到明文后写入存储器.在进行access指令和kill指令时,读卡器在发送密码前同样先向标签请求一个随机数,并将经过此随机数异或过的密码发送给标签,以达到数据在读卡器到标签的前向通道上被掩盖的目的.
根据第三章中RFID标签安全性模型,EPC CIG2协议的标签读写信息传输过程可用以下表达式表示:
在读操作进行中,攻击者D可以获得标签承载的信息的明文.尽管写操作时读卡器写入标签的数据是以加密方式发送的,但是由于标签发送的数据和读卡器发送的数据具有一定的逻辑关系:riot⋯ 一Random—humo Random—humoTpltxt⋯ =Tpltxt⋯ 攻击者获取标签发送的信息即可通过运算获得被写入的信息,尽管对这两种攻击方式的防范考虑都是基于标签芯片后向反射能力弱,攻击者无法获得标签发送信息的基础上的,但是由于UHF标签与读卡器可以在长达1O米的距离进行通讯,在这个距离内,攻击者D有很大的空间进行藏匿,所以不得不引起注意.另外,在标准中没有指定标签与读卡器之间的验证机制,使得凡是符合标准的读卡器无论是否授权都可以对标签进行操作,这将给攻击者A和E带来了极大的便利和机会.根据第三章所提出的安全模型,该标准仅能支持前向通道的安全性,这对于整个系统安全来说是远不够的.EPC C1G2协议具有的安全防范措施及能够防范的攻击者见第八节中表3EPC C1G2与改进方案安全性比较所示.
5 基于EPC C1G2提出的安全改善
5.1 基于RFID标签芯片片上资源对安全方案的限制
RFID标签受到标签的成本,标签的阅读距离以及协议所要求的标签响应速度这些条件所限制.而这些条件同时又对于标签芯片施加了严格的约束,例如标签的成本限制了标签芯片的面积,标签的阅读距离限制了标签所消耗约功耗(标签芯片功耗越小其阅读距离越长)标签的响应速度限制了标签芯片的处理时间.而这些因素之间同时互相约束:在相同的芯片面积情况下,减少芯片的处理时间势必会增加芯片的功耗,而在相同的功耗消耗情况下,减少芯片面积必然带来芯片处理时间的增加.本文以下通过评估标签片上的资源,以得出一个适合EPC C1G2协议兼容的安全改进方案.
在EPC C1G2标准中对标签芯片的响应时间有着明确的限制:当标签到读卡器的连接频率达640KHz时,要求标签在接收到读卡器最后一位数据后能够在大约15~30Fs的时间内发出应答信号.
再者,标签芯片的成本需要不断降低,为了能够取代条形码,芯片的成本需要达到$0.05[5],面积达到0.4mm×0.4mm,如果使用SMIC0.18的标准工艺库来进行制造,假设芯片的利用率达8O ,模拟电路约占数字电路面积的一半,一个标准两输入与非门的面积为5.O4 ×1.98~m[63,根据计算可以得到标准数字电路的门数约为:
0.4mm×0.4mm×80% ×2/3÷ (5.04,um×1.98,urn)≈8552(标准门)进行协议处理的数字电路大约需要5000标准门,而能够支持安全的硬件电路只有约3000标准门.由于这些严格的限制,通常的加解密电路是很难做到这种程度,[73在针对RFID的特性进行折中后的AES电路的标准门数为3595,而需要1016个时钟周期才能完成加、解密过程,同时在100KHz下的电流为8.15zA.尽管AES电路的面积达到了要求,但是从处理速度和功耗上都远不能满足标签芯片的性能要求.
因此本文采用了如下的安全方案:在读卡器和标签的身份认证中,采用随机数和密钥相结合的方式实现快速认证,这种认证方式通过引入三条安全认证指令来实现,这种认证方式具有实现简便,具有较小的硬件电路,运算速度快等优点;在数据加密传输中采用对称密钥加密算法Tiny Encryp—tion Algorithm[9]来进行数据的加密,这种算法经过仿真及功耗分析证明可以应用于RFID标签实现.
5.2 对EPC C1G2协议提出的改进方案
通过对RFID标签的安全性分析,本文得出在各种应用和安全等级下,RFID标签与读卡器之间的信息传输都需要建立在通过相互验证的基础之上.这种机制也是进行安全防范最基本的条件.本文下面将提出一个基于EPC C1G2协议的具有验证数据加密机制的改进方案.并在此方案中假设,标签芯片以密钥为唯一的秘密,对于密钥分配和管理机制不属于本文所讨论的范围.
改进方案在标签芯片中增加三条身份密钥(Keyl,Key2,Key3),这三个密钥为标签与读卡器所共有的.同时在原先的EPC C1G2协议规定的标签的七个状态中使用一个新状态authentication替代acknowledge状态,标签只有通过这个状态,才能进入open状态,用户才可以对于标签进行操作.在原协议的基础上,在通讯指令中增加了三条指令用于对读卡器和标签之间身份密钥的传输验证.三条身份密钥与随机数相异或分别作为这三条指令承载的内容.这三条指令采取顺序连续传输,任何中断或者传输超时都将被认为是非法的验证.本方案在不改变EPC C1G2协议的原有指令情况下通过增加三条指令来使标签完成验证机制,改善了标签的安全性.改进的认证应答流程如图2所示(见下页).
图2中虚线方框内是在原始协议中增加的标签与应答器相互验证的过程,椭圆内是读卡器或标签的状态.在进行标签与读卡器通讯防碰撞时,标签的UID被发送到读卡器以辅助后端数据库进行标签密钥的查询.读卡器首先产生一个随机数RNr与Keyl经过异或运算传送给标签,合法标签使用Keyl与接收到的指令再次异或得知这个随机数,并用这个随机数分别与Key2和自己产生的随机数异或,作为回复指令的内容传送给读卡器,读卡器根据原先产生的随机数解密Key2,并核对Key2的值来决定标签是否为合法.如果标签的验证成功,读卡器会发出第三条指令,以Key3异或标签产生的随机数作为指令内容传送给标签.标签通过校对Key3的值
READER来验证读卡器的合法性.
改进方案中的身份验证的指令采用模型表示如下
在改进的身份认证方案中,标签与读卡器所共有的密钥为标签承载的关键信息,根据第三章安全模型对这个验证过程进行分析,可以得出读卡器与标签在前后通道上均以密文方式传送数据,由于随机数的存在,标签每次发送给读卡器的数据均不同,根据读卡器和标签相互发送的消息无法推断出标签上所承载数据的内容.
EPC C1G2协议中标签数据的读取采用简单随机数与明文相异或的方式,并且这个随机数采用明文传输,这在通讯中是非常危险的.攻击者可以使用密文再与随机数异或来获取明文数据;在读卡器向标签写数据时,数据均以明文传送,缺乏安全防范.在改进方案中,数据传输采用TEA算法对明文进行加密,加密密钥使用身份认证时标签产生的随机数RNt.在标签中除密钥K1,K2,K3外,本方案中引入类似于EPC C1G2中access password的权限密码PWD.在标签验证PWD后,读卡器才可以对标签中数据进行更改,写数据同样使用TEA算法对明文进行加密,改进方案中的读写操作采用模型表示如下:
6 分析与比较
在通用安全数据传输方案中[”],采用公钥密钥加密算法来进行通讯双方的身份认证,但是由于公钥制加密算法的实现电路面积较大,占有较高的功耗和处理时间,不能使用于类似RFID标签的低功耗电路中.本安全方案中采用随机数发生器和对称密钥加密算法来保证RFID标签的数据安全,这种安全算法具有功耗低,速度快和实现电路面积小等特点.这两种安全方案的比较如表2所示:
改进方案比EPC C1G2协议增加了标签与读卡器之间的身份认证机制,在数据传输中采用密文传输原则并采用一次一密从而使得相同明文数据加密时每次产生不同的密文,可以防止攻击者对标签进行跟踪.根据本文提出的安全模型,对EPC C1G2和改进方案进行评估,可以看出EPC C1G2无法抵御通常的攻击,改进方案具有更高的安全性,符合模型的安全等级三.由于改进方案在设计中并没有考虑密钥分配,在未来有待于实行进一步的工作.EPC C1G2与改进安全方案的安全性比较见上页表3.
7 总结
本文针对RFID标签可能受到的攻击进行安全建模,提出一系列能够改善标签安全性的模型.并根据这个安全模型对EPC CIG2协议进行分析,提出了可能存在的安全漏洞.在解决RFID标签安全问题中,标签与读卡器之间的相互认证
是最基本措施.随后本文提出在原始协议中增加三条指令的改进方案,使原协议具有标签与读卡器之间身份验证和数据加密机制.该验证机制符合安全模型提出的安全措施.
References:
[1]EPc Radio—Frequency Identity Protocols Class-1 Generation一2 UHF RFID Protoco1 for Communications at 860M Hz一960MHz Version 1.0.9.[,Z]Jan.30,2005.
[2]Juels A,Pappu R.Squealing euros:privacy—protection in RFID—enabled banknotes,financial cryptography[M].Springer-Ver—lag,2003,103—121.
[3]Engberg S,Harning M,Damsgaard Jensen C.Zero—knowledge device authentication±Privacy and security enhanced RFID pre—serving business value and consumer convenience[c].The Sec—ond Annual Conference On Privacy,Security and Trust-PST,New Bruswick,Canada,2004.
[4]Zhang Xiao—lan,Brian King.Modeling RFID security[M].Lec—ture Notes in Co mputer Science,Volume 38822/2005,75—90,Springer Berlin/Heidelberg.
[5]Sarma S E.Towards the five—cent tag.Technical Report MIT—AUTOID—WH一006,Auto—ID Labs,2001[EB/OL].Referenced at http://www.autoidlabs.org/.
[6]SMIC 0.18 Logic 18 Process 1.8-Volt SAGE—XTM Standard Cell Library Databook[,Z].Release 1.0。March 2004.
[7]Marc Joye,Jean—Jacques Quisquater.Strong authentication for RFID systems using the AES algorithmiC].CHES 2004,LNCS 3156,2004,357—370.
[8]Menezes A J,van Oorschot P C,Vanstone S A.Handbook of ap—plied cryptography[,M].CRC Press,1996.
[9]David J.Wheeler,Roger M.Needham,TEA,a tiny encryption algorithm Proc.Fast software encryption[c].Second Interna—tional Workshop。Lecture Notes in Co mputer Science,vo1.1008,December 1994,363—366.
[10 Israsena P.Securing ubiquitous and low—cOSt RFID using tiny encryption algorithm[C].Wireless Pervasive Computing,2006 1st International Symposium ,16-18 Jan.2006,1-4.
[11] Diffie W ,Hellman M.New directions in cryptography informa—tion theory[J].IEEE Transactions on 1976,22(6):644—654.
编者注:由于篇中存在大量的计算公式,文档转换易乱码。考虑到技术研究人员的需要,特别提供原文件以供下载之用。
点击下载