基于Hash函數的輕量級RFID雙向認證協議
龔海余1, 李飛1, 趙國娟2
(1.成都信息工程大學信息安全工程學院, 成都610225;2.新疆大學電氣工程學院, 烏魯木齊830046)
摘要:通過對輕量級RFID系統中基于Hash函數認證協議安全性及計算成本等因素進行研究,分析了目前該類協議存在的安全缺陷和計算成本。通過對協議的改進,提出了一種輕量級RFID雙向認證協議,在滿足同等安全性能的條件下,減輕了標簽的計算成本,提高了標簽的計算性能,并通過BAN邏輯形式化證明了協議的安全認證過程。通過51單片機與天線模塊仿制電子標簽進行實驗,從安全性、隱私性、協議性能等因素與其他基于Hash函數的協議比較。實驗表明,本協議認證過程時間更短,并當數據庫標簽數量越多,改進協議的計算成本優越性較其他協議越突出,具有一定的實用價值。
關鍵詞:RFID;Hash函數;BAN邏輯;認證協議;標簽
文章編號:1673-1549(2015)04-0045-05
DOI:10.11863/j.suse.2015.04.10
收稿日期:2015-06-26
作者簡介:龔海余(1989-),男,湖南婁底人,助教,碩士,主要從事物聯網安全方面的研究,(E-mail)1243024108@qq.com;李飛(1966-),男,湖南常德人,教授,碩士,主要從事物聯網技術、網格計算方面的研究,(E-mail)512960520@ qq.com
中圖分類號:TP368
文獻標志碼:A
引言
無線射頻識別(Radio Frequency Identification,簡稱RFID)是一種非接觸的自動識別技術,是物聯網核心技術之一。在最近幾年,物聯網技術迅速發展,已經在物流、交通運輸、醫療、批發零售、設備資產管理、食品安全等方面取得了較好的應用。與此同時,RFID的安全性問題也備受關注。由于RFID的計算能力跟存儲能力有限,這種硬件上的局限性決定了標簽不可能實現復雜的運算[1]。針對Hash函數的RFID認證協,從Sarma提出Hash-Lock協議至張捍東等前人對協議的不斷改進,協議從沒有加密機制到可以抵制重放攻擊與對標簽的跟蹤等攻擊,但受限于標簽硬件因素,還是存在計算成本大、安全性能差、大量標簽認證時間長等缺點。通過對前人協議的分析,提出了一種改進協議,并通過實驗驗證結果。
1RFID系統簡介
RFID系統主要由三部分組成[2],包括后臺數據庫(Database,簡稱DB)、讀寫器(Reader)、標簽(Tag)三部分,如圖1所示。
DB一般是指數據處理服務器,其具有強大的數據處理和存儲能力。與DB連接的Reader,其功能是傳遞DB與Tag之間的數據,一般不具有數據處理能力或者有較小的運算能力。而Reader與Tag之間的通信則是RFID系統的關鍵。Tag一般是通過空中接口與Reader通信,因空中接口的開放性及標簽的低數據處理導致了通信信息的泄露,且低成本RFID標簽的最多只包含10 000個以內的邏輯門電路,而用于安全機制的門電路基本在3000個左右[3]。這些硬件上的局限性對RFID系統安全機制的設計要求提出了挑戰。設計一種安全、低成本和高效的RFID認證協議引起了廣大學者的探討。

