蘇 彬,程 玲,崔寶江
SU Bin1,3,CHENG Ling2,CUI Baojiang1
1.北京郵電大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,北京 100876
2.新疆工程學(xué)院 計(jì)算機(jī)工程系,烏魯木齊 830091
3.山西職業(yè)技術(shù)學(xué)院 計(jì)算機(jī)工程系,太原 030006
1.School of Cyberspace Security,Beijing University of Posts and Telecommunications,Beijing 100876,China
2.Department of Computer Engineering,Xinjiang Institute of Engineering,Urumuqi 830091,China
3.Department of Computer Engineering,Shanxi Polytechnic College,Taiyuan 030006,China
無線射頻識(shí)別(Radio Frequency Identification,RFID)是一種快速發(fā)展的數(shù)字識(shí)別技術(shù),其通過射頻信號(hào)對(duì)目標(biāo)對(duì)象進(jìn)行非接觸式的自動(dòng)識(shí)別,可廣泛用于供應(yīng)鏈管理、工業(yè)生產(chǎn)控制、票務(wù)管理、人員管理、醫(yī)療服務(wù)等領(lǐng)域,并可用于某些工作條件惡劣的環(huán)境[1]。
一個(gè)完整的RFID系統(tǒng)由標(biāo)簽(Tag)、閱讀器(Reader)和后臺(tái)服務(wù)器(Server)三部分組成[2]。在RFID系統(tǒng)的發(fā)展中,標(biāo)簽的成本與安全隱私問題是互相制約的兩個(gè)重要因素[3],要降低標(biāo)簽的成本,就需要簡化標(biāo)簽內(nèi)芯片的設(shè)計(jì),但這樣會(huì)導(dǎo)致安全性的減弱;要提高安全性,需要標(biāo)簽支持哈希、隨機(jī)數(shù)、加密等功能,必然提高標(biāo)簽的成本,因此RFID系統(tǒng)的研究,就需要在成本與安全性之間找到好的平衡點(diǎn)。由于價(jià)格方面的優(yōu)勢,當(dāng)前應(yīng)用最為廣泛的RFID系統(tǒng)是低成本的被動(dòng)式RFID標(biāo)簽系統(tǒng),其最重要的標(biāo)準(zhǔn)是由EPCglobal提出的EPC Class-1 Generation-2[4],該標(biāo)準(zhǔn)的內(nèi)容同時(shí)也符合ISO/IEC 18000-6C標(biāo)準(zhǔn)[5]。根據(jù)EPC Class-1 Generation-2標(biāo)準(zhǔn)中關(guān)于標(biāo)簽計(jì)算能力與存儲(chǔ)能力的規(guī)定,其無法支持RSA公鑰加密體制、SHA-1或MD5等哈希函數(shù)、ECC橢圓曲線加密等功能,能夠支持模運(yùn)算、位運(yùn)算、偽隨機(jī)數(shù)生成等功能[6]。
傳統(tǒng)的RFID系統(tǒng)環(huán)境中,閱讀器與后臺(tái)服務(wù)器之間是通過線纜直接連接的,因此認(rèn)為它們之間的信息傳輸信道是安全可靠的[7]。針對(duì)這種情況,國內(nèi)外學(xué)者研究出了大量的安全認(rèn)證協(xié)議,如文獻(xiàn)[8-9]。近年來隨著移動(dòng)終端設(shè)備及近場通訊技術(shù)的發(fā)展,出現(xiàn)了將閱讀器嵌入移動(dòng)設(shè)備形成移動(dòng)RFID系統(tǒng)的情況,閱讀器的工作方式發(fā)生了改變,其與后臺(tái)服務(wù)器之間通過無線信道連接,安全性假設(shè)不再適用,因此傳統(tǒng)的RFID認(rèn)證協(xié)議無法應(yīng)用于這種環(huán)境[10]。
針對(duì)移動(dòng)RFID系統(tǒng)認(rèn)證協(xié)議的研究,目前主要集中在兩方面:一是安全,協(xié)議要能夠安全地傳遞身份認(rèn)證參數(shù)、密鑰更新參數(shù)等,并能實(shí)現(xiàn)隱私性,防止重放、假冒、去同步化等攻擊行為;二是性能,即如何合理地利用標(biāo)簽、閱讀器、服務(wù)器的計(jì)算及存儲(chǔ)能力,如何高效率地根據(jù)認(rèn)證參數(shù)從服務(wù)器數(shù)據(jù)庫中查找到匹配的標(biāo)簽及閱讀器記錄[11]。
針對(duì)移動(dòng)RFID系統(tǒng),國內(nèi)外學(xué)者提出了一系列的認(rèn)證協(xié)議方案[6,10-19],其中一些學(xué)者為了增加協(xié)議的安全性,在標(biāo)簽中使用了哈希函數(shù)[12-13,19]或ECC橢圓曲線加密功能[14-15],如前所述,由于計(jì)算及存儲(chǔ)能力的限制,這樣的協(xié)議并不適合在EPC Class-1 Generation-2標(biāo)準(zhǔn)的低成本被動(dòng)式標(biāo)簽系統(tǒng)中使用。
2013年,文獻(xiàn)[6]在文獻(xiàn)[16]的基礎(chǔ)上,提出了一種基于二次剩余定理的移動(dòng)RFID認(rèn)證協(xié)議,該協(xié)議符合EPC Class-1 Generation-2標(biāo)準(zhǔn),宣稱實(shí)現(xiàn)了隱私保護(hù),并能抵抗各種攻擊。然而在其后的幾年里,文獻(xiàn)[10-11,17]均指出其不能抵抗重放攻擊、假冒攻擊,且服務(wù)器根據(jù)身份憑據(jù)查找標(biāo)簽效率極低,極端情況時(shí),需要遍歷數(shù)據(jù)庫256次。
文獻(xiàn)[11]的改進(jìn)方案中,將文獻(xiàn)[6]中標(biāo)簽傳遞的參數(shù)由x′=(x2)2modn,t′=(t2)2modn替換為x′=(c||x)2modn,t′=t2modn,這樣的好處是在服務(wù)器端計(jì)算時(shí),可以使用二次剩余定理通過c確定唯一的x以及4個(gè)平方根t,這樣在最壞的情況下,只需要遍歷4次數(shù)據(jù)庫,就可以找到相應(yīng)的標(biāo)簽記錄。然而其在安全性方面依然不能抵抗重放攻擊、假冒攻擊。當(dāng)敵手截獲某次正常認(rèn)證情況下 Reader發(fā)給 Server的消息 {x′,t′,y′,u′,c},再假冒Reader重放給Server時(shí),由于其中的隨機(jī)數(shù)t、u、c均非Server生成,因而Server無法判斷其新鮮性,該條消息可以得到服務(wù)器的驗(yàn)證,其中的閱讀器信息能夠匹配服務(wù)器中的記錄,得到合法性驗(yàn)證,同樣,該消息中的標(biāo)簽信息也能夠得到合法性驗(yàn)證。
文獻(xiàn)[10]的改進(jìn)方案是在文獻(xiàn)[6]和文獻(xiàn)[11]的基礎(chǔ)上,給Reader添加了生成時(shí)間戳的功能,其生成時(shí)間戳Tt1,先傳送給Tag,使其參與x的生成,再將其他消息一起傳遞給Server,Server生成時(shí)間戳Tt2,設(shè)置傳輸時(shí)延閾值Δt,通過判斷|Tt2-Tt1|>Δt來確定消息的新鮮性。為了保證Tt1不被篡改,同時(shí)傳遞的還有Tt1參與生成的哈希函數(shù)值z=h(RID||m||x′||Tt1)。該方案解決了重放攻擊、假冒攻擊問題,然而仍然存在拒絕服務(wù)攻擊的問題。敵手截獲并修改數(shù)據(jù)包 {x′,t′,y′,u′,z,s,Tt1},其中Tt1修改當(dāng)前時(shí)間,y′修改為對(duì)應(yīng)不存在的h(RID)即可。然后將此包模擬閱讀器大量發(fā)送給Server,對(duì)于每個(gè)包,Server都要先進(jìn)行求平方根運(yùn)算,然后4次遍歷數(shù)據(jù)庫。如果是大型的RFID系統(tǒng),數(shù)據(jù)庫很大,有可能耗盡服務(wù)器資源,形成拒絕服務(wù)攻擊。
文獻(xiàn)[17]提出的改進(jìn)方案中,由Server發(fā)起認(rèn)證過程,Server產(chǎn)生隨機(jī)數(shù)后,通知閱讀器開始建立與標(biāo)簽的通信,解決了重放攻擊與假冒攻擊。然而這不符合實(shí)際的使用情況,由于移動(dòng)閱讀器可能位于較遠(yuǎn)的地方,服務(wù)器不在現(xiàn)場,無法知道何時(shí)需要進(jìn)行標(biāo)簽的識(shí)別。
文獻(xiàn)[6,10-11,17]在標(biāo)簽中都同時(shí)保存了TID與h(TID),看上去是使用h(TID)對(duì)TID進(jìn)行了保護(hù),使其避免在網(wǎng)絡(luò)中傳輸,從而導(dǎo)致固定身份憑據(jù)的泄露。然而TID并不是標(biāo)簽本身固有的,與h(TID)一樣,都是由服務(wù)器生成的,且存在絕對(duì)的一一對(duì)應(yīng)關(guān)系。在協(xié)議過程中,TID從未參與任何步驟,也沒有進(jìn)行更新,因此在h(TID)生成以后,TID完全沒有儲(chǔ)存的必要。另一個(gè)問題是閱讀器未對(duì)標(biāo)簽進(jìn)行初步的過濾,當(dāng)閱讀器掃描到非本RFID系統(tǒng)的標(biāo)簽時(shí),需要經(jīng)過服務(wù)器端對(duì)閱讀器、標(biāo)簽信息的計(jì)算與驗(yàn)證之后才能處理,最壞情況下,需要4次求平方根運(yùn)算和8次遍歷數(shù)據(jù)庫,降低了系統(tǒng)的性能。
文獻(xiàn)[18]方案中,引入了一種構(gòu)造特殊的隨機(jī)數(shù)生成器fK(X)。Tag及Reader將其重要參數(shù)使用消息E=fKR(fKT(ID⊕x⊕rT)⊕rR)傳遞給Server,在Server端遍歷數(shù)據(jù)庫查找(ID,KR,KT,x)以匹配E值,如果能夠正確匹配,則Tag及Reader同時(shí)通過認(rèn)證。如果考慮到該協(xié)議抵抗標(biāo)簽去同步化功能的KTold和xold,則在最壞情況下,該方案需要遍歷標(biāo)簽數(shù)據(jù)庫4n,其中n表示移動(dòng)RFID系統(tǒng)中Reader的數(shù)量,如果系統(tǒng)中Reader的數(shù)量很多,則性能會(huì)受到較大的影響。該協(xié)議也不像其宣稱的那樣能夠抵抗重放攻擊,當(dāng)敵手截獲Reader最后一次發(fā)給Server的消息{E,rT,rR},并重放給Server時(shí),由于Server不能夠識(shí)別rT、rR的新鮮性,且由于該協(xié)議抵抗去同步化的設(shè)計(jì),該消息會(huì)被識(shí)別為由未更新成功的Tag發(fā)送,由KTold和xold作為參數(shù)通過驗(yàn)證。
文獻(xiàn)[19]提出了一種基于動(dòng)態(tài)密鑰的安全認(rèn)證協(xié)議,該協(xié)議通過增加Reader與Server間的兩次會(huì)話,由Server生成隨機(jī)數(shù)R3來保證認(rèn)證過程中消息的新鮮性,解決了Reader到Server的重放攻擊問題。然而其隨機(jī)數(shù)均由明文傳輸,這樣就帶來了新的標(biāo)簽假冒問題。敵手記錄某個(gè)Tag在某次傳輸過程中的參數(shù){R1,R2,M1L,M2,M3L},當(dāng)下次Reader以新的隨機(jī)數(shù)R′1發(fā)起新的認(rèn)證過程時(shí),敵手只需生成新的R′2=R′1⊕R1⊕R2,即R′1⊕R′2=R1⊕R2,再把 {R′1,R′2,M1L,M2,M3L}發(fā)送給Reader。由于M1L、M2、M3L生成參數(shù)中可變的部分只有R1⊕R2,其余參數(shù)都是固定不變的,因而該消息可以通過Reader對(duì)M1L的驗(yàn)證,也可以通過Server對(duì)M2、M3L的驗(yàn)證,敵手成功假冒該標(biāo)簽。如果采集足夠的數(shù)據(jù),敵手可以假冒出任意的標(biāo)簽信息。同樣,敵手可以通過生成R′3=R′1⊕R1⊕R3來假冒任意的閱讀器信息。
針對(duì)現(xiàn)有的移動(dòng)RFID認(rèn)證協(xié)議方案[6,10-19]存在的不足,本文以能抵抗假冒攻擊、去同步化攻擊,且具備前向安全性為目標(biāo),構(gòu)建了一個(gè)移動(dòng)RFID安全隱私模型,并基于該模型提出一種能夠?qū)崿F(xiàn)標(biāo)簽與服務(wù)器、閱讀器與服務(wù)器間的雙向認(rèn)證的,符合EPC Class-1 Generation-2低成本標(biāo)簽標(biāo)準(zhǔn)要求的移動(dòng)RFID認(rèn)證協(xié)議。
文獻(xiàn)[20]提出了一種傳統(tǒng)RFID系統(tǒng)的安全隱私模型,該模型引入了前向隱私問題,將正確性、安全性、前向隱私性作為安全目標(biāo),與之前研究者提出的安全模型相比,有了更大的實(shí)際意義。該模型仍然基于閱讀器與服務(wù)器間信道安全的假設(shè),因此并不能直接適用于移動(dòng)RFID系統(tǒng)。本文參考文獻(xiàn)[21]中的方法,在文獻(xiàn)[20]模型的基礎(chǔ)上進(jìn)行擴(kuò)展,建立了一個(gè)能夠適用于移動(dòng)RFID系統(tǒng)的安全隱私模型。從之前的分析可以看出,移動(dòng)RFID系統(tǒng)中最容易出現(xiàn)的問題是由于閱讀器與服務(wù)器間信道安全的假設(shè)不成立而導(dǎo)致的假冒攻擊問題,因此本文提出的安全模型突出抵抗假冒攻擊,以抵抗假冒攻擊、抵抗去同步化攻擊及前向安全作為安全目標(biāo),更適用于移動(dòng)RFID系統(tǒng)。
敵手能力假設(shè):敵手Adv只能在有限的時(shí)間內(nèi)與系統(tǒng)進(jìn)行交互,稱為暴露時(shí)間(Exposure Period)[22]。在暴露時(shí)間里,Adv可以進(jìn)行最多n次對(duì)RFID系統(tǒng)的攻擊,包括竊聽、篡改、偽造、阻斷、重放標(biāo)簽與閱讀器、閱讀器與服務(wù)器間的任何消息,也可以主動(dòng)發(fā)起協(xié)議過程。Adv還可以用物理方式攻陷任何一個(gè)標(biāo)簽,獲得標(biāo)簽的當(dāng)前存儲(chǔ)信息,且假設(shè)被攻陷的標(biāo)簽不能再繼續(xù)正常使用。
(1)抵抗假冒攻擊
一個(gè)安全的RFID系統(tǒng),是不應(yīng)該接受假冒的閱讀器或標(biāo)簽的,要能夠抵抗由偽造、重放、中間人攻擊引發(fā)的假冒行為,這就要求標(biāo)簽、閱讀器、服務(wù)器之間能夠進(jìn)行雙向認(rèn)證,而不僅僅是簡單的識(shí)別。
假設(shè)敵手的攻擊分為兩個(gè)階段:在第一階段,Adv可以在暴露時(shí)間中,與合法的標(biāo)簽、閱讀器、服務(wù)器進(jìn)行最多n次交互,其間Adv可以發(fā)起、監(jiān)聽、阻斷各實(shí)體間的通信,并能夠獲得認(rèn)證結(jié)果是否成功的信息。第二階段,Adv假冒標(biāo)簽、閱讀器與服務(wù)器通信,或假冒服務(wù)器與標(biāo)簽、閱讀器通信,若假冒信息通過認(rèn)證,則攻擊成功。
定義1(抵抗假冒攻擊)移動(dòng)RFID協(xié)議是εa-抵抗假冒攻擊的,如果敵手假冒標(biāo)簽、閱讀器、服務(wù)器成功的概率均不超過εa。
(2)抵抗去同步化攻擊
在敵手的攻擊下,如果合法標(biāo)簽中的密鑰信息與服務(wù)器數(shù)據(jù)庫中的信息沒有同步更新,在認(rèn)證過程中就可能出現(xiàn)無法被服務(wù)器識(shí)別的情況。如果在協(xié)議中,合法的標(biāo)簽總能被服務(wù)器正確識(shí)別,則協(xié)議可以抵抗去同步化攻擊。
在去同步化攻擊的第一階段中,敵手Adv可以與一個(gè)合法的標(biāo)簽及閱讀器進(jìn)行通信,Adv可以監(jiān)聽、篡改、阻斷標(biāo)簽與閱讀器之間的通信,也可以主動(dòng)發(fā)起假冒、拒絕服務(wù)等攻擊。第二階段中,被攻擊的標(biāo)簽通過閱讀器與服務(wù)器進(jìn)行正常的通信,Adv不參與通信過程,如果認(rèn)證失敗,則攻擊成功。
定義2(抵抗去同步化攻擊)移動(dòng)RFID協(xié)議是εb-抵抗去同步化攻擊的,如果任一合法的標(biāo)簽不能被服務(wù)器正確識(shí)別的概率不超過εb。
(3)前向安全
前向安全可描述為,即使敵手在某時(shí)刻獲得了標(biāo)簽的內(nèi)部狀態(tài)信息,他也不能識(shí)別發(fā)生在之前的標(biāo)簽交互過程,若不滿足前向安全,就會(huì)泄露舊所有者的隱私信息[21]。具體來說,如果敵手在獲得標(biāo)簽內(nèi)部狀態(tài)信息后,仍然不能對(duì)之前通信過程中的兩個(gè)標(biāo)簽進(jìn)行區(qū)分,則稱該RFID系統(tǒng)是前向安全的。
在第一階段,敵手Adv可以發(fā)起、監(jiān)聽、阻斷閱讀器與兩個(gè)合法標(biāo)簽之間的通信。第二階段,Adv物理攻陷其中一個(gè)標(biāo)簽,獲得該標(biāo)簽的內(nèi)部狀態(tài)信息,分辨被攻陷的是第一階段中的哪個(gè)標(biāo)簽,如果成功分辨,則敵手Adv獲得成功。
定義3(前向安全性)移動(dòng)RFID協(xié)議是εc-前向安全的,如果敵手成功分辨出通信標(biāo)簽的概率不超過εc。
本文所提協(xié)議使用了符合EPC Class-1 Generation-2標(biāo)準(zhǔn)的低成本被動(dòng)式RFID標(biāo)簽,這類標(biāo)簽價(jià)格低、制造容易,更適于在較大規(guī)模的移動(dòng)RFID系統(tǒng)中使用。如前所述,由于計(jì)算能力與存儲(chǔ)能力的限制,在低成本標(biāo)簽中不能夠使用RSA公鑰加密體制、ECC橢圓曲線加密等功能,一般的哈希函數(shù),如SHA-1或MD5等哈希函數(shù)也不能夠有效支持。針對(duì)這種情況,本文協(xié)議在標(biāo)簽中使用了一種符合EPC Class-1 Generation-2標(biāo)準(zhǔn)的單向函數(shù)與偽隨機(jī)數(shù)生成器作為密碼學(xué)要素,以滿足協(xié)議安全需要。閱讀器的計(jì)算能力較強(qiáng),為了充分保證系統(tǒng)的安全,在閱讀器與服務(wù)器之間,使用標(biāo)準(zhǔn)的哈希函數(shù)來傳遞認(rèn)證信息,并為各閱讀器加載時(shí)間戳生成器,保持移動(dòng)閱讀器與服務(wù)器之間的時(shí)鐘同步[10]。
為簡化協(xié)議描述,相關(guān)的符號(hào)及操作說明如表1所示。

