劉明生,王 艷,趙新生
(1.邯鄲學院信息技術研究所,河北邯鄲 056005;2.河北工程大學信息與電氣工程學院,河北邯鄲 056038)
射頻識別(Radio Frequency Identification,RFID)技術是一種非接觸式自動識別技術,它利用射頻信號自動識別目標對象并獲取相關數(shù)據(jù)。作為一種快速、實時、準確地采集與處理信息的高新技術,通過對實體對象的唯一有效標識,RFID已經(jīng)廣泛應用到了生產、零售、物流、交通、國防等各個行業(yè)。但在享受RFID帶來的諸多便捷的同時,也必須要面對伴隨而來的多種安全隱私問題。為此,本文提出一種新的基于Hash函數(shù)的認證協(xié)議并利用BAN邏輯對該協(xié)議進行形式化分析。
到目前為止,針對RFID傳感網(wǎng)絡中閱讀器與標簽間的安全隱私問題已經(jīng)提出了多種安全認證協(xié)議。典型的基于單向Hash函數(shù)的RFID安全隱私保護協(xié)議主要有 3 種:Hash-Lock 協(xié)議[1-2],隨機化Hash-Lock 協(xié)議[3]和 Hash 鏈協(xié)議[4]。
Hash-Lock 協(xié)議[1-2]是由 Sarma 等人提出的一種RFID安全協(xié)議,為避免信息泄漏和被追蹤,標簽的真實 ID使用metaID來代替,即 metaID=Hash(key)。初始時標簽處于鎖定狀態(tài),后臺數(shù)據(jù)庫存儲每一個標簽的密鑰metaID,key,ID。認證過程如圖1所示。

圖1 Hash-Lock協(xié)議
該協(xié)議利用單向Hash函數(shù)的難解密性來加密傳輸中的信息,所以在一定程度上解決了訪問控制的隱私保護。但是,因為每次標簽回答的數(shù)據(jù)metaID都是固定不變的,所以該協(xié)議不能防止位置跟蹤攻擊;并且ID也以明文的形式通過不安全信道傳送,攻擊者很容易得到標簽的信息,極易受到重傳攻擊和哄騙攻擊,不具有不可分辨性。
為了解決Hash-Lock協(xié)議中位置跟蹤問題,weis等人提出了隨機化Hash-Lock協(xié)議[3]。它采用基于隨機數(shù)的詢問—應答機制,是對Hash-Lock協(xié)議的一種改進形式。標簽中除Hash函數(shù)外,還嵌入了偽隨機數(shù)發(fā)生器,以便通過添加隨機數(shù)來保證傳輸數(shù)據(jù)的不可預測性。后臺數(shù)據(jù)庫中存儲了所有標簽的標識,設為 ID1,ID2,…,IDn。具體驗證過程如圖2所示。

圖2 隨機化Hash-Lock協(xié)議
該協(xié)議利用隨機數(shù)的不可預測性解決了標簽的位置跟蹤問題。但是,在低成本和運算能力有限的標簽中集成偽隨機數(shù)發(fā)生器是不現(xiàn)實的,實現(xiàn)也比較困難。此外,已經(jīng)通過認證的Tag標識ID仍以明文的形式通過不安全信道傳送,仍然不能應對重傳和哄騙攻擊。每一次Tag認證,后臺數(shù)據(jù)庫都要將所有Tag的標識發(fā)送給閱讀器,這大大增加了閱讀器的運算量。就此而言,該協(xié)議仍然不實用。
Hash鏈方法[4]是由NTT實驗室提出的,是基于共享秘密的詢問—應答協(xié)議。該協(xié)議的標簽集成了兩個不同的Hash函數(shù)H和G。標簽和后臺數(shù)據(jù)庫都存儲了初始值Si,1,后臺數(shù)據(jù)庫存儲了所有標簽的標識ID,在認證過程中不停的動態(tài)刷新標簽認證所用的ID。認證過程如圖3所示。

