趙太飛,鄒 波,尹 航
(西安理工大學 自動化與信息工程學院,陜西 西安 710048)
?
基于Hash鏈的RFID認證協議
趙太飛,鄒 波,尹 航
(西安理工大學 自動化與信息工程學院,陜西 西安 710048)
為了提高大規模RFID系統的認證效率,通過分析現有RFID系統的認證效率和安全性,提出了一套基于Hash函數的改進協議。向RFID讀寫器加入過濾規則,能夠有效過濾惡意和無效的認證請求;對標簽的訪問計數器值的分層化、更新和重置,可以有效提高后端數據庫檢索數據的命中率。通過分析和測試,該協議能夠有效抵御假冒攻擊、重傳攻擊等不安全問題,有效提高RFID認證的效率,降低認證服務器計算負荷。
RFID;認證協議;訪問計數器;Hash;讀寫器
射頻識別技術(Radio Frequency Identification,RFID)是一種非接觸式的自動識別技術。RFID系統通過射頻信號來識別目標對象,可工作在各種惡劣的環境下,且使裝備該標簽的設備變得智能,可以實現與信息系統進行實時交流。RFID技術的應用遍及各個領域,例如商品溯源、移動支付、供應鏈溯源、門禁系統等。隨著物聯網的不斷發展和RFID的大規模使用,如何在保證RFID系統安全性的前提下,提高RFID系統的認證效率,成為影響RFID大規模推廣應用的技術難點。
近年來,RFID安全問題成為研究熱點之一,由于RFID標簽自身資源的限制,在設計RFID標簽認證協議時,除了考慮安全性,還要考慮標簽自身存儲空間和運算能力限制的問題。
為了提高RFID安全性,目前一般采用兩種手段:物理方式和密碼學方式。物理方式需要額外的設備支持,增加了成本,同時使用會造成一定的不便,所以密碼學是提高RFID安全性的主流方式。
近年來密碼學中有眾多的加密技術,主要包括AES、DES、基于Hash函數的加密算法等。AES、DES等加密方式因資源消耗大,受RFID標簽自身資源的限制,較少被使用,而基于Hash函數的安全機制資源消耗相對較低,因此基于Hash函數的認證協議受到越來越多的關注。NTT實驗室提出了Hash鏈方法[1],它是一種采用共享秘密的詢問—應答協議,具有不可分辨性和前向安全性,但該協議只能進行單向認證,安全性上存在一定缺陷,后臺數據檢索計算量大;袁署光[2]等人提出一種基于Hash函數的認證協議,其利用對稱秘鑰方式,能夠抵御重傳攻擊、假冒攻擊等,但該協議服務器運算量巨大,數據庫檢索命中率低;劉明生[3]等人提了的基于Hash函數的RFID安全認證協議,協議中傳遞標簽ID的Hash值為靜態的,能有效降低后端數據庫檢索數據的計算量,但不能提高檢索的命中率,并且存在被跟蹤的風險。
RFID系統面臨的安全問題[4]主要包括:(1)假冒攻擊(spoofing attack),通過使用假冒讀寫器來記錄標簽的響應,再用該響應去響應合法的讀寫器,讓合法的讀寫器認為該標簽還存在,通過RFID的認證,事實上該標簽已經離去;(2)重傳攻擊(replay attack),是通過截取標簽和讀寫器之間通信的有效信號,再在RFID系統中進行重傳而對系統進行的一種攻擊;(3)去同步化(desynchronization),指通過對標簽進行惡意認證或者攻擊,導致后端數據與標簽中存儲的信息不一致,進而導致標簽無法認證的一種攻擊。
[5]通過標簽訪問計數器值的自更新特性與密值,結合Hash函數進行RFID認證,雖然能夠抵抗標簽偽裝等攻擊,但是該協議標簽數量較大,若干標簽存在惡意認證時,根據k值來檢索數據庫中標簽記錄,將導致檢索范圍過大,標簽記錄命中率降低,而數據庫的每次數據比對都會進行一定量的Hash計算,這會導致服務器耗費大量的時間和資源來進行運算,進而導致這個RFID系統效率低下。
針對參考文獻[5]協議做如下改進:對k值進行分層化處理,可以有效提高數據庫標簽記錄檢索的命中率;認證請求中使用RFID讀寫器產生隨機數,將標簽響應中推算出的隨機數與該隨機數進行比較,過濾無效的認證會話;RFID讀寫器保存上一次認證會話中接收的標簽響應,RFID讀寫器接收到的標簽響應與上次會話中使用的標簽響應進行比較,如果相同就過濾該認證會話(標簽在每次認證會話中會更新認證響應),提高認證請求的有效性,減少服務器的運行壓力。有關協議中的參數如表1所示。
預備:對每個標簽的k值的范圍進行分層化處理,例如0~999,1 000~9 999,將k置為所在分層的最小值。當k為所在分層區間k的最大值時,k+1將重置k的值為該分層區間的最小值,同時置f的值為“1”,每個標簽配置一個初始密值S,為RFID系統篩選兩個碰撞和復雜度都較低的Hash函數,將標簽k、ID、S存儲到數據庫。
步驟(1):RFID讀寫器產生一個隨機數rR,向標簽發送Query、rR認證請求。


