|
|
| <!--插入廣告JS代碼--> |
摘要:提出一種解決RFID安全與隱私問題的方法。它是在隨機控制Hash鎖方法基礎(chǔ)上的一種改進方法,解決了位置隱私和中間人攻擊問題;與定控制和隨機Hash鎖方法相比,具備相同的安全級水平,同時降低計算負(fù)載,適合于大量射頻標(biāo)簽的場合。
關(guān)鍵詞:RFID Hash鎖 安全與隱私
引言
RFID安全問題集中在對個人用戶的隱私保護、對企業(yè)用戶的商業(yè)秘密保護,防范對RFID系統(tǒng)的攻擊以及利用RFID技術(shù)進行安全防范等多個方面。面臨的挑戰(zhàn)是:
① 保證用戶對標(biāo)簽的擁有信息不被未經(jīng)授權(quán)訪問,以保護用戶在消費習(xí)慣、個人行蹤等方面的隱私。
、 避免由于RFID系統(tǒng)讀取速度快,可以迅速對超市中所有商品進行掃描并跟蹤變化,而被利用來竊取用戶商業(yè)機密。
③ 防護對RFID系統(tǒng)的各類攻擊,如重寫標(biāo)簽以篡改物品信息;使用特制設(shè)備偽造標(biāo)簽應(yīng)答欺騙讀寫器,以制造物品存在的假相;根據(jù)RFID前后向信道的不對稱性遠(yuǎn)距離****標(biāo)簽信息;通過干擾RFID工作頻率實施拒絕服務(wù)攻擊;通過發(fā)射特定電磁波破壞標(biāo)簽等。
、 如何把RFID的唯一標(biāo)識特性用于門禁安防、支票防偽、產(chǎn)品防偽等。
為了避免RFID標(biāo)簽給客戶帶來關(guān)于個人隱私的擔(dān)憂,同時也為了防止用戶攜帶安裝有標(biāo)簽的產(chǎn)品進入市場所帶來的混亂,很多商家在商品交付給客戶時都把標(biāo)簽拆掉。這種方法無疑增加了系統(tǒng)成本,降低了RFID標(biāo)簽的利用率,并且有些場合標(biāo)簽不可拆卸。為解決上述安全與隱私問題,人們還從技術(shù)上提出了多種方案,包括Kill標(biāo)簽、法拉第網(wǎng)罩、主動干擾、智能標(biāo)簽、阻止標(biāo)簽和Hash鎖等方法。Hash鎖通過簡單的Hash函數(shù),增加閉鎖和開鎖狀態(tài),對標(biāo)簽和讀寫器之間的通信進行訪問;但是它無法解決位置隱私和中間人攻擊問題。本文提出一種Hash鎖改進方法,成功解決了這個問題。
1 Hash鎖方法分析
1.1 定讀取控制Hash鎖方法
在定讀取控制Hash鎖方法中,射頻標(biāo)簽只對授權(quán)的讀寫器起作用,它代表了一種認(rèn)證過程,認(rèn)證密匙固定不變。使用該方法的射頻標(biāo)簽分別有1個只讀(ROM)和1個可讀寫(如RAM)的存儲器,并且每個電子標(biāo)簽只供有限的用戶使用。這些用戶都共有同一個存儲在讀寫存儲器中的識別碼。每個標(biāo)簽認(rèn)證讀寫器的過程如圖1所示。讀寫器對每一個電子標(biāo)簽都有一個認(rèn)證密匙k,每個電子標(biāo)簽都存儲有一Hash方程計算的結(jié)果metaID=Hash(k)。首先讀寫器向射頻標(biāo)簽發(fā)出ID訪問請求,標(biāo)簽向讀寫器發(fā)出相應(yīng)的metaID。讀寫器根據(jù)接收到的metaID得出密匙k并發(fā)送給標(biāo)簽。然后該標(biāo)簽把接收到的密匙 k代入Hash方程,檢驗計算得到的結(jié)果與存儲在標(biāo)簽中的metaID是否一致。如果一致,標(biāo)簽就把其ID發(fā)送給讀寫器。
該方案提出了一種低成本解決安全與隱私問題的方法。僅僅需要一個Hash方程和存儲metaID值就足夠。但是它不能防止被跟蹤,因為射頻標(biāo)簽的反應(yīng)能提前被預(yù)測泄露,并且隨機密匙k和標(biāo)簽ID能被敵人****到。

