關(guān)輝
摘 要:RFID技術(shù)近年來發(fā)展迅速,在諸多領(lǐng)域得到了廣泛應(yīng)用,但隨之而來的各種安全問題也越來越突出?,F(xiàn)有的一些RFID系統(tǒng)安全方案都存在著一定的缺陷,不能很好地解決安全問題。通過對一些典型安全方案的分析,提出了一種基于Hash函數(shù)的雙向認證協(xié)議,并對其進行了性能分析。該協(xié)議能夠更好地保護用戶隱私,實現(xiàn)了更高的安全性。
關(guān)鍵詞:射頻識別;認證協(xié)議;Hash函數(shù);安全方案
中圖分類號:TP393 文獻標(biāo)識碼:A 文章編號:2095-1302(2015)02-00-02
0 引 言
RFID(Radio Frequency Identification,射頻識別)利用射頻信號通過空間耦合(交變磁場或電磁場)在閱讀器和電子標(biāo)簽之間實現(xiàn)無接觸的信息傳遞,并可通過所傳遞的信息達到自動識別的目的[1]。隨著大規(guī)模集成電路技術(shù)的不斷進步,RFID產(chǎn)品的成本正不斷降低,RFID技術(shù)在各行各業(yè)的應(yīng)用也越來越廣泛。但隨之而來的各種安全問題也日益嚴峻,并逐漸成為制約RFID進一步推廣應(yīng)用的重要因素。因此,必須開發(fā)出一種高效、可靠和具備一定強度的安全技術(shù),來解決RFID的安全問題。
1 RFID系統(tǒng)面臨的安全威脅
基本的RFID系統(tǒng)主要由讀寫器(Reader)和標(biāo)簽(Tag)兩部分組成。標(biāo)簽是由IC芯片和無線通信天線組成的微型電路,每個標(biāo)簽都具有唯一的電子編碼;讀寫器負責(zé)向標(biāo)簽發(fā)射讀取信號并接收標(biāo)簽的應(yīng)答,對標(biāo)簽的對象標(biāo)識信息進行解碼,將對象標(biāo)識信息和標(biāo)簽上其它相關(guān)信息傳輸?shù)街鳈C以供處理[2]。由于標(biāo)簽和讀寫器之間的通信是非接觸和無線的,很容易造成一些安全問題。因此,RFID系統(tǒng)面臨的安全威脅主要體現(xiàn)在以下兩個方面:
(1)標(biāo)簽信息泄漏
沒有安全機制的電子標(biāo)簽會向鄰近的讀寫器泄露標(biāo)簽內(nèi)容和一些重要信息。由于低成本電子標(biāo)簽資源的有限性,它們普遍缺乏支持點對點加密和PKI密鑰交換的功能。在RFID系統(tǒng)應(yīng)用過程中,惡意攻擊者能夠讀取、篡改電子標(biāo)簽上的數(shù)據(jù)。
(2)惡意跟蹤
在RFID系統(tǒng)中,電子標(biāo)簽不用保存和傳輸大量信息,大量的數(shù)據(jù)都保存在后臺數(shù)據(jù)庫中。通常情況下標(biāo)簽只需要傳輸簡單的標(biāo)識符,通過該標(biāo)識符訪問數(shù)據(jù)庫即可獲得目標(biāo)對象的相關(guān)數(shù)據(jù)和信息。因此,即使標(biāo)簽進行加密后不知道標(biāo)簽內(nèi)容仍然可以通過固定的加密信息追蹤標(biāo)簽,得出標(biāo)簽的定位信息,從而進一步推斷出標(biāo)簽持有者的行蹤。
2 現(xiàn)有安全方案
目前,實現(xiàn)RFID安全機制所采用的方法主要有兩大類:一類稱之為物理方法,另一類稱之為邏輯方法[3]。
2.1 物理方法
物理方法主要依靠外加硬件設(shè)備或硬件功能從而阻止標(biāo)簽與讀寫器之間的通信。目前主要的方法有:KILL標(biāo)簽、法拉第網(wǎng)罩和主動干擾等。KILL標(biāo)簽是使標(biāo)簽失效,但標(biāo)簽破壞后無法重用;法拉第網(wǎng)罩可以屏蔽無線電波,但需增加硬件設(shè)備,提高了成本;主動干擾法可以使用戶通過主動發(fā)送信號來干擾附近讀寫器的操作,但可能導(dǎo)致非法干擾[4]。
2.2 邏輯方法
邏輯方法是一種基于加密認證技術(shù)的安全機制,通過設(shè)計讀寫器與標(biāo)簽之間相互認證的方案,來實現(xiàn)RFID系統(tǒng)的信息安全。目前,這種方法被更多地采用。具有代表性的主要有以下幾種方案:
(1)Hash鎖方案[5]
該方案使用metaID來代替標(biāo)簽真實ID。讀寫器存儲每個標(biāo)簽的訪問密鑰K,標(biāo)簽中存儲對應(yīng)的metaID,metaID=Hash(K),此時標(biāo)簽處于“加鎖”狀態(tài)。若要“解鎖”標(biāo)簽,讀寫器需要發(fā)送K值到標(biāo)簽,標(biāo)簽通過Hash函數(shù)計算出Hash(K),若該值與存儲的metaID匹配則解鎖,發(fā)送標(biāo)簽真實ID給讀寫器。
該方案可以提供訪問控制和標(biāo)簽數(shù)據(jù)隱私保護,但由于其metalID固定,且訪問密鑰K和標(biāo)簽ID以明文形式發(fā)送,易被跟蹤、偽造攻擊和重傳攻擊。
(2)隨機Hash鎖方案[5]
該方案是Hash鎖方案的擴展。標(biāo)簽包含有Hash函數(shù)和偽隨機數(shù)生成器,讀寫器請求訪問標(biāo)簽時,標(biāo)簽用一對數(shù)據(jù)(r, Hash(IDi || r))響應(yīng)讀寫器的詢問,其中r是標(biāo)簽產(chǎn)生的一個隨機數(shù),Hash(IDi || r)是第i個標(biāo)簽的ID與隨機數(shù)r的Hash值。讀寫器收到響應(yīng)后,在后臺數(shù)據(jù)庫中遍歷所有標(biāo)簽ID和r的Hash值,如果找到匹配的則發(fā)送其ID“解鎖”標(biāo)簽。
該方案雖然解決了標(biāo)簽定位隱私問題,但標(biāo)簽的秘密信息一旦被截獲,侵犯者可以獲得訪問控制權(quán)并通過信息回溯得到標(biāo)簽歷史記錄,從而推斷出標(biāo)簽持有者的隱私。
(3)Hash鏈方案[6]
該方案采用一種鏈狀的Hash過程來加強安全。標(biāo)簽最初設(shè)置一個隨機的初始化標(biāo)識符S1,并包含兩個不同的Hash函數(shù)G和H,當(dāng)讀寫器請求標(biāo)簽時,標(biāo)簽返回當(dāng)前標(biāo)簽標(biāo)識符rk=G(Sk)給讀寫器,同時自動更新標(biāo)識符Sk+1=H(Sk),讀寫器通過遍歷獲取匹配的值,完成驗證。
該方案的主要優(yōu)點是標(biāo)簽實現(xiàn)了自主ID更新,從而提供了前向安全性,但只能對標(biāo)簽身份進行認證,不能阻止重放攻擊和假冒攻擊。
3 基于Hash函數(shù)的雙向認證協(xié)議
通過對RFID系統(tǒng)安全技術(shù)的分析,發(fā)現(xiàn)現(xiàn)有的RFID安全技術(shù)在不同程度上都存在著這樣那樣的缺陷。本文提出了一種基于Hash函數(shù)的雙向認證協(xié)議。
在初始條件下,標(biāo)簽中包含一個偽隨機數(shù)生成器和一個Hash函數(shù),并保存有一個密鑰ki;讀寫器中也有一個偽隨機數(shù)生成器和一個相同的Hash函數(shù);后臺數(shù)據(jù)庫中保存有每一個標(biāo)簽的密鑰集合K。
具體認證過程如下:
(1)讀寫器生成一個隨機數(shù)rr,發(fā)送給標(biāo)簽并向標(biāo)簽發(fā)出訪問請求。
(2)標(biāo)簽收到請求后,生成另一隨機數(shù)rt,并計算m=rtki,n=Hash(rt || rr),將m、n發(fā)回給讀寫器。
(3)讀寫器將m、n和rr發(fā)送給后臺數(shù)據(jù)庫。
(4)遍歷后臺數(shù)據(jù)庫中每一個密鑰k,計算r=km,判斷Hash(r || rr)是否等于n。若找到某個密鑰kj滿足條件,則停止計算并將kj發(fā)給讀寫器;若全部遍歷完后所有密鑰都無法滿足條件則認證失敗。
(5)讀寫器收到后臺數(shù)據(jù)庫發(fā)來的密鑰kj后,計算Hash(kj || rr || rt)并發(fā)給標(biāo)簽。
(6)標(biāo)簽計算Hash(ki || rr || rt)并與讀寫器發(fā)來的Hash值進行比較,若相同則完成認證。如圖1所示。
4 性能分析
(1)標(biāo)簽資源是RFID系統(tǒng)的瓶頸,本協(xié)議中標(biāo)簽僅需要存儲密鑰ki、隨機數(shù)rt和讀寫器發(fā)來的隨機數(shù)rr,涉及的運算是兩次Hash運算和一次異或運算,并生成隨機數(shù)一次??傮w來說對標(biāo)簽運算能力要求不高,適合實際應(yīng)用。
圖1 基于Hash函數(shù)的雙向認證協(xié)議認證過程
(2)防非法讀?。簶?biāo)簽和讀寫器都需經(jīng)過身份認證后才能交換數(shù)據(jù),可有效防止非法讀取。
(3)防竊聽:認證過程中所有傳遞的有用信息均經(jīng)過Hash函數(shù)加密或隨機數(shù)異或處理,可有效防止竊聽。
(4)防位置跟蹤:每次產(chǎn)生的隨機數(shù)都不相同,因此標(biāo)簽在每次通信中所傳輸?shù)南⒁捕际遣煌?,可有效防止因固定輸出而引發(fā)的位置跟蹤問題。
(5)防偽裝哄騙和重放:隨機數(shù)在每次通信時都是不同的,攻擊者即使記錄下標(biāo)簽先前發(fā)出的信息,也無法模擬出下次標(biāo)簽發(fā)出的信息,可有效防止哄騙和重放攻擊。
(6)前向安全性:兩個隨機數(shù)在每次通信中均不同,即使攻擊者截取了某次標(biāo)簽的輸出,也無法根據(jù)該值推算出以前標(biāo)簽的輸出。
(7)雙向身份認證:通過計算r=km并判斷Hash(r || rr)是否等于n,讀寫器實現(xiàn)了對標(biāo)簽的身份認證;通過計算Hash(ki || rr || rt)并與Hash(kj || rr || rt)進行匹配,標(biāo)簽實現(xiàn)了對讀寫器的身份認證。
5 結(jié) 語
本文在分析了RFID系統(tǒng)面臨的安全威脅和現(xiàn)有的安全方案后,針對一些典型安全方案的不足,提出了一種基于Hash函數(shù)的RFID雙向認證協(xié)議。該協(xié)議應(yīng)用成本較低,標(biāo)簽負載較小,實現(xiàn)了讀寫器和標(biāo)簽之間的雙向身份認證,可以保證前向安全性,在一定程度上為RFID系統(tǒng)提供了更好的安全隱私保護。
參考文獻
[1]劉云浩. 物聯(lián)網(wǎng)導(dǎo)論[M]. 北京:科學(xué)出版社, 2011.
[2]游戰(zhàn)清,劉克勝. 無線射頻識別(RFID)與條碼技術(shù)[M]. 北京:機械工業(yè)出版社,2006
[3]楊凡. RFID應(yīng)用系統(tǒng)安全與隱私保護的研究[D]. 武漢:華中師范大學(xué), 2011.
[4]鐘偉. 智能RFID標(biāo)簽芯片及其安全認證系統(tǒng)的研究與實現(xiàn)[D]. 廣州:中山大學(xué), 2010.
[5]張偉,陶志榮. 基于Key值更新隨機Hash鎖的RFID隱私保護研究[J]. 計算機工程與應(yīng)用, 2008,44(32):126-128.
[6]余恬恬,馮全源. 基于Hash函數(shù)的RFID挑戰(zhàn)-應(yīng)答認證協(xié)議[J]. 計算機工程, 2009,35(24):156-157.