步驟(4):后端服務器接收到RFID讀寫器傳遞的數據后,先判斷k值的范圍區間,確定該標簽在哪個分層,然后判斷f值是否為“1”,如果是轉入①,否則轉入②。
①在數據庫中找到該分層的所有標簽數據記錄,檢查該記錄中是否還有沒有對比的記錄,如果有轉入③;否則,標簽不合法,停止認證。
②在數據庫中找到該分層的標簽數據記錄,在此記錄中檢查是否還有符合k″≤k沒有對比的記錄,如果有轉入④;否則,標簽不合法,停止認證。


⑤比較k與k″的大小,如果k與k″相等則取d=0,否則取d=k+l-k″;然后比較G(Hd(S″))與G(S),如果相等,則轉入⑦,否則轉入①。
⑥計算d=k-k″,然后比較G(Hd(S″))與G(S),如果相等,則轉入⑦,否則轉入②。



協議認證過程如圖1所示。

表1 符號說明

圖1 協議認證過程
RFID系統面臨的主要安全問題[6]有:假冒攻擊、重傳攻擊、追蹤、去同步化。這里定義讀寫器向標簽傳遞信息的無線信道為前向信道,標簽向讀寫器傳遞信息的無線信道為后向信道[7],對協議進行安全性分析。
4.1 假冒攻擊

4.2 重傳攻擊

4.3 追蹤

4.4 去同步化
認證過程中,因為采用的是無線信道,故有可能造成數據傳輸的丟失,或人為對標簽進行惡意攻擊,然后導致標簽的數據與后端數據庫數據不一致,使標簽無效化,無法完成認證操作。后端數據庫可以根據k值和f值來確保標簽密值的成功匹配,每次成功認證過后,后端數據庫也會根據標簽傳來的信息,更新后端數據庫的數據。
本協議對Hash鏈的RFID安全雙向認證協議[5]做了改進,進一步提高了后端數據庫檢索的效率,讀寫器端增加過濾功能,能夠有效地攔截惡意的認證請求,很好地減少服務器資源的浪費。
通過k值的分層化處理可以有效地縮小數據檢索的范圍,快速定位到需要檢索的k值的數值范圍,從而確定待檢索的數據記錄所在的k值分層;再根據k值進一步縮小檢索數據記錄的范圍,因為在f為“0”時,被檢索記錄的k″必須滿足k″≤k。
標志位“f”的作用主要是為了處理k值在完成多次認證過后導致k值越界,導致標簽去同步化,無法進行認證。
在認證會話中,讀寫器不是將標簽響應的數據進行一個簡單的數據傳遞,讓服務器進行數據的處理;而是對標簽響應的數據進行了一個數據過濾,能夠有效地過濾無效認證會話和惡意認證,降低服務器的運行負荷,避免不必要的服務器資源浪費。
本文使用MATLAB對文獻[5]提出的基于Hash鏈的RFID安全雙向認證協議與本文改進的協議進行了仿真測試,對比了后端服務器在比較次數、哈希運算次數的差別。本文提出的改進協議細節上與文獻[5]有些不同,有的特性未在測試數據上很好地體現出來,例如標簽閱讀器的過濾功能,可以過濾一部分無效的認證請求,降低后端服務器的運行負荷。
將參考文獻[5]測試組命名為A組,本文改進協議分成3組進行測試,分別命名為B組、C組和D組。測試中先去除標簽閱讀器的過濾功能。假定A組中一共有2 000個標簽,后端服務器也有2 000條對應的標簽數據,并且每個標簽和服務器之間已發生不超過50次的隨機訪問會話,同時標簽數據與后端服務器同步,再隨機抽取200個標簽發生隨機次數(不超過20次)的惡意訪問,造成標簽數據與后端數據庫數據的不同步,然后隨機發起2 000 000次的訪問會話。B組分為a1、b1分層,C組分為a2、b2、c2分層,D組分為a3、b3、c3、d3分層,每個分層的標簽數、k值范圍以及發生隨機惡意訪問(不超過20次)的標簽數具體信息如圖2所示。首先每個分層的每個標簽與服務器之間發生不超過50次的隨機訪問會話,同時標簽數據與后端服務器是同步的,再隨機抽取表2中所述的標簽個數發生隨機次數(不超過20次)的惡意訪問,造成標簽數據與后端數據庫的不同步,最后以組為單位,每組隨機發起2 000 000次的訪問會話,統計以上A、B、C、D四組數據可以得到表3測試數據。

