王桂超,王 彥,李永珍
(延邊大學(xué)工學(xué)院,吉林延吉133002)
無線射頻識別RFID(Radio Frequency Identification)技術(shù)是一種通過無線廣播進行非接觸式雙向通信的自動識別技術(shù)[1]。隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,作為物聯(lián)網(wǎng)重要組成部分的RFID技術(shù)也得到空前的發(fā)展。由于其方便、快捷,因此被廣泛應(yīng)用于停車場、門禁、物流、家居等生活的各個方面。但是,由于RFID系統(tǒng)的特殊性,其信息通過無線傳輸,并且無法利用傳統(tǒng)加密技術(shù)來加密,導(dǎo)致用戶信息很容易泄露,因此其安全隱私問題也越來越受到人們的關(guān)注。
為了保證用戶信息的安全性,已經(jīng)有很多安全協(xié)議被提出,如基于Hash函數(shù)的安全協(xié)議、基于傳統(tǒng)加密技術(shù)的安全協(xié)議、基于位運算的安全協(xié)議等。雖然這些協(xié)議在一定程度上解決了RFID安全問題,但是都沒有考慮到非授權(quán)標簽信息的泄漏問題。
為了彌補這些安全協(xié)議的缺陷,本文提出了一種基于角色訪問控制RBAC(Role Based Access Control)[2]的安全認證協(xié)議。通過對閱讀器分配角色、對標簽賦予安全等級等措施,來控制閱讀器的訪問范圍,從而保護非授權(quán)標簽信息的安全。經(jīng)過對比,此協(xié)議在安全性和高效性方面優(yōu)于其他安全協(xié)議,更適合低成本RFID系統(tǒng)。
由于RFID系統(tǒng)通過無線廣播進行信息交換,因此閱讀器與標簽之間交換的數(shù)據(jù)很容易遭受截獲。同時受到標簽存儲和計算能力的限制,傳統(tǒng)加密技術(shù)無法應(yīng)用于RFID前端信道信息的加密,因此前端信道極易遭受外界的攻擊。為了保證RFID系統(tǒng)信息的安全,保護用戶的隱私,許多RFID安全協(xié)議被提出,如基于Hash函數(shù)的安全協(xié)議、基于傳統(tǒng)加密技術(shù)的安全協(xié)議、基于位運算的安全協(xié)議以及基于訪問控制的安全協(xié)議等。
基于Hash函數(shù)的安全協(xié)議主要包括Hash-Lock協(xié)議[3]、隨機化Hash-Lock協(xié)議[4]、Hash鏈協(xié)議[5]等。Hash-Lock協(xié)議采用metaID代替標簽的真實ID,以此來保護標簽信息避免泄露,認證過程中metaID保持不變,Key和標簽ID以明文形式通過不安全信道發(fā)送。因此,此協(xié)議容易受到假冒攻擊、重傳攻擊和位置跟蹤等。隨機化Hash-Lock協(xié)議每次標簽回答都是隨機的,因此可以抵抗位置跟蹤攻擊,但當(dāng)認證通過后,標簽ID以明文方式發(fā)送,因此其無法抵抗假冒攻擊和重傳攻擊等。Hash鏈協(xié)議采用兩個不同的Hash函數(shù),可以抵抗位置跟蹤,但每次認證數(shù)據(jù)庫都要對所有標簽ID進行計算和比較,計算量大,不適合大規(guī)模系統(tǒng)使用。
基于傳統(tǒng)加密技術(shù)的安全協(xié)議主要包括基于DES算法的RFID安全協(xié)議[6]、基于橢圓曲線密碼的RFID安全協(xié)議[7]、基于公鑰的RFID安全協(xié)議[8]等。雖然基于傳統(tǒng)加密技術(shù)的RFID安全協(xié)議安全性很高,但由于RFID系統(tǒng)標簽有限的計算和存儲能力,其不適用于低成本RFID系統(tǒng)。
基于位運算的安全協(xié)議主要是為了降低計算量,如基于異或運算的RFID認證協(xié)議[9],此協(xié)議采用異或運算,減少了標簽對硬件的要求,更容易實現(xiàn),更適合低成本RFID系統(tǒng),但其沒有考慮閱讀器的授權(quán)問題,容易造成非授權(quán)標簽信息的泄漏。
基于訪問控制的安全協(xié)議目的是限制閱讀器的訪問權(quán)限,從而更好地保護標簽信息的安全。如基于OPDL規(guī)則的訪問控制協(xié)議[10],但其采用復(fù)雜的OPDL規(guī)則,計算量大,計算過程復(fù)雜,不適合低成本RFID系統(tǒng)。而文獻[11]提到的一種基于訪問控制的認證協(xié)議,對非授權(quán)標簽安全問題沒有考慮,因此安全性受到很大限制。
為了在保護非授權(quán)標簽信息安全的同時降低系統(tǒng)對標簽的硬件要求,本文提出了一種基于RBAC的RFID安全認證協(xié)議。此協(xié)議通過引入角色控制機制,來保護非授權(quán)標簽信息的安全,同時可以抵抗系統(tǒng)內(nèi)部閱讀器攻擊;采用部分ID和異或運算,降低對標簽的硬件要求,更適合低成本RFID系統(tǒng)。
本系統(tǒng)由標簽、閱讀器、后臺數(shù)據(jù)庫和密鑰分配中心KDC(Key Distribution Center)組成。其中,標簽?zāi)軌虍a(chǎn)生隨機數(shù),并能進行異或運算;閱讀器從KDC接收私鑰和公鑰,能夠產(chǎn)生隨機數(shù)和進行異或運算;數(shù)據(jù)庫負責(zé)數(shù)據(jù)的存儲以及權(quán)限的驗證和數(shù)據(jù)的檢索,并從KDC接收私鑰和公鑰;密鑰分配中心負責(zé)為閱讀器和數(shù)據(jù)庫分配公鑰和私鑰。數(shù)據(jù)庫與閱讀器之間的通信信息采用RSA加密技術(shù)加密,雙方都用對方的公鑰加密發(fā)送的信息,用自己的私鑰解密接收的信息。
(1)角色定義:對不同閱讀器根據(jù)用戶ID賦予閱讀器不同的權(quán)限,也就是說,不同的閱讀器扮演不同的角色。
(2)標簽初始化:標簽IDt,安全級別SPid;
(3)閱讀器初始化:閱讀器IDr,所屬數(shù)據(jù)庫IDd;
(4)數(shù)據(jù)庫初始化:數(shù)據(jù)庫IDd,主要的數(shù)據(jù)表如表1~表5所示。
(1)閱讀器向后臺數(shù)據(jù)庫發(fā)送角色申請請求Authority和自己的IDr以及所屬的數(shù)據(jù)庫IDd和用戶的ID。
(2)后臺數(shù)據(jù)庫根據(jù)收到的數(shù)據(jù)庫IDd查詢自己的IDd值,如果與自己的IDd相同,則再在自己數(shù)據(jù)庫中查找IDr如果查找到相同的IDr,則閱讀器認證通過,否則閱讀器認證失敗。閱讀器認證通過后,再根據(jù)用戶ID查詢相對應(yīng)的角色IDrol,并將角色IDrol和與此角色IDrol對應(yīng)的安全級別SPid2返回給閱讀器。對于不是本地的閱讀器,則數(shù)據(jù)庫根據(jù)IDd通過EPC網(wǎng)絡(luò),與遠程數(shù)據(jù)庫通信,進行相關(guān)信息的查詢。
Table 1 Relationship between IDt and IDd表1 閱讀器IDt與數(shù)據(jù)庫IDd關(guān)系表
Table 2 Relationship between ID and IDrol表2 用戶ID與角色IDrol關(guān)系表
Table 3 Relationship between IDt and SPid表3 標簽IDt與安全級別SPid關(guān)系表
Table 4 Relationship between IDrol and SPid表4 角色IDrol與安全級別SPid關(guān)系表
Table 5 Relationship between SPid and authority表5 安全級別SPid與權(quán)限關(guān)系表
(3)閱讀器生成一個隨機數(shù)R,然后將R和詢問請求Query發(fā)送給標簽。
(4)標簽生成一個隨機數(shù)n,計算R′=R⊕PID,其中R為從閱讀器接收所得,PID=(IDt,n)表示在IDt數(shù)據(jù)中截取從開始位置長度為n的數(shù)據(jù)作為PID,⊕為異或運算。并將R′、n、R以及自己的安全級別SPid 1發(fā)送給閱讀器。
(5)閱讀器根據(jù)接收到的R,首先驗證與自身產(chǎn)生的R是否相等,如果相等,則繼續(xù)根據(jù)收到的SPid1與自己的SPid2比較;如果不相等,則認證失敗。當(dāng)SPid2≥SPid1時,閱讀器將R、n、R′、IDrol和SPid 1轉(zhuǎn)發(fā)給數(shù)據(jù)庫,數(shù)據(jù)庫根據(jù)收到的R、n、R′計算得到PID,然后查詢SPid1安全級別下的所有標簽IDt,如果存在PID′=(IDti,n)=PID,則標簽認證通過,否則,標簽認證失敗。在標簽認證通過之后,數(shù)據(jù)庫根據(jù)IDrol查詢閱讀器的安全級別SPid 2,如果兩者相匹配,則閱讀器權(quán)限確認,將標簽相關(guān)信息發(fā)送給閱讀器,否則,閱讀器權(quán)限認證失敗。
(6)當(dāng)閱讀器SPid2<SPid1時,閱讀器返回權(quán)限不足的信息,如果用戶選擇升級權(quán)限并付費,則數(shù)據(jù)庫根據(jù)付費信息返回給閱讀器一個大于或等于SPid1的安全級別,閱讀器從而獲得訪問權(quán)限。
具體認證過程如圖1所示。
Figure 1 Secure authentication protocol of RFID system based on RBAC圖1 基于RBAC的RFID安全認證協(xié)議
本文提出的安全認證協(xié)議的核心是基于RBAC,在認證過程中,引入角色機制,同時標簽和閱讀器都采用隨機數(shù)和異或運算,安全性與硬件要求得到保證。下面對幾種典型的攻擊進行分析。
(1)非授權(quán)標簽攻擊:通過用戶ID,閱讀器可以獲取不同的角色,從而獲得相應(yīng)的安全級別。如根據(jù)初始數(shù)據(jù)庫中的數(shù)據(jù):閱讀器002根據(jù)登錄的用戶zad,可以獲得角色001,從而此閱讀器可以獲得的安全級別為01,而屬于此安全級別下的標簽只有00001與00002。這樣,閱讀器002根據(jù)其安全級別,對這兩個標簽無任何讀取權(quán)限,而對于數(shù)據(jù)庫中的其他所有未授權(quán)的標簽如00003、0000N的信息也同樣無法讀寫;而如果閱讀器002登錄用戶ID為DDD,閱讀器獲得的角色為002。因此,閱讀器獲得的安全級別為02,而此安全級別下的標簽ID為00003,這樣,閱讀器002只能讀取標簽00003的信息,而對其無寫入權(quán)限。同時,對數(shù)據(jù)庫中的其他標簽,沒有任何讀寫權(quán)限,從而能夠更好地保護非授權(quán)標簽信息免遭泄露。
(2)假冒攻擊:在RFID系統(tǒng)中,有兩種假冒攻擊[12]。一種是系統(tǒng)外部假冒攻擊:攻擊者偽裝成合法閱讀器或者合法標簽進行假冒攻擊;另一種是系統(tǒng)內(nèi)部假冒攻擊:系統(tǒng)內(nèi)部閱讀器假冒其他系統(tǒng)內(nèi)部閱讀器進行攻擊。
①系統(tǒng)外部假冒攻擊。首先攻擊者偽裝成合法閱讀器,發(fā)送Query‖R1給標簽,攻擊者獲取標簽的回應(yīng)SPid‖R′‖n‖R并存儲;在下次認證會話中,當(dāng)真正的合法閱讀器發(fā)送Query‖R2時,攻擊者偽裝成合法標簽向閱讀器響應(yīng)SPid‖R′‖n‖R。由于閱讀器每次會話都會產(chǎn)生一個新的隨機數(shù),即R1≠R2,所以PID1=R′⊕R1,PID2=R′⊕R2→PID1≠PID2。又因為PID1=(IDt,n),所以PID2≠(IDt,n)。所以,在數(shù)據(jù)庫中的SPid對應(yīng)的標簽下查找不到PID2=(IDt′,n),因此此協(xié)議可以抵抗此類假冒攻擊。
②系統(tǒng)內(nèi)部假冒攻擊。因為攻擊者是系統(tǒng)內(nèi)部閱讀器,其對整個通信協(xié)議都非常清楚,因此此攻擊具有很大的危險性。假設(shè)系統(tǒng)內(nèi)部閱讀器x假冒內(nèi)部閱讀器y向標簽j進行認證請求。由于閱讀器與后臺數(shù)據(jù)庫進行通信時經(jīng)過RSA加密,而閱讀器x無法得到閱讀器y的私鑰,因此閱讀器x得到數(shù)據(jù)庫的響應(yīng)Ekuy(IDrol‖SPid1)后無法解密,認證失敗。同時,如果閱讀器x和閱讀器y的安全等級不同的話,對標簽的請求也有可能被拒絕,從而保護了標簽的安全性。
(3)重傳攻擊:重傳攻擊主要包括兩種,一種是系統(tǒng)外部重傳攻擊,另一種是系統(tǒng)內(nèi)部重傳攻擊。
①系統(tǒng)外部重傳攻擊:首先攻擊者掃描標簽,并記錄標簽對其響應(yīng)數(shù)據(jù)SPid‖R′‖n‖R,在之后的某個時刻,攻擊者將此響應(yīng)重傳給閱讀器,但是由于每次標簽的響應(yīng)都有隨機數(shù)R參與,即使閱讀器將此響應(yīng)轉(zhuǎn)發(fā)給數(shù)據(jù)庫,由于兩次隨機數(shù)R相同,數(shù)據(jù)庫則認為此響應(yīng)已經(jīng)收到過,因此直接拒絕再次響應(yīng)。所以,此協(xié)議也可以抵抗此類重傳攻擊。
②系統(tǒng)內(nèi)部重傳攻擊:由于系統(tǒng)內(nèi)部閱讀器對系統(tǒng)內(nèi)部整個認證過程了解,因此在經(jīng)過一次合法認證過程之后,如果閱讀器將標簽響應(yīng)信息存儲,則對于Hash-Lock協(xié)議、隨機化Hash-Lock協(xié)議和Hash鏈協(xié)議等,閱讀器可以不經(jīng)過后臺數(shù)據(jù)庫而直接對標簽進行讀取。
而對于本協(xié)議,由于閱讀器的閱讀權(quán)限必須經(jīng)過后臺數(shù)據(jù)庫確認之后才能讀取權(quán)限范圍內(nèi)的信息,因此,閱讀器必須轉(zhuǎn)發(fā)其存儲的標簽響應(yīng)信息,而對于相同的響應(yīng)信息,數(shù)據(jù)庫則直接拒絕,因此此協(xié)議可以完全抵抗系統(tǒng)內(nèi)部閱讀器重傳攻擊。
(4)位置跟蹤:如果閱讀器發(fā)送詢問請求,標簽收到請求后發(fā)送響應(yīng)。由于標簽每次都生成一個隨機數(shù),因此每次SPid‖R′‖n‖R都不相同,無法確定為同一個標簽的響應(yīng),也就不能進行位置跟蹤。
(5)竊聽攻擊:在閱讀器和標簽之間傳輸?shù)男畔⒂捎谄淝岸诵诺啦话踩?,可能會被竊聽。但是,由于在閱讀器和標簽之間的通信信息都有隨機數(shù)的參與,根據(jù)Shannon理論證明:如果在XOR操作中至少有一項是隨機的,則簡單的XOR加密是安全的[13]。
因此,閱讀器之間的通信是安全的,此協(xié)議可以抵抗竊聽攻擊。
從表6可以看出,本協(xié)議具有很強的安全性,在非授權(quán)標簽攻擊、內(nèi)部閱讀器攻擊等方面都有自己特有的安全機制。
Table 6 Security analysis of security protocols表6 各個安全協(xié)議安全性分析
本文提出了一種基于RBAC的RFID安全認證協(xié)議,該協(xié)議通過引入基于角色的訪問控制機制和安全級別等措施,來保護非授權(quán)標簽信息的安全性,從而控制閱讀器訪問范圍,防止非授權(quán)標簽信息的泄露,彌補了目前一些RFID安全協(xié)議不能保護非授權(quán)標簽信息安全的不足。同時,該協(xié)議利用部分ID的異或運算來降低標簽的計算量,更適合低成本RFID系統(tǒng)。
[1] Bai Yu,Teng Jian-fu,Zhang Li-yi,et al.Hash lock-based strengthen synchronization RFID authentication protocol[J].Computer Engineering,2009,35(21):138-143.(in Chinese)
[2] Ferraiolo D,Kuhn R.Role based access controls[C]∥Proc of the 15th NIST-NCSC National Computer Security Conference,1992:554-563.
[3] Sarma S E,Weis S A,Engels D W.RFID systems and security and privacy implications[C]∥Proc of the 4th International Workshop on Cryptographic Hardware and Embedded Systems(CHE2002),2003:454-469.
[4] Weis S A.Security and privacy in radio frequency identification device[D].USA:MIT,2003.
[5] Ohkubo M,Suzuki K,Kinoshita S.Hash-chain based forward-secure privacy protection scheme for low-cost RFID[C]∥Proc of the 2004 Symposium on Cryptography and Information Security(SCIS 2004),2004:719-742.
[6] Li Yan-kun,Xie Jing,Mao Zhi-gang.Secure RFID system based on DES encrypt algorithm[J].Modern Electronic Technique,2009(1):87-93.(in Chinese)
[7] Wu Xue-h(huán)ui,Niu Zhi-h(huán)ua,Wang Chao.Security protocol of RFID based on elliptic curve cryptography[J].Computer Engineering and Design,2010,31(24):5165-5167.(in Chinese)
[8] Li Bin,Ling Li.An NTRU public key encryption system based RFID authentication protocol[J].Computer Applications and Software,2012,29(4):278-280.(in Chinese)
[9] Pan Tao,Zuo Kai-zhong,Guo Liang-min,et al.Mutual authentication protocol based on XOR operation for low-cost RFID[J].Computer Engineering,2012,38(9):278-281.(in Chinese)
[10] Li Yi-yang,Sun Gang.An OPDL rule-based RFID date access control mechanism[J].Communications Technology,2009,42(1):239-241.(in Chinese)
[11] Wang Gui-chao,Zhang Ai-li,Li Yong-zhen.Secure authentication protocol of RFID system based on access control[J].Advanced Engineering Forum,2012,6(9):1072-1077.
[12] Xie Chuan.RFID authentication protocol based on hash function and key array[J].Journal of Computer Applications,2011,31(3):805-811.(in Chinese)
[13] Yang Ling,Chen Zhi-qiang.A mutual authentication protocol for low-cost RFID[J].Computer Applications and Software,2010,27(8):298-300.(in Chinese)
附中文參考文獻:
[1] 白煜,滕建輔,張立毅,等.基于Hash鎖的同步強化RFID驗證協(xié)議[J].計算機工程,2009,35(21):138-143.
[6] 李彥堃,謝憬,毛志剛.基于DES算法的RFID安全系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2009(1):87-93.
[7] 吳學(xué)慧,牛志華,王潮.基于橢圓曲線密碼的RFID安全協(xié)議[J].計算機工程與設(shè)計,2010,31(24):5165-5167.
[8] 李斌,凌力.一種基于NTRU公鑰加密系統(tǒng)的RFID認證協(xié)議[J].計算機應(yīng)用與軟件,2012,29(4):278-280.
[9] 潘濤,左開中,郭良敏,等.基于異或運算的低成本RFID雙向認證協(xié)議[J].計算機工程,2012,38(9):278-281.
[10] 李亦楊,孫罡.一種基于OPDL規(guī)則的RFID數(shù)據(jù)訪問控制機制[J].通信技術(shù),2009,42(1):239-241.
[12] 謝川.結(jié)合Hash函數(shù)和密鑰陣列的RFID安全認證協(xié)議[J].計算機應(yīng)用,2011,31(3):805-811.
[13] 楊靈,陳志強.一種低成本RFID的雙向認證協(xié)議[J].計算機應(yīng)用與軟件,2010,27(8):298-300.