圖1 RFID系統結構
2RFID認證協議的安全問題
RFID系統在滿足安全性條件下,需要考慮諸多因素。首先,協議必須能夠對RFID系統的數據流提供有效的保護;而對于低成本、計算資源和存儲受限的標簽,協議所需要的通信量及計算量等性能指標也是必須考慮的因素[4-6]。
3基于Hash函數的RFID認證協議分析
Sarma等人[7]提出的采用Hash函數的RFID認證協議,顯然存在很多漏洞。其以明文方式傳輸不可取,標簽易被跟蹤、竊聽,因此可以克隆標簽進行重放攻擊,還可進行中間人攻擊、拒絕服務攻擊;而Weis提出隨機Hash-Lock協議,該協議在Hash-Lock協議的基礎上增加了Hash函數與偽隨機數發生器,通過增加標簽成本換取標簽不易被跟蹤等問題,且閱讀器需計算所有標簽的Hash值,不但增加了閱讀器的成本,同時也嚴重影響標簽識別的效率;NTT實驗室提出的基于Hash鏈的安全協議,很顯然,當標簽數量為n時,該協議要為每個標簽計算2n個Hash函數,計算和比較次數都比較大,不適合大量標簽的情況;陳雁飛等[8]提出的Reader_Tag安全協議,該協議將隨機數移到后臺,降低了標簽的復雜性,且前向通道安全,相對于隨機Hash-Lock協議,機器運算負載減少很多,效率明顯提高,并且實現了身份的雙向認證,有效實現了安全隱私保護。但每個標簽保存兩條記錄,不利于標簽數量過多的情形,且標簽的計算量還是對標簽的成本是個考驗;張捍東等人[9]提出的RFID安全協議,雖然協議設計的比較完善,但協議認證過程復雜,閱讀器有計算和存儲功能,通過閱讀器的計算和存儲能力換取安全性能。其次,對重放攻擊抵抗能力不強。
本文在眾多協議的基礎上,提出基于Hash函數的改進型的安全認證協議。
改進協議結構如圖2所示。

圖2 改進之后的協議
前提假設:數據庫與閱讀器之間的有線信道為安全信道,而閱讀器與標簽之間的空中接口部分為不安全信道;協議中的Hash函數為安全函數;為了加快查詢數據,根據文獻[10-11]中的建議,在H(Key)上建立特殊索引。
Flag的定義:一般情況下,Flag=0;當記錄根據H(Key)沒有找到時,Flag=1,根據H(Key*)查找,并將本次訪問的時間等因素記錄到日志文件,供今后的安全分析使用。
鎖定標簽:該協議DB中保存有:標簽ID、更新之前的Key與H(Key)、更新之后的Key*與H(Key*);標簽中也同時寫入標簽ID、Key、s;閱讀器中保存有s。
解鎖標簽:
(1) 閱讀器發送隨機數R給數據庫DB,并把查詢字段Query,R⊕s發給標簽Tag。
(2) 標簽Tag把R⊕s與s異或得到R,計算H(Key)⊕R,并由閱讀器轉發給數據庫。
(3) 數據庫接口計算H(Key)⊕R⊕R得到H(Key),根據H(Key)查找數據庫(Flag默認為0)。
① 如果能查找到一條記錄,則把查找到的記錄的IDk與R計算得到H(IDk⊕R),并把IDk、H(IDk⊕R)發給閱讀器Reader,同時數據庫信息更新為:H(Key*)=H(H(Key⊕R)),H(Key)=H(Key*),ID,Key=Key*,Key*=H(Key⊕R)。更新完成后進入步驟(4)。
② 若此次查詢沒有查找到數據,則標志位Flag=1,則根據H(Key*)查找,若查到一條記錄,按前面的操作,并把相關數據記錄并保存到日志文件中。若沒有查到數據就中斷通信。
(4) 閱讀器Reader把H(IDk⊕R)發給標簽Tag,然后標簽根據自身存儲的ID、R,計算H(ID⊕R)。如果H(ID)與傳過來的H(IDk)不相等,則結束通信;如果相等,更新Key=H(Key⊕R);如果遲遲沒有接收到消息或者消息為不正確,則不更新Key。
此認證協議在數據庫中的記錄數減半,不但提高了查找的速度,而且標簽計算也大大減小。
為了證明改進協議的先進性和安全性,下面采用BAN形式化語言分析與驗證。
4BAN分析及改進協議的演示
(1) 根據網絡安全協議形式化分析與驗證的基本方法,通過簡化本協議,提煉出了本安全協議的基本模型:①A→B:A向B發送請求Query;②B→A發送H(Key)應答;③A:A收到H(Key)之后,查找數據庫找到相同的記錄,確定B的合法性;④A→B:A向B發送H(IDk);⑤B:B根據自身的ID,通過計算得到H(ID),比較A發來的H(ID),確認A的合法性;
(2) 使用BAN形式證明理論,通過對協議過程省略和抽象,僅保留與安全分析有關的內容,協議形式化簡化如下:
①A?{Key,R}k;②B?{ID,R}k;
(3) 本安全認證協議的初始化假設:






