RFID分布式密钥阵列认证协议的安全性分析
2014-07-07刘彦龙白煜滕建辅
刘彦龙,白煜,滕建辅
天津大学电子信息工程学院,天津 300072
RFID分布式密钥阵列认证协议的安全性分析
刘彦龙,白煜,滕建辅
天津大学电子信息工程学院,天津 300072
RFID技术已广泛地应用在诸如访问控制、支付系统、票务系统以及供应链管理等领域,但同时安全和隐私问题变得越来越严重。安全认证协议的设计与完善对于保护信息安全和用户隐私变得更加重要。2011年H.Ning等人提出分布式可扩展密钥阵列认证协议(KAAP),该协议采用分布式密钥阵列架构、访问列表机制和动态随机数机制来抵御系统外部攻击和内部假冒攻击。针对KAAP建立两种有效的攻击模型,在此基础上分析得出该认证协议不能有效地抵御来自外部的重放攻击和拒绝服务攻击。KAAP安全性存在漏洞,不能达到设计的预期目标。
外部攻击;密钥阵列;认证协议;射频识别
1 引言
射频识别(Radio Frequency IDentification,RFID)是利用电磁或者静电耦合通过无线信道传输信息来达到目标物体身份确认的自动识别技术。RFID系统能够在复杂环境中很好地工作,这是其他自动识别技术(比如,条形码)所不具备的[1]。因而,RFID系统广泛且有效地应用在访问控制、支付系统、票务系统以及供应链管理等领域。
随着RFID技术的大范围应用,安全和隐私问题受到普遍重视。RFID系统的开放性和组件的高流动性,是使其容易受到各种攻击的根本原因[2]。此外,低成本标签计算能力的有限性也使得安全加密算法难以实现。按照攻击者能否破解RFID系统标签,将攻击分为弱攻击和强攻击。弱攻击是指攻击者通过窃听或篡改通信数据等行为来操纵阅读器和标签之间的通信过程,但攻击者无法破解标签[3]。其攻击方式有:假冒攻击、窃听攻击、重放攻击、中间人攻击和拒绝服务攻击。强攻击不仅具有弱攻击的特点,而且能破解标签,从而获得标签内部信息[4]。其攻击方式有:前向追踪、后向追踪和服务器攻击。无论弱攻击还是强攻击都会使RFID系统遭受巨大的安全和隐私风险。
目前,能提高RFID系统安全和隐私性能的技术有很多。通常将这些技术分为物理方法和逻辑方法。常用的物理技术包括:封杀标签(即Kill指令和Sleep指令)、法拉第网罩、主动干扰和阻止标签。由于物理方法存在各种局限性,研究者将加密技术引入RFID系统,称为逻辑方法,也称安全认证协议。逻辑方法主要基于安全认证和加密技术。根据协议的计算复杂度和采用的加密方法可以将RFID安全协议分为四类[5]。第一类称作重量级协议,该类协议支持传统的加密函数,如对称加密、非对称加密和单向Hash函数加密。如Chen等提出的基于二次剩余的相互认证协议[6]。第二类称为简单协议,这类协议支持随机数产生器和单向Hash函数,如文献[7]中提出的协议。第三类是轻量级协议,该类协议中标签采用伪随机数发生器和简单的函数运算,如循环冗余编码(CRC),但是不包含Hash函数。如EPCglobal Class1 Gen2 RFID标准采用的认证机制属于轻量级协议[8]。第四类是超轻量级协议,此类协议仅采用位运算,如AND、XOR、OR和模运算等。如Chien提出的SASI协议[9]。
但是,大多数协议只关注RFID系统外部的攻击,而忽略了系统内部合法标签或阅读器之间的伪造或篡改攻击[10]。例如,在一个供应链系统中,不同的部门拥有各自授权的阅读器,并且这些阅读器只能访问相应授权的标签信息。但如果物流商的授权阅读器假冒成制造商的授权阅读器访问制造商拥有的标签来获取制造商的信息,则会造成制造商的利益损失。为此,H.Ning等人在文[11]中提出了可扩展的分布式密钥阵列认证协议(KAAP)。该协议称采用密钥阵列架构、访问列表和动态随机数机制,能够抵御来自RFID系统外部攻击和内部假冒攻击。
然而,本文通过对KAAP协议的工作原理的认真分析并建立有效的攻击模型验证,指出来自RFID系统的外部攻击——重放攻击和拒绝服务攻击都能获得成功。因此,本文认为KAAP协议存在安全漏洞,不能有效抵御外部攻击,有待改进。
2 分布式密钥阵列认证协议(KAAP)简介
分布式密钥认证协议(KAAP)是H.Ning等人为防止RFID系统遭受内部和外部攻击,提高系统的可靠性和安全性而提出的。本文中参数符号表示的意义如表1所示。
KAAP中,I个阅读器分成M组,J个标签分成N组。对标签组来说不同的阅读器组授权不相关,即两个不同的阅读器组访问同一标签的不同识别区域。KAAP协议认证过程中存在两种密钥——阅读器和标签的共享密钥ku和存储于密钥阵列KM×N的认证密钥km,n。其中,共享密钥ku用于防止阅读器的假名PIDR和标签的假名PIDT被系统外部非法实体窃取。认证密钥km,n用来保护标签的特定识别区域安全,同时防止阅读器越权访问标签数据。此处,km,n表示分配给第m(1≤m≤M)组阅读器GRm与第n(1≤n≤N)组标签GTn的认证密钥,它决定某个阅读器能否访问标签,并且决定能够访问标签的识别区域。假设,第i个阅读器Ri属于GRm,第j个标签Tj属于GTn,则Tj保存有认证密钥阵列的第n列相关密钥。注意到M远远小于J,认证密钥阵列KM×N可表示如下:
表1 参数符号说明
KM×N存储在后台数据库中。
KAAP协议的认证过程分为5个步骤,如图1,可用阅读器Ri与标签Tj来描述协议认证过程。
第1步(问询消息)阅读器Ri生成随机数rR,并与自己的假名PIDR一起用共享密钥ku加密得到{rR||PIDR}ku,然后将{rR||PIDR}ku作为初始问询信息发送给标签Tj。
第2步(响应消息)标签Tj用ku解密接收到的问询信息{rR||PIDR}ku,获得rR与PIDR。标签Tj通过在访问列表LR中检索PIDR来初步认证阅读器Ri。若LR中不存在PIDR,则认证失败。否则,Tj生成随机数rT,同时检索相关认证密钥km,n,然后对rR与rT加密,得到{rR||rT}km,n。接着Tj对自己的假名PIDT与{rR||rT}km,n继续用共享密钥ku加密,得到密文{PIDT||{rR||rT}km,n}ku,并将其作为响应信息发送给阅读器Ri。
第3步(转发消息)当阅读器Ri接到标签Tj的响应消息后,用ku解密{PIDT||{rR||rT}km,n}ku获得标签的假名PIDT,并将其转发给后台数据库DB以待认证。
第4步(阅读器认证)后台数据库DB通过检索访问列表LT中是否存在PIDT而判定的阅读器Ri的合法性。如果PIDT不存在于访问列表LT中,则认证停止。否则DB将认证密钥km,n发送到阅读器Ri。Ri解密{rR||rT}km,n得到随机数rR与rT。如果得到的rR与第1步中生成的随机数rR相同,则标签Tj被阅读器Ri成功认证,同时Ri将{rT}km,n发送给Tj。否则,认证失败。
第5步(标签认证)标签Tj解密收到的{rT}km,n得到随机数rT。如果rT与第2步生成的随机数rT相等,则阅读器Ri被标签Tj成功认证。否则,认证失败。
至此,整个认证过程完成,标签Tj将特定的可访问区域信息发送给已认证的阅读器Ri。从认证过程可看出,KAAP协议采用分布式密钥阵列询问—应答双向认证机制和随机访问控制机制来保证安全性。访问列表机制对系统实体进行初步验证,动态随机数机制确保认证实体的合法性,同时保证认证动态更新。基于此KAAP协议称能抵御系统外部攻击和内部伪造攻击。
图1 分布式密钥阵列认证协议(KAAP)
3 分布式密钥阵列认证协议(KAAP)脆弱性分析
本文通过对KAAP协议漏洞分析并建立有效的攻击模型验证,指出KAAP协议不能成功地抵御重放攻击和拒绝服务攻击,因而没能达到抵御外部攻击的设计目标,系统存在安全漏洞。
3.1 攻击背景
分布式可扩展密钥阵列协议(KAAP)是基于分布式密钥阵列询问—应答机制的,具有可扩展性,即系统内部合法实体可以随时增加或退出,因此共享密钥ku存在外泄的可能。一旦共享密钥ku被攻击者获得,则阅读器和标签的假名很容易被系统外部非法实体窃取,从而RFID系统将会面临恶意攻击的危险。
在有关安全与隐私的问题中,大多数研究者认为数据库与阅读器之间的通信是安全的。文献[12]认为这是没有考虑到阅读器可移动的情形。文献[12]进一步指出,在无线通信环境下,移动的阅读器和数据库实时通信的信道是不安全的。因为这种情形下,阅读器可以被假冒。因而,H.Ning等人在文[11]中对重放攻击分析时认为,数据库DB与攻击者A伪装的阅读器Ra能顺利通信的情况是存在的。
基于以上两种情形的存在性,本文设计了重放攻击模型和拒绝服务攻击模型,来分析KAAP协议的脆弱性。本文假设,在一次成功的协议认证过程中,阅读器和标签之间的交换信息是完整的。
3.2 重放攻击(Rep lay attack)
重放攻击(replay attack)是指攻击者截获阅读器和标签的通信信息后再重放这些信息,由于数据是合法的,系统会对重放的信息以正常方式处理。因而,攻击者可以成功假冒合法阅读器或标签而不被发现[13]。RFID系统中,重放攻击分为两种,一种是攻击者伪装成阅读器请求合法标签的认证,另一种是攻击者伪装成标签请求合法阅读器的认证。
KAAP协议采用动态更新随机数机制来抵御重放攻击,即阅读器和标签生成各自的随机数,通过比较发送和接收随机数是否一致来抵御重放攻击。H.Ning等人在文[11]中对重放攻击分析时认为,即使在数据库DB与攻击者A伪装的阅读器Ra能顺利通信的情况下,因为随机数机制的存在,重放攻击仍然无法成功。
然而,本文同样在H.Ning等人的分析情形下,即数据库DB与攻击者A伪装的阅读器Ra能顺利通信的前提下,以攻击者A伪装成阅读器Ra建立有效的攻击模型来说明KAAP协议不能抵御重放攻击,该协议存在安全漏洞。在实际的攻击模型中,攻击者A伪装成阅读器Ra,截获合法标签Tj和阅读器Ri之间的通信信息,然后重放这些合法信息进行攻击。因为这些合法信息中包含有合法阅读器Ri和标签Tj生成的随机数,所以合法阅读器Ri和标签Tj收到的随机数和自身生成的随机数是相等的,故攻击者A突破了KAAP协议的动态随机数机制,重放攻击获得成功。具体攻击模型分为两个阶段,如下:
第一阶段:攻击者A在合法实体Ri和Tj的一次会话过程中,获知了所有的通信信息,如:{rR||PIDR}ku、{PIDT||{rR||rT}km,n}ku等。
第二阶段:在接下来的会话过程中,具体攻击步骤如下:
Tj⇒:认证完成,重放攻击获得成功。
首先,攻击者A利用阻断攻击[10]阻断合法阅读器Ri和合法标签Tj之间的通信。之后,攻击者A假冒成阅读器Ra并重放上次会话中获知的合法阅读器Ri的问询信息{rR||PIDR}ku给合法标签Tj。Tj用共享密钥ku解密{rR||PIDR}ku获得合法阅读器Ri的假名PIDR。接着,Tj检索访问列表LR,因LR中存在PIDR而误认伪装阅读器Ra是合法的,故攻击者A伪装的阅读器Ra得到合法标签Tj的初步认证。Tj返回响应信息{PIDT||{rR||r′T}km,n}ku给伪装阅读器Ra,此时合法标签Tj和合法阅读器Ri之间的通信仍然是被阻断的。Ra用已经获得的共享密钥ku解密响应信息{PIDT||{rR||r′T}km,n}ku得到合法标签Tj的假名PIDT,并将其转发给数据库DB。DB检索访问列表LT,因LT中存在PIDT而认证合法标签Tj,同时将相关认证密钥km,n发送给伪装阅读器Ra。此时已知Tj是合法的,伪装阅读器Ra不需要对其进行认证,故Ra不检验自身的随机数是否相等,只将{r′T}km,n发送给Tj。合法标签Tj解密{r′T}km,n得到随机数r′T,并且与自身生成的随机数r′T相等,至此伪装阅读器Ra被合法标签Tj认为是合法的,认证完成,重放攻击成功。
由本文重放攻击模型可看出,在攻击者获知一次会话信息的情况下,在接下来的会话过程中,攻击者假冒阅读器并重放这些信息就能取得攻击成功。因而,KAAP协议采用动态更新随机数机制来抵御重放攻击的设计是有缺陷的,系统不能防止重放攻击。
3.3 拒绝服务攻击(DOS attack)
拒绝服务攻击(DOS attack)包括射频阻塞和同步失败。射频阻塞指攻击者直接阻塞通信信息。同步失败指攻击者通过分析构造认证信息然后发送给标签或服务器,使一方更新密钥,而另一方密钥不变,导致服务器和标签包含信息不一致,双方无法完成认证[14]。
KAAP协议中,采用访问列表初步验证和动态更新随机数两种方式来抵御拒绝服务攻击。访问列表对阅读器和标签的假名进行验证,如果列表中不存在发起连续访问要求实体的假名,则该实体被认为是非法的,认证行为终止,这样起到初步认证作用。随机数机制用来保证认证中实体的合法性以及同步性,如果同一标签在某一时刻接到两次相同的问询信息,则标签拒绝响应,同样这种机制也保证攻击者不能够直接中途侵入认证过程。
但是从本文重放攻击模型可知:攻击者A可以假冒成阅读器Ra或者标签Ta,截获合法实体之间的认证信息{rR||PIDR}ku、{PIDT||{rR||rT}km,n}ku等。这些合法认证信息中包含存在于访问列表(LT,LR)中的合法假名(PIDT,PIDR)以及合法阅读器Ri和标签Tj生成的随机数(rR,rT)。这样攻击者A可利用这些信息破解访问列表和随机数的防御机制。基于此,本文通过进一步分析认为KAAP协议不能有效地抵御拒绝服务攻击。为了验证这一结论,本文选取系统中一对合法阅读器Ri和标签Tj来建立了拒绝服务攻击模型,具体模型分为三步,如下:
第一步:
攻击者A阻断合法阅读器Ri和标签Tj之间的通信。然后伪装成标签Ta截取合法阅读器Ri的问询信息{rR||PIDR}ku。并且,用窃取的共享密钥ku解密问询信息{rR||PIDR}ku,获得合法阅读器Ri假名PIDR。
攻击者A伪装成阅读器Ra,将自身生成的随机数ra1和第一步获取的合法阅读器Ri假名PIDR用共享密钥ku加密得到新的问询信息{ra1||PIDR}ku并将其发送给合法标签Tj。Tj用共享密钥ku解密问询信息{ra1||PIDR}ku得到阅读器Ri假名PIDR。然后,Tj检索访问列表LR,因其中存在假名PIDR而认为攻击者A是合法的,从而错误地向攻击者A返回响应信息{PIDR||{ra1||rT}km,n}ku。
第三步:
攻击者A伪装成标签Ta将第二步中得到合法标签Tj的响应信息{PIDR||{ra1||rT}km,n}ku发送给合法阅读器Ri。Ri解密响应信息{PIDR||{ra1||rT}km,n}ku得到合法标签Tj的假名PIDT并将其转发给数据库DB。DB搜索访问列表LT因存在PIDT而确认伪装标签Ta的合法性,并将相关认证密钥km,n发送给合法阅读器Ri。Ri解密{ra1||rT}km,n获得随机数ra1,但是ra1与自己生成的随机数rR不相等,故认证失败,攻击获得成功。
由上述攻击模型可以得出,攻击者A抽取问询信息{rR||PIDR}ku中阅读器Ri的假名PIDR。然后生成大量随机数(ra1,ra2,…,ran)并与得到的假名PIDR组成自身问询信息({ra1||PIDR}ku,{ra2||PIDR}ku,…,{ran||PIDR}ku)向系统所有标签发送。这些标签在收到这些问询信息后,用共享密钥ku解密这些问询信息得到阅读器假名PIDR。然后,标签检索访问列表LR,因其中存在阅读器的假名PIDR而认为攻击者A是合法的,从而错误地向攻击者A返回响应信息。但是,由于攻击者A生成的这些随机数和合法阅读器Ri生成的随机数不一致,所以这些合法标签得不到正确的认证。攻击者A抽取不同合法阅读器的假名重复此操作,使合法阅读器和标签长时间错误响应,得不到认证,造成系统拒绝服务,攻击获得成功。因而,KAAP协议防御拒绝服务攻击的设计不合理。
4 结论
本文针对H.Ning等人提出的分布式可扩展密钥阵列认证协议(KAAP)设计了重放攻击和拒绝服务攻击两种有效的攻击模型,同时结合对KAAP协议漏洞的分析结果,指出KAAP协议尽管采用了分布式密钥架构、访问列表验证机制和动态随机数机制,但仍不能很好地抵御重放攻击和拒绝服务攻击,因此KAAP协议防御来自外部攻击的设计仍有待改进。KAPP协议是可扩展的RFID认证协议,因系统的两种密钥——认证密钥km,n和共享密钥ku,特别是共享密钥ku易被攻击者获取,使得采用该协议的RFID系统存在一定的安全隐患。本文的攻击模型均是在攻击者获取了共享密钥ku的基础上建立的。因此,能够改进共享密钥ku的分发机制,将会提高KAAP协议抵御外部攻击的性能。这会使得KAAP协议成为高安全性的认证协议,在供应链、金融和军事等领域有一定的应用前景。
[1]Pateriya R K,Sangeeta S.The evolution of RFID security and privacy:a research survey[C]//2011 International Conference on Communication Systems and Network Technologies,2011:115-119.
[2]Zuo Yanjun.Survivable RFID systems:issues,challenges,and techniques[J].IEEE Transactions on System s,M an,and Cybernetics,Part C:Applications and Review s,2010,40(4):406-418.
[3]Song B,Mitchell C J.Scalable RFID security protocols supporting tag ownership transfer[J].Computer Communications,2011,34(4):556-566.
[4]Song B.RFID authentication protocols using symmetric cryptography[D].London:University of London,2009.
[5]轩秀巍.超高频射频识别系统的关键技术研究[D].天津:天津大学,2012.
[6]Chen Y,Chou J,Sun H.A novel mutual authentication scheme based on quadratic residues for RFID systems[J]. Computer Networks,2008,52(12):2373-2380.
[7]Chien Hung-Yu.Secure access control schemes for RFID systems with anonym ity[C]//International Conference on Mobile Data Management,2006.
[8]EPCglobal Speci fi cation for RFID Air Interface.Radio frequency identity protocols class-1 generation-2 UHF RFID protocol for communications at 860 MHz-960 MHz[S]. Version 1.0.9,2005-01.
[9]Chien Hung-Yu.SASI:A new ultralightweight RFID authentication protocol providing strong authentication and strong integrity[J].IEEE Transactions on Dependable and Secure Computing,2007,4(4):337-340.
[10]丁治国,郭立,王昱洁.基于密钥阵列的RFID安全认证协议[J].电子与信息学报,2009,31(3):722-726.
[11]Ning H,Liu H,Mao J,et al.Scalable and distributed key array authentication protocol in radio frequency identification based sensor systems[J].IET Communication,2011,5(12):1755-1768.
[12]Wei Chia-Hui,Hwang M in-Shiang,Yeh-hao C A.A mutual authentication protocol for RFID[J].IEEE Computer Society,2011,13(2):20-24.
[13]Dim itriou T.A lightweight RFID protocol to protect against traceability and cloning attacks[C]//Conference on Security and Privacy for Emerging A reas in Communication Networks(SecureComm2005),A thens,Greece,2005:59-66.
[14]Duc D N,Kim K.Defending RFID authentication protocols against DoS attacks[J].Computer Communications,2011,34(3):384-390.
LIU Yanlong,BAI Yu,TENG Jianfu
School of Electronic and Information Engineering,Tianjin University,Tianjin 300072,China
As the Radio Frequency IDentification(RFID)technology is widely applied in admission control,payment, ticketing and supply chain management,the security and privacy issues become more and more serious.So it is imperative to design authentication protocols to resist possible attacks and threats.2011,H.Ning etc.proposed a scalable and distributed key array authentication protocol(KAAP),which uses the distributed key architecture,access list mechanism and dynamic random number mechanism to resist both external attacks and internal forgery attacks.In this paper,we proposed two effective attacks are proposed to against the KAAP,and attacks analysis shows KAAP fails to resist external attacks including replay attack and Denial of Service attack effectively.Therefore,KAAPhas security vulnerability and can not achieve the expected goals.
external attacks;key array;authentication Protocol;Radio Frequency IDentification(RFID)
A
TP309;TN915.08
10.3778/j.issn.1002-8331.1209-0077
LIU Yan long,BAI Yu,TENG Jian fu.Security analysis of key array authentication protocol.Computer Engineering and Applications,2014,50(16):72-76.
天津市自然科学基金项目(No.09JCYBJC00700)。
刘彦龙(1985—),男,硕士研究生,研究领域为信号与信息处理;白煜(1978—),男,博士,讲师,研究方向为信号与信息处理;滕建辅(1954—),男,教授,博士生导师,研究方向为滤波器的理论与设计、电路设计、信号处理技术。E-mail:liuylong@tju.edu.cn
2012-09-11
2012-12-03
1002-8331(2014)16-0072-05
CNKI网络优先出版:2012-12-18,http://www.cnki.net/kcms/detail/11.2127.TP.20121218.1520.008.htm l