摘 要: 對(duì)匿名RFID身份認(rèn)證協(xié)議(ARAP)進(jìn)行深入的分析,發(fā)現(xiàn)其存在無(wú)法抵抗假冒攻擊和閱讀器功能受限等方面的缺陷,提出相應(yīng)的改進(jìn)方案,并對(duì)改進(jìn)后的協(xié)議進(jìn)行全面的安全性能分析。結(jié)果表明,改進(jìn)后的ARAP協(xié)議能夠抵抗假冒、拒絕服務(wù)等諸多攻擊,安全性能有所增強(qiáng),且協(xié)議執(zhí)行的計(jì)算量明顯減少,具有較高的可行性。
關(guān)鍵詞: 無(wú)線射頻識(shí)別; ARAP協(xié)議; 身份認(rèn)證; 抵抗假冒攻擊
中圖分類號(hào): TN915?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)16?0068?03
Abstract: The anonymous RFID authentication protocol (ARAP) is analyzed, and its defects that it cannot resist counterfeiting attack and overcome limitation of reader function are found. The corresponding improvement scheme is proposed. The comprehensive analysis on security performance of the improved scheme is carried out. The result shows that the improved ARAP can resist attacks such as counterfeiting, denial of service and so on, its security performance is enhanced, and the calculated amount of the protocol implementation is significantly reduced. Therefore, the improved ARAP has high feasibility.
Keywords: RFID; ARAP protocol; identity authentication; resistance to counterfeiting attack
隨著電子信息技術(shù)的發(fā)展,無(wú)線射頻識(shí)別(Radio Frequency Identification,RFID)的應(yīng)用日趨廣泛。RFID是一種非接觸式的自動(dòng)識(shí)別技術(shù),具有使用時(shí)間長(zhǎng)、讀取精度高、操作便捷等優(yōu)點(diǎn),被廣泛地應(yīng)用于工業(yè)自動(dòng)化、交通控制管理、物流管理[1]和生產(chǎn)管理[2]等眾多領(lǐng)域。與此相伴的是RFID系統(tǒng)的安全與隱私問(wèn)題日益突出,比如偽造標(biāo)簽、非法訪問(wèn)和信息泄露等。身份認(rèn)證是保證信息安全的關(guān)鍵技術(shù)之一,通過(guò)身份認(rèn)證來(lái)確保標(biāo)簽和閱讀器之間數(shù)據(jù)傳輸?shù)陌踩?,運(yùn)用軟件機(jī)制增強(qiáng)RFID系統(tǒng)的安全性能。由于RFID系統(tǒng)中標(biāo)簽的存儲(chǔ)空間和計(jì)算能力有限,難以進(jìn)行復(fù)雜的數(shù)據(jù)加、解密運(yùn)算,因此輕量級(jí)的RFID身份認(rèn)證協(xié)議成為當(dāng)前研究的熱點(diǎn)之一。現(xiàn)有的輕量級(jí)RFID身份認(rèn)證協(xié)議多數(shù)基于哈希函數(shù),其中比較典型的有:哈希鎖協(xié)議、隨機(jī)哈希鎖協(xié)議和哈希鏈協(xié)議等[3],這幾個(gè)協(xié)議都存在無(wú)法保障用戶隱私、標(biāo)簽容易追蹤等安全隱患。對(duì)此,Shen等人提出了一種基于匿名機(jī)制的RFID身份認(rèn)證協(xié)議ARAP(Anonymous RFID Authentication Protocol)[4],該協(xié)議實(shí)現(xiàn)了標(biāo)簽和閱讀器的雙向認(rèn)證,并通過(guò)使用假名來(lái)保護(hù)用戶的隱私,防止標(biāo)簽被攻擊者跟蹤。但ARAP協(xié)議也存在異或不當(dāng)而被攻擊者假冒的安全隱患[5?6]。本文對(duì)ARAP協(xié)議進(jìn)行深入的分析,指出其存在的缺陷,提出改進(jìn)的方案,并對(duì)改進(jìn)后的協(xié)議進(jìn)行安全性能分析。
1 ARAP協(xié)議
在ARAP協(xié)議中,為了防止身份泄露,標(biāo)簽使用假名防止被跟蹤,為標(biāo)簽提供隱私性保護(hù),實(shí)現(xiàn)了標(biāo)簽和讀寫器的雙向認(rèn)證。假名P表示標(biāo)簽T的身份,且協(xié)議每成功執(zhí)行一次,標(biāo)簽T就更換假名,以防止攻擊者對(duì)標(biāo)簽進(jìn)行跟蹤攻擊。每個(gè)標(biāo)簽T都與后端數(shù)據(jù)庫(kù)DB共享一個(gè)初始秘密xT ,DB能夠根據(jù)T的假名P遍歷出初始共享的秘密xT,實(shí)現(xiàn)對(duì)T的身份認(rèn)證。
ARAP協(xié)議的具體認(rèn)證過(guò)程如圖1所示,閱讀器R和標(biāo)簽T都擁有一個(gè)偽隨機(jī)數(shù)發(fā)生器,標(biāo)簽可執(zhí)行Hash計(jì)算和異或操作:
(1) R[→]T:R向T發(fā)送認(rèn)證請(qǐng)求Query和隨機(jī)數(shù)rR;
(2) T[→]R:T計(jì)算S=h(P⊕xT)和M=h(rT⊕rA⊕P)⊕S,并向R發(fā)送消息{rT,P,M}作為應(yīng)答,其中xT是T與R互相共享的秘密;
(3) R[→]DB:R向DB發(fā)送消息{rT,rR,P,M};
(4) DB[→]R:DB收到消息后,計(jì)算S′=h(P⊕xT)和M′=h(rT⊕rA⊕P)⊕S′,驗(yàn)證M′與M是否相等。若相等,則通過(guò)認(rèn)證,DB計(jì)算N′=h(M′⊕S′)發(fā)送給R。否則,認(rèn)證失敗,協(xié)議終止。
(5) R[→]T:R收到N′后轉(zhuǎn)發(fā)給T,T計(jì)算N=h(M⊕S),驗(yàn)證N′與N是否相等,若相等,則R通過(guò)認(rèn)證,T更新假名P,否則認(rèn)證失敗,協(xié)議終止。
ARAP協(xié)議使用匿名機(jī)制,能夠較好地保證標(biāo)簽用戶的真實(shí)身份、當(dāng)前位置等敏感信息,實(shí)現(xiàn)了雙向認(rèn)證,且在協(xié)議的執(zhí)行過(guò)程中,標(biāo)簽和數(shù)據(jù)庫(kù)的信息同步更新,可以抵抗去同步攻擊。
2 ARAP協(xié)議的缺陷分析
2.1 無(wú)法抵抗假冒攻擊
從ARAP協(xié)議執(zhí)行過(guò)程中可以看到rR,rT,P,M都是以明文的形式通過(guò)不安全信道傳送,攻擊者容易通過(guò)竊聽(tīng)攔截的方式獲得rR,rT,P,M消息,進(jìn)而可以假冒閱讀器R進(jìn)行攻擊,具體過(guò)程如下:
(1) 攻擊者A生成一個(gè)偽隨機(jī)數(shù)rA,并假冒閱讀器R向標(biāo)簽T發(fā)送認(rèn)證請(qǐng)求Query,認(rèn)證請(qǐng)求中包含rA。
(2) 標(biāo)簽T接收到認(rèn)證請(qǐng)求Query后,生成一個(gè)隨機(jī)數(shù)rT,并計(jì)算S=h(P⊕xT)和M=h(rT⊕rA⊕P)⊕S,然后標(biāo)簽T將消息{rT,P,M}發(fā)送給攻擊者A。
(3) A收到消息{rT,P,M}后,可直接計(jì)算出S=M⊕h(rT⊕rA⊕P)=h(rT⊕rA⊕P)⊕S⊕h(rT⊕rA⊕P) (根據(jù)異或性質(zhì):a⊕a=0,a⊕0=a)。這樣攻擊者A可以計(jì)算出N′A = h(M⊕S),并將N′發(fā)送給T。
(4) 標(biāo)簽T收到N′后,計(jì)算 N=h(M⊕S),由步驟(3)可知N=N′,則標(biāo)簽T相信A是一個(gè)合法的閱讀器,并更新假名P。
通過(guò)上述步驟可知,攻擊者A通過(guò)了標(biāo)簽的身份認(rèn)證,偽裝成一個(gè)合法的閱讀器,成功進(jìn)行假冒攻擊。
2.2 忽略了閱讀器的計(jì)算和存儲(chǔ)能力
在ARAP協(xié)議的執(zhí)行過(guò)程中,閱讀器只起到了在標(biāo)簽和后端數(shù)據(jù)庫(kù)之間進(jìn)行數(shù)據(jù)傳遞的作用,沒(méi)有執(zhí)行任何計(jì)算。事實(shí)上,相對(duì)于標(biāo)簽T,閱讀器R具有相對(duì)強(qiáng)大的計(jì)算和存儲(chǔ)能力。因此可以利用閱讀器的計(jì)算能力,對(duì)標(biāo)簽傳輸?shù)男畔⑾冗M(jìn)行第一道過(guò)濾處理,既可以防止假冒攻擊,也可以減輕后端數(shù)據(jù)庫(kù)的計(jì)算量。
3 對(duì)ARAP協(xié)議的改進(jìn)
ARAP協(xié)議無(wú)法抵抗假冒攻擊的根本原因是認(rèn)證過(guò)程中對(duì)異或運(yùn)算的使用不當(dāng),對(duì)此,參考分布式RFID詢問(wèn)?應(yīng)答協(xié)議等RFID身份認(rèn)證過(guò)程[7?9],對(duì)部分異或運(yùn)算和驗(yàn)證操作進(jìn)行修改,將標(biāo)簽用戶的秘密隱藏入哈希函數(shù)中,使攻擊者無(wú)法通過(guò)異或運(yùn)算來(lái)假冒閱讀器實(shí)施假冒攻擊。針對(duì)ARAP協(xié)議執(zhí)行過(guò)程中忽略閱讀器的計(jì)算和存儲(chǔ)能力這一缺陷,可以結(jié)合連續(xù)會(huì)話[10]的操作模式,將前次會(huì)話的信息緩存在閱讀器中,讓閱讀器通過(guò)對(duì)比兩次會(huì)話的內(nèi)容是否相同,來(lái)對(duì)消息進(jìn)行第一次過(guò)濾,以減少后端數(shù)據(jù)的計(jì)算量以及對(duì)后端數(shù)據(jù)庫(kù)的重放攻擊。改進(jìn)后的ARAP協(xié)議如下:
首先介紹協(xié)議中使用的符號(hào)及其含義,如表1所示。
(1) Challenge:閱讀器R生成一個(gè)偽隨機(jī)數(shù)rR,向標(biāo)簽T發(fā)送Query認(rèn)證請(qǐng)求,認(rèn)證請(qǐng)求中包含偽隨機(jī)數(shù)rR。
(2) T?R Response:T收到Query后生成一個(gè)偽隨機(jī)數(shù)rT,計(jì)算S=h(P⊕xT)和M=h(rR‖rT‖P‖S),其中xT是T和DB共享的秘密,P是標(biāo)簽的假名。T將消息{rT,P,M}發(fā)送給R。
(3) R?DB Response:R收到T的消息{rT,P,M}后,先根據(jù)上一次緩存的M′來(lái)判斷M′與M是否相等,若M′=M,則過(guò)濾掉該標(biāo)簽以避免攻擊者對(duì)后端服務(wù)器的重放攻擊,降低后端服務(wù)器的計(jì)算負(fù)載。若M′≠M(fèi),則R將{rR,rT,P,M}發(fā)送給DB。
(4) DB?R Reply:DB收到R的消息后,先查找事先與標(biāo)簽?zāi)涿鸓所對(duì)應(yīng)的共享秘密xT,若無(wú)記錄,則認(rèn)證失敗。若有記錄,DB計(jì)算S′=h(P⊕xT),M′= h(rR‖rT‖P‖S′),如果M=M′,則DB信任T的合法性,認(rèn)證成功,DB計(jì)算N′=h(M′‖S′),并將N′發(fā)送給R;若M≠M(fèi)′,則T不是合法標(biāo)簽,認(rèn)證失敗。
(5) R?T Reply:R將消息N′發(fā)送給T,T計(jì)算N=h(M‖S),并驗(yàn)證N和N′是否相等,如果N=N′,則T信任R的合法性,并更新假名P,如果N≠N′,認(rèn)證失敗,協(xié)議終止。
4 改進(jìn)后協(xié)議的安全和性能分析
4.1 改進(jìn)后協(xié)議的安全性分析
在安全性分析時(shí),依據(jù)如下三個(gè)基本假設(shè)[11]:攻擊者都可以竊聽(tīng)并操作公共信道上的信息;攻擊者若通過(guò)某種手段獲得用戶的智能卡,則可以得到其中存儲(chǔ)的秘密信息;用戶所采用的密碼是可記憶的,其信息熵不高。現(xiàn)選取四種較常見(jiàn)的攻擊對(duì)改進(jìn)后的ARAP協(xié)議進(jìn)行安全性分析:
(1) 抗重放攻擊。重放攻擊是指攻擊者截取以前成功認(rèn)證的消息,重新發(fā)送給目標(biāo),企圖繞過(guò)認(rèn)證,包括閱讀器的重放攻擊和標(biāo)簽的重放攻擊。若攻擊者偽裝成合法閱讀器,向標(biāo)簽發(fā)送先前監(jiān)聽(tīng)到的協(xié)議流程中的信息N′=h(M′‖P‖xT)和N′⊕P′。由于在協(xié)議的每次執(zhí)行中所使用的隨機(jī)數(shù)rR、rT和假名P都會(huì)更新,所以標(biāo)簽此時(shí)不會(huì)響應(yīng),攻擊者無(wú)法通過(guò)重放攻擊來(lái)偽裝成閱讀器。若攻擊者偽裝成一個(gè)合法標(biāo)簽,發(fā)送前次通信監(jiān)聽(tīng)到的標(biāo)簽認(rèn)證信息{rT,P,M}給閱讀器,其中M=h(rR‖rT‖P‖xT)。閱讀器對(duì)從標(biāo)簽收到的信息進(jìn)行判斷,若發(fā)現(xiàn)本次收到的消息M與上次相同,則直接過(guò)濾掉該標(biāo)簽。因此攻擊者無(wú)法通過(guò)重放攻擊來(lái)偽裝成合法標(biāo)簽。
(2) 抗假冒攻擊。在改進(jìn)后的ARAP協(xié)議中,標(biāo)簽和后端數(shù)據(jù)庫(kù)事先擁有配對(duì)參數(shù),只有擁有共享秘密xT才能通過(guò)相互驗(yàn)證。且xT通過(guò)異或運(yùn)算并隱藏入Hash函數(shù)中,攻擊者無(wú)法獲取,故改進(jìn)后的協(xié)議可以有效防止假冒攻擊。
(3) 抗位置跟蹤攻擊。改進(jìn)后的ARAP協(xié)議保留了原協(xié)議匿名性的特點(diǎn),每個(gè)標(biāo)簽都有大量的假名,且對(duì)應(yīng)于協(xié)議的每一次成功執(zhí)行,標(biāo)簽會(huì)更換假名。即使攻擊者獲取大量的通信數(shù)據(jù)來(lái)跟蹤標(biāo)簽,也無(wú)法確定標(biāo)簽的真實(shí)身份,因此可抵抗位置跟蹤攻擊。
(4) 抗拒絕服務(wù)攻擊。原ARAP協(xié)議在一些特殊情況下易遭受拒絕服務(wù)攻擊。比如,后端數(shù)據(jù)庫(kù)鏈接斷開(kāi)、閱讀器斷電等,將使得后端數(shù)據(jù)庫(kù)無(wú)法及時(shí)更新數(shù)據(jù),造成認(rèn)證失??;攻擊者通過(guò)截取某些通信數(shù)據(jù)等手段,刻意使標(biāo)簽和閱讀器不同時(shí)更新共享的數(shù)據(jù),造成下一次通信時(shí)雙方共享的數(shù)據(jù)不相同,致使合法的標(biāo)簽認(rèn)證失敗。在改進(jìn)后的ARAP協(xié)議中,后端數(shù)據(jù)庫(kù)存有和標(biāo)簽對(duì)應(yīng)的所有假名,只有標(biāo)簽需要更新假名,因而不存在需要雙方同時(shí)更新的要求,能夠全面抵抗拒絕服務(wù)攻擊。如表2所示。
由表2可知,改進(jìn)后的ARAP協(xié)議較好地抵抗針對(duì)RFID系統(tǒng)的各種攻擊,且在防拒絕服務(wù)方面的性能比原協(xié)議更強(qiáng)。
4.2 改進(jìn)后協(xié)議的性能分析
在RFID系統(tǒng)中,標(biāo)簽的存儲(chǔ)空間和計(jì)算能力有限,認(rèn)證協(xié)議在解決安全性問(wèn)題的同時(shí),也要盡可能減少標(biāo)簽的計(jì)算量和存儲(chǔ)容量,以降低標(biāo)簽的成本。改進(jìn)后的ARAP協(xié)議主要用到哈希運(yùn)算、異或運(yùn)算、隨機(jī)數(shù)運(yùn)算,是一種中量級(jí)的身份認(rèn)證協(xié)議。在此對(duì)典型的RFID身份認(rèn)證協(xié)議進(jìn)行對(duì)比,比較各協(xié)議中標(biāo)簽、閱讀器和后端數(shù)據(jù)庫(kù)的計(jì)算量,結(jié)果如表3所示。其中,H表示Hash運(yùn)算的次數(shù),X表示異或運(yùn)算的次數(shù),R表示產(chǎn)生隨機(jī)數(shù)的次數(shù),N表示數(shù)據(jù)庫(kù)存儲(chǔ)的標(biāo)簽數(shù)量,j表示Hash鏈的長(zhǎng)度。
由表2和表3可見(jiàn),本文提出的ARAP協(xié)議改進(jìn)方案,在安全性能進(jìn)一步增強(qiáng)的同時(shí),協(xié)議執(zhí)行過(guò)程中的異或次數(shù)和哈希函數(shù)的使用次數(shù)都明顯減少,降低了原有協(xié)議的計(jì)算量。
5 結(jié) 語(yǔ)
本文對(duì)ARAP協(xié)議進(jìn)行了深入的分析,發(fā)現(xiàn)其存在的安全缺陷,對(duì)此提出了改進(jìn)方案,并對(duì)改進(jìn)后的協(xié)議進(jìn)行了安全性能分析。結(jié)果表明,改進(jìn)后的ARAP協(xié)議能夠達(dá)到預(yù)期的認(rèn)證目標(biāo),能夠抵抗假冒、拒絕服務(wù)等諸多攻擊。在安全性能有所增強(qiáng)的同時(shí),協(xié)議執(zhí)行的計(jì)算量明顯減少,具有較高的可行性。
參考文獻(xiàn)
[1] 郭偉男.射頻識(shí)別技術(shù)理論及其在物流領(lǐng)域的應(yīng)用研究[J].現(xiàn)代電子技術(shù),2014,37(7):129?132.
[2] 周曉紅,李娟娟,王曉云.基于RFID和視頻人像識(shí)別技術(shù)的門禁式定員監(jiān)控系統(tǒng)的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2015,38(16):73?75.
[3] 陸桑璐,謝磊.射頻識(shí)別技術(shù):原理、協(xié)議及系統(tǒng)設(shè)計(jì)[M].北京:科學(xué)出版社,2014.
[4] SHEN J, CHOI D, MOH S, et al. A novel anonymous RFID authentication protocol providing strong privacy and security [C]// Proceedings of 2010 International Conference on Multimedia Information Networking and Security. [S.l. : s.n.], 2010: 584?588.
[5] 田蕓,陳恭亮,李建華.針對(duì)RFID身份認(rèn)證協(xié)議:ARAP協(xié)議的攻擊及改進(jìn)[J].中國(guó)電子科學(xué)研究院學(xué)報(bào),2011,6(6):556?560.
[6] 李景峰,郭衛(wèi)鋒.對(duì)ARAP認(rèn)證協(xié)議的攻擊及其改進(jìn)[J].武漢大學(xué)學(xué)報(bào)(理學(xué)版),2012,58(6):526?530.
[7] RHEE K, KWAK J, KIM S, WON D, et al. Challenge?response based RFID authentication protocol for distributed database environment [C]// Proceedings of the 2nd International Conference on Security in Pervasive Computing (SPC 2005). Berlin: Springer?Verlag, 2005: 70?84.
[8] 張兵,馬新新,秦志光.輕量級(jí)RFID雙向認(rèn)證協(xié)議設(shè)計(jì)與分析[J].電子科技大學(xué)學(xué)報(bào),2013,42(3):425?430.
[9] 王龍,彭設(shè)強(qiáng).RFID多方認(rèn)證協(xié)議及其安全性分析[J].計(jì)算機(jī)應(yīng)用,2013,33(z2):136?138.
[10] 丁振華,李錦濤,馮波.基于Hash函數(shù)的RFID安全認(rèn)證協(xié)議研究[J].計(jì)算機(jī)研究與發(fā)展,2009,46(4):583?592.
[11] WANG D, MA C G, GU D L, et al. Cryptanalysis of two dynamic ID?based remote user authentication schemes for multi?server architecture [J]. Lecture notes in computer science, 2012, 7645: 462?475.