表1 符號(hào)及操作說明
文獻(xiàn)[21]基于多輸入特征寄存器(MISR)的有損壓縮算法,提出了一種符合EPC Class-1 Generation-2低成本標(biāo)簽標(biāo)準(zhǔn)的類哈希單向函數(shù),并證明該單向函數(shù)具有哈希函數(shù)的特征,平衡度為1,具有很好的抗碰撞性。該文獻(xiàn)還給出了這種單向函數(shù)算法在標(biāo)簽系統(tǒng)中的硬件實(shí)現(xiàn)電路,僅由一個(gè)LFSR和幾個(gè)異或門組成,當(dāng)復(fù)雜性為64,k=6,輸入信號(hào)為96 bit時(shí),硬件消耗僅為82 GE。
本文使用fy(x)表示這種算法,具體計(jì)算方法為:

其中,A是變換矩陣;L為壓縮周期數(shù),在數(shù)值上等于輸入數(shù)值的長度與輸出數(shù)值長度的比值;y為初始值,當(dāng)選擇不同的y時(shí),就構(gòu)成了一組單向函數(shù)。
文獻(xiàn)[21]還提出了一種使用該單向函數(shù)構(gòu)造的偽隨機(jī)數(shù)生成器,稱為M-PRNG。M-PRNG結(jié)構(gòu)簡單,符合EPC Class-1 Generation-2標(biāo)準(zhǔn),當(dāng)生成128 bit的隨機(jī)數(shù)時(shí),其硬件復(fù)雜性僅有1483 GE。M-PRNG在實(shí)驗(yàn)中還通過了所有的NIST測試項(xiàng)目。本文協(xié)議中,使用M-PRNG作為標(biāo)簽中的偽隨機(jī)數(shù)生成器,記作PRNG()。
初始狀態(tài)下,對(duì)于每一個(gè)合法的標(biāo)簽,服務(wù)器為其生成唯一的TID值與共享密鑰k,kold=k,在數(shù)據(jù)庫中添加記錄<TID,k,kold>,再將<TID,k,x>加載到標(biāo)簽存儲(chǔ)中。x為該移動(dòng)RFID系統(tǒng)的秘密值,系統(tǒng)中所有參與通信的實(shí)體都存儲(chǔ)這一參數(shù)。對(duì)于每一個(gè)合法的閱讀器,服務(wù)器為其生成唯一的RID值,在數(shù)據(jù)庫中添加記錄<RID>,再將<RID,x>加載到閱讀器存儲(chǔ)中。
該階段由閱讀器發(fā)起,主要完成標(biāo)簽識(shí)別、雙向認(rèn)證、密鑰更新3個(gè)功能,執(zhí)行過程如圖1所示。具體步驟描述如下:

