好吊视频一区二区三区-国产精品V欧美精品V日韩精品-老司机亚洲精品影院-国产精品视频免费播放

物聯傳媒 旗下網站
登錄 注冊
RFID世界網 >  技術文章  >  其他  >  正文

一種雙層/雙向認證的隨機Hash鎖RFID安全協議

作者:不詳
來源:中國百科網
日期:2015-12-09 15:48:49
摘要:基于Hash鎖的RFID安全協議以其低成本優勢得到了普遍應用,但其安全性能尚不完善。在分析已有Hash鎖安全協議的執行過程及優缺點的基礎上,提出了一種將雙層認證與雙向認證相結合的隨機Hash鎖安全協議,分析了協議的基本思想,描述了協議的執行過程,對協議的性能分析表明,該協議符合低成本、高效率、高安全的RFID實用性要求。

  無線射頻識別技術RFID(Radio Frequency Identification)或稱電子標簽技術是一種利用射頻通信實現的非接觸式雙向通信技術,以達到自動識別目標對象并獲取相關數據的目的,具有精度高、適應環境能力強、抗干擾性強、操作快捷等許多優點。它已經逐漸應用于物流、防偽、門禁、電子錢包、高速公路收費等領域。RFID 系統一般由RFID標簽(Tag)、RFID 標簽讀寫器以及RFID應用數據庫(DB)三大部分構成,如圖1所示。其中,RFID標簽與讀寫器之間是射頻無線通信,而讀寫器與應用數據庫之間則是通過互聯網進行的有線(也可以是無線)通信。

