蘇 彬,程 玲,崔寶江
SU Bin1,3,CHENG Ling2,CUI Baojiang1
1.北京郵電大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,北京 100876
2.新疆工程學(xué)院 計算機工程系,烏魯木齊 830091
3.山西職業(yè)技術(shù)學(xué)院 計算機工程系,太原 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
無線射頻識別(Radio Frequency Identification,RFID)是一種快速發(fā)展的數(shù)字識別技術(shù),其通過射頻信號對目標對象進行非接觸式的自動識別,可廣泛用于供應(yīng)鏈管理、工業(yè)生產(chǎn)控制、票務(wù)管理、人員管理、醫(yī)療服務(wù)等領(lǐng)域,并可用于某些工作條件惡劣的環(huán)境[1]。
一個完整的RFID系統(tǒng)由標簽(Tag)、閱讀器(Reader)和后臺服務(wù)器(Server)三部分組成[2]。在RFID系統(tǒng)的發(fā)展中,標簽的成本與安全隱私問題是互相制約的兩個重要因素[3],要降低標簽的成本,就需要簡化標簽內(nèi)芯片的設(shè)計,但這樣會導(dǎo)致安全性的減弱;要提高安全性,需要標簽支持哈希、隨機數(shù)、加密等功能,必然提高標簽的成本,因此RFID系統(tǒng)的研究,就需要在成本與安全性之間找到好的平衡點。由于價格方面的優(yōu)勢,當前應(yīng)用最為廣泛的RFID系統(tǒng)是低成本的被動式RFID標簽系統(tǒng),其最重要的標準是由EPCglobal提出的EPC Class-1 Generation-2[4],該標準的內(nèi)容同時也符合ISO/IEC 18000-6C標準[5]。根據(jù)EPC Class-1 Generation-2標準中關(guān)于標簽計算能力與存儲能力的規(guī)定,其無法支持RSA公鑰加密體制、SHA-1或MD5等哈希函數(shù)、ECC橢圓曲線加密等功能,能夠支持模運算、位運算、偽隨機數(shù)生成等功能[6]。
傳統(tǒng)的RFID系統(tǒng)環(huán)境中,閱讀器與后臺服務(wù)器之間是通過線纜直接連接的,因此認為它們之間的信息傳輸信道是安全可靠的[7]。針對這種情況,國內(nèi)外學(xué)者研究出了大量的安全認證協(xié)議,如文獻[8-9]。近年來隨著移動終端設(shè)備及近場通訊技術(shù)的發(fā)展,出現(xiàn)了將閱讀器嵌入移動設(shè)備形成移動RFID系統(tǒng)的情況,閱讀器的工作方式發(fā)生了改變,其與后臺服務(wù)器之間通過無線信道連接,安全性假設(shè)不再適用,因此傳統(tǒng)的RFID認證協(xié)議無法應(yīng)用于這種環(huán)境[10]。
針對移動RFID系統(tǒng)認證協(xié)議的研究,目前主要集中在兩方面:一是安全,協(xié)議要能夠安全地傳遞身份認證參數(shù)、密鑰更新參數(shù)等,并能實現(xiàn)隱私性,防止重放、假冒、去同步化等攻擊行為;二是性能,即如何合理地利用標簽、閱讀器、服務(wù)器的計算及存儲能力,如何高效率地根據(jù)認證參數(shù)從服務(wù)器數(shù)據(jù)庫中查找到匹配的標簽及閱讀器記錄[11]。
針對移動RFID系統(tǒng),國內(nèi)外學(xué)者提出了一系列的認證協(xié)議方案[6,10-19],其中一些學(xué)者為了增加協(xié)議的安全性,在標簽中使用了哈希函數(shù)[12-13,19]或ECC橢圓曲線加密功能[14-15],如前所述,由于計算及存儲能力的限制,這樣的協(xié)議并不適合在EPC Class-1 Generation-2標準的低成本被動式標簽系統(tǒng)中使用。
2013年,文獻[6]在文獻[16]的基礎(chǔ)上,提出了一種基于二次剩余定理的移動RFID認證協(xié)議,該協(xié)議符合EPC Class-1 Generation-2標準,宣稱實現(xiàn)了隱私保護,并能抵抗各種攻擊。然而在其后的幾年里,文獻[10-11,17]均指出其不能抵抗重放攻擊、假冒攻擊,且服務(wù)器根據(jù)身份憑據(jù)查找標簽效率極低,極端情況時,需要遍歷數(shù)據(jù)庫256次。
文獻[11]的改進方案中,將文獻[6]中標簽傳遞的參數(shù)由x′=(x2)2modn,t′=(t2)2modn替換為x′=(c||x)2modn,t′=t2modn,這樣的好處是在服務(wù)器端計算時,可以使用二次剩余定理通過c確定唯一的x以及4個平方根t,這樣在最壞的情況下,只需要遍歷4次數(shù)據(jù)庫,就可以找到相應(yīng)的標簽記錄。然而其在安全性方面依然不能抵抗重放攻擊、假冒攻擊。當敵手截獲某次正常認證情況下 Reader發(fā)給 Server的消息 {x′,t′,y′,u′,c},再假冒Reader重放給Server時,由于其中的隨機數(shù)t、u、c均非Server生成,因而Server無法判斷其新鮮性,該條消息可以得到服務(wù)器的驗證,其中的閱讀器信息能夠匹配服務(wù)器中的記錄,得到合法性驗證,同樣,該消息中的標簽信息也能夠得到合法性驗證。
文獻[10]的改進方案是在文獻[6]和文獻[11]的基礎(chǔ)上,給Reader添加了生成時間戳的功能,其生成時間戳Tt1,先傳送給Tag,使其參與x的生成,再將其他消息一起傳遞給Server,Server生成時間戳Tt2,設(shè)置傳輸時延閾值Δt,通過判斷|Tt2-Tt1|>Δt來確定消息的新鮮性。為了保證Tt1不被篡改,同時傳遞的還有Tt1參與生成的哈希函數(shù)值z=h(RID||m||x′||Tt1)。該方案解決了重放攻擊、假冒攻擊問題,然而仍然存在拒絕服務(wù)攻擊的問題。敵手截獲并修改數(shù)據(jù)包 {x′,t′,y′,u′,z,s,Tt1},其中Tt1修改當前時間,y′修改為對應(yīng)不存在的h(RID)即可。然后將此包模擬閱讀器大量發(fā)送給Server,對于每個包,Server都要先進行求平方根運算,然后4次遍歷數(shù)據(jù)庫。如果是大型的RFID系統(tǒng),數(shù)據(jù)庫很大,有可能耗盡服務(wù)器資源,形成拒絕服務(wù)攻擊。
文獻[17]提出的改進方案中,由Server發(fā)起認證過程,Server產(chǎn)生隨機數(shù)后,通知閱讀器開始建立與標簽的通信,解決了重放攻擊與假冒攻擊。然而這不符合實際的使用情況,由于移動閱讀器可能位于較遠的地方,服務(wù)器不在現(xiàn)場,無法知道何時需要進行標簽的識別。
文獻[6,10-11,17]在標簽中都同時保存了TID與h(TID),看上去是使用h(TID)對TID進行了保護,使其避免在網(wǎng)絡(luò)中傳輸,從而導(dǎo)致固定身份憑據(jù)的泄露。然而TID并不是標簽本身固有的,與h(TID)一樣,都是由服務(wù)器生成的,且存在絕對的一一對應(yīng)關(guān)系。在協(xié)議過程中,TID從未參與任何步驟,也沒有進行更新,因此在h(TID)生成以后,TID完全沒有儲存的必要。另一個問題是閱讀器未對標簽進行初步的過濾,當閱讀器掃描到非本RFID系統(tǒng)的標簽時,需要經(jīng)過服務(wù)器端對閱讀器、標簽信息的計算與驗證之后才能處理,最壞情況下,需要4次求平方根運算和8次遍歷數(shù)據(jù)庫,降低了系統(tǒng)的性能。
文獻[18]方案中,引入了一種構(gòu)造特殊的隨機數(shù)生成器fK(X)。Tag及Reader將其重要參數(shù)使用消息E=fKR(fKT(ID⊕x⊕rT)⊕rR)傳遞給Server,在Server端遍歷數(shù)據(jù)庫查找(ID,KR,KT,x)以匹配E值,如果能夠正確匹配,則Tag及Reader同時通過認證。如果考慮到該協(xié)議抵抗標簽去同步化功能的KTold和xold,則在最壞情況下,該方案需要遍歷標簽數(shù)據(jù)庫4n,其中n表示移動RFID系統(tǒng)中Reader的數(shù)量,如果系統(tǒng)中Reader的數(shù)量很多,則性能會受到較大的影響。該協(xié)議也不像其宣稱的那樣能夠抵抗重放攻擊,當敵手截獲Reader最后一次發(fā)給Server的消息{E,rT,rR},并重放給Server時,由于Server不能夠識別rT、rR的新鮮性,且由于該協(xié)議抵抗去同步化的設(shè)計,該消息會被識別為由未更新成功的Tag發(fā)送,由KTold和xold作為參數(shù)通過驗證。
文獻[19]提出了一種基于動態(tài)密鑰的安全認證協(xié)議,該協(xié)議通過增加Reader與Server間的兩次會話,由Server生成隨機數(shù)R3來保證認證過程中消息的新鮮性,解決了Reader到Server的重放攻擊問題。然而其隨機數(shù)均由明文傳輸,這樣就帶來了新的標簽假冒問題。敵手記錄某個Tag在某次傳輸過程中的參數(shù){R1,R2,M1L,M2,M3L},當下次Reader以新的隨機數(shù)R′1發(fā)起新的認證過程時,敵手只需生成新的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對M1L的驗證,也可以通過Server對M2、M3L的驗證,敵手成功假冒該標簽。如果采集足夠的數(shù)據(jù),敵手可以假冒出任意的標簽信息。同樣,敵手可以通過生成R′3=R′1⊕R1⊕R3來假冒任意的閱讀器信息。
針對現(xiàn)有的移動RFID認證協(xié)議方案[6,10-19]存在的不足,本文以能抵抗假冒攻擊、去同步化攻擊,且具備前向安全性為目標,構(gòu)建了一個移動RFID安全隱私模型,并基于該模型提出一種能夠?qū)崿F(xiàn)標簽與服務(wù)器、閱讀器與服務(wù)器間的雙向認證的,符合EPC Class-1 Generation-2低成本標簽標準要求的移動RFID認證協(xié)議。
文獻[20]提出了一種傳統(tǒng)RFID系統(tǒng)的安全隱私模型,該模型引入了前向隱私問題,將正確性、安全性、前向隱私性作為安全目標,與之前研究者提出的安全模型相比,有了更大的實際意義。該模型仍然基于閱讀器與服務(wù)器間信道安全的假設(shè),因此并不能直接適用于移動RFID系統(tǒng)。本文參考文獻[21]中的方法,在文獻[20]模型的基礎(chǔ)上進行擴展,建立了一個能夠適用于移動RFID系統(tǒng)的安全隱私模型。從之前的分析可以看出,移動RFID系統(tǒng)中最容易出現(xiàn)的問題是由于閱讀器與服務(wù)器間信道安全的假設(shè)不成立而導(dǎo)致的假冒攻擊問題,因此本文提出的安全模型突出抵抗假冒攻擊,以抵抗假冒攻擊、抵抗去同步化攻擊及前向安全作為安全目標,更適用于移動RFID系統(tǒng)。
敵手能力假設(shè):敵手Adv只能在有限的時間內(nèi)與系統(tǒng)進行交互,稱為暴露時間(Exposure Period)[22]。在暴露時間里,Adv可以進行最多n次對RFID系統(tǒng)的攻擊,包括竊聽、篡改、偽造、阻斷、重放標簽與閱讀器、閱讀器與服務(wù)器間的任何消息,也可以主動發(fā)起協(xié)議過程。Adv還可以用物理方式攻陷任何一個標簽,獲得標簽的當前存儲信息,且假設(shè)被攻陷的標簽不能再繼續(xù)正常使用。
(1)抵抗假冒攻擊
一個安全的RFID系統(tǒng),是不應(yīng)該接受假冒的閱讀器或標簽的,要能夠抵抗由偽造、重放、中間人攻擊引發(fā)的假冒行為,這就要求標簽、閱讀器、服務(wù)器之間能夠進行雙向認證,而不僅僅是簡單的識別。
假設(shè)敵手的攻擊分為兩個階段:在第一階段,Adv可以在暴露時間中,與合法的標簽、閱讀器、服務(wù)器進行最多n次交互,其間Adv可以發(fā)起、監(jiān)聽、阻斷各實體間的通信,并能夠獲得認證結(jié)果是否成功的信息。第二階段,Adv假冒標簽、閱讀器與服務(wù)器通信,或假冒服務(wù)器與標簽、閱讀器通信,若假冒信息通過認證,則攻擊成功。
定義1(抵抗假冒攻擊)移動RFID協(xié)議是εa-抵抗假冒攻擊的,如果敵手假冒標簽、閱讀器、服務(wù)器成功的概率均不超過εa。
(2)抵抗去同步化攻擊
在敵手的攻擊下,如果合法標簽中的密鑰信息與服務(wù)器數(shù)據(jù)庫中的信息沒有同步更新,在認證過程中就可能出現(xiàn)無法被服務(wù)器識別的情況。如果在協(xié)議中,合法的標簽總能被服務(wù)器正確識別,則協(xié)議可以抵抗去同步化攻擊。
在去同步化攻擊的第一階段中,敵手Adv可以與一個合法的標簽及閱讀器進行通信,Adv可以監(jiān)聽、篡改、阻斷標簽與閱讀器之間的通信,也可以主動發(fā)起假冒、拒絕服務(wù)等攻擊。第二階段中,被攻擊的標簽通過閱讀器與服務(wù)器進行正常的通信,Adv不參與通信過程,如果認證失敗,則攻擊成功。
定義2(抵抗去同步化攻擊)移動RFID協(xié)議是εb-抵抗去同步化攻擊的,如果任一合法的標簽不能被服務(wù)器正確識別的概率不超過εb。
(3)前向安全
前向安全可描述為,即使敵手在某時刻獲得了標簽的內(nèi)部狀態(tài)信息,他也不能識別發(fā)生在之前的標簽交互過程,若不滿足前向安全,就會泄露舊所有者的隱私信息[21]。具體來說,如果敵手在獲得標簽內(nèi)部狀態(tài)信息后,仍然不能對之前通信過程中的兩個標簽進行區(qū)分,則稱該RFID系統(tǒng)是前向安全的。
在第一階段,敵手Adv可以發(fā)起、監(jiān)聽、阻斷閱讀器與兩個合法標簽之間的通信。第二階段,Adv物理攻陷其中一個標簽,獲得該標簽的內(nèi)部狀態(tài)信息,分辨被攻陷的是第一階段中的哪個標簽,如果成功分辨,則敵手Adv獲得成功。
定義3(前向安全性)移動RFID協(xié)議是εc-前向安全的,如果敵手成功分辨出通信標簽的概率不超過εc。
本文所提協(xié)議使用了符合EPC Class-1 Generation-2標準的低成本被動式RFID標簽,這類標簽價格低、制造容易,更適于在較大規(guī)模的移動RFID系統(tǒng)中使用。如前所述,由于計算能力與存儲能力的限制,在低成本標簽中不能夠使用RSA公鑰加密體制、ECC橢圓曲線加密等功能,一般的哈希函數(shù),如SHA-1或MD5等哈希函數(shù)也不能夠有效支持。針對這種情況,本文協(xié)議在標簽中使用了一種符合EPC Class-1 Generation-2標準的單向函數(shù)與偽隨機數(shù)生成器作為密碼學(xué)要素,以滿足協(xié)議安全需要。閱讀器的計算能力較強,為了充分保證系統(tǒng)的安全,在閱讀器與服務(wù)器之間,使用標準的哈希函數(shù)來傳遞認證信息,并為各閱讀器加載時間戳生成器,保持移動閱讀器與服務(wù)器之間的時鐘同步[10]。
為簡化協(xié)議描述,相關(guān)的符號及操作說明如表1所示。
表1 符號及操作說明
文獻[21]基于多輸入特征寄存器(MISR)的有損壓縮算法,提出了一種符合EPC Class-1 Generation-2低成本標簽標準的類哈希單向函數(shù),并證明該單向函數(shù)具有哈希函數(shù)的特征,平衡度為1,具有很好的抗碰撞性。該文獻還給出了這種單向函數(shù)算法在標簽系統(tǒng)中的硬件實現(xiàn)電路,僅由一個LFSR和幾個異或門組成,當復(fù)雜性為64,k=6,輸入信號為96 bit時,硬件消耗僅為82 GE。
本文使用fy(x)表示這種算法,具體計算方法為:
其中,A是變換矩陣;L為壓縮周期數(shù),在數(shù)值上等于輸入數(shù)值的長度與輸出數(shù)值長度的比值;y為初始值,當選擇不同的y時,就構(gòu)成了一組單向函數(shù)。
文獻[21]還提出了一種使用該單向函數(shù)構(gòu)造的偽隨機數(shù)生成器,稱為M-PRNG。M-PRNG結(jié)構(gòu)簡單,符合EPC Class-1 Generation-2標準,當生成128 bit的隨機數(shù)時,其硬件復(fù)雜性僅有1483 GE。M-PRNG在實驗中還通過了所有的NIST測試項目。本文協(xié)議中,使用M-PRNG作為標簽中的偽隨機數(shù)生成器,記作PRNG()。
初始狀態(tài)下,對于每一個合法的標簽,服務(wù)器為其生成唯一的TID值與共享密鑰k,kold=k,在數(shù)據(jù)庫中添加記錄<TID,k,kold>,再將<TID,k,x>加載到標簽存儲中。x為該移動RFID系統(tǒng)的秘密值,系統(tǒng)中所有參與通信的實體都存儲這一參數(shù)。對于每一個合法的閱讀器,服務(wù)器為其生成唯一的RID值,在數(shù)據(jù)庫中添加記錄<RID>,再將<RID,x>加載到閱讀器存儲中。
該階段由閱讀器發(fā)起,主要完成標簽識別、雙向認證、密鑰更新3個功能,執(zhí)行過程如圖1所示。具體步驟描述如下:
圖1 雙向認證執(zhí)行過程
(1)閱讀器記錄當前的時間戳TR,發(fā)送Hello消息,并使用TR作為挑戰(zhàn),開始一個新的認證周期。
(2)如果有多個標簽響應(yīng),發(fā)生沖突時,會執(zhí)行一次沖突仲裁過程,如二進制搜索算法[23]或分組防碰撞算法[22],選中的標簽開始與閱讀器進行交互。
標簽生成隨機數(shù)rT,計算A=fk(rT||TID||TR),B=rT⊕fk(x),C=Rot(A,x)⊕Rot(A,TR)。A的作用為傳遞標簽的認證參數(shù)TID和k;B的作用為傳遞隨機數(shù)rT,發(fā)出挑戰(zhàn),等待關(guān)于rT的應(yīng)答;C是對閱讀器初始挑戰(zhàn)的應(yīng)答,用于過濾有意無意的攻擊,對于不能攻陷標簽存儲,無法獲得x值的敵手,其假冒信息無法通過閱讀器的驗證。標簽把A、B、C發(fā)給閱讀器。
(3)閱讀器收到標簽的回復(fù)后,使用秘密值x計算并驗證C,若成功則繼續(xù)執(zhí)行后面的過程,若驗證失敗,則說明該標簽為非法標簽,終止連接。
標簽生成隨機數(shù)rR,計算D=h(rR||RID||TR),E=rR⊕h(RID||B),F=h(x⊕TR)。D的作用為傳遞閱讀器的認證參數(shù)RID;E的作用為傳遞閱讀器隨機數(shù)rR,發(fā)出挑戰(zhàn),等待關(guān)于rR的應(yīng)答;F的作用是保證時間戳TR不被篡改。閱讀器發(fā)送A、B、D、E、F、TR給服務(wù)器。
(4)服務(wù)器收到認證請求后,首先驗證F,以確認在傳輸過程中以明文形式傳輸?shù)拈喿x器時間戳TR有沒有被篡改。如果驗證成功,服務(wù)器以當前時間戳TS值,檢查TS-TR<Δt是否成立,若成立,則開始進行閱讀器的認證過程。
將rR=E⊕h(RID||B||x)代入D中可得:
D=h(E⊕h(RID||B)||RID||TR)
遍歷數(shù)據(jù)庫,查找使D成立的RID,若找到,則閱讀器通過認證,繼續(xù)進行標簽的認證。
將rT=B⊕fk(x)代入A中可得:
習(xí)近平總書記強調(diào),共青團是為黨做青年群眾工作的組織。做團的工作必須牢記,任何時候都不能脫離青年,必須密切聯(lián)系青年。團干部要深深植根青年、充分依靠青年、一切為了青年,努力增強黨對青年的凝聚力和青年對黨的向心力。中國石化青工委積極推動直接聯(lián)系青年工作機制落深落實,積極延伸團的手臂,豐富團的神經(jīng)末梢,打通與青年的“最后一公里”,使共青團真正成為廣大青年身邊的有效存在,引導(dǎo)團干部身至基層、心系青年,真正當好青年之友。
A=fk(B⊕fk(x)||TID||TR)
遍歷數(shù)據(jù)庫,查找使A成立的標簽記錄,即將某條記錄的TID、k或kold代入時,上式成立,若找到,則標簽通過認證。
再將RID代入rR=E⊕h(RID||B||x),計算出閱讀器隨機數(shù)rR,計算P=h(rR)作為對閱讀器挑戰(zhàn)的應(yīng)答。
將標簽記錄中的k值代入rT=B⊕fk(x),得到標簽隨機數(shù)rT,服務(wù)器更新其與標簽間的共享密鑰kold=k,k=fk(rT⊕k),計算Q=fk(rT)作為對標簽挑戰(zhàn)的應(yīng)答。
服務(wù)器把P、Q發(fā)給閱讀器。
(5)閱讀器收到服務(wù)器的回復(fù)后,驗證P=h(rR),若正確,則服務(wù)器通過閱讀器的認證,閱讀器繼續(xù)將Q轉(zhuǎn)發(fā)給標簽。
本文基于標準模型對協(xié)議的安全性進行分析證明,證明方法參照文獻[21]。假設(shè)敵手的攻擊行為分為學(xué)習(xí)階段和攻擊階段。學(xué)習(xí)階段中,敵手能夠?qū)σ苿覴FID系統(tǒng)中的n次交互信息進行竊聽與控制。攻擊階段中,敵手對移動RFID系統(tǒng)發(fā)起攻擊,如果成功概率可以忽略不計,則該系統(tǒng)是安全的。
假設(shè)敵手Adv在第一階段中獲得的信息集合為I,攻擊游戲為Adv(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,需要證明敵手假冒標簽、閱讀器、服務(wù)器時的安全性。
(1)非法標簽被服務(wù)器接受的概率
定義敵手攻擊服務(wù)器以假冒標簽的游戲為AdvTa(I)。
敵手Adv在第一階段中進行了n次協(xié)議過程,獲得n組標簽發(fā)送的消息{Ai,Bi,Ci}(i=1,2,…,n)。由于消息中的隨機數(shù)與秘密值無法區(qū)分,因而這n組信息對構(gòu)建假冒標簽信息并沒有幫助,對閱讀器的攻擊也是類似的情況。在第二階段中,Adv需要偽造出信息A′,并能通過服務(wù)器的驗證。
共享密鑰時的成功概率。
(2)非法服務(wù)器被標簽接受的概率
定義敵手攻擊標簽以假冒服務(wù)器的游戲為AdvSTa(I)。
敵手Adv需要偽造出信息Q′,并能通過標簽的驗證。由于信息的構(gòu)成與(1)中類似,區(qū)別是沒有TID的參與,用相同的方法可得:
(3)非法閱讀器被服務(wù)器接受的概率
敵手Adv需要偽造出信息D′,并能通過服務(wù)器的驗證。閱讀器與服務(wù)器間使用標準哈希函數(shù)h。
(I)=1表示敵手Adv可以正確預(yù)測第n+1次的哈希函數(shù)值h(αn+1),αn+1=rR(n+1)||RID。Adv攻擊成功的概率為:
(4)非法服務(wù)器被閱讀器接受的概率
敵手Adv需要偽造出信息P′,并能通過標簽的驗證。由于信息的構(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。當服務(wù)器完成對標簽的認證后,其更新與標簽間的共享密鑰,如果標簽沒有更新,或者反之,則會出現(xiàn)去同步化。去同步化攻擊可能通過以下3種方式進行。
(1)阻斷攻擊。敵手Adv通過阻斷服務(wù)器經(jīng)由閱讀器發(fā)給標簽的確認信息Q,導(dǎo)致出現(xiàn)共享密鑰不同步的情況。針對這種情況,協(xié)議在服務(wù)器上保存了舊的共享密鑰,因而這種攻擊是無效的。
(2)假冒攻擊。敵手Adv在假冒服務(wù)器攻擊成功時,可以改變標簽中的共享密鑰,在假冒標簽攻擊成功時,可以改變服務(wù)器數(shù)據(jù)庫中的共享密鑰,從而使標簽與數(shù)據(jù)庫中的共享密鑰失去同步,標簽無法通過正常認證。從定理1可知,假冒攻擊的成功概率εa≤2-k+1+2-l。
(3)重放攻擊。敵手Adv可能進行的重放攻擊是將之前某次通信中標簽發(fā)送的信息重新發(fā)送給服務(wù)器,欺騙其修改共享密鑰,達到去同步化攻擊的目的。本文協(xié)議中使用時間戳來防止這一攻擊,當時間戳值與當前時間的間隔大于一定閾值時無法通過驗證,如果Adv修改了時間戳,服務(wù)器還能夠通過信息F進行驗證。Adv的消息通過驗證的概率即為重放攻擊成功的概率,根據(jù)標準哈希函數(shù)的性質(zhì),這一概率為:
綜上,Pr[ ]Advb(I)=1≤2-k+1+2-l,定理2得證。
定理3本文協(xié)議是εc-前向安全的,其中εc≤2-k。
證明 根據(jù)定義3,在第一階段,敵手Adv分別對Tagx、Tagy兩個標簽與閱讀器間的通信進行了n次監(jiān)聽,獲得了數(shù)據(jù),其中i=1,2,…,n。
在第二階段,假設(shè)在第q(q≥n)次通信后,Adv物理攻陷其中一個標簽,獲得內(nèi)部狀態(tài)信息,Adv需要分辨該標簽是Tagx、Tagy中的哪一個,成功分辨的概率即為Pr[Advc(I)]。
對于Adv來說,最有利的是在第n次通信后攻陷標簽,此時標簽中的狀態(tài)信息為第一階段結(jié)束時的信息,包括秘密值x、隨機數(shù)rn、身份標識TID、當前共享密鑰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得證。
本章從所需開銷分析及實驗仿真兩方面對本文協(xié)議和現(xiàn)有的移動RFID認證協(xié)議進行分析比較,以確定哪個協(xié)議更適合于使用低成本標簽的移動RFID系統(tǒng)。
本文協(xié)議與部分現(xiàn)有移動RFID認證協(xié)議的通信開銷比較如表2所示。其中M表示模運算,MM表示模乘,MR表示模開方,PR表示隨機數(shù)生成,H表示哈希函數(shù),F(xiàn)x表示自定義的單向函數(shù)或隨機數(shù)函數(shù),n表示系統(tǒng)中閱讀器的數(shù)量,GT表示時間戳生成。
表2 協(xié)議通信開銷比較
從表中可以看出,基于二次剩余定理的協(xié)議[6,10-11,17]普遍存在服務(wù)器后臺搜索匹配開銷大、通信量大的問題,且僅有文獻[10]通過增加哈希驗證和時間戳真正解決了重放問題;文獻[18]在標簽及閱讀器的存儲量、通信量方面都有很大的優(yōu)勢,但其服務(wù)器搜索標簽記錄時最壞的遍歷次數(shù)為4n,當系統(tǒng)中閱讀器數(shù)量n較大時,服務(wù)器執(zhí)行效率會很低;文獻[19]的標簽存儲量也一樣較低,但其使用了不符合EPC Class-1 Generation-2標準的哈希函數(shù),且存在明顯的信息重放攻擊,并不適用于低成本RFID標簽系統(tǒng)。本文協(xié)議使用了符合低成本標簽標準的單向函數(shù),存儲量較低,服務(wù)器搜索標簽記錄時僅需要遍歷一次數(shù)據(jù)庫即可,搜索效率較高。為避免重放攻擊,本文協(xié)議在閱讀器中使用了時間戳、哈希函數(shù)等措施,增加了計算量與通信量,這些計算量與通信量相對偏高,但仍低于基于二次剩余定理的協(xié)議,且解決了雙向認證、假冒攻擊、去同步化、前向安全等問題,因此本文協(xié)議更適合于較大規(guī)模的低成本移動RFID標簽系統(tǒng)。
本文仿真實驗主要測試移動RFID系統(tǒng)交互過程中閱讀器、標簽間的通信開銷。在滿足安全與隱私的前提條件下,通信開銷值在一定程度上決定了移動RFID認證協(xié)議的優(yōu)劣。
實驗參照文獻[10]中的方法進行,網(wǎng)絡(luò)模型部署及參數(shù)設(shè)置詳見該文獻。實驗使用NS2網(wǎng)絡(luò)仿真軟件構(gòu)建網(wǎng)絡(luò)環(huán)境,采用CSMA/CA技術(shù)傳輸數(shù)據(jù)幀,不考慮計算和數(shù)據(jù)傳輸過程中的超時重發(fā)等能耗,僅考慮數(shù)據(jù)無線通信過程中的能耗。設(shè)置標簽數(shù)量為10、20、30、40、50,對部分有代表性的移動RFID認證協(xié)議,測試認證一次所耗費的通信開銷,每個協(xié)議進行20次獨立的實驗,最后取其平均值,結(jié)果如圖2所示。
從圖2中可以看出,隨著標簽數(shù)量的增加,各移動RFID認證協(xié)議的通信開銷在不斷增長。其中文獻[18]協(xié)議未采取有效措施解決重放攻擊問題,因而所需開銷最少,但存在安全隱患。文獻[19]為防止重放攻擊,采用了7次交互過程,并且由服務(wù)器生成隨機數(shù)來保證消息的新鮮性,開銷最大。文獻[10]中使用時間戳來防止重放攻擊問題,開銷介于前兩種協(xié)議之間。本文協(xié)議也使用了時間戳,但在交互設(shè)計中減少了一次閱讀器隨機數(shù)的生成,因而開銷略低于文獻[10]。
圖2 閱讀器與標簽間的通信總開銷
通過以上仿真實驗可知,本文所提協(xié)議在滿足安全隱私性的同時,更適用于較大規(guī)模的使用低成本標簽的移動RFID系統(tǒng)。
本文對現(xiàn)有的移動RFID協(xié)議進行了分析,指出了這些協(xié)議中在安全及性能方面存在的問題。針對這些問題,本文在參考傳統(tǒng)RFID協(xié)議研究成果的基礎(chǔ)上,建立了移動RFID安全隱私模型,并根據(jù)模型提出了一種能抵抗假冒攻擊、去同步化攻擊,且提供前向安全隱私保護的雙向認證協(xié)議,該協(xié)議在標簽中使用了符合EPC Class-1 Generation-2標準的單向函數(shù)、隨機數(shù)生成器,在閱讀器中使用了哈希函數(shù)及時間戳。在隨后的分析中,經(jīng)過假冒攻擊、去同步化、前向安全三方面的證明,確認協(xié)議達到了設(shè)計目的。性能比較與仿真實驗的結(jié)果表明,本文協(xié)議標簽存儲量較低,各實體間通信量與計算量在合理可接受的范圍,更適用于較大規(guī)模的使用低成本標簽的移動RFID系統(tǒng)。