(4)BAN分析本改進協議的目標:


(5) 本協議推理過程:
同理,可以推理得出B|≡ID。閱讀器與Tag之間可以通過雙向相互認證,從而能夠信用對方。因此達到了認證的目的。
假設數據庫中存儲一條記錄,見表1。

表1 數據初始化
解釋:初始化時,標簽的ID為1,Key與Key*相等。H(Key*)與H(Key)相等。同時,相應的標簽初始化為ID=1,Key=A,Flag=0。
閱讀器給數據庫DB發送隨機數R,同時,閱讀器加上認證查詢Query,連同R⊕s一起發給標簽Tag。Tag計算H(Key)=H(A),H(A)與隨機數R異或得到H(A)⊕R,由閱讀器轉發給數據庫。數據庫得到H(A)⊕R與R異或,即:H(A)⊕R⊕R=H(A),再根據Flag=0(默認),通過H(A)查找數據庫表,得到ID=1、Key=A,能找到記錄說明標簽為合法標簽,標簽認證過程結束。根據通過認證得到的記錄(1,A)和r計算H(1⊕r),然后通過閱讀器轉發H(1⊕R)給標簽Tag。如果找不到記錄,認證結束,發送EOF由閱讀器轉發給標簽。而此時,數據庫中的數據將發生變化,見表2。

表2 數據庫中數據變化后的結果
當標簽Tag接收到H(1⊕R)后,標簽Tag根據與自己計算的H(1)是否相等。如果相等,則閱讀器通過驗證,更新標簽Tag中的Key=H(A⊕R),標簽解鎖,開放標簽中數據段中的數據。如果接收到EOF或者根本沒有接收到信號,標簽不更新Key。
特別說明:當下次驗證時,如果是Flag=0,則根據H(Key)查找到IDk、Key。如果是Flag=1,則根據H(Key*)查找IDk、Key*。
5改進協議驗證及性能分析
實驗環境及過程:通過開發板上的51單片機加天線模塊構成標簽進行實驗,當上位機程序接收到閱讀器發送的隨機數R進行定時開始,到閱讀器正常認證后通過串口通知上位機作為一次認證過程。上位機累加時間差通過計算得到單個標簽的平均認證時間(表3),并通過標簽進行多次認證分析得知:當數據庫中存有標簽數量越多(通過生成隨機數的方式快速插入數據庫導致數據記錄條數增多),單個標簽的查詢性能提高越明顯。

表3 各種基于Hash函數的RFID安全協議的平均認證時間
從本實驗數據中發現,Hash-Lock協議認證簡單,認證時間短,但有很大的安全問題。隨機Hash-Lock把數據計算轉移到閱讀器,較Hash-Lock協議有一定的安全性。通過與Reader-Tag安全協議和基于Hash的RFID安全協議的研究中的方法進行比較發現,本協議的平均認證時間比這兩種協議都短,且安全性能比兩者都高,從而證明了本協議的優越性。從上面的認證過程發現,改進協議的電子標簽計算成本也是有很大優越性的,幾種協議的計算成本見表4。