圖1 雙向認(rèn)證執(zhí)行過程
(1)閱讀器記錄當(dāng)前的時(shí)間戳TR,發(fā)送Hello消息,并使用TR作為挑戰(zhàn),開始一個(gè)新的認(rèn)證周期。
(2)如果有多個(gè)標(biāo)簽響應(yīng),發(fā)生沖突時(shí),會(huì)執(zhí)行一次沖突仲裁過程,如二進(jìn)制搜索算法[23]或分組防碰撞算法[22],選中的標(biāo)簽開始與閱讀器進(jìn)行交互。
標(biāo)簽生成隨機(jī)數(shù)rT,計(jì)算A=fk(rT||TID||TR),B=rT⊕fk(x),C=Rot(A,x)⊕Rot(A,TR)。A的作用為傳遞標(biāo)簽的認(rèn)證參數(shù)TID和k;B的作用為傳遞隨機(jī)數(shù)rT,發(fā)出挑戰(zhàn),等待關(guān)于rT的應(yīng)答;C是對(duì)閱讀器初始挑戰(zhàn)的應(yīng)答,用于過濾有意無意的攻擊,對(duì)于不能攻陷標(biāo)簽存儲(chǔ),無法獲得x值的敵手,其假冒信息無法通過閱讀器的驗(yàn)證。標(biāo)簽把A、B、C發(fā)給閱讀器。
(3)閱讀器收到標(biāo)簽的回復(fù)后,使用秘密值x計(jì)算并驗(yàn)證C,若成功則繼續(xù)執(zhí)行后面的過程,若驗(yàn)證失敗,則說明該標(biāo)簽為非法標(biāo)簽,終止連接。
標(biāo)簽生成隨機(jī)數(shù)rR,計(jì)算D=h(rR||RID||TR),E=rR⊕h(RID||B),F=h(x⊕TR)。D的作用為傳遞閱讀器的認(rèn)證參數(shù)RID;E的作用為傳遞閱讀器隨機(jī)數(shù)rR,發(fā)出挑戰(zhàn),等待關(guān)于rR的應(yīng)答;F的作用是保證時(shí)間戳TR不被篡改。閱讀器發(fā)送A、B、D、E、F、TR給服務(wù)器。
(4)服務(wù)器收到認(rèn)證請(qǐng)求后,首先驗(yàn)證F,以確認(rèn)在傳輸過程中以明文形式傳輸?shù)拈喿x器時(shí)間戳TR有沒有被篡改。如果驗(yàn)證成功,服務(wù)器以當(dāng)前時(shí)間戳TS值,檢查TS-TR<Δt是否成立,若成立,則開始進(jìn)行閱讀器的認(rèn)證過程。
將rR=E⊕h(RID||B||x)代入D中可得:
D=h(E⊕h(RID||B)||RID||TR)
遍歷數(shù)據(jù)庫,查找使D成立的RID,若找到,則閱讀器通過認(rèn)證,繼續(xù)進(jìn)行標(biāo)簽的認(rèn)證。
將rT=B⊕fk(x)代入A中可得:
習(xí)近平總書記強(qiáng)調(diào),共青團(tuán)是為黨做青年群眾工作的組織。做團(tuán)的工作必須牢記,任何時(shí)候都不能脫離青年,必須密切聯(lián)系青年。團(tuán)干部要深深植根青年、充分依靠青年、一切為了青年,努力增強(qiáng)黨對(duì)青年的凝聚力和青年對(duì)黨的向心力。中國石化青工委積極推動(dòng)直接聯(lián)系青年工作機(jī)制落深落實(shí),積極延伸團(tuán)的手臂,豐富團(tuán)的神經(jīng)末梢,打通與青年的“最后一公里”,使共青團(tuán)真正成為廣大青年身邊的有效存在,引導(dǎo)團(tuán)干部身至基層、心系青年,真正當(dāng)好青年之友。
A=fk(B⊕fk(x)||TID||TR)
遍歷數(shù)據(jù)庫,查找使A成立的標(biāo)簽記錄,即將某條記錄的TID、k或kold代入時(shí),上式成立,若找到,則標(biāo)簽通過認(rèn)證。
再將RID代入rR=E⊕h(RID||B||x),計(jì)算出閱讀器隨機(jī)數(shù)rR,計(jì)算P=h(rR)作為對(duì)閱讀器挑戰(zhàn)的應(yīng)答。
將標(biāo)簽記錄中的k值代入rT=B⊕fk(x),得到標(biāo)簽隨機(jī)數(shù)rT,服務(wù)器更新其與標(biāo)簽間的共享密鑰kold=k,k=fk(rT⊕k),計(jì)算Q=fk(rT)作為對(duì)標(biāo)簽挑戰(zhàn)的應(yīng)答。
服務(wù)器把P、Q發(fā)給閱讀器。
(5)閱讀器收到服務(wù)器的回復(fù)后,驗(yàn)證P=h(rR),若正確,則服務(wù)器通過閱讀器的認(rèn)證,閱讀器繼續(xù)將Q轉(zhuǎn)發(fā)給標(biāo)簽。
本文基于標(biāo)準(zhǔn)模型對(duì)協(xié)議的安全性進(jìn)行分析證明,證明方法參照文獻(xiàn)[21]。假設(shè)敵手的攻擊行為分為學(xué)習(xí)階段和攻擊階段。學(xué)習(xí)階段中,敵手能夠?qū)σ苿?dòng)RFID系統(tǒng)中的n次交互信息進(jìn)行竊聽與控制。攻擊階段中,敵手對(duì)移動(dòng)RFID系統(tǒng)發(fā)起攻擊,如果成功概率可以忽略不計(jì),則該系統(tǒng)是安全的。
假設(shè)敵手Adv在第一階段中獲得的信息集合為I,攻擊游戲?yàn)锳dv(I),Adv(I)值為1表示攻擊成功,為0表示攻擊失敗。若攻擊成功的概率Pr[Adv(I)=1]是可忽略的,則系統(tǒng)是安全的。該游戲可以是假冒攻擊Adva(I)、去同步化攻擊Advb(I)、前向安全攻擊Advc(I)。
定理1本文協(xié)議是εa-抵抗假冒攻擊的,其中εa≤2-k+1+2-l。
證明 根據(jù)定義1,需要證明敵手假冒標(biāo)簽、閱讀器、服務(wù)器時(shí)的安全性。
(1)非法標(biāo)簽被服務(wù)器接受的概率
定義敵手攻擊服務(wù)器以假冒標(biāo)簽的游戲?yàn)锳dvTa(I)。
敵手Adv在第一階段中進(jìn)行了n次協(xié)議過程,獲得n組標(biāo)簽發(fā)送的消息{Ai,Bi,Ci}(i=1,2,…,n)。由于消息中的隨機(jī)數(shù)與秘密值無法區(qū)分,因而這n組信息對(duì)構(gòu)建假冒標(biāo)簽信息并沒有幫助,對(duì)閱讀器的攻擊也是類似的情況。在第二階段中,Adv需要偽造出信息A′,并能通過服務(wù)器的驗(yàn)證。