圖3 Hash鏈協(xié)議
通過添加標簽ID的動態(tài)刷新機制,該協(xié)議滿足了不可分辨性和前向安全性,同時具有了較強的抗猜測抗分析能力。但是,Hash鏈協(xié)議是單向認證協(xié)議,只對標簽進行認證,不對閱讀器進行認證,若攻擊者偽裝成合法閱讀器,則很容易受到重傳攻擊和哄騙攻擊。此外,該協(xié)議需要兩個不同的雜湊函數(shù)G和H,無形中增加了Tag的制造成本。后臺數(shù)據(jù)庫的運算量非常大,若有N個標簽,后臺數(shù)據(jù)庫就需要進行N次搜索、2N次雜湊運算和N次比較。因此該協(xié)議不適用于標簽和閱讀器眾多的情況。
通過對上述3種安全認證協(xié)議的深入學習,認識到了RFID傳感網(wǎng)絡中閱讀器和標簽間仍存在的安全隱患,從而結合幾種方法的思想提出了一種改進的方案。該方案同樣是基于Hash函數(shù)的,也仍舊采用原有的詢問—應答機制。為有效抵御非法讀取、位置跟蹤、竊聽、偽裝哄騙和重放等不安全問題,標簽和數(shù)據(jù)庫有效性的驗證仍由后臺數(shù)據(jù)庫執(zhí)行。
在初始狀態(tài)下,標簽和閱讀器都僅需要存儲自己的標識,分別為IDt、IDr,后臺數(shù)據(jù)庫要存放所有標簽和閱讀器的(IDt,H(IDt))、(IDr,H(IDr))數(shù)據(jù)對,其中H(·)是指Hash函數(shù)加密過的數(shù)據(jù)。
另外我們假設,標簽是低成本的被動式標簽,含有很少量的存儲容量和較低的計算能力,Hash函數(shù)對RFID應用是足夠安全的,偽隨機數(shù)也足夠安全。還有仍采用原有的信道,即假設標簽和閱讀器之間的通信信道是不安全信道,而閱讀器和后臺數(shù)據(jù)庫之間的信道是安全信道。
以現(xiàn)有的安全協(xié)議[5-9]為基礎,提出了改進的基于Hash函數(shù)的RFID認證方案如圖4所示。

圖4 改進協(xié)議的認證過程
具體的驗證過程如下:
(1)閱讀器產生一個隨機數(shù) R,并將 Query,R發(fā)送至標簽作為認證請求;
(2)標簽利用自身標識IDt和隨機數(shù)R計算出H(IDt)和 H(IDt‖R)(‖為串聯(lián)運算),并將 H(IDt)、H(IDt‖R)發(fā)送給閱讀器作為響應;
(3)閱讀器利用Hash函數(shù)加密自身標識IDr得出H(IDr),并與標簽發(fā)送過來的H(IDt‖R)進行異或運算H(IDt‖R)⊕H(IDr),最后閱讀器將 R,H(IDt),H(IDt‖R)⊕H(IDr)轉發(fā)給后臺數(shù)據(jù)庫;
(4)后臺數(shù)據(jù)庫根據(jù)接收到的H(IDt)查找自身是否存儲有相對應的H(IDt)值,若有則標簽合法,否則認證失敗。后臺數(shù)據(jù)庫依據(jù)H(IDt)得出對應的IDt并將其與R串聯(lián)計算出H(IDt‖R),進而依據(jù)H(IDt‖R)⊕H(IDr)解出H(IDr),查找出對應的IDr;
(5)后臺數(shù)據(jù)庫計算出IDt⊕IDr⊕R,并將其轉發(fā)給閱讀器;
(6)閱讀器根據(jù)自身標識IDr和隨機數(shù)R解出標簽標識IDt,進而計算出H(IDt⊕R),并將其發(fā)送給標簽;
(7)標簽將自身標識IDt和隨機數(shù)R進行異或運算IDt⊕R,進而計算出H*(IDt⊕R),比較得到值H(IDt⊕R)和計算得出值H*(IDt⊕R)是否相等,若相等,則閱讀器合法,此時,根據(jù)閱讀器發(fā)出的查詢指令,后臺數(shù)據(jù)庫可以通過前面計算出的標簽標識IDt查到標簽對應的信息發(fā)送給閱讀器;否則認為閱讀器為非法閱讀器,標簽不予回應。
(1)前向安全性:假設攻擊者截取了某次標簽的輸出,由于Hash函數(shù)的單向性和每次通信過程中隨機數(shù)R的相異性,攻擊者也不可能根據(jù)此值回溯出標簽的歷史數(shù)據(jù),因此此協(xié)議具有良好的前向安全性。
(2)位置跟蹤:每次通信的隨機數(shù)R不同,決定了每次標簽傳輸?shù)南⒁膊煌@樣就可以有效的防止因固定輸出而引發(fā)的位置跟蹤問題。
(3)竊聽:所有有用信息都是經(jīng)過單向散列函數(shù)—Hash函數(shù)加密后傳輸?shù)模虼耍词狗欠ㄕ呓厝⌒畔ⅲ矡o法解密Hash函數(shù)而得出信息的真正內容。
(4)偽裝哄騙:非法者是無法獲知標簽和閱讀器標識的,因此也根本無法偽裝成合法標簽和閱讀器。
(5)不可分辨性:對于標簽響應輸出,由于使用了單向Hash函數(shù)和隨機數(shù),這樣即使攻擊者獲得了多張標簽的輸出,也無法區(qū)分出某一張的輸出;即使獲得了同一張的輸出,也無法區(qū)分出該張標簽的某一次輸出。
(6)重放攻擊:非法者事先記錄標簽發(fā)出的信息,當閱讀器再次與標簽通信時,非法者通過記錄下的標簽信息來偽裝成合法標簽和閱讀器通信,但隨機數(shù)R的不同性決定了即使非法者截取了前一次的信息也無法模擬出下次的值,這樣也就無法將截獲信息重放給標簽或閱讀器。
(7)拒絕服務:標簽在收到閱讀器的詢問信息時,不需要為它們存儲隨機數(shù)作為一次性密鑰,且標簽也沒有設置讀取標簽的上限值。因此,本協(xié)議可以有效防止標簽因同時被大量閱讀器訪問而造成的標簽停止工作。
為了清晰地對比改進協(xié)議與其它協(xié)議在安全性能[10]方面的特點,表1給出了詳細比較。其中,√表示具備該項要求;×表示不具備該項要求。

