馬巧梅
寶雞文理學院計算機科學系 陜西 721016
射頻識別是一種利用射頻信號自動識別目標對象并獲取相關(guān)信息的技術(shù),它的應用領(lǐng)域日益擴大,目前已在制造、零售、物流等領(lǐng)域顯示出強大的實用價值和發(fā)展?jié)摿?,并將成為未來信息社會建設的一項基礎(chǔ)技術(shù),被評為本世紀十大重要技術(shù)之一。
如何在RFID標簽各種資源非常有限的情況下,設計安全、高效的通信協(xié)議,是RFID系統(tǒng)應用中一個非常具有挑戰(zhàn)性的問題。本文提出一種改進的Hash鏈協(xié)議,用于RFID系統(tǒng)中標簽和讀寫器之間雙向認證和進行保密通信的協(xié)議,并對它的安全性進行了分析。
到目前為止,已有許多RFID認證協(xié)議被提出。多數(shù)安全認證協(xié)議都是基于密碼機制的,而且采用的是Hash函數(shù)。基于 Hash鏈的改進協(xié)議也是基于此函數(shù),并且是基于關(guān)于RFID系統(tǒng)信道的基本假設來進行。此外,我們假定這些協(xié)議所使用的基本密碼構(gòu)造,如偽隨機生成函數(shù)、加密體制、簽名算法、MAC機制以及雜湊函數(shù),都是安全的。本文中H、G表示兩個不同的抗碰撞的安全雜湊函數(shù)。
本質(zhì)上,Hash鏈協(xié)議也是基于共享秘密的詢問-應答協(xié)議。但是,在 Hash 鏈協(xié)議中,當使用兩個不同雜湊函數(shù)的讀寫器發(fā)起認證時,Tag 總是發(fā)送不同的應答,其協(xié)議流程如圖 1 所示。值得提出的是,Hash鏈協(xié)議被聲稱具有完美的前向安全性。由于G是單向函數(shù),因此攻擊者能夠獲得標簽輸出at,j,但是不能從at,j中獲得st,j。
圖1 Hash鏈協(xié)議
在系統(tǒng)運行之前,Tag 和后端數(shù)據(jù)庫首先要預共享一個初始秘密值 st,1,則 Tag 和 讀寫器之間執(zhí)行第 j 次 Hash鏈的過程如下:
(1) 讀寫器向 Tag發(fā)送 Query認證請求;
(2) Tag使用當前的秘密值 st,j計算at,j = G (st,j ),并更新其秘密值為 st,j+1= H(st,j ) 。Tag 將 at,j 發(fā)送給讀寫器;
(3) 讀寫器將 at,j 轉(zhuǎn)發(fā)給后端數(shù)據(jù)庫;
(4) 后端數(shù)據(jù)庫系統(tǒng)針對所有的 Tag 數(shù)據(jù)項查找并計算是否存在某個 IDt (1≤t≤n)以及是否存在某個 j (1≤j≤m,其中 m 為系統(tǒng)預設置的最大鏈長度) 使得 at,j =G( Hj-1(st,1))成立。如果有,則認證通過,并將IDt發(fā)送給Tag;否則,認證失敗。
實質(zhì)上,在 Hash 鏈協(xié)議中,Tag成為了一個具有自主ID更新能力的主動式Tag,同時,由上述流程可以看出,Hash鏈協(xié)議是一個單向認證協(xié)議,即它只能對Tag身份進行認證。不難看出,Hash鏈協(xié)議非常容易受到重傳和假冒攻擊,只要攻擊者截獲某個at,j,它就可以進行重傳攻擊,偽裝Tag通過認證。此外,每一次Tag認證發(fā)生時,后端數(shù)據(jù)庫都要對每一個Tag進行j次雜湊運算,因此其計算載荷也很大。同時,該協(xié)議需要兩個不同的雜湊函數(shù),也增加了Tag的成本。
為了避免Has-Lock協(xié)議中沒有ID動態(tài)刷新機制,且ID是以明文的形式通過不安全信道傳送,同時為了克服Hash-Chain協(xié)議是一個單向認證協(xié)議,針對后端數(shù)據(jù)庫搜索時候的效率問題,本文提出了一種基于 Hash-Chain的改進RFID認證協(xié)議。改進的協(xié)議在后端數(shù)據(jù)庫中增加了一個訪問計數(shù)器 k,提高了后端數(shù)據(jù)庫搜索數(shù)據(jù)的效率,這對于多標簽的RFID系統(tǒng)具有十分重要的意義。
基于Hash-Chain的改進的協(xié)議中,需要后端數(shù)據(jù)庫DB、讀寫器R、標簽Ti(1≤i≤n,n為數(shù)據(jù)庫中標簽的最大數(shù))。其中后端數(shù)據(jù)庫是授權(quán)的惟一可以追蹤標簽的實體。R是沒有密碼保護功能的不可信裝置,Ti是可讀寫的標簽。每一個標簽Ti在出廠時存儲一個隨機設置的初始化標識符si,1,同時這個標識符si,1也記錄在后端數(shù)據(jù)庫DB中對應的每個標簽中,標簽采用EEPROM存儲,寫標識信息并寫入兩個Hash函數(shù)G和H(標準化以后可以固化到標簽ROM)。后端數(shù)據(jù)庫DB存儲標簽身份序列號IDi、訪問計數(shù)器k,以及所有標簽的隨機設置的初始化標識符si,k(1≤i≤n),組成序列對(IDi,k,si,k)以及Hash函數(shù)G和H,還有一個隨機數(shù)發(fā)生器。
在系統(tǒng)運行之前,后端數(shù)據(jù)庫和標簽共享一個標簽出廠時隨機設置的初始化標識符si,1(1≤i≤n,n為最大的標簽數(shù)),讀寫器第k次訪問標簽的通信如圖2。
圖2 基于Hash-Chain的改進安全協(xié)議
(1) RFID讀寫器產(chǎn)生一個隨機數(shù)RN,并向標簽發(fā)送R N和Query認證請求;此時可能會發(fā)生三種情況:①沒有標簽響應;②一個標簽響應;③多個標簽同時響應。當發(fā)生多個標簽沖突的時候,會執(zhí)行一次沖突仲裁(collision arbitration)過程,如二進制搜索算法,這一過程完畢后會從中選取一個標簽與閱讀器進行信息交互;
(2) 標簽計算ri,k =G(si,k) ⊕R N后,更新其標識符為si,k+1 =H(si,k)和訪問計數(shù)器為k=k+1,并將ri,k和k發(fā)送給讀寫器;
(3) 讀寫器將ri,k和k轉(zhuǎn)發(fā)給后端數(shù)據(jù)庫;
(4) 后端數(shù)據(jù)庫檢索訪問計數(shù)器 k找到與之相同的序列對,對每個序列的si,1計算rj,k=G(Hk-1(si,1)),檢查rj,k與 ri,k是否相等。若相等,則說明標簽通過認證,更新k=k+1,si,k+1 =Hk-1(si,1),并將(RN,H(IDj⊕R N))發(fā)給讀寫器;若不相等,則發(fā)送認證失敗的消息給讀寫器,不進行更新;
(5) 若標簽通過認證,讀寫器將(R,H(IDj⊕R N))轉(zhuǎn)發(fā)給標簽;
(6) 標簽收到消息5后,驗證 H(IDj⊕R N)=H(ID⊕RN)是否相同,若相同,則閱讀器認證通過。
前節(jié)中RFID協(xié)議的安全需求已經(jīng)介紹了RFID面臨的主要攻擊,并結(jié)合RFID系統(tǒng)的通信模型,對改進的協(xié)議進行安全性分析。
(1) 重傳攻擊:讀寫器通過前向信道向標簽發(fā)送 Query和NR之后,攻擊者獲取標簽的響應:ri,k=G(si,k⊕NR),k;在以后的認證過程中,攻擊者通過后向信道響應ri,k=G(si,k⊕NR),k,從而對后端數(shù)據(jù)庫發(fā)起重傳攻擊;
通過前一次對“標簽”(實為攻擊者)的認證和該協(xié)議中標簽每次更新si,k+1=H(si,k),ri,k=G(si,k⊕NR),攻擊者無法偽造ri,k=G(si,k⊕NR),因為讀寫器每次產(chǎn)生的隨機數(shù)都是不同的,所以該協(xié)議對重傳攻擊具有安全性。
(2) 假冒攻擊:攻擊者偽裝成合法的閱讀器通過前向信道R->T向標簽發(fā)送Query和NR;攻擊者獲取標簽的響應:ri,k=G(si,k⊕NR),k,在下一次認證過程中,當真正合法的閱讀器發(fā)送 Query和NR'的時候,攻擊者通過后向信道T->R響應剛才所得的信息ri,k=G(si,k⊕NR),k。
但是由于閱讀器在每一次認證會話過程中都會產(chǎn)生一個新的偽隨機數(shù),即NR≠NR,所以攻擊者就無法假冒合法標簽進行假冒攻擊。所以該協(xié)議對假冒攻擊具有安全性。
(3) 前向安全性:由于G是單向函數(shù),攻擊者能夠獲得標簽輸出ri,k,但是不能從ri,k中獲得si,k。因此改進的協(xié)議具有良好的前向安全性。
(4) 追蹤:由于標簽在每次詢問后ri,k都將更新,并且同一標簽在不同認證過程中,標簽回應得kir,的值也不相同,攻擊者也無法確定此次通信的標簽與下次通信的標簽是否為同一標簽,從而無法對標簽進行有效跟蹤。
(5) 竊聽:即使攻擊者可以竊聽到讀寫器與標簽之間通信的消息數(shù)據(jù),由于重要的數(shù)據(jù)都使用了單向函數(shù)G或者H進行處理,所以攻擊者無法獲得任何有用信息,即協(xié)議能夠較好地防御攻擊者的竊聽。
本文協(xié)議及以上安全性分析都是基于密鑰 ID絕對保密的假設而給出的,不管在任何時候都要注意對密鑰的嚴格保護。本文的方案屬于靜態(tài)ID的RFID認證協(xié)議,近年來同類的研究有Sarmar,Weis,Rhee等文獻。
RFID認證協(xié)議的目的是使讀寫器和標簽能夠互相證實雙方的身份。本文中改進的協(xié)議屬于無可信第三方參與的認證協(xié)議,我們采用經(jīng)典的安全協(xié)議分析方法 BAN邏輯完成其形式化的分析和證明。
為了適應形式化分析的需要,在此協(xié)議中,我們將整個協(xié)議的執(zhí)行過程可縮減為三條通信消息,如圖3所示。
圖3 協(xié)議的抽象模型
三條通信消息如下:
(1) R一>T:NR(NR即為讀寫器產(chǎn)生的隨機數(shù))
(2) T一>R:NR,G(si,k⊕NR)
(3) R一>T:H(IDj⊕NR)
遵循 B AN邏輯證明的過程,首先需要理想化協(xié)議,然后初始狀態(tài)及假設,最后寫出協(xié)議目標,其證明過程如下:
(1) 理想化協(xié)議
M1 R一>T:NR
M2 T一>R:NR,
M3 R一>T:
(2) 初始狀態(tài)及假設
A1 bel (R,secret (R,NR、T))
A2 bel (T,secret (T,IDj,R))
(3) 協(xié)議目標
G1:bel(R,said (T,NR))
G2:bel(T,said (R,IDj))
(4) 邏輯推理
由M2得,
① see (R,<G(si,k⊕NR)>)
由A2與○1得,
② bel(R,said(T,G(si,k⊕NR)))
由M2得,
③ see(R,NR)
由A2與③得,
④ see( R,(si,k,NR))
由②與④得,
⑤ bel(R,said(T,(si,k,NR)))
由⑤得,
⑥ bel(R,said(T,NR))
即證明了協(xié)議滿足目標G1。
由M3得,
⑦ see(T,H(IDj⊕NR))
由A3與⑦得,
⑧ bel(T,said (R,H(IDj⊕NR))
由M1得,
⑨ see(T,NR)
由A3與⑨得,
⑩ see(T,(IDj,NR))
由⑧與⑩得,
即證明了協(xié)議滿足目標G2。以上BAN邏輯分析過程證明了協(xié)議可以實現(xiàn)閱讀器R和標簽T之間的雙向認證。
本文通過分析現(xiàn)有協(xié)議的優(yōu)點和在安全性及效率上的不足,提出基于Hash鏈的RFID改進協(xié)議低成本RFID雙向認證協(xié)議。通過BAN邏輯的證明顯示,基于所采用的Hash函數(shù)是安全的假設下,新協(xié)議可以達到閱讀器和標簽之間雙向認證的安全目標;同時,針對各種常見攻擊場景的分析表明,協(xié)議可以抵抗假冒攻擊、重傳攻擊等常見針對RFID認證協(xié)議的攻擊;此外,降低了標簽運算能力的要求,使得新協(xié)議可適合于一些價格低廉RFID系統(tǒng)的應用需求。
[1] Ohkubo M. , Suzuki K. , Kinoshita S. . Hash-chain based for ward-secure privacy protection scheme for low-cost RFID. In:Proceedings of the 2004 Symposium on Cryptography and Information Security (SCIS 2004) , Sendai.2004.
[2]丁振華,李錦濤,馮波.基于Hash函數(shù)的RFID安全認證協(xié)議研究[J].計算機研究與發(fā)展.2009.
[3]李振汕.RFID系統(tǒng)安全問題研究[J].網(wǎng)絡安全技術(shù)與應用.2011.
[4] Ohkubo M, Suzuki K, Kinoshita S.Cryptographic approach to“Privacy-Friendly” tags [OL].[2007-10-07] http://ww. rfidprivacy.us//2003// papers// ohkubo. Pdf.
[5]周永彬,馮登國.RFID 安全協(xié)議的設計與分析[J].計算機學報.2006.
[6] Rhee K, Kwak J, Kim S,et al.Challenge-response based RFID authentication protocol for distributed database environment[C]//Proc of the 2nd Int Conf on Security in Pervasive Computing.Berlin : Springer , 2005.
[7]YAuksel K. Universal hashing for ultra-low-power cryptographic hardware applications [D].Worcester,MA: Department of Electronical Engineering, Worcester Polytechnic Institute.2004.