劉明生,王 艷,趙新生
(1.邯鄲學(xué)院信息技術(shù)研究所,河北邯鄲 056005;2.河北工程大學(xué)信息與電氣工程學(xué)院,河北邯鄲 056038)
射頻識(shí)別(Radio Frequency Identification,RFID)技術(shù)是一種非接觸式自動(dòng)識(shí)別技術(shù),它利用射頻信號(hào)自動(dòng)識(shí)別目標(biāo)對(duì)象并獲取相關(guān)數(shù)據(jù)。作為一種快速、實(shí)時(shí)、準(zhǔn)確地采集與處理信息的高新技術(shù),通過(guò)對(duì)實(shí)體對(duì)象的唯一有效標(biāo)識(shí),RFID已經(jīng)廣泛應(yīng)用到了生產(chǎn)、零售、物流、交通、國(guó)防等各個(gè)行業(yè)。但在享受RFID帶來(lái)的諸多便捷的同時(shí),也必須要面對(duì)伴隨而來(lái)的多種安全隱私問(wèn)題。為此,本文提出一種新的基于Hash函數(shù)的認(rèn)證協(xié)議并利用BAN邏輯對(duì)該協(xié)議進(jìn)行形式化分析。
到目前為止,針對(duì)RFID傳感網(wǎng)絡(luò)中閱讀器與標(biāo)簽間的安全隱私問(wèn)題已經(jīng)提出了多種安全認(rèn)證協(xié)議。典型的基于單向Hash函數(shù)的RFID安全隱私保護(hù)協(xié)議主要有 3 種:Hash-Lock 協(xié)議[1-2],隨機(jī)化Hash-Lock 協(xié)議[3]和 Hash 鏈協(xié)議[4]。
Hash-Lock 協(xié)議[1-2]是由 Sarma 等人提出的一種RFID安全協(xié)議,為避免信息泄漏和被追蹤,標(biāo)簽的真實(shí) ID使用metaID來(lái)代替,即 metaID=Hash(key)。初始時(shí)標(biāo)簽處于鎖定狀態(tài),后臺(tái)數(shù)據(jù)庫(kù)存儲(chǔ)每一個(gè)標(biāo)簽的密鑰metaID,key,ID。認(rèn)證過(guò)程如圖1所示。
圖1 Hash-Lock協(xié)議
該協(xié)議利用單向Hash函數(shù)的難解密性來(lái)加密傳輸中的信息,所以在一定程度上解決了訪問(wèn)控制的隱私保護(hù)。但是,因?yàn)槊看螛?biāo)簽回答的數(shù)據(jù)metaID都是固定不變的,所以該協(xié)議不能防止位置跟蹤攻擊;并且ID也以明文的形式通過(guò)不安全信道傳送,攻擊者很容易得到標(biāo)簽的信息,極易受到重傳攻擊和哄騙攻擊,不具有不可分辨性。
為了解決Hash-Lock協(xié)議中位置跟蹤問(wèn)題,weis等人提出了隨機(jī)化Hash-Lock協(xié)議[3]。它采用基于隨機(jī)數(shù)的詢問(wèn)—應(yīng)答機(jī)制,是對(duì)Hash-Lock協(xié)議的一種改進(jìn)形式。標(biāo)簽中除Hash函數(shù)外,還嵌入了偽隨機(jī)數(shù)發(fā)生器,以便通過(guò)添加隨機(jī)數(shù)來(lái)保證傳輸數(shù)據(jù)的不可預(yù)測(cè)性。后臺(tái)數(shù)據(jù)庫(kù)中存儲(chǔ)了所有標(biāo)簽的標(biāo)識(shí),設(shè)為 ID1,ID2,…,IDn。具體驗(yàn)證過(guò)程如圖2所示。
圖2 隨機(jī)化Hash-Lock協(xié)議
該協(xié)議利用隨機(jī)數(shù)的不可預(yù)測(cè)性解決了標(biāo)簽的位置跟蹤問(wèn)題。但是,在低成本和運(yùn)算能力有限的標(biāo)簽中集成偽隨機(jī)數(shù)發(fā)生器是不現(xiàn)實(shí)的,實(shí)現(xiàn)也比較困難。此外,已經(jīng)通過(guò)認(rèn)證的Tag標(biāo)識(shí)ID仍以明文的形式通過(guò)不安全信道傳送,仍然不能應(yīng)對(duì)重傳和哄騙攻擊。每一次Tag認(rèn)證,后臺(tái)數(shù)據(jù)庫(kù)都要將所有Tag的標(biāo)識(shí)發(fā)送給閱讀器,這大大增加了閱讀器的運(yùn)算量。就此而言,該協(xié)議仍然不實(shí)用。
Hash鏈方法[4]是由NTT實(shí)驗(yàn)室提出的,是基于共享秘密的詢問(wèn)—應(yīng)答協(xié)議。該協(xié)議的標(biāo)簽集成了兩個(gè)不同的Hash函數(shù)H和G。標(biāo)簽和后臺(tái)數(shù)據(jù)庫(kù)都存儲(chǔ)了初始值Si,1,后臺(tái)數(shù)據(jù)庫(kù)存儲(chǔ)了所有標(biāo)簽的標(biāo)識(shí)ID,在認(rèn)證過(guò)程中不停的動(dòng)態(tài)刷新標(biāo)簽認(rèn)證所用的ID。認(rèn)證過(guò)程如圖3所示。
圖3 Hash鏈協(xié)議
通過(guò)添加標(biāo)簽ID的動(dòng)態(tài)刷新機(jī)制,該協(xié)議滿足了不可分辨性和前向安全性,同時(shí)具有了較強(qiáng)的抗猜測(cè)抗分析能力。但是,Hash鏈協(xié)議是單向認(rèn)證協(xié)議,只對(duì)標(biāo)簽進(jìn)行認(rèn)證,不對(duì)閱讀器進(jìn)行認(rèn)證,若攻擊者偽裝成合法閱讀器,則很容易受到重傳攻擊和哄騙攻擊。此外,該協(xié)議需要兩個(gè)不同的雜湊函數(shù)G和H,無(wú)形中增加了Tag的制造成本。后臺(tái)數(shù)據(jù)庫(kù)的運(yùn)算量非常大,若有N個(gè)標(biāo)簽,后臺(tái)數(shù)據(jù)庫(kù)就需要進(jìn)行N次搜索、2N次雜湊運(yùn)算和N次比較。因此該協(xié)議不適用于標(biāo)簽和閱讀器眾多的情況。
通過(guò)對(duì)上述3種安全認(rèn)證協(xié)議的深入學(xué)習(xí),認(rèn)識(shí)到了RFID傳感網(wǎng)絡(luò)中閱讀器和標(biāo)簽間仍存在的安全隱患,從而結(jié)合幾種方法的思想提出了一種改進(jìn)的方案。該方案同樣是基于Hash函數(shù)的,也仍舊采用原有的詢問(wèn)—應(yīng)答機(jī)制。為有效抵御非法讀取、位置跟蹤、竊聽、偽裝哄騙和重放等不安全問(wèn)題,標(biāo)簽和數(shù)據(jù)庫(kù)有效性的驗(yàn)證仍由后臺(tái)數(shù)據(jù)庫(kù)執(zhí)行。
在初始狀態(tài)下,標(biāo)簽和閱讀器都僅需要存儲(chǔ)自己的標(biāo)識(shí),分別為IDt、IDr,后臺(tái)數(shù)據(jù)庫(kù)要存放所有標(biāo)簽和閱讀器的(IDt,H(IDt))、(IDr,H(IDr))數(shù)據(jù)對(duì),其中H(·)是指Hash函數(shù)加密過(guò)的數(shù)據(jù)。
另外我們假設(shè),標(biāo)簽是低成本的被動(dòng)式標(biāo)簽,含有很少量的存儲(chǔ)容量和較低的計(jì)算能力,Hash函數(shù)對(duì)RFID應(yīng)用是足夠安全的,偽隨機(jī)數(shù)也足夠安全。還有仍采用原有的信道,即假設(shè)標(biāo)簽和閱讀器之間的通信信道是不安全信道,而閱讀器和后臺(tái)數(shù)據(jù)庫(kù)之間的信道是安全信道。
以現(xiàn)有的安全協(xié)議[5-9]為基礎(chǔ),提出了改進(jìn)的基于Hash函數(shù)的RFID認(rèn)證方案如圖4所示。
圖4 改進(jìn)協(xié)議的認(rèn)證過(guò)程
具體的驗(yàn)證過(guò)程如下:
(1)閱讀器產(chǎn)生一個(gè)隨機(jī)數(shù) R,并將 Query,R發(fā)送至標(biāo)簽作為認(rèn)證請(qǐng)求;
(2)標(biāo)簽利用自身標(biāo)識(shí)IDt和隨機(jī)數(shù)R計(jì)算出H(IDt)和 H(IDt‖R)(‖為串聯(lián)運(yùn)算),并將 H(IDt)、H(IDt‖R)發(fā)送給閱讀器作為響應(yīng);
(3)閱讀器利用Hash函數(shù)加密自身標(biāo)識(shí)IDr得出H(IDr),并與標(biāo)簽發(fā)送過(guò)來(lái)的H(IDt‖R)進(jìn)行異或運(yùn)算H(IDt‖R)⊕H(IDr),最后閱讀器將 R,H(IDt),H(IDt‖R)⊕H(IDr)轉(zhuǎn)發(fā)給后臺(tái)數(shù)據(jù)庫(kù);
(4)后臺(tái)數(shù)據(jù)庫(kù)根據(jù)接收到的H(IDt)查找自身是否存儲(chǔ)有相對(duì)應(yīng)的H(IDt)值,若有則標(biāo)簽合法,否則認(rèn)證失敗。后臺(tái)數(shù)據(jù)庫(kù)依據(jù)H(IDt)得出對(duì)應(yīng)的IDt并將其與R串聯(lián)計(jì)算出H(IDt‖R),進(jìn)而依據(jù)H(IDt‖R)⊕H(IDr)解出H(IDr),查找出對(duì)應(yīng)的IDr;
(5)后臺(tái)數(shù)據(jù)庫(kù)計(jì)算出IDt⊕IDr⊕R,并將其轉(zhuǎn)發(fā)給閱讀器;
(6)閱讀器根據(jù)自身標(biāo)識(shí)IDr和隨機(jī)數(shù)R解出標(biāo)簽標(biāo)識(shí)IDt,進(jìn)而計(jì)算出H(IDt⊕R),并將其發(fā)送給標(biāo)簽;
(7)標(biāo)簽將自身標(biāo)識(shí)IDt和隨機(jī)數(shù)R進(jìn)行異或運(yùn)算IDt⊕R,進(jìn)而計(jì)算出H*(IDt⊕R),比較得到值H(IDt⊕R)和計(jì)算得出值H*(IDt⊕R)是否相等,若相等,則閱讀器合法,此時(shí),根據(jù)閱讀器發(fā)出的查詢指令,后臺(tái)數(shù)據(jù)庫(kù)可以通過(guò)前面計(jì)算出的標(biāo)簽標(biāo)識(shí)IDt查到標(biāo)簽對(duì)應(yīng)的信息發(fā)送給閱讀器;否則認(rèn)為閱讀器為非法閱讀器,標(biāo)簽不予回應(yīng)。
(1)前向安全性:假設(shè)攻擊者截取了某次標(biāo)簽的輸出,由于Hash函數(shù)的單向性和每次通信過(guò)程中隨機(jī)數(shù)R的相異性,攻擊者也不可能根據(jù)此值回溯出標(biāo)簽的歷史數(shù)據(jù),因此此協(xié)議具有良好的前向安全性。
(2)位置跟蹤:每次通信的隨機(jī)數(shù)R不同,決定了每次標(biāo)簽傳輸?shù)南⒁膊煌?,這樣就可以有效的防止因固定輸出而引發(fā)的位置跟蹤問(wèn)題。
(3)竊聽:所有有用信息都是經(jīng)過(guò)單向散列函數(shù)—Hash函數(shù)加密后傳輸?shù)?,因此,即使非法者截取信息,也無(wú)法解密Hash函數(shù)而得出信息的真正內(nèi)容。
(4)偽裝哄騙:非法者是無(wú)法獲知標(biāo)簽和閱讀器標(biāo)識(shí)的,因此也根本無(wú)法偽裝成合法標(biāo)簽和閱讀器。
(5)不可分辨性:對(duì)于標(biāo)簽響應(yīng)輸出,由于使用了單向Hash函數(shù)和隨機(jī)數(shù),這樣即使攻擊者獲得了多張標(biāo)簽的輸出,也無(wú)法區(qū)分出某一張的輸出;即使獲得了同一張的輸出,也無(wú)法區(qū)分出該張標(biāo)簽的某一次輸出。
(6)重放攻擊:非法者事先記錄標(biāo)簽發(fā)出的信息,當(dāng)閱讀器再次與標(biāo)簽通信時(shí),非法者通過(guò)記錄下的標(biāo)簽信息來(lái)偽裝成合法標(biāo)簽和閱讀器通信,但隨機(jī)數(shù)R的不同性決定了即使非法者截取了前一次的信息也無(wú)法模擬出下次的值,這樣也就無(wú)法將截獲信息重放給標(biāo)簽或閱讀器。
(7)拒絕服務(wù):標(biāo)簽在收到閱讀器的詢問(wèn)信息時(shí),不需要為它們存儲(chǔ)隨機(jī)數(shù)作為一次性密鑰,且標(biāo)簽也沒有設(shè)置讀取標(biāo)簽的上限值。因此,本協(xié)議可以有效防止標(biāo)簽因同時(shí)被大量閱讀器訪問(wèn)而造成的標(biāo)簽停止工作。
為了清晰地對(duì)比改進(jìn)協(xié)議與其它協(xié)議在安全性能[10]方面的特點(diǎn),表1給出了詳細(xì)比較。其中,√表示具備該項(xiàng)要求;×表示不具備該項(xiàng)要求。
表1 安全性能比較
假設(shè)數(shù)據(jù)庫(kù)中標(biāo)簽的數(shù)目為N,L表示128個(gè)比特位(因?yàn)閺那懊鎸?duì)于hash函數(shù)的要求來(lái)看,hash函數(shù)輸出的值至少為128位才能保證抵御相關(guān)的攻擊),標(biāo)簽和閱讀器標(biāo)識(shí)IDt、IDr只有128bits也就是1L。由分析可知,隨機(jī)Hash鎖協(xié)議,Hash鏈協(xié)議等都有N數(shù)量級(jí)上的運(yùn)算量,這使得運(yùn)算量過(guò)大,對(duì)RFID系統(tǒng)的成本和運(yùn)算速度帶來(lái)影響。在改進(jìn)的安全協(xié)議中,后臺(tái)數(shù)據(jù)庫(kù)最多需執(zhí)行2N個(gè)記錄搜索,進(jìn)行一次Hash運(yùn)算。相比于現(xiàn)存協(xié)議,如Hash鏈中需計(jì)算2N個(gè)Hash函數(shù)和N個(gè)記錄搜索,本方案的計(jì)算速度快。標(biāo)簽中只需要1L的存儲(chǔ)容量,也不需要隨機(jī)數(shù)產(chǎn)生器,這樣可以大大降低標(biāo)簽的成本。
此外,因大部分計(jì)算和查找都由后臺(tái)數(shù)據(jù)庫(kù)執(zhí)行,效率也較高。本協(xié)議中標(biāo)簽和閱讀器不需要存儲(chǔ)對(duì)方的身份標(biāo)識(shí)信息,查找相應(yīng)記錄和大部分計(jì)算過(guò)程全由后臺(tái)數(shù)據(jù)庫(kù)執(zhí)行,隨著標(biāo)簽和閱讀器數(shù)目的增加,后臺(tái)數(shù)據(jù)庫(kù)計(jì)算時(shí)間緩慢增加,因此,該協(xié)議還可適用于標(biāo)簽和閱讀器數(shù)目較多的情況。
到目前為止,已經(jīng)提出了很多RFID安全協(xié)議,但大都缺乏嚴(yán)格的形式化分析和證明。下面將采用經(jīng)典的安全協(xié)議分析方法—BAN邏輯對(duì)改進(jìn)協(xié)議進(jìn)行形式化分析和證明。
BAN邏輯[11-12]是一種基于主體信念以及用于從已知信念推出新的信念的推理規(guī)則的邏輯。應(yīng)用BAN邏輯時(shí),首先要進(jìn)行“理想化”,即將協(xié)議的消息轉(zhuǎn)換為BAN邏輯中的公式,再根據(jù)具體情況進(jìn)行合理假設(shè),最后由邏輯的推理規(guī)則根據(jù)理想化協(xié)議和假設(shè)進(jìn)行推理,推斷出協(xié)議能否完成預(yù)期目標(biāo)。
本文使用到的BAN邏輯的幾條基本邏輯推理規(guī)則如下:
對(duì)于一個(gè) Hash函數(shù) H(X),還有以下兩條規(guī)則:
4.2.1 協(xié)議的初始化假設(shè)
假設(shè)R代表閱讀器,T代表標(biāo)簽,S代表閱讀器產(chǎn)生的隨機(jī)數(shù),IDt仍代表標(biāo)簽標(biāo)識(shí),則協(xié)議的初始假設(shè)為:
4.2.2 協(xié)議的理想化模型
M1:R→T:Query,S
M2:T→R:H(IDt),H(IDt‖S)
M3:R→T:H(IDt⊕S)
其中M1是明文傳輸,對(duì)協(xié)議邏輯屬性的分析沒有作用,將以上模型轉(zhuǎn)換成如下BAN邏輯語(yǔ)言時(shí)可省略,即:
M2:R?H(IDt),H(IDt,S)
M3:T?H(IDt,S)
4.2.3 協(xié)議的安全目標(biāo)及分析推理
(1)R|≡T|~#(IDt)
(2)T|≡R|~#(IDt)
下面分析推理改進(jìn)協(xié)議能否達(dá)到以上安全目標(biāo):
(1)證明 R|≡T|~#(IDt)
由①②可得:R|≡T|~#(IDt),即達(dá)到安全目標(biāo)(1)。
(2)T|≡R|~#(IDt)
由M3拆分消息后可知:T?IDt,T?S,根據(jù)規(guī)則
得出:T|≡R|~ (IDt,S) ①
又由假設(shè)P3可知:T|≡#(IDt) ②
由①②可得:T|≡R|~#(IDt),即達(dá)到安全目標(biāo)(2)。
通過(guò)對(duì)本文提出的安全協(xié)議進(jìn)行BAN邏輯形式化分析,可推導(dǎo)出其安全目標(biāo)R|≡T|~#(IDt)和T|≡R|~#(IDt),因此該協(xié)議能夠有效地實(shí)現(xiàn)RFID傳感網(wǎng)絡(luò)中標(biāo)簽和閱讀器的雙向合法身份認(rèn)證的安全目標(biāo)。
本文介紹了RFID傳感網(wǎng)絡(luò)中幾種典型的基于Hash函數(shù)的RFID安全認(rèn)證協(xié)議,針對(duì)協(xié)議中的不足提出了一種新的基于Hash函數(shù)的改進(jìn)方案。此方案有效地解決了RFID傳感網(wǎng)絡(luò)中閱讀器與標(biāo)簽間面臨的多種安全隱私問(wèn)題,具有成本低、效率高、安全性高等特點(diǎn)。最后通過(guò)建立協(xié)議的理想化模型,利用BAN邏輯對(duì)該協(xié)議進(jìn)行形式化分析,在理論上證明了其安全性,使其在實(shí)際應(yīng)用中具有較高的實(shí)用價(jià)值。
[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)絡(luò)中多閱讀器防碰撞協(xié)議[J].傳感技術(shù)學(xué)報(bào),2008,21(8):2140-6140.
[6]陳穎,張福洪.RFID傳感網(wǎng)絡(luò)中多閱讀器碰撞算法的研究[J].傳感技術(shù)學(xué)報(bào),2010,23(2):1206-1210.
[7]余恬恬,馮全源.基于Hash函數(shù)的RFID挑戰(zhàn)-應(yīng)答認(rèn)證協(xié)議[J].計(jì)算機(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安全認(rèn)證協(xié)議研究[J].計(jì)算機(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]馮登國(guó).可證明安全性理論與方法研究[J].軟件學(xué)報(bào),2005,16(10):1743-1756.