圖1 定讀取控制Hash鎖方法
1.2 隨機讀取控制Hash鎖的方法
為了避免被跟蹤,射頻標(biāo)簽的反應(yīng)不能被預(yù)測到而是隨機的。主要有兩種隨機讀取控制Hash鎖的方法。MIT AutoID中心提出了一種隨機Hash方案。讀寫器向射頻標(biāo)簽發(fā)出ID訪問請求,標(biāo)簽向讀寫器發(fā)出的不是固定的metaID,而是變化的。如圖2所示,每個標(biāo)簽與讀寫器共享一個認(rèn)證密匙IDk。當(dāng)讀寫器向射頻標(biāo)簽發(fā)出ID訪問請求時,射頻標(biāo)簽產(chǎn)生一個偽隨機數(shù)字R和輸出(R,h(IDk‖R)),其中h(IDk‖R)是輸入R和認(rèn)證密匙IDk的Hash方程。然后讀寫器獲得所有射頻標(biāo)簽的認(rèn)證密匙。讀寫器根據(jù)接收的R和存儲在后臺數(shù)據(jù)庫中所有密匙的 ID計算Hash方程。如果Hash方程值與射頻標(biāo)簽發(fā)送的Hash方程值匹配,讀寫器識別出該射頻標(biāo)簽的密匙IDk并發(fā)送給射頻標(biāo)簽。因為每次訪問時,射頻標(biāo)簽的輸出改變了。該方法避免了被跟蹤的缺點;但是該方法不適合少量射頻標(biāo)簽的用戶。因為被授權(quán)的讀寫器識別一個射頻標(biāo)簽,就需要搜索和計算所有標(biāo)簽的ID,因此該方法不適合大量射頻標(biāo)簽。

圖2 隨機讀取控制Hash鎖方法
NTT提出了一種Hash鏈方法。在第i次與讀寫器交換時,射頻標(biāo)簽有其初始值Si,發(fā)送ai=G(Si)給讀寫器,再根據(jù)以前的Si更新密匙Si+1=H(Si)。其中G和H都是Hash函數(shù),如圖3所示。