表1 安全性能比較
假設數(shù)據(jù)庫中標簽的數(shù)目為N,L表示128個比特位(因為從前面對于hash函數(shù)的要求來看,hash函數(shù)輸出的值至少為128位才能保證抵御相關的攻擊),標簽和閱讀器標識IDt、IDr只有128bits也就是1L。由分析可知,隨機Hash鎖協(xié)議,Hash鏈協(xié)議等都有N數(shù)量級上的運算量,這使得運算量過大,對RFID系統(tǒng)的成本和運算速度帶來影響。在改進的安全協(xié)議中,后臺數(shù)據(jù)庫最多需執(zhí)行2N個記錄搜索,進行一次Hash運算。相比于現(xiàn)存協(xié)議,如Hash鏈中需計算2N個Hash函數(shù)和N個記錄搜索,本方案的計算速度快。標簽中只需要1L的存儲容量,也不需要隨機數(shù)產生器,這樣可以大大降低標簽的成本。
此外,因大部分計算和查找都由后臺數(shù)據(jù)庫執(zhí)行,效率也較高。本協(xié)議中標簽和閱讀器不需要存儲對方的身份標識信息,查找相應記錄和大部分計算過程全由后臺數(shù)據(jù)庫執(zhí)行,隨著標簽和閱讀器數(shù)目的增加,后臺數(shù)據(jù)庫計算時間緩慢增加,因此,該協(xié)議還可適用于標簽和閱讀器數(shù)目較多的情況。
到目前為止,已經(jīng)提出了很多RFID安全協(xié)議,但大都缺乏嚴格的形式化分析和證明。下面將采用經(jīng)典的安全協(xié)議分析方法—BAN邏輯對改進協(xié)議進行形式化分析和證明。
BAN邏輯[11-12]是一種基于主體信念以及用于從已知信念推出新的信念的推理規(guī)則的邏輯。應用BAN邏輯時,首先要進行“理想化”,即將協(xié)議的消息轉換為BAN邏輯中的公式,再根據(jù)具體情況進行合理假設,最后由邏輯的推理規(guī)則根據(jù)理想化協(xié)議和假設進行推理,推斷出協(xié)議能否完成預期目標。

本文使用到的BAN邏輯的幾條基本邏輯推理規(guī)則如下:
對于一個 Hash函數(shù) H(X),還有以下兩條規(guī)則:

4.2.1 協(xié)議的初始化假設
假設R代表閱讀器,T代表標簽,S代表閱讀器產生的隨機數(shù),IDt仍代表標簽標識,則協(xié)議的初始假設為:


