0引言
射頻識別技術(Radio Frequency Identification,RFID)是一種非接觸式的自動識別技術。RFID系統(tǒng)通過射頻信號來識別目標對象,可工作在各種惡劣的環(huán)境下,且使裝備該標簽的設備變得智能,可以實現(xiàn)與信息系統(tǒng)進行實時交流。RFID技術的應用遍及各個領域,例如商品溯源、移動支付、供應鏈溯源、門禁系統(tǒng)等。隨著物聯(lián)網(wǎng)的不斷發(fā)展和RFID的大規(guī)模使用,如何在保證RFID系統(tǒng)安全性的前提下,提高RFID系統(tǒng)的認證效率,成為影響RFID大規(guī)模推廣應用的技術難點。
1相關研究
近年來,RFID安全問題成為研究熱點之一,由于RFID標簽自身資源的限制,在設計RFID標簽認證協(xié)議時,除了考慮安全性,還要考慮標簽自身存儲空間和運算能力限制的問題。
為了提高RFID安全性,目前一般采用兩種手段:物理方式和密碼學方式。物理方式需要額外的設備支持,增加了成本,同時使用會造成一定的不便,所以密碼學是提高RFID安全性的主流方式。
近年來密碼學中有眾多的加密技術,主要包括AES、DES、基于Hash函數(shù)的加密算法等。AES、DES等加密方式因資源消耗大,受RFID標簽自身資源的限制,較少被使用,而基于Hash函數(shù)的安全機制資源消耗相對較低,因此基于Hash函數(shù)的認證協(xié)議受到越來越多的關注。NTT實驗室提出了Hash鏈方法[1],它是一種采用共享秘密的詢問—應答協(xié)議,具有不可分辨性和前向安全性,但該協(xié)議只能進行單向認證,安全性上存在一定缺陷,后臺數(shù)據(jù)檢索計算量大;袁署光[2]等人提出一種基于Hash函數(shù)的認證協(xié)議,其利用對稱秘鑰方式,能夠抵御重傳攻擊、假冒攻擊等,但該協(xié)議服務器運算量巨大,數(shù)據(jù)庫檢索命中率低;劉明生[3]等人提了的基于Hash函數(shù)的RFID安全認證協(xié)議,協(xié)議中傳遞標簽ID的Hash值為靜態(tài)的,能有效降低后端數(shù)據(jù)庫檢索數(shù)據(jù)的計算量,但不能提高檢索的命中率,并且存在被跟蹤的風險。
2安全問題分析
RFID系統(tǒng)面臨的安全問題[4]主要包括:(1)假冒攻擊(spoofing attack),通過使用假冒讀寫器來記錄標簽的響應,再用該響應去響應合法的讀寫器,讓合法的讀寫器認為該標簽還存在,通過RFID的認證,事實上該標簽已經(jīng)離去;(2)重傳攻擊(replay attack),是通過截取標簽和讀寫器之間通信的有效信號,再在RFID系統(tǒng)中進行重傳而對系統(tǒng)進行的一種攻擊;(3)去同步化(desynchronization),指通過對標簽進行惡意認證或者攻擊,導致后端數(shù)據(jù)與標簽中存儲的信息不一致,進而導致標簽無法認證的一種攻擊。
3認證方案
通過標簽訪問計數(shù)器值的自更新特性與密值,結合Hash函數(shù)進行RFID認證,雖然能夠抵抗標簽偽裝等攻擊,但是該協(xié)議標簽數(shù)量較大,若干標簽存在惡意認證時,根據(jù)k值來檢索數(shù)據(jù)庫中標簽記錄,將導致檢索范圍過大,標簽記錄命中率降低,而數(shù)據(jù)庫的每次數(shù)據(jù)比對都會進行一定量的Hash計算,這會導致服務器耗費大量的時間和資源來進行運算,進而導致這個RFID系統(tǒng)效率低下。
針對基于Hash鏈的RFID安全雙向認證協(xié)議做如下改進:對k值進行分層化處理,可以有效提高數(shù)據(jù)庫標簽記錄檢索的命中率;認證請求中使用RFID讀寫器產(chǎn)生隨機數(shù),將標簽響應中推算出的隨機數(shù)與該隨機數(shù)進行比較,過濾無效的認證會話;RFID讀寫器保存上一次認證會話中接收的標簽響應,RFID讀寫器接收到的標簽響應與上次會話中使用的標簽響應進行比較,如果相同就過濾該認證會話(標簽在每次認證會話中會更新認證響應),提高認證請求的有效性,減少服務器的運行壓力。有關協(xié)議中的參數(shù)如表1所示。
預備:對每個標簽的k值的范圍進行分層化處理,例如0~999,1 000~9 999,將k置為所在分層的最小值。當k為所在分層區(qū)間k的最大值時,k+1將重置k的值為該分層區(qū)間的最小值,同時置f的值為“1”,每個標簽配置一個初始密值S,為RFID系統(tǒng)篩選兩個碰撞和復雜度都較低的Hash函數(shù),將標簽k、ID、S存儲到數(shù)據(jù)庫。
步驟(1):RFID讀寫器產(chǎn)生一個隨機數(shù)rR,向標簽發(fā)送Query、rR認證請求。
步驟(2):標簽接收到RFID讀寫器發(fā)送的認證請求后,將k值與隨機數(shù)rR相加得到rk,然后標簽讀取存儲器數(shù)據(jù),計算G(IDrk),G(S),然后向RFID讀寫器發(fā)送k、rk、G(IDrk)、G(S)以及標志位f;同時更新S=H(S),更新k=k+1,當k為所在分層的最大值時,k+1將重置k的值為該分層的最小值,同時置f的值為“1”,否則f值不更新。
步驟(3):RFID讀寫器接收到來自標簽的信息后,先通過rk和k計算出隨機數(shù)rR′,比較該rR′是否與剛發(fā)出的rR一致,如果不一致,則該數(shù)據(jù)為無效數(shù)據(jù),直接丟棄;如果一致則進一步判斷G(IDrk)和G(S)。比較與該閱讀器上次認證時保留的G(ID′rk′)和G(S′)是否一致,如果一致則為無效數(shù)據(jù),直接丟棄;如果不一致,則將數(shù)據(jù)k、rk、G(IDrk)、G(S)以及標志位f發(fā)送到后端數(shù)據(jù)庫。
步驟(4):后端服務器接收到RFID讀寫器傳遞的數(shù)據(jù)后,先判斷k值的范圍區(qū)間,確定該標簽在哪個分層,然后判斷f值是否為“1”,如果是轉入①,否則轉入②。
①在數(shù)據(jù)庫中找到該分層的所有標簽數(shù)據(jù)記錄,檢查該記錄中是否還有沒有對比的記錄,如果有轉入③;否則,標簽不合法,停止認證。
②在數(shù)據(jù)庫中找到該分層的標簽數(shù)據(jù)記錄,在此記錄中檢查是否還有符合k″≤k沒有對比的記錄,如果有轉入④;否則,標簽不合法,停止認證。
③讀取一條還沒有對比的標簽數(shù)據(jù)記錄的ID″,計算G(ID″rk),再與G(IDrk)比較,如果相等,則轉入⑤,否則轉入①。
④讀取一條k″≤k且還沒有對比的標簽數(shù)據(jù)記錄的ID″,計算G(ID″rk),再與G(IDrk)比較,如果相等,則轉入⑥,否則轉入②。
⑤比較k與k″的大小,如果k與k″相等則取d=0,否則取d=k+l-k″;然后比較G(Hd(S″))與G(S),如果相等,則轉入⑦,否則轉入①。
⑥計算d=k-k″,然后比較G(Hd(S″))與G(S),如果相等,則轉入⑦,否則轉入②。
⑦后端數(shù)據(jù)庫更新當前標簽記錄的訪問計數(shù)器k″=k+1和密值S″=Hd+1(S″),如果k為該區(qū)間的最大值,則k″置為該區(qū)間的最小值,然后計算G(ID″S″)發(fā)送給標簽。
步驟(5):閱讀器將后端服務器發(fā)送來的G(ID″S(k″))轉發(fā)給標簽。
步驟(6):標簽從存儲器中獲取ID與密值S,計算G(IDS)與G(ID″S″)是否相等,如果相等則認證成功,同時將標志位f置為“0”,否則認證失敗。
協(xié)議認證過程如圖1所示。
4協(xié)議安全性分析
RFID系統(tǒng)面臨的主要安全問題[6]有:假冒攻擊、重傳攻擊、追蹤、去同步化。這里定義讀寫器向標簽傳遞信息的無線信道為前向信道,標簽向讀寫器傳遞信息的無線信道為后向信道[7],對協(xié)議進行安全性分析。
4.1假冒攻擊
攻擊者使用偽裝的讀寫器通過前向信道向標簽發(fā)送Query和rR認證請求,獲取到標簽的響應k、rR、f、G(IDrk)、G(S);再在下一次與合法讀寫器進行認證時,讀寫器發(fā)送Query和rR認證請求,攻擊者通過后向信道使用上次截獲的k、rk、f、G(IDrk)、G(S)來響應讀寫器,然而由于讀寫器每次發(fā)送的rR都是一個隨機產(chǎn)生的隨機數(shù),所以前后兩次的隨機數(shù)rR和rk-k不一致,無法進行假冒攻擊。
4.2重傳攻擊
在讀寫器向標簽發(fā)送Query和rR認證請求之后,攻擊者獲取到k、rk、f、G(IDrk)、G(S);在以后的認證會話中,攻擊者通過后向信道響應k、rk、f、G(IDrk)、G(S),從而發(fā)動重傳攻擊;在讀寫器接收到k、rk、f、G(IDrk)、G(S)過后,進行一次過濾處理,與上一次接收到的G(ID″rk′)、G(S′)進行比較,看數(shù)據(jù)內容是否相同,如果相同,則直接丟棄該數(shù)據(jù),然后再判決rk-k和rR的值是否一致,因為前后兩次認證過程中讀寫器生成的rR不同,由此可見該協(xié)議對重傳攻擊具有安全性。
4.3追蹤
攻擊者使用偽裝的讀寫器向標簽發(fā)送認證請求,獲取到標簽的響應k、rk、f、G(IDrk)、G(S),然后通過該響應來追蹤該標簽;由于每次發(fā)起認證請求時,讀寫器都會重新產(chǎn)生一個隨機數(shù)用于認證,并且標簽自生的k、S(k)也是不斷變化的,所以rk也會不斷變化,f值只能是“0”或“1”無法實現(xiàn)追蹤,因此該標簽的響應是不斷變化的,所以該協(xié)議能夠很好地抵制追蹤攻擊。
4.4去同步化
認證過程中,因為采用的是無線信道,故有可能造成數(shù)據(jù)傳輸?shù)膩G失,或人為對標簽進行惡意攻擊,然后導致標簽的數(shù)據(jù)與后端數(shù)據(jù)庫數(shù)據(jù)不一致,使標簽無效化,無法完成認證操作。后端數(shù)據(jù)庫可以根據(jù)k值和f值來確保標簽密值的成功匹配,每次成功認證過后,后端數(shù)據(jù)庫也會根據(jù)標簽傳來的信息,更新后端數(shù)據(jù)庫的數(shù)據(jù)。
5協(xié)議效率分析
本協(xié)議對Hash鏈的RFID安全雙向認證協(xié)議[5]做了改進,進一步提高了后端數(shù)據(jù)庫檢索的效率,讀寫器端增加過濾功能,能夠有效地攔截惡意的認證請求,很好地減少服務器資源的浪費。
通過k值的分層化處理可以有效地縮小數(shù)據(jù)檢索的范圍,快速定位到需要檢索的k值的數(shù)值范圍,從而確定待檢索的數(shù)據(jù)記錄所在的k值分層;再根據(jù)k值進一步縮小檢索數(shù)據(jù)記錄的范圍,因為在f為“0”時,被檢索記錄的k″必須滿足k″≤k。
標志位“f”的作用主要是為了處理k值在完成多次認證過后導致k值越界,導致標簽去同步化,無法進行認證。
在認證會話中,讀寫器不是將標簽響應的數(shù)據(jù)進行一個簡單的數(shù)據(jù)傳遞,讓服務器進行數(shù)據(jù)的處理;而是對標簽響應的數(shù)據(jù)進行了一個數(shù)據(jù)過濾,能夠有效地過濾無效認證會話和惡意認證,降低服務器的運行負荷,避免不必要的服務器資源浪費。
6性能分析
本文使用MATLAB對基于Hash鏈的RFID安全雙向認證協(xié)議提出的基于Hash鏈的RFID安全雙向認證協(xié)議與本文改進的協(xié)議進行了仿真測試,對比了后端服務器在比較次數(shù)、哈希運算次數(shù)的差別。本文提出的改進協(xié)議細節(jié)上與基于Hash鏈的RFID安全雙向認證協(xié)議有些不同,有的特性未在測試數(shù)據(jù)上很好地體現(xiàn)出來,例如標簽閱讀器的過濾功能,可以過濾一部分無效的認證請求,降低后端服務器的運行負荷。
將基于Hash鏈的RFID安全雙向認證協(xié)議測試組命名為A組,本文改進協(xié)議分成3組進行測試,分別命名為B組、C組和D組。測試中先去除標簽閱讀器的過濾功能。假定A組中一共有2 000個標簽,后端服務器也有2 000條對應的標簽數(shù)據(jù),并且每個標簽和服務器之間已發(fā)生不超過50次的隨機訪問會話,同時標簽數(shù)據(jù)與后端服務器同步,再隨機抽取200個標簽發(fā)生隨機次數(shù)(不超過20次)的惡意訪問,造成標簽數(shù)據(jù)與后端數(shù)據(jù)庫數(shù)據(jù)的不同步,然后隨機發(fā)起2 000 000次的訪問會話。B組分為a1、b1分層,C組分為a2、b2、c2分層,D組分為a3、b3、c3、d3分層,每個分層的標簽數(shù)、k值范圍以及發(fā)生隨機惡意訪問(不超過20次)的標簽數(shù)具體信息如圖2所示。首先每個分層的每個標簽與服務器之間發(fā)生不超過50次的隨機訪問會話,同時標簽數(shù)據(jù)與后端服務器是同步的,再隨機抽取表2中所述的標簽個數(shù)發(fā)生隨機次數(shù)(不超過20次)的惡意訪問,造成標簽數(shù)據(jù)與后端數(shù)據(jù)庫的不同步,最后以組為單位,每組隨機發(fā)起2 000 000次的訪問會話,統(tǒng)計以上A、B、C、D四組數(shù)據(jù)可以得到表3測試數(shù)據(jù)。
本文協(xié)議對標簽k進行分層處理后,分為多個組,根據(jù)以上測試結果可以得出,相比基于Hash鏈的RFID安全雙向認證協(xié)議,本文協(xié)議能有效地減少后端服務器的運算次數(shù),其次k值分層處理的分層數(shù)越多,后端服務器的運算次數(shù)越少。
7結束語
隨著物聯(lián)網(wǎng)的不斷發(fā)展,RFID系統(tǒng)被廣泛使用,但RFID安全問題和認證效率問題成為制約RFID系統(tǒng)廣泛使用的關鍵。由于RFID標簽自身的局限性,采用密碼學的RFID安全認證協(xié)議成為提高認證效率和解決RFID安全性問題的重要方法。本文提出了一種基于Hash鏈的改進協(xié)議,能有效地抵抗假冒攻擊、重傳攻擊、追蹤和去同步化,利用訪問計數(shù)器值的分層特性及自更新和重置特點,提高了數(shù)據(jù)庫中標簽數(shù)據(jù)的命中率,通過標簽閱讀器的過濾功能,有效地過濾無效的認證請求,從而降低了RFID認證時后臺服務器的資源消耗,有效提高系統(tǒng)的認證效率。
責任編輯:ct
評論
查看更多