共享密鑰時(shí)的成功概率。


(2)非法服務(wù)器被標(biāo)簽接受的概率
定義敵手攻擊標(biāo)簽以假冒服務(wù)器的游戲?yàn)锳dvSTa(I)。
敵手Adv需要偽造出信息Q′,并能通過標(biāo)簽的驗(yàn)證。由于信息的構(gòu)成與(1)中類似,區(qū)別是沒有TID的參與,用相同的方法可得:

(3)非法閱讀器被服務(wù)器接受的概率
敵手Adv需要偽造出信息D′,并能通過服務(wù)器的驗(yàn)證。閱讀器與服務(wù)器間使用標(biāo)準(zhǔn)哈希函數(shù)h。
(I)=1表示敵手Adv可以正確預(yù)測第n+1次的哈希函數(shù)值h(αn+1),αn+1=rR(n+1)||RID。Adv攻擊成功的概率為:



(4)非法服務(wù)器被閱讀器接受的概率
敵手Adv需要偽造出信息P′,并能通過標(biāo)簽的驗(yàn)證。由于信息的構(gòu)成與(3)中類似,區(qū)別是沒有RID的參與,用相同的方法可得:

由上述(1)(2)(3)(4)的結(jié)果,定理1得證。
定理2本文協(xié)議是εb-抵抗去同步化攻擊的,其中εb≤2-k+1+2-l。
證明 根據(jù)定義2,需證明Pr[ ]Advb(I)=1≤2-k+1+2-l。當(dāng)服務(wù)器完成對(duì)標(biāo)簽的認(rèn)證后,其更新與標(biāo)簽間的共享密鑰,如果標(biāo)簽沒有更新,或者反之,則會(huì)出現(xiàn)去同步化。去同步化攻擊可能通過以下3種方式進(jìn)行。
(1)阻斷攻擊。敵手Adv通過阻斷服務(wù)器經(jīng)由閱讀器發(fā)給標(biāo)簽的確認(rèn)信息Q,導(dǎo)致出現(xiàn)共享密鑰不同步的情況。針對(duì)這種情況,協(xié)議在服務(wù)器上保存了舊的共享密鑰,因而這種攻擊是無效的。
(2)假冒攻擊。敵手Adv在假冒服務(wù)器攻擊成功時(shí),可以改變標(biāo)簽中的共享密鑰,在假冒標(biāo)簽攻擊成功時(shí),可以改變服務(wù)器數(shù)據(jù)庫中的共享密鑰,從而使標(biāo)簽與數(shù)據(jù)庫中的共享密鑰失去同步,標(biāo)簽無法通過正常認(rèn)證。從定理1可知,假冒攻擊的成功概率εa≤2-k+1+2-l。
(3)重放攻擊。敵手Adv可能進(jìn)行的重放攻擊是將之前某次通信中標(biāo)簽發(fā)送的信息重新發(fā)送給服務(wù)器,欺騙其修改共享密鑰,達(dá)到去同步化攻擊的目的。本文協(xié)議中使用時(shí)間戳來防止這一攻擊,當(dāng)時(shí)間戳值與當(dāng)前時(shí)間的間隔大于一定閾值時(shí)無法通過驗(yàn)證,如果Adv修改了時(shí)間戳,服務(wù)器還能夠通過信息F進(jìn)行驗(yàn)證。Adv的消息通過驗(yàn)證的概率即為重放攻擊成功的概率,根據(jù)標(biāo)準(zhǔn)哈希函數(shù)的性質(zhì),這一概率為:

