摘 要: 提出了一種基于ID變化的RFID安全協(xié)議,由于使用單向Hash函數(shù),從而使數(shù)據(jù)存儲機制很好地解決了閱讀器和標簽數(shù)據(jù)不同步的問題,有效地防止了非法讀取、位置跟蹤、竊聽、偽裝哄騙、重放等攻擊。分析表明,該方法具有前向安全,效率高,安全性好等特點,適用于標簽數(shù)目較多的情況。
關(guān)鍵詞: ID變化; 安全協(xié)議; 安全隱私
射頻識別(RFID)系統(tǒng)是使用無線射頻技術(shù)在開放系統(tǒng)環(huán)境中進行對象識別,通過射頻信號自動識別目標對象并獲取相關(guān)數(shù)據(jù)。這種識別的優(yōu)點之一是不需要物理接觸或其他任何可見的接觸。現(xiàn)在,許多人已將RFID系統(tǒng)看作是一項實現(xiàn)普適計算環(huán)境的有效技術(shù)。但同時,關(guān)鍵問題是要確保只有授權(quán)用戶能夠識別各個標簽,而攻擊者無法對這些標簽進行任何形式的跟蹤。針對這一問題,國內(nèi)外開展了大量關(guān)于RFID隱私安全保密的研究,提出了許多RFID安全協(xié)議,如Hash鎖協(xié)議、隨機化Hash鎖協(xié)議、Hash鏈協(xié)議等,但這些協(xié)議存在著安全隱患、效率低下等缺陷。本文針對這些協(xié)議的不足,進一步對RFID的安全隱私進行研究。
1 RFID基本原理
1.1 RFID系統(tǒng)基本構(gòu)成[1]
RFID系統(tǒng)一般由三大部分構(gòu)成: (1)標簽配備有天線的微型電路,但通常沒有處理器,僅由數(shù)千個邏輯門組成;(2)讀寫器。一個有天線的無線發(fā)射與接收設備,它的處理能力、存儲空間都比較大;(3)后臺數(shù)據(jù)庫。用戶根據(jù)系統(tǒng)需求進行選擇的數(shù)據(jù)庫系統(tǒng),存儲所有標簽的信息,它通過可信的讀寫器獲得標簽發(fā)送的信息,具有很強的處理能力和存儲空間。一般認為讀寫器到后臺數(shù)據(jù)庫的通信信道為安全信道,標簽到讀寫器之間的信道為不安全信道。
1.2 RFID安全隱患與安全需求
RFID讀寫器與標簽之間通過空中接口進行通信,不需要任何物理或可見接觸,使得隱私侵犯者可以通過監(jiān)聽,截獲雙方通信信息,獲取標簽中隱私的信息。此外,標簽中含有唯一的序列號,隱私侵犯者可以通過其序列號追蹤、定位標簽,從而獲得標簽所有的信息。
正因為如此,設計安全、高效的RFID安全協(xié)議成為了一個具有挑戰(zhàn)性的問題。而安全的射頻識別系統(tǒng)對單向攻擊應該能夠予以防范:
(1) 標簽信息泄漏問題:避免未授權(quán)讀寫器或者隱私侵犯者獲取標簽中的敏感數(shù)據(jù)。
(2) 標簽的可追蹤性:避免隱私侵犯者通過對標簽序列號追蹤定位獲得標簽持有者的隱私信息。
(3) 前向安全性:避免隱私侵犯者根據(jù)竊取的敏感信息獲取標簽歷史活動記錄和標簽持有者隱私信息。
2 RFID安全協(xié)議
基于密碼學的發(fā)展,到目前為止,已經(jīng)有多種RFID安全協(xié)議被提出來,本文將介紹3種典型的RFID安全協(xié)議,并分析其優(yōu)缺點。
2.1 Hash鎖[2]協(xié)議
Hash鎖(Hash Lock)協(xié)議是由Sarma等人提出來的。為了避免信息泄漏和被追蹤,使用metaID代替真實的標簽ID,協(xié)議流程如圖1所示。
Hash鎖協(xié)議的執(zhí)行過程如下:
(1)讀寫器向標簽發(fā)送Query認證請求。
(2)標簽將metaID發(fā)送給讀寫器。
(3)讀寫器將metaID轉(zhuǎn)發(fā)給后臺數(shù)據(jù)庫。
(4)后臺數(shù)據(jù)庫查詢自己的數(shù)據(jù)庫,如果找到與metaID匹配的項,則將該項的(Key,ID)發(fā)送給讀寫器,其中ID為待認證標簽的標識,metaID=H(Key);否則返回給讀寫器認證失敗信息。
(5)讀寫器將接收后臺數(shù)據(jù)庫的部分信息Key發(fā)送給標簽。
(6)標簽驗證metaID=H(key)是否成立,如果成立,則將其ID發(fā)送給讀寫器。
(7)讀寫器比較從標簽接收到的ID是否與后臺數(shù)據(jù)庫發(fā)送過來的ID一致,如果一致,則認證通過;否則,認證失敗。
由上述過程可以看出,Hash鎖協(xié)議中沒有ID動態(tài)刷新機制,并且metaID也保持不變,ID是以明文的形式通過不安全的信道傳送的,因此,Hash鎖協(xié)議非常容易受到假冒攻擊和重傳攻擊,攻擊者也可以很容易地對標簽進行追蹤。也就是說,Hash鎖協(xié)議沒有達到其安全目標。
2.2 隨機化Hash鎖協(xié)議
為了解決Hash鎖中位置跟蹤的問題,將Hash鎖方法加以改進,采用隨機化Hash鎖(Random Hash-Lock)協(xié)議,此協(xié)議由Weis等人提出,采用了基于隨機數(shù)的詢問-應答機制。首先介紹字符串連接符號“||”,如標簽ID和隨機數(shù)R的連接即表示為“ID||R”。該方法中數(shù)據(jù)庫存儲各個標簽的ID值,設為ID1、ID2 … IDk…IDn。其協(xié)議流程如圖2所示。
隨機化Hash鎖協(xié)議的執(zhí)行過程如下:
(1)讀寫器向標簽發(fā)送Query認證請求。
(2)標簽生成一個隨機化數(shù)R,計算H(IDk||R),其中IDk為標簽的標識,標簽將(R,H(IDk||R) )發(fā)送給讀寫器。
(3)讀寫器向后臺數(shù)據(jù)庫提出獲得所有標簽標識的請求。
(4)后臺數(shù)據(jù)庫將自己數(shù)據(jù)庫中的所有標簽標識(ID1,ID2…IDn)發(fā)送給讀寫器。
(5)讀寫器檢查是否有某個IDj(1≤j≤n),使得H(IDj||R)=H(IDk||R)成立;如果有,則認證通過,并將IDj發(fā)送給標簽。
(6)標簽驗證IDj與IDk是否相同,如果相同,則通過認證。
在隨機化Hash鎖協(xié)議中,認證通過后的標簽標識IDk仍以明文的形式通過不安全信道傳送,因此攻擊者可以對標簽進行有效的追蹤。同時,一旦獲得了標簽的標識IDk,攻擊者就可以對標簽進行假冒,而該協(xié)議無法抵抗重傳攻擊。因此,隨機化Hash鎖協(xié)議也是不安全的。不僅如此,每一次標簽驗證時,后臺數(shù)據(jù)庫都需要將所有標簽的標識發(fā)送給讀寫器,二者之間的數(shù)據(jù)通信量很大,該協(xié)議不實用。
2.3 Hash鏈協(xié)議
NTT提出了一種Hash鏈(Hash-Chain)[3-4]協(xié)議。在第i次與讀寫器交換時,射頻標簽有初始值Si,發(fā)送ai=G(Si)給讀寫器,再根據(jù)以前的Si更新密鑰Si+1=H(Si)。其中G和H都是Hash函數(shù),如圖3所示。
該方法滿足了不可分辨和前向安全的特性。G是單向方程,因此攻擊者能獲得標簽輸出ai,但是不能從ai獲得si。G輸出隨機值,攻擊者能觀測到標簽的輸出,但不能將ai和ai+1聯(lián)系起來。H也是單向方程,攻擊者能篡改標簽并獲得標簽的密鑰值,但不能從si+1中獲得si。該算法的優(yōu)勢很明顯,但是計算和比較相對復雜。為了識別一個ID,后臺服務器不得不計算ID列表中的每個ID。假設有N個一致的標簽ID在數(shù)據(jù)庫中,數(shù)據(jù)庫不得不進行N次ID搜索、2N次Hash方程計算以及N次比較。計算機處理負載隨著ID列表長度的增加線性也增加,因此,該方法也不適合存在大量射頻標簽的情況。
3 基于ID變化的RFID安全協(xié)議
為了避免Hash鎖方法中的人為攻擊和惡意跟蹤的缺陷,并克服隨機數(shù)Hash鎖方法中計算負載過大的不足,結(jié)合以上幾種方法的思想,本文提出了一種基于ID變化的RFID安全協(xié)議,實現(xiàn)了安全高效的讀取訪問控制。
3.1 工作原理
在此協(xié)議中,后臺數(shù)據(jù)庫的記錄主要包括3列:H(ID),ID,Pointer,主鍵為H(ID)。其中ID為電子標簽的唯一標識符, H(ID)是對應ID的單向Hash函數(shù)的計算值,Pointer是數(shù)據(jù)記錄的關(guān)聯(lián)指針,主要用來保持數(shù)據(jù)一致性[5]。
3.1.1 標簽的鎖定
對于每個電子標簽,出廠時都有其唯一的ID值,在實際應用中數(shù)據(jù)庫首先建立所有標簽在數(shù)據(jù)庫中的初始記錄(H(IDi),IDi,Pointeri),標簽在未收到激勵信號時,處于鎖定狀態(tài)。
3.1.2 標簽的解鎖
3.2 數(shù)據(jù)實驗分析
設數(shù)據(jù)庫初始化存儲了3個標簽,ID分別為1、2、3,其初始化如表1所示。
假設閱讀器要詢問ID為2的標簽,首先閱讀器問標簽發(fā)送詢問消息和隨機數(shù)9,標簽向閱讀器發(fā)送數(shù)據(jù)(H(2),H(2||9)),然后標簽計算自身的ID*=S(2) 和H(ID*)=H(S(2));數(shù)據(jù)庫根據(jù)H(2)找到記錄(H(2),2,0),然后計算H(ID||R)=H(2||9),與收到的H(2||9)相同,證明了標簽的合法性;接下來數(shù)據(jù)庫計算ID*=S(2)和H(ID*)=H(S(2)),并將(ID*,H(ID*)發(fā)送給閱讀器,至此閱讀器知道了該標簽更新后的ID值ID*,然后閱讀器將H(ID*)=H(S(2))發(fā)送給標簽;由于Pointer2=0,所以數(shù)據(jù)庫中建立一條記錄4:(H(S(2),S(2),2),并將記錄2改為(H(2),2,4)。標簽接收到數(shù)據(jù)H(S(2))后,比較發(fā)現(xiàn)等于之前計算的H(ID*)=H(S(2)),于是將自身的ID值更新為ID*=S(2)。此時數(shù)據(jù)庫記錄如表2所示。
下一次再與此標簽通信時,數(shù)據(jù)庫根據(jù)收到的標簽2的H(ID)=H(S(2)),找到第4條記錄,該記錄的Pointer為2,則第2次更新ID值的記錄將會覆蓋第2條記錄。
當標簽被詢問過1次之后,數(shù)據(jù)庫始終保持了2條與該標簽有關(guān)的數(shù)據(jù)記錄,這主要是為了保證數(shù)據(jù)的一致性。假設在某次通信中閱讀器在第5步發(fā)送的H(ID*)未成功且被標簽收到,則標簽2的ID值不會更新,此時數(shù)據(jù)庫的第4條記錄是錯誤的。這樣在下次與標簽2通信中,查找到的仍是記錄2,數(shù)據(jù)庫根據(jù)記錄2的Pointer值為4,將修改第4條記錄,這樣就能夠保持數(shù)據(jù)一致性。
3.3 性能分析及方法特點
本協(xié)議使用2個單向的Hash函數(shù)實現(xiàn)標簽ID的自動更新和通信信息加密,能夠有效地抵抗各種攻擊。
(1)防竊聽。標簽和標簽讀寫器之間的通信信息都經(jīng)過了Hash函數(shù)H加密。根據(jù)Hash函數(shù)的性質(zhì),隱私侵犯者是無法根據(jù)加密后的信息獲取加密的信息。
(2)防哄騙。標簽的ID在每完成1次通信過程后將使用Hash函數(shù)S進行自主更新為ID*,隱私侵犯者無法偽造出H(ID*||R)。
(3)防重傳。每次認證前閱讀器將產(chǎn)生一個新的隨機數(shù)R,隱私侵犯者能截獲上次的H(ID||R),但無法偽造新一次認證的H(ID||R)。
(4)防追蹤。標簽中的ID在每次詢問后都將更新,并且同一標簽在不同認證過程中,閱讀器都將產(chǎn)生隨機數(shù)R。這些都是標簽對每次詢問的響應結(jié)果。
通過上述分析可以看出,基于ID變化的RFID安全協(xié)議實現(xiàn)了標簽ID的隱藏性、隨機性以及訪問控制,完全滿足RFID系統(tǒng)的安全需求。
本協(xié)議的特點主要表現(xiàn)在以下幾個方面:
(1)前向安全性。因為標簽的ID在每次通信過程后就會執(zhí)行ID*=S(ID)更新。根據(jù)Hash函數(shù)的性質(zhì),隱私侵犯者即使獲取了ID*,也無法獲得ID和標簽的歷史活動記錄,從而保證了前向安全性。
(2)實現(xiàn)雙向驗證。后臺數(shù)據(jù)庫通過對H(ID||R)的計算比較,實現(xiàn)了數(shù)據(jù)庫對標簽的驗證;而標簽通過對H(ID*)的計算比較,則實現(xiàn)了對數(shù)據(jù)庫的驗證。
(3)數(shù)據(jù)一致性。根據(jù)此協(xié)議的后臺數(shù)據(jù)庫結(jié)構(gòu),當標簽被詢問過1次之后,數(shù)據(jù)庫始終保持了2條與該標簽有關(guān)的數(shù)據(jù)記錄,這樣一來即使標簽無法收到閱讀器返回的信息,造成標簽的ID值不更新,也不會造成數(shù)據(jù)庫與標簽的數(shù)據(jù)同步問題。
本文提出的基于ID變化的RFID安全協(xié)議,具有前向安全、雙向驗證等特點,基本上彌補了目前安全保護方法安全性不夠等缺陷,是一種較為實用的算法,但此方法還存在一些不足。一次雙向驗證過程中,標簽仍需要進行3次Hash函數(shù)運算,這對低成本的標簽是費時的,這些尚需進一步研究改進。
參考文獻
[1] 周曉光,王曉華.射頻識別(RFID)技術(shù)原理與應用實例[M].北京:人民郵電出版社,2006.
[2] WEIS S A. Security and privacy in Radio-frequency identification devices[D]. The Department of Electrical Engineering and Computer Science of MIT, 2003.
[3] WEIS S, SARMA S, RIVEST R, et al. Security and privacy aspects of low-cost radio frequency identification systems[C]//Proc. of Security in Pervasive Computing’04, 2004:201-212.
[4] OHKUBO M, SUZUKI K, KINOSHITA S. Cryptographic approach to “Privacy-Friendly” tags[C]//Proc. of RFID Privacy Workshop, USA MIT, 2003.