機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應(yīng)用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
用Hash鎖方法解決RFID的安全與隱私問題
用Hash鎖方法解決RFID的安全與隱私問題
 更新時間:2009-6-5 9:08:35  點擊數(shù):2
【字體: 字體顏色

摘要:提出一種解決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 AutoID中心提出了一種隨機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, AprilJune 2003
4 AutoID Center. 860 MHz960 MHz Class I Radio Frequency Identification Tag Radio Frequency &Logical communication Interface Specification Proposed Recommendation Version 1.0.0. Technical Report MITAUTOIDTR007, 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 ECommerce Technology for Dynamic EBusiness (CECEast'04)

<!--插入廣告JS代碼-->
  • 上一篇: 無刷直流機DSP控制系統(tǒng)與PC機串行通信的Matlab實現(xiàn)
  • 下一篇: 基于SDA80D51的以太電話機的設(shè)計
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1