綜上,Pr[ ]Advb(I)=1≤2-k+1+2-l,定理2得證。
定理3本文協(xié)議是εc-前向安全的,其中εc≤2-k。
證明 根據(jù)定義3,在第一階段,敵手Adv分別對(duì)Tagx、Tagy兩個(gè)標(biāo)簽與閱讀器間的通信進(jìn)行了n次監(jiān)聽,獲得了數(shù)據(jù),其中i=1,2,…,n。
在第二階段,假設(shè)在第q(q≥n)次通信后,Adv物理攻陷其中一個(gè)標(biāo)簽,獲得內(nèi)部狀態(tài)信息,Adv需要分辨該標(biāo)簽是Tagx、Tagy中的哪一個(gè),成功分辨的概率即為Pr[Advc(I)]。
對(duì)于Adv來說,最有利的是在第n次通信后攻陷標(biāo)簽,此時(shí)標(biāo)簽中的狀態(tài)信息為第一階段結(jié)束時(shí)的信息,包括秘密值x、隨機(jī)數(shù)rn、身份標(biāo)識(shí)TID、當(dāng)前共享密鑰kn,由消息A、B的結(jié)構(gòu)可知,只要猜出kn-1即可完成分辨任務(wù),而由密鑰的生成公式可知kn=fkn-1(rn⊕kn-1),rn、kn均已獲得,根據(jù)單向函數(shù)fk(x)的性質(zhì),可知成功猜出kn-1的概率為2-k[21]。
即Pr[Advc(I)]≤2-k,定理3得證。
本章從所需開銷分析及實(shí)驗(yàn)仿真兩方面對(duì)本文協(xié)議和現(xiàn)有的移動(dòng)RFID認(rèn)證協(xié)議進(jìn)行分析比較,以確定哪個(gè)協(xié)議更適合于使用低成本標(biāo)簽的移動(dòng)RFID系統(tǒng)。
本文協(xié)議與部分現(xiàn)有移動(dòng)RFID認(rèn)證協(xié)議的通信開銷比較如表2所示。其中M表示模運(yùn)算,MM表示模乘,MR表示模開方,PR表示隨機(jī)數(shù)生成,H表示哈希函數(shù),F(xiàn)x表示自定義的單向函數(shù)或隨機(jī)數(shù)函數(shù),n表示系統(tǒng)中閱讀器的數(shù)量,GT表示時(shí)間戳生成。

