宋暉 陳丹純 張海志 張良均
1.華南師范大學(xué)物理與電信工程學(xué)院,廣東 廣州 510006; 2.廣州太普軟件有限公司,廣東 廣州 510665
改進(jìn)的RFID雙向認(rèn)證機(jī)制分析研究
宋暉 陳丹純 張海志 張良均
1.華南師范大學(xué)物理與電信工程學(xué)院,廣東 廣州 510006; 2.廣州太普軟件有限公司,廣東 廣州 510665
本文在簡單介紹了射頻識別技術(shù)(RFID)面臨的安全問題以及多種RFID 安全機(jī)制的基礎(chǔ)上, 對帶別名的雙向認(rèn)證機(jī)制進(jìn)行原理的描述與性能的仿真分析,并利用MATLAB軟件進(jìn)行仿真實現(xiàn)和驗證。
無線射頻識別;雙向認(rèn)證;安全;哈希函數(shù)
Radio frequency identification;Mutual authentication; Security;Hash function
射頻識別技術(shù)(Radio Frequency Identification RFID)通過無線射頻方式進(jìn)行非接觸雙向數(shù)據(jù)通信,對目標(biāo)加以識別并獲取相關(guān)數(shù)據(jù)。一個典型的RFID系統(tǒng)通常由標(biāo)簽和閱讀器組成,閱讀器又通常與后臺數(shù)據(jù)庫相連。
隨著射頻識別系統(tǒng)的應(yīng)用越來越廣泛,其隱私和認(rèn)證或鑒權(quán)問題受到了更多的關(guān)注。由于標(biāo)簽和閱讀器之間的信息交換是通過射頻在開放信道之中傳輸,因此很容易受到各種不安全因素的攻擊,這些攻擊包括通過物理或軟件方法篡改、刪除標(biāo)簽內(nèi)容等方法擾亂合法處理器正常工作的主動攻擊,和通過竊聽技術(shù)和設(shè)備獲取RFID 信息、個人隱私和物品流通信息的被動攻擊。針對RFID系統(tǒng)所面臨的安全問題,國內(nèi)外進(jìn)行了一系列的研究,并取得了一些有意義的成果。目前比較常用的安全技術(shù)對策有[1]:
1)Killing或Sleeping機(jī)制。Killing機(jī)制是對不再需要的標(biāo)簽進(jìn)行終止服務(wù)操作,關(guān)閉標(biāo)簽的所有功能,保護(hù)客戶的隱私不受侵犯。但是被關(guān)閉后的標(biāo)簽無法再次識別,這影響到了標(biāo)簽的反向跟蹤,不便于提供售后服務(wù)。為此,研究者提出Sleeping機(jī)制,在需要標(biāo)簽停止服務(wù)時使其進(jìn)入休眠狀態(tài)而不是完全失效,此時可通過特定的指令恢復(fù)標(biāo)簽的工作。這種機(jī)制的缺點(diǎn)是需要解決的問題很多,如喚醒時的認(rèn)證機(jī)制、認(rèn)證密碼的管理等,這會增加系統(tǒng)的負(fù)擔(dān)和復(fù)雜度。
2)物理安全機(jī)制。物理安全機(jī)制是利用物理手段對標(biāo)簽進(jìn)行屏蔽或?qū)ι漕l信號進(jìn)行干擾,從而達(dá)到保護(hù)標(biāo)簽信息免被竊取的效果。當(dāng)使用隔離方法時,將標(biāo)簽置于一種有金屬網(wǎng)或者金屬薄片制成的容器中屏蔽起來,這樣某一頻段的無線電信號將無法穿透外罩,當(dāng)然也就無法激活內(nèi)部的射頻標(biāo)簽。但是這種方法需要一個額外的物理設(shè)備,既造成了不便,也增加了系統(tǒng)的成本。對射頻信號進(jìn)行有源干擾是另一種形式的保護(hù)射頻標(biāo)簽免受監(jiān)測的物理手段,消費(fèi)者可以隨身攜帶一種能夠主動發(fā)出無線電信號的設(shè)備用以阻礙或者干擾附近射頻識別讀寫器的正常工作。這種有源干擾的方法可能是違法的,而且是一種拙劣的、帶強(qiáng)制性的方法。
3)密碼安全機(jī)制。密碼安全機(jī)制除了具有前兩類安全機(jī)制能提供的保護(hù)隱私功能之外,還可以用于在訪問控制中進(jìn)行認(rèn)證或鑒權(quán)。由于低成本的電子標(biāo)簽具有資源有限的特點(diǎn),同時考慮標(biāo)簽自身結(jié)構(gòu)的限制,一些復(fù)雜而且高強(qiáng)度的公鑰加密機(jī)制和認(rèn)證算法難以在RFID系統(tǒng)中實現(xiàn)。在此前提下,通常使用單向Hash算法提供安全保證。常見的采用單向Hash算法的協(xié)議有Hash鎖協(xié)議、隨機(jī)Hash鎖協(xié)議和Hash鏈協(xié)議。Hash鎖使用了MetaID來代替真實的標(biāo)簽ID以避免信息泄露和被追蹤,實現(xiàn)成本較低,但非常容易受到假冒攻擊和重傳攻擊。針對Hash鎖在位置跟蹤攻擊保護(hù)上存在的漏洞,研究人員又提出了隨機(jī)Hash鎖的方法,其主要思想是將射頻標(biāo)簽的反應(yīng)設(shè)計成不能是固定的而是隨機(jī)的。因為標(biāo)簽每次的回答都是隨機(jī)的,因此可以防止依據(jù)特定輸出進(jìn)行位置跟蹤攻擊。但標(biāo)簽數(shù)目較多時,系統(tǒng)延時很長, 效率較低; 此外, 這種方法不具備前向安全性。Hash鏈協(xié)議的本質(zhì)是基于共享秘密的雙向認(rèn)證協(xié)議,通過動態(tài)更新每次的應(yīng)答驗證信息來防止跟蹤,并增強(qiáng)了前向安全性。這種方法最大的缺點(diǎn)是計算量較大,同時Hash鏈也非常容易受到重傳攻擊和假冒攻擊。
以上提及的幾種安全技術(shù)對策都在一定程度上增強(qiáng)了RFID系統(tǒng)的安全性,但正如上所述它們都存在著各自的不足之處。本文對改進(jìn)型的基于帶別名的雙向認(rèn)證的RFID安全機(jī)制進(jìn)行分析驗證,并通過matlab/simulink工具來仿真實現(xiàn)。此安全機(jī)制取得了更好的性能,保證了前向、后向安全性,既保護(hù)用戶隱私不被獲取,又實現(xiàn)了對標(biāo)簽的合法性認(rèn)證。
初始階段,對每一個標(biāo)簽ID 生成一個隨機(jī)的key和分配若干個別名, 在數(shù)據(jù)庫中保存(ID, key),并以別名作為對應(yīng)數(shù)組的索引,亦即多個索引指向相同的(I D, k e y)對。標(biāo)簽需要保存自身相應(yīng)的(I D, key)組以及該組的索引別名。
1)閱讀器發(fā)出詢問消息時, 生成一個隨機(jī)數(shù)R, 并將其發(fā)送給標(biāo)簽;
2)標(biāo)簽收到請求后,計算G(ID||R),將隨機(jī)選取的其中一個別名連同G(ID||R)一并返回給閱讀器;
3)閱讀器將標(biāo)簽別名和G(ID||R)發(fā)送給后端數(shù)據(jù)庫;
4)數(shù)據(jù)庫根據(jù)別名查找對應(yīng)的(IDk ,key), 并計算G(IDk ||R), 將其與來自標(biāo)簽的G( ID||R) 進(jìn)行比較,若不相等則向閱讀器返回?zé)o效標(biāo)簽的消息,若相等則將ID 和key返回給閱讀器;
5)閱讀器再向標(biāo)簽發(fā)送H(key||R);
6)標(biāo)簽利用自己保存的key值計算H (key||R),并與收到的H(key||R)比較,若相等,則可以確認(rèn)閱讀器的合法身份;
7)至此,閱讀器和標(biāo)簽都已經(jīng)實現(xiàn)了對對方合法身份的認(rèn)證,即完成了雙向認(rèn)證的整個過程。
基于hash函數(shù)的隨機(jī)RFID雙向認(rèn)證協(xié)議用matlab/simulink工具仿真,為便于理解,后臺數(shù)據(jù)庫和讀寫器視為一個模塊,主要考慮讀寫器模塊和標(biāo)簽?zāi)K之間的仿真。為了簡便起見,本論文只介紹閱讀器對標(biāo)簽的認(rèn)證部分的仿真內(nèi)容和結(jié)果,標(biāo)簽對閱讀器的認(rèn)證基本原理和仿真方法與閱讀器對標(biāo)簽的認(rèn)證部分相同,故略去。
在仿真中,用方波信號代表標(biāo)簽的別名。仿真線路圖如圖1所示。
仿真過程詳細(xì)敘述(假設(shè)標(biāo)簽對閱讀器的認(rèn)證都是能夠通過的)如下:
讀寫器模塊中,伯努利信號發(fā)生器(Bernoulli Binary Generator)產(chǎn)生伯努利信號波形(1011011100…)送入S函數(shù)(SFunction)進(jìn)行“加二”運(yùn)算,計算出來的結(jié)果(3233233322…)傳送給標(biāo)簽?zāi)K(即讀寫器向標(biāo)簽發(fā)出請求信號),標(biāo)簽?zāi)K接收到讀寫器發(fā)送過來的信號后將其與方波信號(1010101010…)進(jìn)行加法運(yùn)算,得出來的結(jié)果(4243334332…)送入S函數(shù)(S-Function1)進(jìn)行“減三”運(yùn)算,計算出來的結(jié)果(1-11000100-1…)送回給讀寫器,表示標(biāo)簽要求讀寫器對其身份合法性的認(rèn)證,讀寫器收到標(biāo)簽送來的信號后,將其送入S函數(shù)(S-Function2)進(jìn)行“加二”運(yùn)算,計算出來的結(jié)果(3132223221…)與標(biāo)簽認(rèn)證計算的結(jié)果分別送入減法器(Subtract)進(jìn)行減法運(yùn)算,計算結(jié)果(2222222222…)表示讀寫器確認(rèn)了標(biāo)簽的合法身份。
仿真結(jié)果示波器顯示的波形圖如圖2和圖3所示:(從上到下的顯示對應(yīng)的端口分別是a,b,c,d,e,f,g,h)。
對該安全協(xié)議進(jìn)行性能分析,有如下特點(diǎn):
1)防竊聽。在閱讀器和標(biāo)簽之間的通信過程中,由于別名和隨機(jī)數(shù)R的使用,使每次傳遞的數(shù)據(jù)都不同,而且Hash函數(shù)的單向性保證了竊聽者無法根據(jù)竊聽到的數(shù)據(jù)反向推導(dǎo)出原始數(shù)據(jù),因此該安全機(jī)制可以有效防止竊聽。
2)防哄騙。由于閱讀器和標(biāo)簽的交互過程中隨機(jī)數(shù)和別名的選取都是隨機(jī)的,上一次通信的數(shù)據(jù)跟下一次通信的數(shù)據(jù)是不同的,因此攻擊者無法通過獲取到的歷史數(shù)據(jù)來假冒標(biāo)簽與閱讀器通信,因此可以有效地防止哄騙攻擊。
3)防止跟蹤。閱讀器與標(biāo)簽之間通信的數(shù)據(jù)是隨機(jī)變化的,即使是相鄰的兩次認(rèn)證、鑒權(quán)所傳輸?shù)臄?shù)據(jù)都是統(tǒng)計無關(guān)的,因此攻擊者無法通過歷史數(shù)據(jù)跟蹤用戶位置,有效地保護(hù)了用戶的位置隱私。
4)實現(xiàn)雙向認(rèn)證。機(jī)制工作流程的前四步是閱讀器對標(biāo)簽身份的認(rèn)證過程,第五和第六步是標(biāo)簽對閱讀器身份的認(rèn)證過程,保證了雙方通信的前向和后向安全性,從而實現(xiàn)了雙向認(rèn)證的要求。
5)協(xié)議的一次執(zhí)行中,標(biāo)簽進(jìn)行了一次偽隨機(jī)數(shù)產(chǎn)生運(yùn)算和兩次Hash運(yùn)算,閱讀器進(jìn)行了一次偽隨機(jī)數(shù)生成運(yùn)算,后端數(shù)據(jù)庫兩次Hash運(yùn)算;標(biāo)簽需要增加一定的存儲空間以存儲別名, 但是其量級仍然保持在O(N)。綜上所述,帶別名的雙向認(rèn)證機(jī)制運(yùn)算成本低,效率高。
隨著RFID 在各行各業(yè)的應(yīng)用越來越廣泛, 其安全問題成為RFID 系統(tǒng)順利推廣的一個重要因素。本文對帶別名的雙向認(rèn)證機(jī)制進(jìn)行了性能分析和仿真驗證。軟件仿真和性能分析表明,此協(xié)議能夠有效解決隱私保護(hù)和認(rèn)證鑒權(quán)兩方面的安全問題, 同時系統(tǒng)的復(fù)雜性和資源占用保持在能夠接受的范圍內(nèi), 是一種可行的安全解決方案。
[1]馮清枝,任嬡.射頻識別技術(shù)的安全問題及防范策略[N].中國刑警學(xué)院.廣東公安科技.2008年,第4期
[2]周曉光.射頻識別(RFID)技術(shù)原理與應(yīng)用實例[M].北京:人民郵電出版社.2006
[3]Dennis E.Brown.RFID implementation/ McGraw-Hill communications[C]. New York: McGraw-Hill, c2007
[4]Claus Heinrich. RFID and Beyond.Indianapolis [R]. Indianapolis, IN : Wiley, c2005
[5]C.M.Roberts.Radio frequency identification (RFID)[J].ELSEVIER Computers & Security, 2006,25:18-26
[6]郎為民,劉德敏,李建軍.R F I D安全機(jī)制研究[J].解放軍通信指揮學(xué)院/沈陽軍區(qū)網(wǎng)管中心.2007年,第9卷第3期
[7]楊海東,楊春.RFID安全問題研究[J].華南理工大學(xué).2008年,第24卷第3-2期
[8]龍雨,李芳.RFID安全方案研究[J].湖南人文科學(xué)院. Computer Knowledge And Technology電腦知識與技術(shù).2008年,第4卷第7期
The Analysis and Research of Improved RFID Two-way Authentication Mechanism
Song Hui Chen Danchun Zhang Haizhi Zhang Liangjun
1.School of Physics and Telecommunication Engineering South China Normal Unix, Guangzhou 510006, Guangdong China; 2. Software C Tepper, Guangzhou 510665, Guangdong China
Base on the simple introduction of the security problem of radio frequency identification(RFID) and a variety of RFID security mechanism,this paper discribes the principle of two-way authentication mechanism with alias and simulation analyses its performance. Then use MATLAB to implement simulation and verification.
10.3969/j.issn.1001-8972.2011.11.059