吳愷凡,殷新春,2*
(1.揚(yáng)州大學(xué)信息工程學(xué)院,江蘇揚(yáng)州 225127;2.揚(yáng)州大學(xué)廣陵學(xué)院,江蘇揚(yáng)州 225128)
(?通信作者電子郵箱xcyin@yzu.edu.cn)
射頻識別(Radio Frequency IDentification,RFID)技術(shù)被認(rèn)為是21 世紀(jì)最具發(fā)展?jié)摿Φ男畔⒓夹g(shù)之一。RFID 作為一種自動化識別技術(shù),通過無線射頻的方式在作為主體的記錄媒體之間進(jìn)行非接觸的雙向數(shù)據(jù)通信,以此互相交換數(shù)據(jù),從而達(dá)到識別目標(biāo)的目的。RFID 具有抗干擾能力強(qiáng)、記憶靈活、支持動態(tài)操作、使用壽命長、識別速度快、防碰撞等優(yōu)點(diǎn)。同時,RFID 技術(shù)實(shí)現(xiàn)識別目標(biāo)和讀寫數(shù)據(jù)的功能不需要物理接觸與特定的復(fù)雜環(huán)境,這使得其在現(xiàn)實(shí)中被投入使用具有可行性。RFID 系統(tǒng)由標(biāo)簽、閱讀器和后端服務(wù)器組成。其中標(biāo)簽具有唯一的身份標(biāo)識,在進(jìn)入閱讀器工作區(qū)(即在閱讀器產(chǎn)生的射頻電磁場內(nèi))就可以進(jìn)行相應(yīng)讀寫操作。標(biāo)簽對識別信息進(jìn)行加密并發(fā)送給閱讀器,閱讀器對接收到的數(shù)據(jù)和標(biāo)簽ID 進(jìn)行身份驗(yàn)證。而后端服務(wù)器與閱讀器之間的信道往往被認(rèn)為是安全信道。RFID 系統(tǒng)分為無源和有源兩種,這取決于系統(tǒng)是使用內(nèi)置電源的標(biāo)簽,還是通過用RFID閱讀器電流與無源標(biāo)簽自身的線圈電磁感應(yīng)產(chǎn)生能量連續(xù)廣播信號[1]。有源電子標(biāo)簽無需閱讀器提供能量,讀寫距離較遠(yuǎn)同時體積較大,與無源射頻標(biāo)簽相比成本更高。經(jīng)濟(jì)又實(shí)用的低成本標(biāo)簽在日常生活中得到更廣泛的使用。選擇低成本的RFID 設(shè)備雖然意味著保護(hù)系統(tǒng)安全需要會帶來更大的挑戰(zhàn)[2],但總體而言利大于弊,原因之一是傳統(tǒng)加密原語固然安全性更高,但會增加此類設(shè)備的成本;二是傳統(tǒng)加密原語的功耗過高[3]。設(shè)計(jì)低成本安全RFID 系統(tǒng)所面臨的挑戰(zhàn)包括設(shè)備的容量和計(jì)算能力有限等[4],所以實(shí)現(xiàn)一種安全、低成本的保護(hù)技術(shù)以確保用戶信息的安全性是十分關(guān)鍵的[5]。
除了閱讀器與標(biāo)簽之間在公共信道中交互的消息可能遭到的竊聽、偽造、截獲、去同步以及重放等攻擊[6]之外,RFID在應(yīng)用過程中存在一項(xiàng)重大的安全隱患,就是標(biāo)簽用戶的個人隱私容易遭到泄露。比如,被標(biāo)簽標(biāo)記的車牌在路過各處收費(fèi)站時,如果忽視了標(biāo)簽?zāi)涿?,車牌的?biāo)簽會因?yàn)榻邮盏饺我獾拈喿x器的請求而向其回復(fù)自身唯一身份標(biāo)識或假名ID,無論該閱讀器的身份是否合法。因此,一些攻擊者的惡意閱讀器在獲取某個合法標(biāo)簽的ID 后,就算沒有破解協(xié)議而竊得當(dāng)前通信所交換的具體信息,卻也能實(shí)時追蹤標(biāo)簽所有者在ID 更新前的行駛路線。這無疑極大增加了標(biāo)簽使用者隱私被侵犯的可能。因此,在不以明文的形式發(fā)送標(biāo)簽ID,即保證標(biāo)簽?zāi)涿缘那闆r之下,閱讀器還能夠區(qū)分不同標(biāo)簽,是RFID相互認(rèn)證協(xié)議所面對的一個挑戰(zhàn)。
目前有兩種手段來解決上述問題:一是,閱讀器與標(biāo)簽協(xié)商出一個獨(dú)立于ID 的索引假名,讓閱讀器區(qū)分不同的標(biāo)簽,并在本輪通信結(jié)束后進(jìn)行更新;二是,基于k-匿名(k-Anonymity)思想,采用動態(tài)令牌的方式,每輪通信隨機(jī)選取該標(biāo)簽令牌組中的一個令牌作為ID,通信結(jié)束后將令牌組中已經(jīng)使用的令牌刪去,當(dāng)令牌組中沒有可以使用的令牌時再重新填充。本文結(jié)合上述兩種方法,針對標(biāo)簽?zāi)涿詥栴}而提出一種新型輕量級雙向身份認(rèn)證,同時實(shí)現(xiàn)了假名的更新與動態(tài)假名的選取兩個功能。本文的主要工作如下:
1)針對標(biāo)簽?zāi)涿圆蛔愕膯栴},提出一種新的隨機(jī)運(yùn)算符方法,并基于此方法設(shè)計(jì)出了一個能夠保護(hù)標(biāo)簽所有者隱私的RFID雙向認(rèn)證協(xié)議。
2)本文提出的協(xié)議除了能夠提供匿名性以外,還能夠滿足物聯(lián)網(wǎng)中所使用的RFID系統(tǒng)所需的所有安全需求。
3)使用互聯(lián)網(wǎng)安全協(xié)議和應(yīng)用程序的自動驗(yàn)證(Automated Validation of Internet Security Protocols and Applications,AVISPA)工具對本文所提出協(xié)議進(jìn)行仿真,并驗(yàn)證所需的安全屬性。
將本文方案與相關(guān)輕量級認(rèn)證方案進(jìn)行了性能方面的對比。對比結(jié)果顯示,本文所提方案的性能遠(yuǎn)優(yōu)于能夠提供同等安全性的非輕量級協(xié)議。
在過去的幾年里,不斷有RFID 匿名認(rèn)證方案陸續(xù)被提出,文獻(xiàn)[7]將它們分為了3 類:1)基于公鑰密碼系統(tǒng)(Public Key Cryptosystem,PKC)的方案;2)基于糾錯(Error Correction,EC)的方案;3)基于對稱密鑰或非公鑰密碼系統(tǒng)(Non-Public Key Cryptosystem,NPKC)的方案。在基于PKC的方案[8-11]中,大多數(shù)方案都是在橢圓曲線密碼系統(tǒng)上設(shè)計(jì)的,由于硬件成本昂貴而可行性不高[12]。基于EC 的方案[13-15]只有當(dāng)錯誤率小于一定的閾值時,比如驗(yàn)證信息之間的漢明重量小于規(guī)定的上限時,才能保證安全性。此外,這些方案是不可伸縮的,因?yàn)樗鼈冎荒苤С钟邢薜臄?shù)字標(biāo)簽?;贜PKC 方案又可分為兩類,即基于哈希的方案和基于物理不可克隆函數(shù)(Physical Unclonable Function,PUF)的方案。由于PUF 需要硬件支持會額外增加成本,所以基于哈希的方案更加適用于低成本場景,但也要求RFID標(biāo)簽的資源足夠支撐哈希運(yùn)算。
Peris-Lopez 等[16]提出了一系列基于NPKC 的超輕量級認(rèn)證協(xié)議,即一種用于低成本RFID標(biāo)簽的輕量級雙向認(rèn)證協(xié)議(a real Lightweight Mutual Authentication Protocol for low-cost RFID tags,LMAP)、一種高效的低成本RFID 標(biāo)簽雙向認(rèn)證協(xié)議(an Efficient Mutual-Authentication Protocol for low-cost RFID tags,EMAP)[17]、一種適用于低成本RFID 標(biāo)簽的最小相互認(rèn)證協(xié)議(a Minimalist Mutual-Authentication Protocol for low-cost RFID tags,M2AP)[18]。在這3 個協(xié)議中只使用了簡單的異或、與、或和模2m加運(yùn)算。文獻(xiàn)[19-20]證實(shí)這些協(xié)議存在一些安全漏洞,不能抵抗主動攻擊和被動攻擊。文獻(xiàn)[21]引入了一種非線性的位變換運(yùn)算MIXBITS 函數(shù),不使用導(dǎo)致輸出結(jié)果有較大偏重的與運(yùn)算和或運(yùn)算,提出一個新的超輕量級認(rèn)證協(xié)議——Gossamer協(xié)議[21]。文獻(xiàn)[22]提出了一種基于排列組合運(yùn)算的RAPP(RFID Authentication Protocol with Permutation)協(xié)議。而文獻(xiàn)[23]指出Gossamer 協(xié)議存在拒絕服務(wù)攻擊隱患,并且Gossamer 協(xié)議在標(biāo)簽端的計(jì)算量和功耗很大,不滿足低成本RFID 標(biāo)簽的要求;同時指出RAPP 方案易受到去同步攻擊。此外,由于電子產(chǎn)品代碼(Electronic Product Code,EPC)標(biāo)準(zhǔn)[24]對低成本RFID 標(biāo)簽的限制,諸如數(shù)據(jù)加密標(biāo)準(zhǔn)(Data Encryption Standard,DES)、RSA(Ron Rivest,Adi Shamir and Leonard Adleman)算法、安全散列算法(Secure Hash Algorithm,SHA)家族,以及時間戳等相關(guān)高級加密原語并不適用。Gao 等[25]提出了一種基于現(xiàn)有算法的RFID 安全協(xié)議,但是不滿足1 類2 代產(chǎn)品電子代碼(Electronic Product Code Class1 Generation2,EPC C1 G2)標(biāo)準(zhǔn)。Liang 等[15]提出了一種在物聯(lián)網(wǎng)環(huán)境中基于PUF 的RFID身份認(rèn)證協(xié)議,該方案在服務(wù)器端使用機(jī)器學(xué)習(xí)相關(guān)方法,訓(xùn)練出一個符合當(dāng)前標(biāo)簽所使用的原生PUF生成挑戰(zhàn)響應(yīng)對規(guī)律的模型,以用于身份驗(yàn)證,在減少通信開銷的同時又降低了數(shù)據(jù)泄露的風(fēng)險,具有較強(qiáng)的安全性。但是在實(shí)際使用時,機(jī)器學(xué)習(xí)方法訓(xùn)練出的PUF模型在協(xié)議中產(chǎn)生的數(shù)據(jù)能否通過原生PUF 的檢驗(yàn)存在疑問,這同時也增加了計(jì)算資源與時間的消耗,方案可行性會受到影響。Gope 等[7]提出的基于PUF的匿名認(rèn)證方案中,注冊中心為了保證標(biāo)簽?zāi)涿远o每一個標(biāo)簽分配一個臨時標(biāo)識TID和一組偽標(biāo)識PID。當(dāng)攻擊者通過去同步攻擊等方式使得標(biāo)簽發(fā)送無效TID時,服務(wù)器會回復(fù)PID中的任意一個偽標(biāo)識來請求標(biāo)簽重新驗(yàn)證,這提高了協(xié)議執(zhí)行的健壯性與安全性。然而該方案不僅對標(biāo)簽的存儲空間有比較高的要求,而且由于方案的設(shè)定不全,導(dǎo)致無法實(shí)現(xiàn)PID的補(bǔ)充,甚至攻擊者可以通過重放竊取到的以明文形式發(fā)送的TID耗盡PID,迫使標(biāo)簽重新注冊,從而破壞協(xié)議進(jìn)程,又無端地增加了標(biāo)簽的計(jì)算開銷。同樣,Chen 等[26]提出的增強(qiáng)的動態(tài)令牌認(rèn)證協(xié)議(Enhanced dynamic Token based Authentication Protocol,ETAP)雖然能保證標(biāo)簽?zāi)涿?,但是令牌和指示器的更新也需要依賴具有較強(qiáng)存儲能力的標(biāo)簽。Park等[27]提出一種基于聚類算法的RFID跨層認(rèn)證協(xié)議,能夠抵抗追蹤攻擊、假冒攻擊和拒絕服務(wù)攻擊。但該方案由于防碰撞功能的需要而對標(biāo)簽進(jìn)行分組,這使得標(biāo)簽的存儲負(fù)擔(dān)更重,且采用哈希鏈和模冪運(yùn)算,計(jì)算開銷也比較高。Salem 等[28]提出一種基于El-Gamal 密碼系統(tǒng)設(shè)計(jì),并適用于遠(yuǎn)程醫(yī)療信息系統(tǒng)的RFID 認(rèn)證協(xié)議。該協(xié)議具有較高的安全性,但為了構(gòu)造離散對數(shù)問題而使用大量模冪計(jì)算而不適用于低成本標(biāo)簽。Wang 等[29]提出了一種抵抗信號重放攻擊的RFID認(rèn)證協(xié)議,一定程度上彌補(bǔ)了認(rèn)證協(xié)議不支持抵抗物理攻擊這一缺陷。Fan等[30]提出了一種基于云的輕量級RFID雙向認(rèn)證協(xié)議,以置換和旋轉(zhuǎn)代替hash、以時間戳代替?zhèn)坞S機(jī)數(shù)發(fā)生器,進(jìn)一步減少了標(biāo)簽計(jì)算開銷。
綜上,現(xiàn)有RFID 認(rèn)證協(xié)議中,要么協(xié)議無法滿足安全性需求,要么無法提供輕量級的快速認(rèn)證協(xié)議。為此,本文提出了一種新的隨機(jī)運(yùn)算符方法,結(jié)合各種輕量級運(yùn)算進(jìn)而提出了一種新的RFID認(rèn)證協(xié)議,稱作基于隨機(jī)運(yùn)算符的輕量級雙向認(rèn)證協(xié)議(Lightweight Anonymous Mutual authentication Protocol Based on Random Operators,BRO-LAMP)。該協(xié)議能夠在保證運(yùn)算輕量級的基礎(chǔ)上,保護(hù)標(biāo)簽?zāi)涿圆⒚馐芸寺」簟?/p>
BRO-LAMP 所使用的符號、函數(shù),以及對應(yīng)參數(shù)如表1 所示。其中,Shuffle、Pad 和Bit 函數(shù)分別通過算法1、2、3 進(jìn)行描述。
在本文提出的協(xié)議BRO-LAMP 中,默認(rèn)情況下閱讀器和后端服務(wù)器及數(shù)據(jù)庫之間的通信信道是安全的,所以可以將閱讀器和后臺看作一個整體,稱作服務(wù)器端。本協(xié)議之中,中央服務(wù)器維護(hù)一個運(yùn)算符表AT以存放具體的運(yùn)算符,即各類輕量級運(yùn)算。在每輪認(rèn)證周期中,協(xié)議雙方共同遵循一個獨(dú)立的運(yùn)算符選取順序序列ST,根據(jù)其中存放的索引對應(yīng)到AT中尋找并存儲運(yùn)算符。
算法1 Shuffle(Seed,a)。
輸入Seed,列表a;
輸出 列表a。
其中,所使用的三種自定義函數(shù)功能如下。
Shuffle()函數(shù)名為洗牌函數(shù),其功能是,將長度為n的列表的第i個元素與第j個元素交換順序,重復(fù)n次。其中,i,j∈Z+,i的初始值為1,每次交換后遞增1,而每次執(zhí)行交換前j是一個由偽隨機(jī)數(shù)發(fā)生器(Pseudo Random Number Generator,PRNG)生成的隨機(jī)數(shù)且滿足j∈[i,n]。第一參數(shù)為PRNG 的種子,第二參數(shù)為待處理列表,空參默認(rèn)為一個依次存入正整數(shù)的列表。
算法2 Pad(a)。
輸入 列表a;
輸出 列表b。
如果k<2n–3 則
將列表b剩余3個元素依次賦值為a[j++];結(jié)束
算法3 Bit(a)。
輸入 列表a;
輸出 二進(jìn)制字符串tk。
Pad()函數(shù)名為填充函數(shù),實(shí)現(xiàn)隨機(jī)往長度為n的列表中插入n個不存放任何值的空槽的功能。
Bit()函數(shù)名為二進(jìn)制轉(zhuǎn)化函數(shù),其功能是將作為參數(shù)的列表,從首地址開始往后一次遍歷,若遇到空槽則輸出0,否則輸出1,輸出結(jié)果按照先后順序拼接,最后形成一個二進(jìn)制字符串。
下面舉一個具體示例(隨機(jī)假設(shè)一個AT,并且各個函數(shù)取一個可能的結(jié)果),如圖1所示。
圖1 BRO-LAMP中三種自定義函數(shù)功能示例圖Fig.1 Example diagram of three kinds of custom functions in BRO-LAMP
之后的認(rèn)證階段中,協(xié)議雙方就按ST中相應(yīng)位置所存入的值,對應(yīng)地從服務(wù)器的后臺數(shù)據(jù)庫的運(yùn)算符表AT獲取相應(yīng)運(yùn)算符參與運(yùn)算。在上述示例中,?1代表循環(huán)右移(?),?2代表異或(⊕),?3代表拼接(‖)。
本協(xié)議在協(xié)商階段以及信息更新階段中增加了一個hash函數(shù),保證隨機(jī)生成種子的同時抵抗中間人攻擊,并且在服務(wù)器端與標(biāo)簽交互時,不暴露種子Seed,從而保護(hù)標(biāo)簽當(dāng)前輪次通信時隨機(jī)運(yùn)算符的選取順序。初始化數(shù)據(jù)時,服務(wù)器端備份了已注冊標(biāo)簽的基礎(chǔ)令牌矩陣bk。其中,bk的每一行向量bki對應(yīng)各個不同標(biāo)簽的基礎(chǔ)令牌一維數(shù)組,服務(wù)器通過安全信道將每個bki共享給對應(yīng)的標(biāo)簽,而當(dāng)列坐標(biāo)也確定下來的bki,j表示第i個已注冊標(biāo)簽的第j個基礎(chǔ)令牌,用于實(shí)現(xiàn)認(rèn)證。為每個已注冊標(biāo)簽設(shè)置協(xié)議雙方共享的基礎(chǔ)令牌數(shù)組的目的是:1)作為隨機(jī)參數(shù)參與令牌的更新;2)當(dāng)系統(tǒng)遭受去同步攻擊或者拒絕服務(wù)攻擊時作為令牌tk的替代供雙方重新發(fā)起請求,使協(xié)議繼續(xù)進(jìn)行。這需要服務(wù)器端為每個已注冊標(biāo)簽額外保存其bk已使用到的句柄作為指針,以便之后輪次雙方的認(rèn)證與通信周期能夠正常進(jìn)行。攻擊者卻無法得知當(dāng)前輪次認(rèn)證周期所使用的bk坐標(biāo)。
協(xié)議的整個認(rèn)證過程可以分為四個階段,按照執(zhí)行時序排列分別是數(shù)據(jù)初始化和密鑰協(xié)商階段、標(biāo)簽識別階段、相互認(rèn)證階段以及同步更新階段。其中協(xié)議的第一階段為注冊階段,而第二、三、四階段為認(rèn)證階段。注冊階段是在閱讀器與第一次參與通信的標(biāo)簽開始交互時,由協(xié)議雙方所執(zhí)行,其目的是進(jìn)行標(biāo)簽初始密鑰的生成以及標(biāo)簽信息在服務(wù)器端的注冊。每當(dāng)標(biāo)簽與閱讀器需要通信時,雙方都會在通信前執(zhí)行認(rèn)證階段。BRO-LAMP的協(xié)議過程如圖2所示。
圖2 BRO-LAMP認(rèn)證流程Fig.2 Flow chart of BRO-LAMP authentication process
2.2.1 數(shù)據(jù)初始化和密鑰協(xié)商階段
在BRO-LAMP 中,由于標(biāo)簽選取運(yùn)算符最終只由PRNG的種子決定,因此可以說是PRNG 生成標(biāo)簽在當(dāng)前輪次協(xié)議下的運(yùn)算符選取序列。其中,本協(xié)議對服務(wù)器端第一次發(fā)給標(biāo)簽的消息通過輕量級hash函數(shù)進(jìn)行混淆。
服務(wù)器端生成秘密的新鮮隨機(jī)數(shù)n1,計(jì)算M1=h(n1)⊕n1,再將M1發(fā)送給標(biāo)簽i。接收到M1后,標(biāo)簽i通過異或的方式,往其中混淆入自身的身份標(biāo)識TIDi,即計(jì)算M2=M1⊕TIDi以及CT=M2‖TIDi,然后通過安全信道將CT發(fā)送給服務(wù)器端。接收到M2后,服務(wù)器端計(jì)算TIDi'=M2⊕M1,再計(jì)算n1'=M2⊕TIDi'⊕h(n1)。最后,服務(wù)器將得到的結(jié)果n1'與n1進(jìn)行對比,如果n1'=n1成立,則標(biāo)簽在后臺服務(wù)器上注冊成功。之后雙方將Seed=M2得到作為實(shí)現(xiàn)洗牌功能的種子。
Shuffle 功能基于隨機(jī)洗牌算法,旨在給定協(xié)議雙方相同的種子Seed,輔以相同的時間間隔,使得協(xié)議雙方生成相同的ST,從而協(xié)商出相同的令牌tk。雙方同步使用Shuffle函數(shù),并在隨機(jī)填充后生成運(yùn)算符序列ST,接著經(jīng)過Bit 函數(shù)二進(jìn)制化后再二分異或,最后生成本輪協(xié)議的令牌tk,第一階段結(jié)束,服務(wù)器端將為標(biāo)簽i生成令牌組bki,并通過安全信道將其提供給標(biāo)簽。服務(wù)器會備份所有已注冊標(biāo)簽的一維基礎(chǔ)令牌數(shù)組,并以矩陣的形式bk存儲。
2.2.2 標(biāo)簽識別階段
注冊后的標(biāo)簽若需投入使用并參與通信,則必須通過認(rèn)證。為了實(shí)現(xiàn)雙向認(rèn)證,閱讀器需要識別標(biāo)簽,即閱讀器需要對等待驗(yàn)證的標(biāo)簽進(jìn)行鑒別。所提協(xié)議的標(biāo)簽識別階段能夠?qū)崿F(xiàn)閱讀器對標(biāo)簽的識別。
1)該階段閱讀器和標(biāo)簽之間發(fā)生通信,并且是由閱讀器主動發(fā)起,即閱讀器首先向標(biāo)簽發(fā)送一個挑戰(zhàn)信息,定義為“Query”,以開始新一輪認(rèn)證周期。
2)標(biāo)簽Tagi在接收到挑戰(zhàn)信息后會對閱讀器發(fā)送響應(yīng)消息,即向服務(wù)器端回復(fù)此標(biāo)簽當(dāng)前輪次認(rèn)證周期的初始令牌tki。發(fā)出響應(yīng)消息之后,標(biāo)簽Tagi立刻計(jì)算tki=tki?1bki,j來更新令牌,其中,索引j對應(yīng)指針,從0開始取值并順次遞增。
3)閱讀器在收到標(biāo)簽回應(yīng)的令牌tki'后會在后端服務(wù)器中進(jìn)行查詢。如果是已注冊具有合法身份的標(biāo)簽所發(fā)送的令牌,閱讀器通過請求后臺服務(wù)器就可以找到與之匹配的tki以及TIDi,然后計(jì)算以同步更新令牌,再通過PRNG生成用于接下來雙向認(rèn)證的新鮮隨機(jī)值n2;若沒有匹配成功,則標(biāo)簽識別失敗,認(rèn)證終止,服務(wù)器端認(rèn)為該標(biāo)簽身份非法。
2.2.3 雙向認(rèn)證階段
首先,BRO-LAMP中,協(xié)議雙方會同時存儲對應(yīng)標(biāo)簽的兩輪令牌tkold與tknew。所以,當(dāng)協(xié)議的某一方需要驗(yàn)證令牌時,若其所收到的令牌與自身存儲的tknew匹配,則更新時要令自身存儲的tkold=tknew,再更新tknew;若與tkold匹配,則直接按照協(xié)議更新tknew,而tkold則保持不變。一旦識別標(biāo)簽成功,閱讀器就需要對標(biāo)簽身份展開驗(yàn)證。標(biāo)簽的身份被閱讀器成功驗(yàn)證后,還需驗(yàn)證閱讀器的身份是否合法。兩次驗(yàn)證依次通過后,該協(xié)議才能滿足雙向認(rèn)證性。
1)閱讀器驗(yàn)證標(biāo)簽身份。
識別標(biāo)簽成功后,閱讀器向標(biāo)簽Tagi發(fā)送M3=隨即更新。標(biāo)簽收到M3后,計(jì)算n2'=分離出新鮮隨機(jī)數(shù),再更新令牌tki=tki?2bki,j+1。最后,標(biāo)簽將新鮮值n2'與令牌混淆,即計(jì)算M4=tki?3n2',并把M4發(fā)送給閱讀器。閱讀器收到M4后,計(jì)算M4'=接著進(jìn)行驗(yàn)證,若M4'=M4成立,則標(biāo)簽的身份通過了閱讀器的驗(yàn)證;否則意味著存在數(shù)據(jù)遭到攻擊、篡改而阻礙了協(xié)議進(jìn)程,或是標(biāo)簽本身身份非法等情況,認(rèn)證失敗,服務(wù)器端認(rèn)為該標(biāo)簽身份非法,通信過程終止。
2)標(biāo)簽驗(yàn)證閱讀器身份。
標(biāo)簽通過驗(yàn)證后,服務(wù)器計(jì)算M5=并發(fā)送給標(biāo)簽,再更新令牌標(biāo)簽收到M5后進(jìn)行驗(yàn)證,即計(jì)算M5'=tki?4n2',若M5'=M5,則閱讀器的身份通過了標(biāo)簽的驗(yàn)證;否則意味著存在數(shù)據(jù)遭到攻擊、篡改而阻礙了協(xié)議進(jìn)程,或是閱讀器本身身份非法等情況,認(rèn)證失敗,該標(biāo)簽認(rèn)為服務(wù)器端身份非法,通信過程終止。
2.2.4 信息同步更新階段
若雙向認(rèn)證成功,協(xié)議雙方進(jìn)入最后的信息同步更新階段。標(biāo)簽首先為了保證數(shù)據(jù)一致性而更新令牌tki=tki?3bki,j+2。之后,雙方同步更新以下信息:
本文是在DY(Dolev-Yao)模型[31]下,通過形式化分析來驗(yàn)證所提出的協(xié)議BRO-LAMP 的正確性以及理論上的安全性,攻擊者的能力也符合DY模型下敵手的定義。
BAN(Burrows,Abadi and Needham)邏輯[32]是一種基于信念的模態(tài)邏輯,并且是首個將形式化手段用于密碼協(xié)議安全驗(yàn)證的分析法,因而具有里程碑意義而被廣泛應(yīng)用。BAN 邏輯不涉及信仰的主體是否真實(shí),即默認(rèn)參與協(xié)議運(yùn)行的主體是誠實(shí)的;其以協(xié)議運(yùn)行的開始階段為界,將整個協(xié)議執(zhí)行過程分為當(dāng)前時間與過去時間,即某觀點(diǎn)若在協(xié)議開始是成立的,則在整個當(dāng)前時間也成立,但在本輪協(xié)議開始之前的“過去時間”段中卻不一定成立;其默認(rèn)沒有解密密鑰的主體無法理解密文,且密鑰不能從密文中推出。BAN 邏輯將在用戶設(shè)置的理想假設(shè)與協(xié)議步驟的前提中,對協(xié)議能否在沒有冗余信息的情況下達(dá)成認(rèn)證的目的,以及協(xié)議中的加密信息是否在明文傳遞時不會影響協(xié)議的安全性這兩個問題給予解答。
3.1.1 符號與規(guī)則
BRO-LAMP 只有在滿足特定的目標(biāo)時,才符合邏輯性并具備安全性。具體的符號表述如表2所示,P和Q代表參與協(xié)議的兩個主體,X代表信息,K代表加密密鑰。當(dāng)信息是明文形式發(fā)送時,若是單個信息X,則表示為X,若是信息X與信息Y的復(fù)合信息,則表示為(X,Y);當(dāng)信息是密文形式發(fā)送時,則發(fā)送的信息X表示為{X},若有下標(biāo),則表示用于加密信息X的密鑰或是保證信息X機(jī)密性的秘密值。其中需要特別注意的是,X表示協(xié)議雙方交互的信息,所有的公式都能作為信息,但所有信息不一定都是公式。
表2 BAN邏輯符號Tab.2 Symbols of BAN logic
BAN 邏輯規(guī)則遵循推理規(guī)則的形式,即分為上下兩個部分,橫線上方的公式集合稱為前提,下方的公式則稱為結(jié)論。在執(zhí)行BAN 邏輯分析時,必須嚴(yán)格遵循如下所示的特定規(guī)則。
3.1.2 協(xié)議描述
在本文中,參與BRO-LAMP 協(xié)議的兩個主體,即服務(wù)器端(包括服務(wù)器和閱讀器)和標(biāo)簽,分別用S和T表示,協(xié)議的理想化模型如下:
S1S→T:M1
S2T→S:M2,TID
S3S→T:Query
S4T→S:tk
S5S→T:M3
S6T→S:{M4}Seed
S7S→T:{M5}tk
在該協(xié)議模型中,第3 步S3 與第4 步S4 的信息交互是以明文形式進(jìn)行傳輸?shù)?,所以不作安全性分析。? 步S5 中的消息M3雖然經(jīng)過混淆,但沒有用作相互認(rèn)證,只是用于保護(hù)不安全信道中新鮮隨機(jī)值的傳遞,以及標(biāo)簽對其的獲取,所以也不作安全分析。主要的形式化驗(yàn)證工作是將用于身份驗(yàn)證的密文信息M4與M5轉(zhuǎn)化為形式化語言并作安全分析。
其中,針對協(xié)議的第6步S6和第7步S7,可將其中傳遞的密文信息進(jìn)一步形式化,表示為:
S6S?{M4}Seed
S7T?{M5}tk
3.1.3 形式化安全假設(shè)
A1S∣≡#M1
A2S∣≡T?M2
A3S∣≡S?M1T
A4S∣≡S?Seed T
A5T∣≡S?tk T
A6S∣≡T?{M4}Seed
A7T∣≡S?{M5}tk
A8S∣≡#n2
A9T∣≡#tk
假設(shè)A1 表明,S認(rèn)為消息M1是新鮮的,因?yàn)镸1=h(n1)⊕n1,而n1是由S當(dāng)前生成的隨機(jī)數(shù),所以A1成立。接下來,假設(shè)A2 說明,S認(rèn)為T可以控制秘密值Seed,因?yàn)镾eed即為消息M2,而消息M2是由消息M1和T自身的假名異或而成,即消息M2的取值是由T決定的,所以A2成立。假設(shè)A3、A4以及A5,則說明令牌tk是協(xié)議雙方S和T的共享秘密信息,因?yàn)閠k是由打亂和隨機(jī)填充后的運(yùn)算符順序表ST決定,打亂方式只由標(biāo)簽T選擇的PRNG 來決定,而PRNG 的種子是S與T協(xié)商出的,所以A3、A4、A5皆成立。因此,S(T)收到對面發(fā)來的密文M4(M5)時,也會相信對方,即T(S)對其具有管轄權(quán),所以假設(shè)A6 和A7 成立。n2也是由S當(dāng)前生成的隨機(jī)數(shù),并且T在每次信息交互后都會更新tk,所以假設(shè)A8和A9成立。
3.1.4 協(xié)議證明
假設(shè)設(shè)置的參數(shù)和流程正確,則提出的認(rèn)證協(xié)議應(yīng)該達(dá)到以下目標(biāo):
G1S∣≡Seed
G2S∣≡M4
G3T∣≡M5
證明 根據(jù)新鮮性定理R4和假設(shè)A1可得:
再根據(jù)結(jié)論1和假設(shè)A3,以及消息含義規(guī)則R1,可得:
這樣,結(jié)合結(jié)論(1)和結(jié)論(2),根據(jù)新鮮值驗(yàn)證規(guī)則R2能得到:
最后,綜合假設(shè)A2與結(jié)論(3),根據(jù)管轄權(quán)規(guī)則R3可得:
至此,目標(biāo)G1 得證。接著,結(jié)合S6 和假設(shè)A4,S收到經(jīng)過Seed加密后的密文M4,又與T共享秘密值Seed,所以根據(jù)消息含義規(guī)則R1可得:
根據(jù)假設(shè)A8,S認(rèn)為隨機(jī)數(shù)n2是新的,結(jié)合新鮮性規(guī)則R4可得:
給定結(jié)論(5)和結(jié)論(6),依據(jù)新鮮值驗(yàn)證規(guī)則R2,可得出:
最后綜合假設(shè)A6和結(jié)論(7),根據(jù)管轄權(quán)規(guī)則R3可得:
至此,目標(biāo)G2 得證。同理,根據(jù)假設(shè)A5 和A7,結(jié)合上述證明過程,目標(biāo)G3也成立。
證畢。
經(jīng)過BAN 邏輯形式化證明,三個目標(biāo)全被證實(shí),所以在理想的工作環(huán)境下,本文所提出的BRO-LAMP 協(xié)議,不僅滿足雙向認(rèn)證性和相關(guān)秘密值的機(jī)密性,而且能夠滿足系統(tǒng)的功能與安全需求。
本文所提出的BRO-LAMP 協(xié)議還通過正式的形式化驗(yàn)證工具AVISPA 進(jìn)行安全性評估。AVISPA 是一款高效、穩(wěn)定的,廣泛適用于自動證明網(wǎng)絡(luò)安全協(xié)議,以及符合工業(yè)復(fù)雜度實(shí)際的威脅模型的安全性的工具集,能夠根據(jù)相應(yīng)規(guī)則推導(dǎo)安全性目標(biāo)[33-34]。作為一個實(shí)用的形式化驗(yàn)證工具,AVISPA包含4 種模型檢測后端,并通過高級協(xié)議規(guī)范語言(High Level Protocol Specification Language,HLPSL)進(jìn)行集成。
由于AVISPA 工具檢測的需要,此處對協(xié)議的認(rèn)證部分進(jìn)行了簡化。簡化協(xié)議將令牌tk表示為Tk以示區(qū)分,并將tk更新時運(yùn)算符的隨機(jī)選取步驟抽象成了使用共享密鑰Skt對Tk加密(見第2 步),并且定義兩個不同的輕量級hash 函數(shù)與異或計(jì)算來替代隨機(jī)選取的運(yùn)算符(包括第4 步中第3 步Tk與Ns異或生成M3、第7 步中首先將M3與Tk異或生成Ns、第7步最后根據(jù)hash算法H1對Tk與Ns異或的結(jié)果取哈希值并記為M4、第9 步最后根據(jù)hash 算法H2 對Tk與Ns異或的結(jié)果取哈希值并記為M5),以滿足tk的保密性。簡化協(xié)議中,第2 步在原協(xié)議中是明文發(fā)送令牌tk,然而tk的不可預(yù)測與前向安全性體現(xiàn)在秘密值Seed以及發(fā)送后于第3、4 步的及時更新,所以第2步簡化成發(fā)送用秘密值Skt加密令牌Tk后的密文,以此來表示除協(xié)議雙方外的其他主體,在獲取令牌tk時沒有優(yōu)勢。因?yàn)殡S機(jī)值Ns參與了生成M3的混淆運(yùn)算,而混淆方式取決于秘密值Seed,所以就取決于Skt,所以第5、8、9步根據(jù)同理也成立。在發(fā)送M4和M5后,即在第9、11 步,工具分別立即檢測對標(biāo)簽和服務(wù)器的認(rèn)證性,符合協(xié)議的安全目標(biāo)。同時,在每一次通信后,對通信信息中的秘密值進(jìn)行檢驗(yàn),已驗(yàn)證數(shù)據(jù)的機(jī)密性,如標(biāo)簽于第3、7步請求工具驗(yàn)證Tk的機(jī)密性,而服務(wù)器于第4步起請求工具監(jiān)視隨機(jī)值Ns的機(jī)密性。簡化協(xié)議如圖3 所示,其具有與原協(xié)議相似的算法表現(xiàn),因此適用于實(shí)驗(yàn)分析。
圖3 BRO-LAMP簡化協(xié)議流程Fig.3 Simplified flow chart of BRO-LAMP authentication protocol
結(jié)合簡化協(xié)議定義了一個正常的會話角色,包含所有的2 個合法主體角色——標(biāo)簽、閱讀器,以及1 個分別能偽裝成合法主體的入侵者角色。最終,簡化協(xié)議中待證明的4 個安全目標(biāo),即隨機(jī)數(shù)Ns、令牌Tk(分別對應(yīng)原協(xié)議中的n2與tk)的機(jī)密性,以及標(biāo)簽和服務(wù)器端的身份認(rèn)證性都得到了證實(shí),如圖4所示。如果仿真協(xié)議是檢測到安全漏洞,“SUMMARY”字段則會顯示為“UNSAFE”,并在“DETAILS”字段提示“ATTACK_FOUND”,最后會在“GOAL”字段提示出該協(xié)議所需證明的安全屬性中首先不滿足的那個屬性。分析過程中,由HLPSL 描述轉(zhuǎn)換為IF 形式描述保存在“PROTOCOL”字段給出的路徑中文件名為“BRO-LAMP.if”的文件中。結(jié)果中的“BACKEND”字段顯示了所用后端分析工具類型,“STATISTICS”字段則說明了分析工具所執(zhí)行的時間及搜索的節(jié)點(diǎn)數(shù)或狀態(tài)數(shù)量。根據(jù)圖4 的實(shí)驗(yàn)結(jié)果,能夠得出BROLAMP 協(xié)議是安全的(SUMMARY:SAFE,GOAL:as_specified),并且可以抵抗重放攻擊和中間人攻擊。
圖4 AVISPA驗(yàn)證結(jié)果Fig.4 AVISPA validation results
本實(shí)驗(yàn)選取AVISPA 的即時模型檢驗(yàn)器(On-the-Fly Model Checker,OFMC)這一后臺工具,最終模擬出了惰性攻擊者可能的中間人攻擊流程,如圖5 所示,攻擊者因?yàn)闊o法得到原協(xié)議中的隨機(jī)運(yùn)算符順序表ST,因而無法獲得簡化協(xié)議中的共享密鑰Skt,所以令牌Tk不會被泄露,BRO-LAMP 協(xié)議是安全的。
圖5 AVISPA入侵者仿真Fig.5 Intruder simulation of AVISPA
本章在第3 章安全性理論分析的基礎(chǔ)上,重點(diǎn)分析了所提出的BRO-LAMP 協(xié)議在實(shí)際應(yīng)用中,為何滿足相關(guān)安全屬性的要求,以及在應(yīng)對各種安全問題時是如何保證系統(tǒng)安全性的。
BRO-LAMP 實(shí)現(xiàn)標(biāo)簽的識別是從標(biāo)簽注冊開始的,同時標(biāo)簽為了協(xié)商出令牌tk而向服務(wù)器端發(fā)送自己的唯一身份標(biāo)識TID。但是,標(biāo)簽發(fā)送TID只有在標(biāo)簽第一次接入系統(tǒng)時才會發(fā)生,之后該標(biāo)簽在此與系統(tǒng)內(nèi)的RFID 通信時,會用上一輪通信后更新的令牌tk來表明自己的身份。所以,攻擊者無法獲取每個標(biāo)簽的唯一身份標(biāo)識TID;并且在協(xié)議的每輪認(rèn)證中,令牌tk都會進(jìn)行動態(tài)的更新,同時用于更新的兩個隨機(jī)要素,由第i個注冊標(biāo)簽的基本令牌組bki中隨機(jī)抽取的bki,j,以及標(biāo)簽更新的隨機(jī)數(shù)順序表ST共同決定。隨機(jī)數(shù)n2是以密文的形式進(jìn)行傳輸,而ST也是動態(tài)更新的。所以,攻擊者無法在同一個標(biāo)簽的前后幾輪認(rèn)證之中截獲消息來提取不變的要素以定義追蹤標(biāo)簽。因此,BRO-LAMP 能夠有效抵御追蹤攻擊且標(biāo)簽?zāi)涿砸驳玫接行ПWC。
攻擊者在能獲取合法便簽的前提下,仿制該標(biāo)簽,并在芯片流片時燒錄原標(biāo)簽的數(shù)據(jù),最后取而代之。而作為BROLAMP 主體的閱讀器在識別標(biāo)簽時,只有識別第一次參與協(xié)議的標(biāo)簽才需要依靠其唯一身份標(biāo)識TID。之后由于頻繁的同步更新機(jī)制,BRO-LAMP在每輪認(rèn)證中,與不同標(biāo)簽的身份一一對應(yīng)的令牌都是新鮮且不可預(yù)測的。攻擊者通過克隆攻擊能夠獲得的TID等,既不能讓其辨別不同標(biāo)簽的身份,又不能幫助其推算出任何對于破解協(xié)議來說有效的秘密值。因此,BRO-LAMP能夠有效抵御克隆攻擊。
偽造攻擊是攻擊者通過冒充為協(xié)議某一合法參與方與另一方通信來實(shí)施的。在RFID系統(tǒng)中,偽造攻擊分為偽造標(biāo)簽與偽造閱讀器。
1)抗偽造標(biāo)簽。
攻擊者自己隨機(jī)生成一個tk′去偽裝成合法標(biāo)簽來與閱讀器交互。但是攻擊者無法獲得隨機(jī)運(yùn)算符順序表ST,而且tk′與tk很難碰撞成功,所以攻擊者提取n2的概率相較于被偽造標(biāo)簽以外的標(biāo)簽來說沒有優(yōu)勢。同時,若是攻擊者參與注冊成為一個新的合法標(biāo)簽,則首先其唯一身份標(biāo)識TID不可能與其他合法標(biāo)簽的碰撞,其次初始化中hash 函數(shù)的因子有其自身的TID參與混淆,所以也很難發(fā)生碰撞。因此,BROLAMP能夠抵御標(biāo)簽偽造攻擊。
2)抗偽造閱讀器。
攻擊者通過隨機(jī)生成一個n2'去偽裝成合法閱讀器來與某一標(biāo)簽交互。但是攻擊者無法從合法標(biāo)簽發(fā)送的消息中分離出隨機(jī)運(yùn)算符順序表ST,并且無法保持與合法標(biāo)簽同步更新令牌tk,所以其構(gòu)造的消息M5'=tk″?4'n2'和合法閱讀器構(gòu)造的M5不同。假設(shè)攻擊者成功侵入?yún)f(xié)議的初始化階段,從而獲取了合法標(biāo)簽的有效身份信息TID和tk,但是和標(biāo)簽的每輪認(rèn)證周期很短,單次通信時間屬于毫秒級操作,同時也難以通過經(jīng)過若干次更新的tk定位標(biāo)簽,所以攻擊者難以定位與捕捉已攻破的合法標(biāo)簽進(jìn)行通信。而且,服務(wù)器與閱讀器之前一般也通過了身份認(rèn)證,標(biāo)簽只需要查詢注冊階段閱讀器發(fā)送來的閱讀器的唯一身份標(biāo)識RID進(jìn)行查詢,就能定位到攻擊者的設(shè)備與身份。因此,BRO-LAMP 能夠抵御閱讀器偽造攻擊。
攻擊者通過破壞閱讀器與標(biāo)簽之間在非安全信道上傳輸?shù)哪承┫⒌囊恢滦?,使得協(xié)議雙方信息失去同步,從而阻礙正常的認(rèn)證。攻擊者實(shí)現(xiàn)去同步攻擊主要有兩種方式:一是截獲并篡改原有信息再發(fā)送給標(biāo)簽;二是截獲原有信息并立即重新發(fā)送給標(biāo)簽,阻止對方的信息更新,以中斷認(rèn)證過程,攻擊者甚至?xí)罅堪l(fā)送這些信息,通過分布式拒絕服務(wù)(Distributed Denial of Service,DDoS)攻擊的形式來達(dá)成這一目的。在BRO-LAMP 中,服務(wù)器端與標(biāo)簽都會額外存儲上一輪的認(rèn)證令牌tkold。當(dāng)遭受去同步攻擊導(dǎo)致服務(wù)器端與標(biāo)簽信息不一致,即某一方的令牌未及時更新時,認(rèn)證雙方中作為驗(yàn)證者的那一方會先用當(dāng)前輪次認(rèn)證令牌tknew進(jìn)行驗(yàn)證,若匹配失敗則再用上一輪成功通信的秘密值tkold進(jìn)行對照匹配,匹配成功就能通過驗(yàn)證,使得認(rèn)證流程繼續(xù)進(jìn)行并觸發(fā)更新。因此,BRO-LAMP能夠抵御去同步攻擊。
攻擊者成功捕獲合法標(biāo)簽的身份驗(yàn)證信息,并請求使用這段信息進(jìn)行身份驗(yàn)證,以欺騙合法標(biāo)標(biāo)簽或服務(wù)器。這種類型的攻擊適用于不及時更新密鑰的協(xié)議。另外,前后向安全性要求攻擊者無法通過當(dāng)前輪次認(rèn)證的正確認(rèn)證來推導(dǎo)出之前以及之后輪次的秘密信息。所提出的協(xié)議每輪認(rèn)證中的每一次信息交互后,令牌tk以及使用的運(yùn)算都會更新,每輪認(rèn)證的令牌tk、隨機(jī)運(yùn)算表ST以及隨機(jī)秘密值n1和n2也經(jīng)過更新或是重新生成。即不同輪次的秘密值均不同且不可預(yù)測,所以攻擊者截獲之前輪次的交互信息用于當(dāng)前輪次認(rèn)證的重放攻擊均不會成功,符合前向安全性的要求。而隨機(jī)運(yùn)算表ST的更新意味著之前所使用的運(yùn)算符與之后選取的沒有邏輯關(guān)聯(lián),是隨機(jī)不可預(yù)測的,符合后向安全性的要求。因此,BRO-LAMP能夠抵御重放攻擊,同時保證了前后向安全性。
攻擊者通過攔截正常的網(wǎng)絡(luò)通信數(shù)據(jù),并進(jìn)行數(shù)據(jù)篡改和嗅探來發(fā)動中間人攻擊,而通信的雙方卻毫不知情。所提出的協(xié)議在認(rèn)證階段的每一輪信息交互后,協(xié)議雙方都會同步更新令牌tk以及更新所使用的運(yùn)算符,當(dāng)攻擊者發(fā)動中間人攻擊后,雙方都能察覺到,所以篡改后的信息不會通過對方的驗(yàn)證。而在初始化階段,由于消息M1=h(n1)⊕n1中混淆進(jìn)了單向不可逆的輕量級hash 函數(shù),所以攻擊者無法通過截獲的M1‖M2‖TID中獲取隨機(jī)數(shù)n1,也就無法篡改M1‖M2‖TID。因此,BRO-LAMP 能夠抵御中間人攻擊。同時,即時同步更新機(jī)制與秘密值的更新或重新生成,也使得BRO-LAMP保證了數(shù)據(jù)的完整性和機(jī)密性。
本節(jié)主要結(jié)合第4 章分析的,BRO-LAMP 應(yīng)對多種惡意攻擊的抵御能力與所滿足的安全屬性,與其他常用RFID輕量級認(rèn)證協(xié)議進(jìn)行對比。
BRO-LAMP 與相關(guān)工作安全性能比較如表3 所示。根據(jù)表3 中所顯示的對比結(jié)果可知,相較于其他方案,只有本文提出的方案能夠滿足所有提到的安全需求。
表3 BRO-LAMP與相關(guān)方案安全屬性對比Tab.3 Comparison of security attributes between BRO-LAMP and other schemes
本節(jié)將從標(biāo)簽端的存儲空間消耗、信息生成時的計(jì)算開銷,以及認(rèn)證過程中的通信代價等方面進(jìn)行性能分析和對比。其中,BRO-LAMP所應(yīng)用的輕量級無源標(biāo)簽,參照華盛頓大學(xué)于2016 年基于英特爾公司提出的射頻能量捕獲技術(shù)實(shí)現(xiàn)的無線識別和感知平臺(Wireless Identification and Sensing Platform,WISP)這一新型標(biāo)簽,存儲交互的相關(guān)信息的長度為L,L=96 bit。而文獻(xiàn)[33]方案為了保證離散對數(shù)問題的困難性,密鑰長度選擇的是L′=L=1024 bit。
5.2.1 存儲空間消耗
BRO-LAMP 的標(biāo)簽需要存儲標(biāo)簽的唯一靜態(tài)身份標(biāo)識TID、隨機(jī)運(yùn)算符表ST=2L、基本令牌組中任意子令牌bki,j≥3L以及生成交互信息的密鑰,總存儲空間消耗至少是7L。
5.2.2 計(jì)算開銷
BRO-LAMP 中包含的運(yùn)算方式存在多種,比如輕量級hash函數(shù)(h)、模2L加法(+)以及異或運(yùn)算(⊕)等,但是每次不超過四種運(yùn)算。若是只討論認(rèn)證過程,每論認(rèn)證只需選取三種運(yùn)算,且都適用于輕量級無源標(biāo)簽。
5.2.3 雙向認(rèn)證通信代價
BRO-LAMP是一個雙向認(rèn)證協(xié)議,新一輪認(rèn)證周期中,標(biāo)簽收到閱讀器發(fā)來的激勵信號后首先發(fā)送證令牌tk請求服務(wù)器識別,接著閱讀器發(fā)送M3以傳遞秘密值n2,然后標(biāo)簽發(fā)送M4請求閱讀器驗(yàn)證自身身份,閱讀器再發(fā)送M5向標(biāo)簽證實(shí)自身身份,最后雙方同步更新信息。每輪認(rèn)證周期內(nèi),BROLAMP產(chǎn)生的總體通信量是4L。
BRO-LAMP 與部分輕量級RFID 認(rèn)證協(xié)議的資源利用性能比較如表4 所示。其中,由于服務(wù)器端的計(jì)算能力不受設(shè)備資源條件的制約,所以計(jì)算開銷僅針對標(biāo)簽進(jìn)行分析??臻g消耗的計(jì)算單位為比特。根據(jù)表4 中所顯示的對比結(jié)果,文獻(xiàn)[17]方案中的LMAP 協(xié)議雖然開銷較小,但安全性不足;而文獻(xiàn)[33]方案提供的安全性強(qiáng),但通信開銷和標(biāo)簽存儲開銷遠(yuǎn)大于其他輕量級方案,只有本文提出的方案能夠在達(dá)到足夠安全性的同時消耗較少的資源。
表4 BRO-LAMP與相關(guān)方案性能對比Tab.4 Performance comparison between BRO-LAMP and other schemes
為了適應(yīng)低成本RFID系統(tǒng)存儲與計(jì)算資源受限的場景,同時保護(hù)通信的安全與標(biāo)簽的隱私,本文提出了一種新的基于隨機(jī)運(yùn)算符的方法,通過隨機(jī)數(shù)保護(hù)無線信道中傳輸?shù)拿孛苤?;同時基于k-匿名的思想,通過基本令牌組中隨機(jī)選取子令牌bki,j配合隨機(jī)選取的運(yùn)算符實(shí)現(xiàn)令牌tk的更新,以此為基礎(chǔ)提出了一種新的RFID 認(rèn)證協(xié)議BRO-LAMP。通過安全性分析與性能分析可知,所提方案被證明是可行、有效、實(shí)用的。
接下來,我們首先將會加強(qiáng)協(xié)議對側(cè)信道攻擊(Side Channel Attack,SCA)等針對電子設(shè)備運(yùn)行中產(chǎn)生的參數(shù)被攻擊者檢測到,而產(chǎn)生信息泄露的攻擊行為的抵抗。其次,本文提出的協(xié)議的安全性,很大程度上依賴隨機(jī)運(yùn)算符表ST的生成與更新,進(jìn)一步說是依賴于洗牌算法Shuffle 所使用的種子Seed的隨機(jī)性。所以,未來我們將設(shè)計(jì)并使用基于物理不可克隆函數(shù)的真隨機(jī)數(shù)發(fā)生器(True Random Number Generator,TRNG)來改進(jìn)Shuffle 算法,進(jìn)一步增加種子Seed的隨機(jī)性與不可預(yù)測性。