表2 協(xié)議通信開銷比較
從表中可以看出,基于二次剩余定理的協(xié)議[6,10-11,17]普遍存在服務(wù)器后臺(tái)搜索匹配開銷大、通信量大的問題,且僅有文獻(xiàn)[10]通過增加哈希驗(yàn)證和時(shí)間戳真正解決了重放問題;文獻(xiàn)[18]在標(biāo)簽及閱讀器的存儲(chǔ)量、通信量方面都有很大的優(yōu)勢,但其服務(wù)器搜索標(biāo)簽記錄時(shí)最壞的遍歷次數(shù)為4n,當(dāng)系統(tǒng)中閱讀器數(shù)量n較大時(shí),服務(wù)器執(zhí)行效率會(huì)很低;文獻(xiàn)[19]的標(biāo)簽存儲(chǔ)量也一樣較低,但其使用了不符合EPC Class-1 Generation-2標(biāo)準(zhǔn)的哈希函數(shù),且存在明顯的信息重放攻擊,并不適用于低成本RFID標(biāo)簽系統(tǒng)。本文協(xié)議使用了符合低成本標(biāo)簽標(biāo)準(zhǔn)的單向函數(shù),存儲(chǔ)量較低,服務(wù)器搜索標(biāo)簽記錄時(shí)僅需要遍歷一次數(shù)據(jù)庫即可,搜索效率較高。為避免重放攻擊,本文協(xié)議在閱讀器中使用了時(shí)間戳、哈希函數(shù)等措施,增加了計(jì)算量與通信量,這些計(jì)算量與通信量相對(duì)偏高,但仍低于基于二次剩余定理的協(xié)議,且解決了雙向認(rèn)證、假冒攻擊、去同步化、前向安全等問題,因此本文協(xié)議更適合于較大規(guī)模的低成本移動(dòng)RFID標(biāo)簽系統(tǒng)。
本文仿真實(shí)驗(yàn)主要測試移動(dòng)RFID系統(tǒng)交互過程中閱讀器、標(biāo)簽間的通信開銷。在滿足安全與隱私的前提條件下,通信開銷值在一定程度上決定了移動(dòng)RFID認(rèn)證協(xié)議的優(yōu)劣。
實(shí)驗(yàn)參照文獻(xiàn)[10]中的方法進(jìn)行,網(wǎng)絡(luò)模型部署及參數(shù)設(shè)置詳見該文獻(xiàn)。實(shí)驗(yàn)使用NS2網(wǎng)絡(luò)仿真軟件構(gòu)建網(wǎng)絡(luò)環(huán)境,采用CSMA/CA技術(shù)傳輸數(shù)據(jù)幀,不考慮計(jì)算和數(shù)據(jù)傳輸過程中的超時(shí)重發(fā)等能耗,僅考慮數(shù)據(jù)無線通信過程中的能耗。設(shè)置標(biāo)簽數(shù)量為10、20、30、40、50,對(duì)部分有代表性的移動(dòng)RFID認(rèn)證協(xié)議,測試認(rèn)證一次所耗費(fèi)的通信開銷,每個(gè)協(xié)議進(jìn)行20次獨(dú)立的實(shí)驗(yàn),最后取其平均值,結(jié)果如圖2所示。
從圖2中可以看出,隨著標(biāo)簽數(shù)量的增加,各移動(dòng)RFID認(rèn)證協(xié)議的通信開銷在不斷增長。其中文獻(xiàn)[18]協(xié)議未采取有效措施解決重放攻擊問題,因而所需開銷最少,但存在安全隱患。文獻(xiàn)[19]為防止重放攻擊,采用了7次交互過程,并且由服務(wù)器生成隨機(jī)數(shù)來保證消息的新鮮性,開銷最大。文獻(xiàn)[10]中使用時(shí)間戳來防止重放攻擊問題,開銷介于前兩種協(xié)議之間。本文協(xié)議也使用了時(shí)間戳,但在交互設(shè)計(jì)中減少了一次閱讀器隨機(jī)數(shù)的生成,因而開銷略低于文獻(xiàn)[10]。