圖3 射頻標(biāo)簽發(fā)送ai=G(Si)并更新密匙Si+1=H(Si)
讀寫器把ai傳給后臺數(shù)據(jù)庫,后臺數(shù)據(jù)庫維持一對列表(ID;Si)。其中Si是初始密匙值,對每一個標(biāo)簽,其值是不同的。后臺數(shù)據(jù)庫從讀寫器處接收標(biāo)簽,輸出ai,并且對列表中的每個Si計算a0i=G(Hj(Si)),檢查是否ai=a0i。如果ai與a0i匹配,ID就從一對a0i中識別出來了。該方法滿足了不可分辨和向前的安全特性。G是單向方程,因此敵人能獲得標(biāo)簽輸出ai,但是不能從ai獲得Si。G輸出隨機值,敵人能觀測到標(biāo)簽輸出,但不能把ai和ai+1聯(lián)系起來。H也是單向方程,敵人能篡改標(biāo)簽并獲得標(biāo)簽的密匙值,但不能從Si+1獲得Si。該算法優(yōu)勢很明顯,但是有太多的計算和比較。為了識別一個ID,后臺服務(wù)器不得不計算ID列表中的每1個ID。假設(shè)有N個已知的標(biāo)簽ID在數(shù)據(jù)庫中,數(shù)據(jù)庫不得不進行N次ID搜索,2N次 Hash方程計算和N次比較。計算機處理負(fù)載隨著ID列表長度成線性增加,因此,該方法也不適合大量射頻標(biāo)簽的情況。
2 隨機讀取控制Hash鎖方法的改進
為了避免定讀取控制Hash鎖方法中的人為攻擊和惡意跟蹤的缺陷,并克服隨機讀取控制Hash鎖方法中計算負(fù)載過大的不足,在隨機讀取控制Hash鎖的基礎(chǔ)上,提出了一種改進方法。
2.1 必需的RFID系統(tǒng)各部分結(jié)構(gòu)
。1) 射頻標(biāo)簽
射頻標(biāo)簽由兩部分構(gòu)成:一部分是只讀存儲器(ROM)和隨機讀取存儲器(RAM),ROM存儲的是標(biāo)簽ID的Hash值,RAM存儲的是被鑒別的讀寫器的ID;另一部分是邏輯電路,主要用于一些簡單的計算,如計算Hash方程或產(chǎn)生簡單的偽隨機數(shù)。
(2) 讀寫器
讀寫器與射頻標(biāo)簽無線通信,每一個讀寫器都有ReaderID,用來識別一批被鑒別的讀寫器。例如,在超市里的所有讀寫器都有一樣的 ReaderID,表明它們都來源于該超市。當(dāng)讀寫器向射頻標(biāo)簽發(fā)出訪問請求時,標(biāo)簽通過讀寫器的ReaderID檢驗讀寫器。讀寫器同時與后臺數(shù)據(jù)庫連接并通信,以識別標(biāo)簽并運行相關(guān)的應(yīng)用。
。3) 數(shù)據(jù)庫
后臺數(shù)據(jù)庫存儲了一對對射頻標(biāo)簽ID和它的Hash方程值:[TagID,hash(TagID)]。一般地,后臺數(shù)據(jù)庫與讀寫器通過有線和安全通道相連接。
2.2 工作原理
讀寫器要查詢射頻標(biāo)簽ID,必須首先確定該讀寫器是否被認(rèn)證。若讀寫器被認(rèn)證,標(biāo)簽則響應(yīng)讀寫器并讓讀寫器獲得其ID。
(1) 讀寫器認(rèn)證
在響應(yīng)讀寫器并讓讀寫器獲得標(biāo)簽ID信息前,讀寫器和標(biāo)簽確定了認(rèn)證體制。因為讀寫器的ReaderID提前存儲在標(biāo)簽的RAM中,所以標(biāo)簽通過讀寫器ID識別出有權(quán)限的讀寫器。標(biāo)簽不響應(yīng)沒有權(quán)限的讀寫器,因此,不可能被敵人跟蹤(因為讀寫器都有權(quán)限)。另外,這種權(quán)限化過程是基于標(biāo)簽產(chǎn)生的隨機數(shù),因此,還可以防止敵人的哄騙。
認(rèn)證過程如圖4所示。當(dāng)射頻標(biāo)簽接收到讀寫器的請求時,首先射頻標(biāo)簽產(chǎn)生隨機數(shù)k并發(fā)送給讀寫器,讀寫器接收后傳給后臺數(shù)據(jù)庫,后臺數(shù)據(jù)庫計算a (k)=Hash (ReaderID‖k)并把a(k)傳回給讀寫器,然后讀寫器把a(k)發(fā)送給標(biāo)簽。同時射頻標(biāo)簽計算Hash(ReaderID‖k),然后標(biāo)簽比較讀寫器與標(biāo)簽計算的a(k)值是否相等。如相等,讀寫器通過了認(rèn)證并且標(biāo)簽向它發(fā)送一些與TagID相關(guān)的信息;若不等,該讀寫器沒有通過認(rèn)證被屏蔽。

圖4讀寫器認(rèn)證過程
。2) 獲得標(biāo)簽的TagID
如圖5所示,在讀寫器認(rèn)證后,射頻標(biāo)簽響應(yīng)認(rèn)證的讀寫器Hash(TagID)。當(dāng)讀寫器接收到Hash(TagID)值時,它會與后臺數(shù)據(jù)庫通信并尋找數(shù)據(jù)對(TagID,Hash(TagID)),讀寫器就會獲得相應(yīng)的TagID。即使Hash(TagID)值被****了,當(dāng)標(biāo)簽向外發(fā)送其值時,****者也不會知道Hash的值。因為****者無法確定TagID與Hash(TagID)之間的相互關(guān)系。

