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