圖2 閱讀器與標(biāo)簽間的通信總開銷
通過以上仿真實(shí)驗(yàn)可知,本文所提協(xié)議在滿足安全隱私性的同時(shí),更適用于較大規(guī)模的使用低成本標(biāo)簽的移動(dòng)RFID系統(tǒng)。
本文對(duì)現(xiàn)有的移動(dòng)RFID協(xié)議進(jìn)行了分析,指出了這些協(xié)議中在安全及性能方面存在的問題。針對(duì)這些問題,本文在參考傳統(tǒng)RFID協(xié)議研究成果的基礎(chǔ)上,建立了移動(dòng)RFID安全隱私模型,并根據(jù)模型提出了一種能抵抗假冒攻擊、去同步化攻擊,且提供前向安全隱私保護(hù)的雙向認(rèn)證協(xié)議,該協(xié)議在標(biāo)簽中使用了符合EPC Class-1 Generation-2標(biāo)準(zhǔn)的單向函數(shù)、隨機(jī)數(shù)生成器,在閱讀器中使用了哈希函數(shù)及時(shí)間戳。在隨后的分析中,經(jīng)過假冒攻擊、去同步化、前向安全三方面的證明,確認(rèn)協(xié)議達(dá)到了設(shè)計(jì)目的。性能比較與仿真實(shí)驗(yàn)的結(jié)果表明,本文協(xié)議標(biāo)簽存儲(chǔ)量較低,各實(shí)體間通信量與計(jì)算量在合理可接受的范圍,更適用于較大規(guī)模的使用低成本標(biāo)簽的移動(dòng)RFID系統(tǒng)。