圖5獲取射頻標(biāo)簽的TagID
。3) 在射頻標(biāo)簽存儲器里更新認(rèn)證讀寫器的ReaderID
當(dāng)一個物體從一個倉庫運到另一個倉庫時,被認(rèn)證的讀寫器將從先前倉庫的讀寫器改變?yōu)楫?dāng)前的讀寫器。這個過程如圖6所示。讀寫器獲得Hash (TagID)的值并傳給后臺數(shù)據(jù)庫,數(shù)據(jù)庫通知存儲在標(biāo)簽里的ReaderID更新。相應(yīng)地,數(shù)據(jù)庫尋找出New ReaderID并把它傳給讀寫器。當(dāng)讀寫器接收到New ReaderID時,讀寫器把該值與Old ReaderID“異或”,并把“異或”值發(fā)送給射頻標(biāo)簽。標(biāo)簽?zāi)軌驈摹爱惢颉敝岛蚈ld ReaderID中得出New ReaderID,最后ReaderID被更新。
在ReaderID更新過程中,即使“異或”值被泄露,敵人也不能獲取New ReaderID。因為不能獲取Old ReaderID,因此防止了哄騙。
2.3 改進方法分析
。1) 防止****
在認(rèn)證過程中,即使敵人****到讀寫器的輸出a(k),也不能在下一步獲得認(rèn)證。因為每一認(rèn)證過程中需要的a(k)值是變化的。前一次認(rèn)證的a(k)值對于后一次認(rèn)證來說是無意義的。
認(rèn)證完后,射頻標(biāo)簽輸出Hash(TagID)而不是TagID。因為Hash方程很難求其反函數(shù),所以敵人捕獲到輸出Hash(TagID)值,也不能得到TagID的值。
當(dāng)射頻標(biāo)簽要更新存儲器的ReaderID時,所更新的ReaderID是經(jīng)過舊的ReaderID加密過的,也防止了****。
總之,上述改進方法即使在讀寫器和射頻標(biāo)簽之間的通信遭遇到敵人的****時,也是安全的。
(2) 防止跟蹤
射頻標(biāo)簽對敵人是屏蔽的,只對被認(rèn)證的讀寫器響應(yīng)。而且,如上所述,敵人是無法偽造認(rèn)證讀寫器的。因為沒有標(biāo)簽輸出,所以敵人不能通過跟蹤標(biāo)簽來跟蹤客戶剛付費買的是什么。位置隱私及客人攜帶的物品得到了保護。
。3) 低計算負(fù)載
該改進方法運算速度快,成本低。當(dāng)要從N個已知的射頻標(biāo)簽中識別出一個時,讀寫器只需要執(zhí)行1次Hash操作和N次ID搜索,而隨機讀取控制Hash 鎖方法至少需要N次Hash操作和N次ID搜索。顯然在同一安全級上,所提出的改進方法計算負(fù)載顯著降低;而且認(rèn)證過程是依賴于N個已知的標(biāo)簽ID和1個 Hash鎖方程,因此隨著標(biāo)簽的數(shù)量增多,計算負(fù)載緩慢增大。
。4) 適用于大量射頻標(biāo)簽
因為計算負(fù)載低,并且隨著射頻標(biāo)簽的數(shù)量增加而緩慢增加,所以該方法非常適合有大量標(biāo)簽存在的被保護的RFID系統(tǒng)。

圖6在射頻標(biāo)簽存儲器里更新認(rèn)證讀寫器的ReaderID
3 結(jié)論
以上提出的一種Hash鎖改進方法,特別適合于物流管理。該方法需要必要的硬件,如可改寫的存儲器和簡單的邏輯電路。該方法具有高安全性、小負(fù)載等優(yōu)點,適用于大量標(biāo)簽應(yīng)用的場合;解決了位置隱私和中間人攻擊問題,即使敵人竊取了標(biāo)簽的輸出,也不能獲取標(biāo)簽的ID。
參考文獻
1 (德)Klaus Finkenzeller.射頻識別(RFID)技術(shù)——無線電感應(yīng)的應(yīng)答器和非接觸IC卡的原理與應(yīng)用.北京:電子工業(yè)出版社,2001
2 Radio Frequency Identification(rfid)Home Page. http://www.aimglobal.org/technologies/rfid
3 Vince Stanford. Pervasive Computing Goes the Lasthundred Feet with RFID Systems. IEEE pervasivecomputing, Volume:2, Issue: 2, Pages:914, AprilJune 2003
4 AutoID Center. 860 MHz960 MHz Class I Radio Frequency Identification Tag Radio Frequency &Logical communication Interface Specification Proposed Recommendation Version 1.0.0. Technical Report MITAUTOIDTR007, Nov. 2002
5 Gao Xingxin, Xiang Zhe, Wang Hao, etal. An Approach to Security and Privacy of RFID System for Supply Chain. Proceedings of the IEEE International Conference on ECommerce Technology for Dynamic EBusiness (CECEast'04)