馬巧梅
寶雞文理學(xué)院計算機(jī)科學(xué)系 陜西 721016
射頻識別是一種利用射頻信號自動識別目標(biāo)對象并獲取相關(guān)信息的技術(shù),它的應(yīng)用領(lǐng)域日益擴(kuò)大,目前已在制造、零售、物流等領(lǐng)域顯示出強(qiáng)大的實用價值和發(fā)展?jié)摿Γ⒊蔀槲磥硇畔⑸鐣ㄔO(shè)的一項基礎(chǔ)技術(shù),被評為本世紀(jì)十大重要技術(shù)之一。
如何在RFID標(biāo)簽各種資源非常有限的情況下,設(shè)計安全、高效的通信協(xié)議,是RFID系統(tǒng)應(yīng)用中一個非常具有挑戰(zhàn)性的問題。本文提出一種改進(jìn)的Hash鏈協(xié)議,用于RFID系統(tǒng)中標(biāo)簽和讀寫器之間雙向認(rèn)證和進(jìn)行保密通信的協(xié)議,并對它的安全性進(jìn)行了分析。
到目前為止,已有許多RFID認(rèn)證協(xié)議被提出。多數(shù)安全認(rèn)證協(xié)議都是基于密碼機(jī)制的,而且采用的是Hash函數(shù)?;?Hash鏈的改進(jìn)協(xié)議也是基于此函數(shù),并且是基于關(guān)于RFID系統(tǒng)信道的基本假設(shè)來進(jìn)行。此外,我們假定這些協(xié)議所使用的基本密碼構(gòu)造,如偽隨機(jī)生成函數(shù)、加密體制、簽名算法、MAC機(jī)制以及雜湊函數(shù),都是安全的。本文中H、G表示兩個不同的抗碰撞的安全雜湊函數(shù)。
本質(zhì)上,Hash鏈協(xié)議也是基于共享秘密的詢問-應(yīng)答協(xié)議。但是,在 Hash 鏈協(xié)議中,當(dāng)使用兩個不同雜湊函數(shù)的讀寫器發(fā)起認(rèn)證時,Tag 總是發(fā)送不同的應(yīng)答,其協(xié)議流程如圖 1 所示。值得提出的是,Hash鏈協(xié)議被聲稱具有完美的前向安全性。由于G是單向函數(shù),因此攻擊者能夠獲得標(biāo)簽輸出at,j,但是不能從at,j中獲得st,j。
圖1 Hash鏈協(xié)議
在系統(tǒng)運(yùn)行之前,Tag 和后端數(shù)據(jù)庫首先要預(yù)共享一個初始秘密值 st,1,則 Tag 和 讀寫器之間執(zhí)行第 j 次 Hash鏈的過程如下:
(1) 讀寫器向 Tag發(fā)送 Query認(rèn)證請求;
(2) Tag使用當(dāng)前的秘密值 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)預(yù)設(shè)置的最大鏈長度) 使得 at,j =G( Hj-1(st,1))成立。如果有,則認(rèn)證通過,并將IDt發(fā)送給Tag;否則,認(rèn)證失敗。
實質(zhì)上,在 Hash 鏈協(xié)議中,Tag成為了一個具有自主ID更新能力的主動式Tag,同時,由上述流程可以看出,Hash鏈協(xié)議是一個單向認(rèn)證協(xié)議,即它只能對Tag身份進(jìn)行認(rèn)證。不難看出,Hash鏈協(xié)議非常容易受到重傳和假冒攻擊,只要攻擊者截獲某個at,j,它就可以進(jìn)行重傳攻擊,偽裝Tag通過認(rèn)證。此外,每一次Tag認(rèn)證發(fā)生時,后端數(shù)據(jù)庫都要對每一個Tag進(jìn)行j次雜湊運(yùn)算,因此其計算載荷也很大。同時,該協(xié)議需要兩個不同的雜湊函數(shù),也增加了Tag的成本。
為了避免Has-Lock協(xié)議中沒有ID動態(tài)刷新機(jī)制,且ID是以明文的形式通過不安全信道傳送,同時為了克服Hash-Chain協(xié)議是一個單向認(rèn)證協(xié)議,針對后端數(shù)據(jù)庫搜索時候的效率問題,本文提出了一種基于 Hash-Chain的改進(jìn)RFID認(rèn)證協(xié)議。改進(jìn)的協(xié)議在后端數(shù)據(jù)庫中增加了一個訪問計數(shù)器 k,提高了后端數(shù)據(jù)庫搜索數(shù)據(jù)的效率,這對于多標(biāo)簽的RFID系統(tǒng)具有十分重要的意義。
基于Hash-Chain的改進(jìn)的協(xié)議中,需要后端數(shù)據(jù)庫DB、讀寫器R、標(biāo)簽Ti(1≤i≤n,n為數(shù)據(jù)庫中標(biāo)簽的最大數(shù))。其中后端數(shù)據(jù)庫是授權(quán)的惟一可以追蹤標(biāo)簽的實體。R是沒有密碼保護(hù)功能的不可信裝置,Ti是可讀寫的標(biāo)簽。每一個標(biāo)簽Ti在出廠時存儲一個隨機(jī)設(shè)置的初始化標(biāo)識符si,1,同時這個標(biāo)識符si,1也記錄在后端數(shù)據(jù)庫DB中對應(yīng)的每個標(biāo)簽中,標(biāo)簽采用EEPROM存儲,寫標(biāo)識信息并寫入兩個Hash函數(shù)G和H(標(biāo)準(zhǔn)化以后可以固化到標(biāo)簽ROM)。后端數(shù)據(jù)庫DB存儲標(biāo)簽身份序列號IDi、訪問計數(shù)器k,以及所有標(biāo)簽的隨機(jī)設(shè)置的初始化標(biāo)識符si,k(1≤i≤n),組成序列對(IDi,k,si,k)以及Hash函數(shù)G和H,還有一個隨機(jī)數(shù)發(fā)生器。
在系統(tǒng)運(yùn)行之前,后端數(shù)據(jù)庫和標(biāo)簽共享一個標(biāo)簽出廠時隨機(jī)設(shè)置的初始化標(biāo)識符si,1(1≤i≤n,n為最大的標(biāo)簽數(shù)),讀寫器第k次訪問標(biāo)簽的通信如圖2。
圖2 基于Hash-Chain的改進(jìn)安全協(xié)議
(1) RFID讀寫器產(chǎn)生一個隨機(jī)數(shù)RN,并向標(biāo)簽發(fā)送R N和Query認(rèn)證請求;此時可能會發(fā)生三種情況:①沒有標(biāo)簽響應(yīng);②一個標(biāo)簽響應(yīng);③多個標(biāo)簽同時響應(yīng)。當(dāng)發(fā)生多個標(biāo)簽沖突的時候,會執(zhí)行一次沖突仲裁(collision arbitration)過程,如二進(jìn)制搜索算法,這一過程完畢后會從中選取一個標(biāo)簽與閱讀器進(jìn)行信息交互;
(2) 標(biāo)簽計算ri,k =G(si,k) ⊕R N后,更新其標(biāo)識符為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是否相等。若相等,則說明標(biāo)簽通過認(rèn)證,更新k=k+1,si,k+1 =Hk-1(si,1),并將(RN,H(IDj⊕R N))發(fā)給讀寫器;若不相等,則發(fā)送認(rèn)證失敗的消息給讀寫器,不進(jìn)行更新;
(5) 若標(biāo)簽通過認(rèn)證,讀寫器將(R,H(IDj⊕R N))轉(zhuǎn)發(fā)給標(biāo)簽;
(6) 標(biāo)簽收到消息5后,驗證 H(IDj⊕R N)=H(ID⊕RN)是否相同,若相同,則閱讀器認(rèn)證通過。
前節(jié)中RFID協(xié)議的安全需求已經(jīng)介紹了RFID面臨的主要攻擊,并結(jié)合RFID系統(tǒng)的通信模型,對改進(jìn)的協(xié)議進(jìn)行安全性分析。
(1) 重傳攻擊:讀寫器通過前向信道向標(biāo)簽發(fā)送 Query和NR之后,攻擊者獲取標(biāo)簽的響應(yīng):ri,k=G(si,k⊕NR),k;在以后的認(rèn)證過程中,攻擊者通過后向信道響應(yīng)ri,k=G(si,k⊕NR),k,從而對后端數(shù)據(jù)庫發(fā)起重傳攻擊;
通過前一次對“標(biāo)簽”(實為攻擊者)的認(rèn)證和該協(xié)議中標(biāo)簽每次更新si,k+1=H(si,k),ri,k=G(si,k⊕NR),攻擊者無法偽造ri,k=G(si,k⊕NR),因為讀寫器每次產(chǎn)生的隨機(jī)數(shù)都是不同的,所以該協(xié)議對重傳攻擊具有安全性。
(2) 假冒攻擊:攻擊者偽裝成合法的閱讀器通過前向信道R->T向標(biāo)簽發(fā)送Query和NR;攻擊者獲取標(biāo)簽的響應(yīng):ri,k=G(si,k⊕NR),k,在下一次認(rèn)證過程中,當(dāng)真正合法的閱讀器發(fā)送 Query和NR'的時候,攻擊者通過后向信道T->R響應(yīng)剛才所得的信息ri,k=G(si,k⊕NR),k。
但是由于閱讀器在每一次認(rèn)證會話過程中都會產(chǎn)生一個新的偽隨機(jī)數(shù),即NR≠NR,所以攻擊者就無法假冒合法標(biāo)簽進(jìn)行假冒攻擊。所以該協(xié)議對假冒攻擊具有安全性。
(3) 前向安全性:由于G是單向函數(shù),攻擊者能夠獲得標(biāo)簽輸出ri,k,但是不能從ri,k中獲得si,k。因此改進(jìn)的協(xié)議具有良好的前向安全性。
(4) 追蹤:由于標(biāo)簽在每次詢問后ri,k都將更新,并且同一標(biāo)簽在不同認(rèn)證過程中,標(biāo)簽回應(yīng)得kir,的值也不相同,攻擊者也無法確定此次通信的標(biāo)簽與下次通信的標(biāo)簽是否為同一標(biāo)簽,從而無法對標(biāo)簽進(jìn)行有效跟蹤。
(5) 竊聽:即使攻擊者可以竊聽到讀寫器與標(biāo)簽之間通信的消息數(shù)據(jù),由于重要的數(shù)據(jù)都使用了單向函數(shù)G或者H進(jìn)行處理,所以攻擊者無法獲得任何有用信息,即協(xié)議能夠較好地防御攻擊者的竊聽。
本文協(xié)議及以上安全性分析都是基于密鑰 ID絕對保密的假設(shè)而給出的,不管在任何時候都要注意對密鑰的嚴(yán)格保護(hù)。本文的方案屬于靜態(tài)ID的RFID認(rèn)證協(xié)議,近年來同類的研究有Sarmar,Weis,Rhee等文獻(xiàn)。
RFID認(rèn)證協(xié)議的目的是使讀寫器和標(biāo)簽?zāi)軌蚧ハ嘧C實雙方的身份。本文中改進(jìn)的協(xié)議屬于無可信第三方參與的認(rèn)證協(xié)議,我們采用經(jīng)典的安全協(xié)議分析方法 BAN邏輯完成其形式化的分析和證明。
為了適應(yīng)形式化分析的需要,在此協(xié)議中,我們將整個協(xié)議的執(zhí)行過程可縮減為三條通信消息,如圖3所示。
圖3 協(xié)議的抽象模型
三條通信消息如下:
(1) R一>T:NR(NR即為讀寫器產(chǎn)生的隨機(jī)數(shù))
(2) T一>R:NR,G(si,k⊕NR)
(3) R一>T:H(IDj⊕NR)
遵循 B AN邏輯證明的過程,首先需要理想化協(xié)議,然后初始狀態(tài)及假設(shè),最后寫出協(xié)議目標(biāo),其證明過程如下:
(1) 理想化協(xié)議
M1 R一>T:NR
M2 T一>R:NR,
M3 R一>T:
(2) 初始狀態(tài)及假設(shè)
A1 bel (R,secret (R,NR、T))
A2 bel (T,secret (T,IDj,R))
(3) 協(xié)議目標(biāo)
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é)議滿足目標(biāo)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é)議滿足目標(biāo)G2。以上BAN邏輯分析過程證明了協(xié)議可以實現(xiàn)閱讀器R和標(biāo)簽T之間的雙向認(rèn)證。
本文通過分析現(xiàn)有協(xié)議的優(yōu)點和在安全性及效率上的不足,提出基于Hash鏈的RFID改進(jìn)協(xié)議低成本RFID雙向認(rèn)證協(xié)議。通過BAN邏輯的證明顯示,基于所采用的Hash函數(shù)是安全的假設(shè)下,新協(xié)議可以達(dá)到閱讀器和標(biāo)簽之間雙向認(rèn)證的安全目標(biāo);同時,針對各種常見攻擊場景的分析表明,協(xié)議可以抵抗假冒攻擊、重傳攻擊等常見針對RFID認(rèn)證協(xié)議的攻擊;此外,降低了標(biāo)簽運(yùn)算能力的要求,使得新協(xié)議可適合于一些價格低廉RFID系統(tǒng)的應(yī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安全認(rèn)證協(xié)議研究[J].計算機(jī)研究與發(fā)展.2009.
[3]李振汕.RFID系統(tǒng)安全問題研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用.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é)議的設(shè)計與分析[J].計算機(jī)學(xué)報.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.