表4 電子標簽的計算成本與存儲成本對比
注:Tag的計算成本包括Hash函數計算次數+隨機數發生器產生次數
5.2.1安全性分析
改進協議是在陳雁飛等的基礎上提出的,改進后的協議能抵抗假冒攻擊、重放攻擊、中間人攻擊、通信數據流分析攻擊,滿足一定的安全需求。
5.2.2隱私性分析
改進協議的數據流都采用Hash單向散列函數進行加密,且每次數據流的內容都會發生改變,不存在跟蹤標簽,非法訪問標簽數據信息泄漏隱私等情況。
5.2.3協議性能分析
改進協議最大的特點就是滿足大量標簽識別的情況。通過對協議的改進和后臺數據庫的重新設計,不僅大大提高了數據查詢的速度,而且減少了標簽存儲成本。
6結束語
本協議是在基于RFID系統的Reader-Tag安全協議上提出的改進協議,在此基礎上不但重新設計了數據庫,并且充分利用了兩個性質:(1)每次驗證綁定隨機數使得每次通信的內容不同;(2)利用A⊕B⊕B=A的性質達到安全通信的目的。改進協議具有運算成本低、標簽負載小、認證效率高、安全性好等優點,是一種實用的算法。實驗表明:隨著數據庫中標簽數量的增多,它的優越性就更能表現出來。另外,本協議也有不足之處:(1)本認證協議因為在Reader-Tag協議的基礎上改進的,實際應用過程中的諸多因素的干擾沒有考慮,但不會影響本協議針對大量標簽結果的趨勢;(2)本協議如果s被內部人員利用,通過多次重放攻擊,可以導致失步現象。以上不足之處在接下來的工作中重點解決。
參 考 文 獻:
[1]金永明,吳棋瀅,石志強,等.基于PRF的RFID輕量級認證協議研究.計算機研究與發展,2014,51(7):1506-1514.
[2]于廣威,何文才.基于RFID技術的身份識別系統的設計與實現.通信技術,2010,43(4):106-108.
[3]林貴彬,王永華,詹宜巨.一種基于隨機序列的RFID安全協議.計算機工程,2008,34(20):151-156.
[4]伍新華,唐翠婷.一種基于Hash的RFID雙向認證協議.武漢理工大學學報:交通科學與工程版,2011,35(3):571-574.
[5]丁振華,李錦濤,馮波.基于Hash函數的RFID安全認證協議研究.計算機研究與發展,2009,46(4):583-592.
[6]張兵,馬新新,秦志光.輕量級RFID雙向認證協議設計與分析.電子科技大學學報,2013,42(3):425-430.
[7]曾麗華,熊璋.Key值更新隨機Hash鎖對RFID安全隱私的加強.計算機工程,2007,33(3):151-154.
[8]陳雁飛,馬成勇,楊慧.基于RFID系統的Reader-Tag安全協議的設計及分析.計算機與數字工程,2008,36(9):128-131.
[9]張捍東,丁磊,岑豫皖.基于Hash函數的RFID安全協議研究.計算機工程與設計,2013,34(11):3766-3769.
[10]趙海,歐陽元新,熊璋.用于RFID中間件的主存數據庫索引結構.華中科技大學學報:自然科學版,2012,40(S1):91-94.
[11]Wang Wenchuang,Wang Keren.RFID Protocols Based on Data Buffer Mechanism.Information and Electronic Engineering,2008,6(5):372-378.
[12]Luo Zongwei,Zhou Shijie,Li Jenny.Enhancement of a Lightweight RFID Security Protocol.Journal of University of Electronic Science and Technology of China,2007,36(6):1172-1178.
The Duplex Authentication Protocol of Lightweight RFID Based on Hash Function
GONGHaiyu1,LIFei1,ZHAOGuojuan2
(1.School of Information Security Engineering, Chengdu University of Information Technology, Chengdu 610225, China;
2.College of Electrical Engineering, Xinjiang University, Urumchi 830046, China)
Abstract:Through the research on security and calculation cost and other factors of authentication protocol base on hash function in lightweight radio frequency identification(RFID)system, the security defects and computational cost of this kind of protocol are analyzed. Through the improvement of the protocol, a kind of lightweight RFID mutual authentication protocol is proposed. When it meets the condition of the same security property, the calculation cost of the tag is reduced, and the calculation performance of the tag is improved. And the safety certification process of the protocol is proved through the BAN logic formalization. Then through the experiment of the 51 ECU and antenna module to copy electronic tag, it was compared with other protocols which based on Hash function from the security, privacy, agreement and other factors. The experiments show, the authentication process time of this protocol is shorter, and the more tags in the database, the better superiority of the improved protocol’s calculate cost. So, this protocol has a certain practical value.
Key words: RFID; hash function; BAN logic; authentication protocol; tag