適用于供應(yīng)鏈的RFID讀寫(xiě)器-標(biāo)簽雙向認(rèn)證協(xié)議
文章出處:http://m.dipdnbxp.cn 作者:蔡韶穎 趙一鳴 人氣: 發(fā)表時(shí)間:2011年10月15日
0 引 言
RFID技術(shù)是一種非接觸自動(dòng)識(shí)別技術(shù),它利用射頻信號(hào)的空間藕合(交變磁場(chǎng)或電磁場(chǎng))實(shí)現(xiàn)無(wú)接觸信息傳遞并通過(guò)所傳遞的信息達(dá)到識(shí)別一個(gè)對(duì)象的目的,在供應(yīng)鏈管理、訪問(wèn)控制、動(dòng)物追蹤等領(lǐng)域中已經(jīng)得到廣泛的應(yīng)用。
在供應(yīng)鏈管理中引入RFID系統(tǒng),能夠提高供應(yīng)鏈的可視性,改善供應(yīng)鏈的操作效率,為整個(gè)供應(yīng)鏈提供高效的實(shí)時(shí)的信息,有效地預(yù)防偷盜、遺失和假冒的發(fā)生。供應(yīng)鏈中安全的標(biāo)簽和讀寫(xiě)器間交互協(xié)議應(yīng)該滿足以下要求:只有合法的讀寫(xiě)器才能從標(biāo)簽發(fā)送的信息中獲取其所屬物品的相關(guān)信息,只有合法的標(biāo)簽才能被讀寫(xiě)器有效地識(shí)別,攻擊者不能跟蹤標(biāo)簽。
文獻(xiàn)[1]提出了HashLock協(xié)議,使用匿名ID來(lái)保護(hù)標(biāo)簽的內(nèi)容,但是由于匿名ID是靜態(tài)的,因此標(biāo)簽不能抵抗跟蹤攻擊。文獻(xiàn)[2]使用Hash鏈來(lái)更新標(biāo)簽的秘密,然而該協(xié)議不能抵抗重傳攻擊,攻擊者可以假冒合法的標(biāo)簽。文獻(xiàn)[3]提出的數(shù)字圖書(shū)館RFID協(xié)議中,引入了基于樹(shù)的認(rèn)證協(xié)議的概念,這個(gè)方案雖然降低了后端服務(wù)器的搜索時(shí)間,但協(xié)議運(yùn)行的輪次大大提高,此外,標(biāo)簽上需存儲(chǔ)logn個(gè)秘密,由于logn-1個(gè)秘密是和其它標(biāo)簽共享,這個(gè)方案中很難實(shí)現(xiàn)對(duì)標(biāo)簽秘密的更新。文獻(xiàn)[1]提出了基于門(mén)限秘密共享的方案,解決了秘密分發(fā)的問(wèn)題,對(duì)標(biāo)簽的成本需求最低,但是這個(gè)方案中標(biāo)簽不具備抗跟蹤性。
除了以上幾種典型的協(xié)議,最近幾年,出現(xiàn)了大量的隨機(jī)化的詢問(wèn)應(yīng)答雙向認(rèn)證協(xié)議,如文獻(xiàn)[5]提出的協(xié)議等。這類協(xié)議中,每個(gè)標(biāo)簽和讀寫(xiě)器共享一些秘密,這些秘密在讀寫(xiě)器的后端數(shù)據(jù)庫(kù)中和標(biāo)簽的一些信息關(guān)聯(lián)。為了避免重放攻擊,讀寫(xiě)器和標(biāo)簽在每個(gè)會(huì)話中都產(chǎn)生和使用隨機(jī)數(shù),這使得每個(gè)標(biāo)簽的回復(fù)不可以預(yù)計(jì)算,后端數(shù)據(jù)庫(kù)在線識(shí)別每個(gè)標(biāo)簽的代價(jià)是O(n)。和其它的RFID技術(shù)的應(yīng)用相比,供應(yīng)鏈管理由于批量處理大量標(biāo)簽的特性而對(duì)性能要求最高。然而這類協(xié)議不具備可擴(kuò)展性(可擴(kuò)展性是指當(dāng)識(shí)別一個(gè)標(biāo)簽的代價(jià)不會(huì)隨著標(biāo)簽總數(shù)量增大而明顯增大)。
文獻(xiàn)[6]對(duì)部分協(xié)議有詳盡的分析。由于目前還沒(méi)有適用于供應(yīng)鏈的可擴(kuò)展讀寫(xiě)器.標(biāo)簽雙向認(rèn)證協(xié)議,我們針對(duì)供應(yīng)鏈中貨品大批量處理以及處理流程的可預(yù)知性,提出一種適用于供應(yīng)鏈的可擴(kuò)展的讀寫(xiě)器一標(biāo)簽雙向認(rèn)證協(xié)議。
1 供應(yīng)鏈的RFID系統(tǒng)模型
在通用的供應(yīng)鏈的模型上,一個(gè)供應(yīng)鏈上有多個(gè)參與者。貨物經(jīng)過(guò)一個(gè)參與者的處理之后,被移交給下一個(gè)參與者。在這個(gè)過(guò)程中,一批貨物每次只屬于一個(gè)參與者。在一個(gè)參與者處理的過(guò)程中,可能需要多次讀取標(biāo)簽上的信息。在一個(gè)參與者處理完貨物之后,貨物被移交給供應(yīng)鏈中的下一個(gè)參與者。通用的RFID系統(tǒng)由三個(gè)主要部件構(gòu)成:標(biāo)簽(Tag)、標(biāo)簽讀寫(xiě)器(Reader)和后端數(shù)據(jù)庫(kù)(Backend Database)。標(biāo)簽由芯片與天線組成,存儲(chǔ)相關(guān)對(duì)象的信息。標(biāo)簽讀寫(xiě)器,簡(jiǎn)稱讀寫(xiě)器,是一個(gè)帶有天線的無(wú)線發(fā)射與接受設(shè)備,可以對(duì)標(biāo)簽進(jìn)行讀寫(xiě)操作。后端數(shù)據(jù)庫(kù)用于存放系統(tǒng)中所有標(biāo)簽所標(biāo)識(shí)對(duì)象的有關(guān)數(shù)據(jù),接受讀寫(xiě)器對(duì)特定標(biāo)簽信息的檢索。
根據(jù)一般的供應(yīng)鏈的流程,建立如圖1所示供應(yīng)鏈RFID系統(tǒng)模型。這里P代表參與者,S代表后端數(shù)據(jù)庫(kù),R代表讀寫(xiě)器, 代表標(biāo)簽 在我們的系統(tǒng)中,每個(gè)參與者有一個(gè)中心服務(wù)器,所有的讀寫(xiě)器都與其連接,中心數(shù)據(jù)庫(kù)也是該參與者內(nèi)所有讀寫(xiě)器的后端數(shù)據(jù)庫(kù)。讀寫(xiě)器和后端數(shù)據(jù)庫(kù)具有較強(qiáng)的存儲(chǔ)和計(jì)算能力,本文將二者作為一個(gè)整體看待,即默認(rèn)讀寫(xiě)器是帶有后端數(shù)據(jù)庫(kù)的高性能計(jì)算機(jī)。標(biāo)簽的存儲(chǔ)空間和計(jì)算能力比較有限。在讀寫(xiě)器和標(biāo)簽之間的通信信道上,使用Dolev—Yao攻擊者模型,即攻擊者能監(jiān)聽(tīng)、阻止、修改或插入讀寫(xiě)器或標(biāo)簽發(fā)送的信息。
圖1 供應(yīng)鏈RFID系統(tǒng)模型
在供應(yīng)鏈RFID系統(tǒng)中,至少應(yīng)該包含兩個(gè)協(xié)議,即讀寫(xiě)器-標(biāo)簽雙向認(rèn)證協(xié)議和標(biāo)簽所有權(quán)移交協(xié)議。讀寫(xiě)器.標(biāo)簽雙向認(rèn)證協(xié)議用來(lái)保證合法的參與者在貨物處理或運(yùn)輸過(guò)程中對(duì)貨物的安全識(shí)別。當(dāng)貨物要從一個(gè)參與者P 移交到下一個(gè)參與者P,時(shí),需要運(yùn)行標(biāo)簽所有權(quán)移交協(xié)議使得P,識(shí)別標(biāo)簽并更新標(biāo)簽的秘密。本文完成讀寫(xiě)器一標(biāo)簽雙向認(rèn)證協(xié)議的設(shè)計(jì)。
2 讀寫(xiě)器一標(biāo)簽雙向認(rèn)證協(xié)議
供應(yīng)鏈和其它RFID應(yīng)用的最為顯著區(qū)別就是:(1)帶有標(biāo)簽的貨物是成批處理的;(2)對(duì)于任一個(gè)參與者,貨物在其內(nèi)部的處理流程是可預(yù)知的,也就是要讀取標(biāo)簽的次數(shù)是可以預(yù)先估計(jì)的。這兩個(gè)特性為設(shè)計(jì)高效的認(rèn)證協(xié)議提供了一個(gè)切入點(diǎn)。本文采用了一種全新的機(jī)制,每個(gè)標(biāo)簽和讀寫(xiě)器共享一個(gè)秘密,這個(gè)秘密在讀寫(xiě)器上作為標(biāo)簽身份的索引。讀寫(xiě)器首先發(fā)送一個(gè)認(rèn)證碼給標(biāo)簽,每批標(biāo)簽都設(shè)定同一個(gè)值用來(lái)認(rèn)證驗(yàn)證碼的安全性。標(biāo)簽驗(yàn)證認(rèn)證碼合法后發(fā)送匿名ID。匿名ID的值和認(rèn)證碼及共享的秘密相關(guān),合法的讀寫(xiě)器可以預(yù)先計(jì)算并排序所有標(biāo)簽的匿名ID,因此在線識(shí)別一個(gè)標(biāo)簽是通過(guò)查找匿名ID列表找到和標(biāo)簽發(fā)的匿名ID相等的值。當(dāng)讀寫(xiě)器識(shí)別標(biāo)簽后,發(fā)送回復(fù)信息給標(biāo)簽,標(biāo)簽驗(yàn)證回復(fù)合法之后,更新標(biāo)簽上用來(lái)驗(yàn)證認(rèn)證碼的值。一個(gè)認(rèn)證碼只能使用一次,標(biāo)簽每次所發(fā)的匿名ID都是變化的,只有合法的讀寫(xiě)器才能識(shí)別標(biāo)簽。攻擊者不能由監(jiān)聽(tīng)到的認(rèn)證碼計(jì)算一個(gè)合法的認(rèn)證碼。
2.1 初始化 .
參與者Pj中標(biāo)簽的最多被讀取次數(shù)標(biāo)記為m。Pi選擇一個(gè)隨機(jī)數(shù)a0,計(jì)算a1=h(a0),a2=h(a1),a3=h(a2),... ,am =h(a m-1 )。其中h:{0,1}’→{0,1} 是一個(gè)單向哈希函數(shù),l是該RFID系統(tǒng)的安全參數(shù),默認(rèn)本文中所有變量的長(zhǎng)度都為l。Pj的中心數(shù)據(jù)庫(kù)sj保存a 0,a 1,...,a m-1的值。這些值將按逆序依次分配給讀寫(xiě)器作為認(rèn)證碼。首先,我們?cè)跇?biāo)簽上保存a ,此時(shí)標(biāo)簽?zāi)芙邮艿奈ㄒ或?yàn)證碼是a 1。當(dāng)雙向認(rèn)證成功后,標(biāo)簽上am 的值被a m-1,取代,此時(shí),標(biāo)簽?zāi)芙邮艿奈ㄒ或?yàn)證碼是a m-2,以此類推。下面是在貨物從P j-1 移交到P j后,標(biāo)簽和中心數(shù)據(jù)庫(kù)的初始化。
標(biāo)簽初始化
標(biāo)簽Ti上保存兩個(gè)值,(bi,ki )。對(duì)于1≤i≤n,n是所有標(biāo)簽的數(shù)量,Pj設(shè)定b。=n ,k 為一個(gè)隨機(jī)串作為標(biāo)簽和數(shù)據(jù)庫(kù)s j共享的新秘密。
中心數(shù)據(jù)庫(kù)初始化每個(gè)標(biāo)簽Ti ,對(duì)于0≤t≤m-l,中心數(shù)據(jù)庫(kù)sj計(jì)算h(a t ‖k i)的值,h(a t‖k i )是標(biāo)簽T i對(duì)于合法認(rèn)證碼a t回復(fù)的匿名ID。中心數(shù)據(jù)庫(kù)結(jié)構(gòu)如表1所示。
表1 中心數(shù)據(jù)庫(kù)結(jié)構(gòu)
2.2 協(xié)議描述
當(dāng)Pj第一次要讀取標(biāo)簽時(shí),讀寫(xiě)器從中心服務(wù)器得到這批標(biāo)簽當(dāng)前合法的認(rèn)證碼a m-1 ,當(dāng)使用a m-1 成功和一個(gè)標(biāo)簽實(shí)現(xiàn)雙向認(rèn)證后,標(biāo)簽更新用來(lái)認(rèn)證認(rèn)證碼的值b i,a m-1 不再是合法的認(rèn)證碼。當(dāng)一批標(biāo)簽初理完,所有的標(biāo)簽可接受的認(rèn)證碼都變成口。第二次要處理標(biāo)簽時(shí),讀寫(xiě)器從中心服務(wù)器得到新的認(rèn)證碼a m-2。認(rèn)證碼是使用單向哈希函數(shù)生成,攻擊者無(wú)法從監(jiān)聽(tīng)到的合法的認(rèn)證碼a m-1 算出下一個(gè)合法認(rèn)證碼a m-2的值。同時(shí),使用哈希函數(shù)可以方便地實(shí)現(xiàn)標(biāo)簽和數(shù)據(jù)庫(kù)的同步更新。
本文的協(xié)議由三輪報(bào)文發(fā)送過(guò)程組成。當(dāng)要處理一批標(biāo)簽時(shí),讀寫(xiě)器從中心數(shù)據(jù)庫(kù)得到當(dāng)前這批標(biāo)簽?zāi)芙邮艿暮戏ǖ恼J(rèn)證碼a。
(1)數(shù)據(jù)庫(kù)/讀寫(xiě)器→標(biāo)簽讀寫(xiě)器產(chǎn)生隨機(jī)數(shù)r 1,并發(fā)送(a,r 1)給標(biāo)簽。
(2)標(biāo)簽→數(shù)據(jù)庫(kù)/讀寫(xiě)器 當(dāng)標(biāo)簽T i收到(a,r 1)后,首先驗(yàn)證h(a)=b i 是否成立,如果成立,生成隨機(jī)數(shù)r 2 ,并計(jì)算A=h(a‖k i),B =h(r 1‖r 2‖k i ),并發(fā)送(r 2 ,A,B)給讀寫(xiě)器;如果不成立,則終止協(xié)議的運(yùn)行。
(3)數(shù)據(jù)庫(kù)/讀寫(xiě)器→標(biāo)簽讀寫(xiě)器查找后端數(shù)據(jù)庫(kù)中預(yù)計(jì)算出來(lái)的對(duì)于認(rèn)證碼。的所有標(biāo)簽的回復(fù),如果找到和A相等的值,則該標(biāo)簽被識(shí)別,讀寫(xiě)器得到該標(biāo)簽的秘密k。隨后,讀寫(xiě)器驗(yàn)證曰的合法性,如果B=h(r 1‖r 2‖k),則該標(biāo)簽通過(guò)讀寫(xiě)器的認(rèn)證,讀寫(xiě)器計(jì)算C=h(r 2|| k)并發(fā)送給標(biāo)簽;如果B不合法,則協(xié)議終止。
最后標(biāo)簽T i 收到c之后,驗(yàn)證C=h(r 2‖k i)是否成立,如果成立,則標(biāo)簽認(rèn)證讀寫(xiě)器為合法的讀寫(xiě)器,標(biāo)簽更新b的值為a;如果不成立,則協(xié)議中止。協(xié)議流程圖如圖2所示。
3 安全性及效率分析
抗隱私泄露在讀寫(xiě)器與標(biāo)簽的交互中,k i 沒(méi)有采用明文發(fā)送,由于哈希函數(shù)h的單向性,攻擊者不能從h(a‖k i),h(r 1‖r2‖k i),h(r 2‖k i )的值中計(jì)算出ki 的值。
抗假冒標(biāo)簽攻擊雖然一批標(biāo)簽使用同一個(gè)認(rèn)證碼,對(duì)于每個(gè)標(biāo)簽,每次讀寫(xiě)器運(yùn)行協(xié)議,都會(huì)使用新鮮的隨機(jī)數(shù)r 1。因此,在攻擊者不知道ki的值的情況下,不能生成合法的B,B= h(r 1‖r 2‖k i )以通過(guò)讀寫(xiě)器的認(rèn)證。
抗假冒讀寫(xiě)器攻擊標(biāo)簽對(duì)讀寫(xiě)器的認(rèn)證有兩重,首先,只有讀寫(xiě)器發(fā)來(lái)合法的認(rèn)證碼。,標(biāo)簽才會(huì)回應(yīng),只有合法的讀寫(xiě)器才可以從中心數(shù)據(jù)庫(kù)得到當(dāng)前的認(rèn)證碼。由于讀寫(xiě)器在處理大批量的標(biāo)簽時(shí),攻擊者可以監(jiān)聽(tīng)先處理的標(biāo)簽和讀寫(xiě)器的對(duì)話,得到同一批次標(biāo)簽共同的認(rèn)證碼,然后假扮讀寫(xiě)器,因此,只有一個(gè)驗(yàn)證碼來(lái)實(shí)現(xiàn)標(biāo)簽對(duì)讀寫(xiě)器的認(rèn)證是不夠的。在第三個(gè)消息中,標(biāo)簽通過(guò)驗(yàn)證讀寫(xiě)器發(fā)送的C的值確認(rèn)讀寫(xiě)器已經(jīng)正確識(shí)別出標(biāo)簽,C=h(r 2‖k i)。只有合法的讀寫(xiě)器才能識(shí)別出標(biāo)簽,得到k i的值,標(biāo)簽在再次對(duì)讀寫(xiě)器進(jìn)行認(rèn)證之后,才更新bi的值。
抗跟蹤 攻擊者不能通過(guò)主動(dòng)詢問(wèn)標(biāo)簽來(lái)獲得信息,因?yàn)楣粽卟荒艿玫疆?dāng)前的合法認(rèn)證碼。對(duì)同一個(gè)標(biāo)簽,任意兩次合法的對(duì)話中,第一次對(duì)話的記錄(a,r 1,r 2,A,B,C)和第二次對(duì)話的記錄(a',r1',r 2',A ',B ',C' )對(duì)于攻擊者是不可區(qū)分的。因此,我們的協(xié)議具有抗跟蹤性。
本文的協(xié)議首次引入一次性認(rèn)證碼的使用,使得數(shù)據(jù)庫(kù)可以預(yù)計(jì)算所有合法標(biāo)簽的回復(fù)并排序,當(dāng)在線識(shí)別一個(gè)標(biāo)簽時(shí),查找數(shù)據(jù)庫(kù)代價(jià)是O(logn)次比較大小的運(yùn)算,數(shù)據(jù)庫(kù)完成一次讀寫(xiě)器-標(biāo)簽雙向認(rèn)證總共需要進(jìn)行3次hash運(yùn)算以及O(logn)次的比較大小的運(yùn)算。在Song提出的協(xié)議以及其它大量隨機(jī)化匿名協(xié)議中,后端數(shù)據(jù)庫(kù)在線識(shí)別一個(gè)標(biāo)簽需要嘗試所有標(biāo)簽的秘密進(jìn)行hash運(yùn)算,直到找到一個(gè)記錄中的秘密使得計(jì)算出來(lái)的值和標(biāo)簽發(fā)送過(guò)來(lái)的值相等,識(shí)別一個(gè)標(biāo)簽要進(jìn)行O(n)次哈希運(yùn)算。本文提出的協(xié)議顯著提高了后端數(shù)據(jù)庫(kù)在讀寫(xiě)器.標(biāo)簽雙向認(rèn)證中在線識(shí)別一個(gè)標(biāo)簽的效率。本文的協(xié)議中標(biāo)簽需要進(jìn)行4次hash運(yùn)算,和其它協(xié)議中標(biāo)簽的運(yùn)算量相當(dāng),如Song的協(xié)議中,標(biāo)簽需要進(jìn)行3次hash運(yùn)算,Song中引用的三個(gè)協(xié)議 ,標(biāo)簽均需要進(jìn)行4次hash運(yùn)算。
4 結(jié)論
后端數(shù)據(jù)庫(kù)的對(duì)標(biāo)簽的在線識(shí)別往往是RFID系統(tǒng)中的瓶頸。對(duì)于數(shù)據(jù)庫(kù)中包含大量標(biāo)簽記錄,同時(shí)要成批識(shí)別大批量標(biāo)簽的供應(yīng)鏈RFID系統(tǒng),提高后端數(shù)據(jù)庫(kù)在線識(shí)別的效率成為當(dāng)務(wù)之急。本文中的讀寫(xiě)器-標(biāo)簽雙向認(rèn)證協(xié)議在保證供應(yīng)鏈系統(tǒng)安全性的情況下顯著提高了數(shù)據(jù)庫(kù)在線識(shí)別一個(gè)標(biāo)簽的效率。本文中的協(xié)議只適合于批量處理的供應(yīng)鏈。在未來(lái)的工作中,我們將完成標(biāo)簽所有權(quán)移交協(xié)議的設(shè)計(jì),進(jìn)一步完善該供應(yīng)鏈RIFD系統(tǒng)。
(文/復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 蔡韶穎 趙一鳴 )
參考文獻(xiàn)
[1]Sarma S E,Weis S A,EngelsDW.RFID systems and security and privaey implications[C]//In:Kaliski B S,Koc C K,Paar C.eds.Pro—ceedings of the 4th Intemational Workshop on Cryptographic Hardwareand Embedded Systems(CHES 2002).Lectures Notes in ComputerScience 2523.Berlin:Springer Verlag,2003:454—469.
[2]Ohkubo M,Suzuki K,Kinoshita S.Hash.chain based forward secure privacy protection scheme for low—cost RFID[C]//In:Proceedings ofthe 2004 Symposium on Cryptography and Information Security(SCIS2004),Sendai,2004:719—724.
[3]Molnar D,Wagner D.Privacy and security in library RFID:Issues.practices,and architectures[C]//In:Procedings of the 11 ACMConference on Computer and Communications Security (CCS 04),Washington,DC,USA,2004:210—219.
[4]Juels A,Pappu R,Pamo B.Unidirectional key distribution across time and space with applications to RFID security[C]//In 17 USENIXSecurity Sym posium,2008:75—90.
[5]Song B,Mitchell C J.Rfid authentication protocol for low.cost tags
[C]//In WISEC,2008:140—147.
[6]周永,馮登國(guó).RFID安全協(xié)議的設(shè)計(jì)與分析[J].計(jì)算機(jī)學(xué)報(bào),2006,29(4):8l一89.
[7]Dolev D,Yao A c.On the security of public key protocols[C]//Technical Report,Report No.STAN—CS-81-854,Standford,CA ,USA ,1981.