表2 本文協議分層測試數據

表3 協議性能對比分析
本文協議對標簽k進行分層處理后,分為多個組,根據以上測試結果可以得出,相比參考文獻[5],本文協議能有效地減少后端服務器的運算次數,其次k值分層處理的分層數越多,后端服務器的運算次數越少。
隨著物聯網的不斷發展,RFID系統被廣泛使用,但RFID安全問題和認證效率問題成為制約RFID系統廣泛使用的關鍵。由于RFID標簽自身的局限性,采用密碼學的RFID安全認證協議成為提高認證效率和解決RFID安全性問題的重要方法。本文提出了一種基于Hash鏈的改進協議,能有效地抵抗假冒攻擊、重傳攻擊、追蹤和去同步化,利用訪問計數器值的分層特性及自更新和重置特點,提高了數據庫中標簽數據的命中率,通過標簽閱讀器的過濾功能,有效地過濾無效的認證請求,從而降低了RFID認證時后臺服務器的資源消耗,有效提高系統的認證效率。
參考文獻
[1] OHKUBO M, SUZUKI K,KINOSHITA S. Hash-chain based forwardsecure privacy protection scheme for low-cost RFID[C].Proceedings of the 2004 Symposium on Cryptography and Information Security, Berlin: Springer-Verlag, 2004: 719-724.
[2] 袁署光,戴宏躍,賴聲禮,等.基于Hash函數的RFID認證協議[J].計算機工程,2008,34(12):141-143.
[3] 劉明生,王艷,趙新生,等.基于Hash函數的RFID安全認證協議的研究[J].傳感技術學報,2011,24(9):1317-1321.
[4] 丁振華,李錦濤,馮波,等.基于Hash函數的RFID安全認證協議研究[J].計算機研究與發展,2009,46(4):583-592.
[5] 裴小強,衛宏儒.基于Hash鏈的RFID安全雙向認證協議[J].計算機應用,2014,34(z1):47-49,54.
[6] 高樹靜.低成本無源RFID安全關鍵技術研究[D].濟南:山東大學,2013.
[7] 周永彬,馮登國.RFID安全協議的設計與分析[J].計算機學報,2006,29(4):581-589.
RFID authentication protocol based on Hash chain
Zhao Taifei,Zou Bo,Yin Hang
(College of Automation and Information Engineering,Xi′an University of Technology,Xi′an 710048,China)
In order to improve the certification efficiency of large-scale RFID system,a set of improved protocols based on Hash function are proposed by analyzing the certification efficiency and safety of existing RFID systems.Joining the filtering rules into RFID reader can effectively filter malicious and invalid authentication request.The stratification,updating and resetting of tag access counter’s value can effectively improve the hit rate of the retrieving data in back-end database.The analysis and testing results show that the protocols can effectively resist the fake attack,replay attack and other unsafe problems.In addition,the protocols can improve the efficiency of RFID authentication and reduce the computational load of authentication server effectively.
RFID; authentication protocol; access counter; Hash; reader
TP393.0
A DOI:10.19358/j.issn.1674-7720.2016.19.018
趙太飛,鄒波,尹航.基于Hash鏈的RFID認證協議[J].微型機與應用,2016,35(19):60-63.
2016-06-07)
趙太飛(1978-),男,博士,副教授,主要研究方向:網絡通信與自組織網絡技術。
鄒波(1991-),男,在讀碩士生,主要研究方向:嵌入式軟件。
尹航(1992-),男,在讀碩士生,主要研究方向:嵌入式軟件。