劉彥龍,白煜,滕建輔
天津大學電子信息工程學院,天津 300072
RFID分布式密鑰陣列認證協議的安全性分析
劉彥龍,白煜,滕建輔
天津大學電子信息工程學院,天津 300072
RFID技術已廣泛地應用在諸如訪問控制、支付系統、票務系統以及供應鏈管理等領域,但同時安全和隱私問題變得越來越嚴重。安全認證協議的設計與完善對于保護信息安全和用戶隱私變得更加重要。2011年H.Ning等人提出分布式可擴展密鑰陣列認證協議(KAAP),該協議采用分布式密鑰陣列架構、訪問列表機制和動態隨機數機制來抵御系統外部攻擊和內部假冒攻擊。針對KAAP建立兩種有效的攻擊模型,在此基礎上分析得出該認證協議不能有效地抵御來自外部的重放攻擊和拒絕服務攻擊。KAAP安全性存在漏洞,不能達到設計的預期目標。
外部攻擊;密鑰陣列;認證協議;射頻識別
射頻識別(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協議存在安全漏洞,不能有效抵御外部攻擊,有待改進。
分布式密鑰認證協議(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)
本文通過對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協議防御拒絕服務攻擊的設計不合理。
本文針對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