一種雙層/雙向認證的隨機Hash鎖RFID安全協議

  RFID系統要想得到普遍應用,特別是在有嚴格安全要求的防偽領域得到廣泛應用,還需要解決RFID的低成本與安全性這一對矛盾。當前RFID的安全機制主要有物理機制與密碼機制兩大類。由于物理安全機制受到成本或法律因素等極大制約,使密碼安全機制越來越受到人們的青睞。在通用安全應用中,具有比較成熟和先進的加解密算法如DES、 AES、RSA、橢圓曲線密碼等算法,可以較好地抵制非法讀取、位置跟蹤、拒絕服務、偽裝哄騙、重放攻擊等安全威脅,具有較好的安全可靠性。但實現AES等算法需要大約20 000個~30 000個邏輯門,實現RSA、橢圓曲線密碼等公鑰密碼算法則需要更多的邏輯門。而電子標簽受到低成本(約為0.05美元)限制,通常只能擁有大約5 000個~10 000個邏輯門,而且這些邏輯門主要用于實現一些最基本的標簽功能,僅剩少許可用于實現安全功能。因此,RFID 安全性的難點在于,RFID標簽的有限計算資源難以實現復雜的加解密算法。目前關于RFID的密碼安全方案主要有:(1)基于Hash函數的Hash-lock協議[1-2]、隨機化Hash-lock協議[3]、Hash鏈協議[4]、ID變化協議、數字圖書館RFID協議、分布式RFID協議、LCAP協議[5];(2)基于TEA算法的的TEA協議[6]、XXTEA協議;(3)基于公鑰的再加密方案[5]。其中,基于Hash函數的方案因其實現電路簡單尤其成為研究的熱點。參考文獻[5]對基于Hash函數的各類算法比較分析后認為:它們或者不能滿足較高的安全要求,或者不能滿足低成本的實用性要求。參考文獻[7]提出了一種輕量級RFID安全協議,并進行了改進。參考文獻[8]提出了一種Key值更新的隨機Hash鎖協議,對隨機Hash鎖協議進行了改進。參考文獻[9]、[10]也都基于Hash鎖協議提出了一些新的改進。

  本文在分析幾種隨機Hash鎖協議的基礎上提出了一種將雙重認證與雙向認證相結合的隨機Hash鎖的RFID安全協議,將原始ID經加密后寫入標簽中,原始ID的加解密都只在后臺服務器中完成,而在RFID標簽和閱讀器中出現的ID(稱為認證ID),都是經過加密后的數據,即使出現了安全攻擊,也不會獲得真正的ID,杜絕了產品被假冒的可能。

  1 Hash鎖相關協議分析

  在分析RFID系統的安全性時,通常作如下假定:

  (1)標簽與讀寫器之間的通信信道是不安全的,而標簽讀寫器與后端數據庫之間的通信信道則是安全的。

  (2)協議所使用的密碼構造,如偽隨機生成函數、加密體制、簽名算法、MAC 機制以及哈希函數等,都是安全的。

  Hash鎖相關協議均采用Hash函數作為電子標簽的訪問鎖,只有通過認證的閱讀器才能取得對標簽有效數據進行訪問(解鎖),否則標簽處于鎖定狀態。使用的Hash函數H應滿足如下要求[10]:

  (1)對于任意長度的消息M,H返回固定長度 m 的函數值h=H(M)。

  (2)在資源有限的RFID芯片上,對給定的M很容易計算出h。

  (3)即使知道H的算法的情況下,從給定的h很難還原出M。

  (4)即使知道 H的算法的情況下,對于特定的M,很難找到另一個M′,使得H(M)=H(M′)。

  1.1 Hash鎖協議

  Hash鎖協議的主要內容如下:

  (1)鎖定標簽:讀寫器生成一個隨機密鑰Key,讀寫器將真實ID、Key一起寫入標簽后,標簽進入鎖定狀態。同時讀寫器計算meataID=H(Key),并將metaID、Key、ID寫入后臺數據庫中;

  (2)認證解鎖:讀寫器在需要讀寫標簽中的信息時,先發送訪問請求,標簽計算meatID=H(Key),然后將metaID經讀寫器返回至數據庫,并查找與metaID相符的記錄,并將其Key發送給標簽。標簽計算其metaID并比較metaID與H(Key′)是否相符,若相符則解鎖。

  該協議的優點是:在認證過程中使用對真實ID加密后的metaID;缺點是:對密鑰進行明文傳輸,且metaID是固定不變的,不利于防御信息跟蹤威脅。

  1.2 隨機Hash鎖協議

  隨機Hash鎖協議的認證過程如下:標簽在收到讀寫器的讀寫請求后,生成一隨機數R,并計算H(Key||R)其中,||表示將Key和R進行連接,并將(R,H(Key||R))數據對送至后臺數據庫。數據庫查詢滿足H(Key′||R)=H(Key||R)的記錄。若找到則將對應的ID′發往標簽,標簽比較ID與ID′是否相同以確定是否解鎖。

  該協議的優點是:為認證過程中出現的隨機信息避免了信息跟蹤,但仍出現了ID的明文傳輸,易遭到竊聽威脅。

  1.3 Hash鏈協議

  在Hash鏈協議中,標簽在每次認證過程中其密鑰Key值是不斷更新的,每次更新后的Key′=H(Key),從而形成1個Hash鏈。其認證過程如下:標簽在收到讀寫器的讀寫請求后,利用當前密鑰Key計算下次密鑰Key′=H(Key),在更新當前密鑰為Key′后經讀寫器返給數據庫,數據庫對第一條標簽記錄,判斷G(Hi(Key0))的結果是否與Key′相等。若相等則返回相應記錄的ID′值至標簽,標簽再比較ID與ID′是否相同,以確定是否解鎖。

  該協議優點:具有不可分辨性及前向安全性。但容易受到重傳和假冒攻擊,且計算量大,不適于標簽數目較多的情況。

  前述三種協議基本上都只具備單向認證能力,即只完成了讀寫器(后臺數據庫)對標簽的身份認證,尚未實現標簽對讀寫器的認證功能,因此這些協議都是不完善的。

  1.4 Key值更新的隨機Hash鎖協議

  Key值更新的隨機Hash鎖協議提供了讀寫器與標簽之間的雙向認證功能。其雙向認證過程如下:

  (1)讀寫器對標簽的認證。認證時數據庫生成一隨機密碼R,經讀寫器連同查詢請求一同發往標簽。標簽計算H(Key)及H(Key||R)后將其發往數據庫,數據庫對每一記錄判斷H(Key′||R)=H(Key||R)與H(Key′)=H(Key)是否成立。若找到符合條件的記錄,則完成了讀寫器對標簽的認證過程,繼續進行標簽對讀寫器的認證;否則停止認證過程。

  (2)標簽對讀寫器的認證。數據庫計算找到記錄的H(ID′||R)與H(ID′),并經讀寫器將其發送給標簽。數據庫還計算S(Key)和H(S(Key)),并將數據庫中的Key值更新為S(Key);標簽判斷H(ID||R)=H(ID′||R)與H(ID)=H(ID′)。若兩者均成立,則完成標簽對讀寫器的認證過程,將標簽中的Key值更新為S(Key)。

  該協議保證了前向安全性,實現了標簽和讀寫器的雙向認證,同時標簽上只實現Hash函數功能而將隨機數發生器改為在資源豐富的后臺數據庫中,有利于標簽的低成本實現。但在該協議中,每次認證成功后需要更新標簽中的Key值,由于Key是存放在EEPROM中的,更新一次需要較長的時間,這在某些移動應用的場合中如物流、高速公路收費站等場合可能會影響讀取的可靠性。同時,該協議中最終ID還是會在讀寫器和標簽間明文傳遞,不利于保密性要求較高的場合。

  2 雙層/雙向認證的隨機Hash鎖協議

  鑒于前述幾種基于Hash鎖的RFID協議存在不能滿足RFID應用中低成本及安全性要求,結合幾種方法的主要思想,本文提出了一種雙層/雙向認證的隨機Hash鎖RFID安全協議,實現了安全高效、雙向認證的讀取訪問控制。

  2.1基本思想

  將認證過程劃分為通信和鑒別兩層。通信層主要提供通信雙方身份的相互認證(雙向認證) 。鑒別層主要提供對鑒別產品的身份認證。具體而言,對每個產品標簽分配一個原始標識ID0,在數據庫系統上采用DES等先進算法加密后作為ID寫入標簽,然后在讀寫器與標簽之間利用隨機Hash鎖協議進行雙向認證。雙向認證通過后標簽將ID發送給數據庫服務器經解密后得到ID0′。服務器再比較ID0與ID0'是否相等以進行二次認證。

  2.2 認證過程