4.2.2 協(xié)議的理想化模型
M1:R→T:Query,S
M2:T→R:H(IDt),H(IDt‖S)
M3:R→T:H(IDt⊕S)
其中M1是明文傳輸,對協(xié)議邏輯屬性的分析沒有作用,將以上模型轉換成如下BAN邏輯語言時可省略,即:
M2:R?H(IDt),H(IDt,S)
M3:T?H(IDt,S)
4.2.3 協(xié)議的安全目標及分析推理
(1)R|≡T|~#(IDt)
(2)T|≡R|~#(IDt)
下面分析推理改進協(xié)議能否達到以上安全目標:
(1)證明 R|≡T|~#(IDt)


由①②可得:R|≡T|~#(IDt),即達到安全目標(1)。
(2)T|≡R|~#(IDt)
由M3拆分消息后可知:T?IDt,T?S,根據(jù)規(guī)則

得出:T|≡R|~ (IDt,S) ①
又由假設P3可知:T|≡#(IDt) ②
由①②可得:T|≡R|~#(IDt),即達到安全目標(2)。
通過對本文提出的安全協(xié)議進行BAN邏輯形式化分析,可推導出其安全目標R|≡T|~#(IDt)和T|≡R|~#(IDt),因此該協(xié)議能夠有效地實現(xiàn)RFID傳感網(wǎng)絡中標簽和閱讀器的雙向合法身份認證的安全目標。
本文介紹了RFID傳感網(wǎng)絡中幾種典型的基于Hash函數(shù)的RFID安全認證協(xié)議,針對協(xié)議中的不足提出了一種新的基于Hash函數(shù)的改進方案。此方案有效地解決了RFID傳感網(wǎng)絡中閱讀器與標簽間面臨的多種安全隱私問題,具有成本低、效率高、安全性高等特點。最后通過建立協(xié)議的理想化模型,利用BAN邏輯對該協(xié)議進行形式化分析,在理論上證明了其安全性,使其在實際應用中具有較高的實用價值。
[1]Sarma S E,Weis S A,Engels D W.RFID Systems and Security and Privacy Implications[C]//Proc.of the 4th International Workshop on Cryptographic Hardware and Embedded Systems.Berlin,Germany:Springer-Verlag,2003:454-469.
[2]Sarma S E,Weis S A,Engels D W.Radio Frequency Identification:Secure Risks and Challenges[J].RSA Laboratories Crypto bytes,2003,6(1):2-9.
[3]Weis S A,Sarma S E,Rivest R L,et al.Security and Privacy Aspects of Low-Cost Radio Frequency Identification Systems[C]//Proc.of the 1st International Conference on Security in Pervasive Computing.Berlin,Germany:Springer-Verlag,2004:201-212.
[4]Ohkubo M,Suzuki K,Kingships S.Hash-Chain Based Forward-Secure Privacy Protection Scheme for Low-Cost RFID[C]//Proc.of Symposium on Cryptography and Information Security.Sendai,Japan:[s.n.],2004:719-724.
[5]王健偉,王東,TIMO Korhonen,等.一種新的RFID傳感網(wǎng)絡中多閱讀器防碰撞協(xié)議[J].傳感技術學報,2008,21(8):2140-6140.
[6]陳穎,張福洪.RFID傳感網(wǎng)絡中多閱讀器碰撞算法的研究[J].傳感技術學報,2010,23(2):1206-1210.
[7]余恬恬,馮全源.基于Hash函數(shù)的RFID挑戰(zhàn)-應答認證協(xié)議[J].計算機工程,2009,35(24):156-157.
[8]Chen Y C,Wang Weilin,Huang M S.RFID Authentication Protocol for Anti-Counterfeiting and Privacy Protection[C]//Proc.of the 9th International Conference on Advanced Communication Technology.Phoenix Park,Korea:[s.n.],2007.
[9]丁振華,李錦濤,馮波,等.基于Hash函數(shù)的RFID安全認證協(xié)議研究[J].計算機研究與發(fā)展,2009,46(4):583-592.
[10]Osaka K,Takagi T.An Efficient and Secure RFID Security Method with Ownership Transfer[C]//Proc.of Computational Intelligence and Security.Guangzhou,China:[s.n.],2006:1090-1095.
[11]Burrows M A,Needham R.Logic of Authentication[J].ACM Transaction on Computer Systems,1990,8(1):18-36.
[12]馮登國.可證明安全性理論與方法研究[J].軟件學報,2005,16(10):1743-1756.