一種雙層/雙向認證的隨機Hash鎖RFID安全協議

  雙層/雙向認證的隨機Hash鎖協議的主要過程如圖2所示。其具體過程如下:

  (1)鎖定標簽。數據庫生成ID0并利用密鑰K0進行加密ID=DK0(ID0),并生成隨機密鑰K1,將ID、K1經讀寫器寫入標簽。這里的加密過程是在資源豐富的服務器上完成的,所以可以采用目前先進的復雜的密碼機制,如DES、AES、RSA等。

  (2)讀寫器對標簽的認證:①認證開始時,讀寫器生成一隨機數R,連同查詢請求Q一同發給標簽;②標簽計算H(K1||R)和H(K1),并將結果返回給讀寫器;③讀寫器將H(K1||R)、H(K1)及R傳送給服務器,并在數據庫中查詢每個標簽是否滿足H(Ki||R)=H(K1||R)并且H(Ki)=K(K1)。若未找到則表明是非法標簽;若找到則完成了讀寫器對標簽的認證,尚需要繼續對讀寫器進行驗證。

  (3)標簽對讀寫器的認證:①數據庫利用找到的記錄的IDi,計算H(IDi)及H(IDi||R),并將其送給讀寫器;②讀寫器將H(IDi)及H(Idi||R)送給標簽;③標簽判斷是否滿足H(IDi)=H(ID)及H(IDi||R)=H(ID||R),若滿足則完成了標簽對讀寫器的驗證,同時完成標簽與讀寫器之間的雙向認證;否則為非法讀寫器。

  (4)雙層認證: 標簽返回ID給數據庫,從數據庫獲得密鑰K0對ID進行解密獲得最終的ID0′,并比較ID0′與ID0是否相符,從而最終確認產品的合法性。

  2.3 性能分析

  (1) 提供了雙向認證過程。既有讀寫器對標簽的認證,也有標簽對讀寫器的認證,保證了只有合法的讀寫器和合法標簽才能進行有效通信。在雙向認證過程中采用隨機Hash鎖,可以有效防止對標簽和讀寫器信息的非法讀取、位置跟蹤、竊聽、重放等安全風險。

  (2) 提供了雙層加密機制。第1層加密傳輸主要用于通信實體的身份認證,在讀寫器與標簽之間通信數據是隨機加密后的數據,在數據庫與讀寫器之間的加密采用的是假設安全的,可以采用復雜的加密方案。第2層加密主要用于鑒別產品的身份認證。

  (3) 提供了產品身份的最終鑒別。防偽層加/解密過程只在認證服務器里完成,其密鑰K0和產品原始ID0只在服務器里存儲和運算,避免了產品身份信息在網絡傳輸中的非法竊聽、非法讀取、假冒哄騙、重放等安全風險,實現了產品身份的有效鑒別。

  (4) 實現簡單高效。該協議無需復雜的隨機數發生器,適合于低成本的RFID應用;認證過程無須更新標簽和數據庫中的Key值,可以大大縮短認證時間,提高系統的吞吐率。

  目前出現了多種RFID安全協議,但多數協議只是針對安全風險的某些方面,有些協議由于成本過高、認證時間過長等原因不實用。本文提出的雙層/雙向認證的隨機Hash鎖RFID安全協議,將分層認證與雙向認證的思想相結合,具有低成本、運算高效、認證可靠、安全性高等特點,可以有效地應用于產品防偽、電子錢包等對身份認證要求較高的RFID應用領域。

  此外,本協議所使用的Hash函數主要在目前資源有限的標簽中實現,待標簽技術進一步發展,資源相對豐富和運算能力足夠強時,可以將Hash函數改成更加可靠的公鑰函數,而協議的執行過程可以不做大的改動,這將是下一步的研究內容。