劉 鵬
(海軍潛艇學(xué)院, 山東 青島 266000)
目前,RFID系統(tǒng)已廣泛應(yīng)用于諸多重要裝備管理系統(tǒng),該系統(tǒng)對大量標(biāo)簽的讀取、識別技術(shù)已經(jīng)較為成熟,例如文獻(xiàn)[1-2]等已取得一定成果,而且已在管理、生產(chǎn)、信息傳輸?shù)确矫娴玫搅藦V泛的現(xiàn)實應(yīng)用,被認(rèn)為是21世紀(jì)最有發(fā)展前途的信息技術(shù)。多標(biāo)簽RFID系統(tǒng)是將多個RFID標(biāo)簽裝備至多個重要部件上,形成特定標(biāo)簽組,通過利用RFID讀寫器驗證標(biāo)簽組完整性確定重要部件同時存在,以達(dá)到驗證裝備整體完整的目的,此技術(shù)對于大型裝備運輸、搶險救災(zāi)等領(lǐng)域具有重要意義。但是受RFID系統(tǒng)特點的制約,在驗證多標(biāo)簽共存性的時候很容易受到攻擊者實施的重放攻擊、跟蹤攻擊等,對裝備完整性驗證存在很大的威脅。由于人們?nèi)找孀⒅匦畔踩c隱私,上述缺點一直是制約國內(nèi)外RFID技術(shù)發(fā)展的重要因素。本文通過分析現(xiàn)有多標(biāo)簽共存性證明協(xié)議,提出了一種可以抵抗上述攻擊的新型證明協(xié)議,分析了其安全性[3]。
最初的多標(biāo)簽共存協(xié)議設(shè)計者將兩個標(biāo)簽的共存證明稱為共軛證明協(xié)議[4],在驗證過程中讀寫器收集驗證信息,然后由服務(wù)器進(jìn)行驗證。其驗證具體過程如下:
① 讀寫器R向標(biāo)簽Ta發(fā)送申請;
② 標(biāo)簽Ta被激活之后向讀寫器R發(fā)送自己的身份信息與隨機(jī)數(shù)(AID、rA),其中AID為標(biāo)簽A的身份信息,rA為標(biāo)簽A產(chǎn)生的隨機(jī)數(shù);
③ 讀寫器向標(biāo)簽Tb發(fā)送讀寫申請與Ta產(chǎn)生的隨機(jī)數(shù);
④ 當(dāng)Tb收到R發(fā)送的信息之后,計算出M2=HKb(rA),其中HK( )為標(biāo)簽儲存的保密單向函數(shù);
⑤Tb將計算的結(jié)果M2與自己的身份信息BID以及其產(chǎn)生的隨機(jī)數(shù)rB一同發(fā)送給讀寫器;
⑥ 讀寫器向Ta轉(zhuǎn)發(fā)rB;
⑦Ta計算信息M1=HKa(rB);
⑧Ta向讀寫器發(fā)送其計算結(jié)果M1;
⑨ 讀寫器集合M1、M2、AID、BID、rA、rB作為驗證的結(jié)果一同遞交給后端服務(wù)器進(jìn)行驗證。
服務(wù)器根據(jù)AID、BID檢索出相應(yīng)的密鑰,并利用單向函數(shù)計算M1、M2,當(dāng)計算結(jié)果與收到的結(jié)果相同時,可以判斷標(biāo)簽Ta與Tb同時共存。
很明顯可以看出,當(dāng)攻擊者偽裝成合法的讀寫器時,可以通過重放標(biāo)簽Tb的信息而達(dá)到欺騙后端服務(wù)器的目的,進(jìn)而達(dá)到欺騙管理者的目的[5-6]。
為了抵抗上節(jié)中提到的共軛協(xié)議中的重放攻擊,國外有研究者提出了一個群組證明協(xié)議。該協(xié)議是在原有協(xié)議的基礎(chǔ)上加入時間戳,想以此來達(dá)到抵抗重放攻擊的目的。其流程如圖1所示。
其中T為在線服務(wù)器生成的時間戳,Ka、Kb為標(biāo)簽與服務(wù)器共享的密鑰。從服務(wù)器發(fā)送時間戳開始到接收到驗證信息的時間差為Δ,設(shè)計者認(rèn)為當(dāng)Δ大于一定的值時認(rèn)為它受到了重放攻擊。但是,攻擊者可以偽裝成讀寫器,向標(biāo)簽A重復(fù)發(fā)送大量的未來時間T′,這樣攻擊者就可以獲得多個未來的(T,M1)對,以后再將其發(fā)送給標(biāo)簽B就可以出現(xiàn)Δ較小的情況,在標(biāo)簽不共存的情況下達(dá)到欺騙服務(wù)器的目的[7],同樣達(dá)到了欺騙管理者的目的。
另外,研究者還提出了一些其他的證明協(xié)議,例如存在性證明、安全時間戳證明與時間戳鏈證明等,但是都存在一些漏洞,導(dǎo)致共存性證明的失敗[8-11]。一旦攻擊者成功偽造驗證數(shù)據(jù),服務(wù)器將認(rèn)定多標(biāo)簽共同存在,可能會對武器裝備完整性評估造成巨大影響,直接形成嚴(yán)重?fù)p失。
由上一節(jié)對共存證明協(xié)議的介紹可知,為了保證安全協(xié)議的有效性,必須滿足以下幾點:一是抵抗攻擊者的跟蹤攻擊,防止重要武器系統(tǒng)、設(shè)備設(shè)施暴露;二是對重放攻擊有一定的免疫能力,防止攻擊者欺騙服務(wù)器以偽造存在性;三是最后的證明信息要與所有參與證明的標(biāo)簽信息相關(guān)聯(lián),保證所驗證的標(biāo)簽組的準(zhǔn)確性;四是保證標(biāo)簽信息的安全性,例如共享密鑰、內(nèi)存信息等,防止重要標(biāo)簽被偽造。根據(jù)這些要求,設(shè)計了一個標(biāo)簽共存證明協(xié)議,在RFID系統(tǒng)中實現(xiàn)多標(biāo)簽共存問題的證明,同時可以有效抵抗上文中提到的各類已知攻擊手段,其雙標(biāo)簽共存證明過程如圖2所示。
協(xié)議中x為標(biāo)簽與后端服務(wù)器共享的秘密信息;tA、tB為標(biāo)簽A、B生成的時間信息;H( )為單向函數(shù);IDA、IDB為標(biāo)簽的身份標(biāo)識號;⊕為同或運算符。
具體證明過程如下:
① 讀寫器R向標(biāo)簽A發(fā)送證明申請Query;
② 標(biāo)簽A利用自身存儲的秘密信息x及生成的時間戳tA進(jìn)行單向加密,并生成M1=H(x⊕tA)⊕IDA,將M1與tA發(fā)送到讀寫器R;
③ 讀寫器R將M1轉(zhuǎn)發(fā)至待證明的標(biāo)簽B,標(biāo)簽B計算證明信息M2=H(x⊕M1⊕tB)⊕IDB;
④ 標(biāo)簽B將M2及tB發(fā)送至讀寫器R;
⑤ 讀寫器集合驗證信息P=(tA,tB,M1,M2),并將其發(fā)送到后端服務(wù)器S;
⑥ 服務(wù)器利用安全存儲的x驗證Δt=tB-tA及標(biāo)簽的ID信息,并將驗證結(jié)果反饋至讀寫器。
其中關(guān)鍵是對系統(tǒng)證明的時間長度設(shè)置一個閾值,當(dāng)后端服務(wù)器接收到證明信息P后,先驗證Δt=tB-tA與tB的值是否在合理的范圍之內(nèi),如果Δt太大則證明是攻擊者發(fā)起的重放攻擊,如果tB小于tA則說明是攻擊者之前偽裝成讀寫器騙取的證明數(shù)據(jù),否則利用數(shù)據(jù)庫中存儲的共享秘密信息x恢復(fù)出標(biāo)簽的ID信息,如果與數(shù)據(jù)庫中存儲的相同則完成共存證明,認(rèn)為兩個標(biāo)簽同時存在。在進(jìn)行⑤⑥兩步時,利用讀寫器后端服務(wù)器之間的密碼算法對數(shù)據(jù)進(jìn)行處理并加入時間戳進(jìn)行加密傳輸。
當(dāng)進(jìn)行多個標(biāo)簽共存性證明時,可采用與2.1節(jié)相同的原理運行協(xié)議。對第n個標(biāo)簽進(jìn)行證明的過程如圖3所示。其中t為標(biāo)簽生成的時間信息,ID為標(biāo)簽的身份標(biāo)識號。
對每個標(biāo)簽進(jìn)行證明時都會有前面全部標(biāo)簽的信息參與。
① 讀寫器向第n個標(biāo)簽發(fā)送證明信息Mn-1;
② 標(biāo)簽利用共享的秘密信息與自己的身份信息計算Mn=H(x⊕Mn-1⊕tn)⊕IDn;
③ 讀寫器利用安全信道向后端服務(wù)器發(fā)送最終的共存證明信息P=(t1,t2…tn,M1,M2…,Mn);
④ 當(dāng)后端服務(wù)器收到證明信息后按照雙標(biāo)簽共存證明的步驟進(jìn)行驗證,并把最終的結(jié)果反饋給讀寫器,由讀寫器進(jìn)行下一步的處理。
假設(shè)將多標(biāo)簽系統(tǒng)應(yīng)用于某構(gòu)造復(fù)雜的武器系統(tǒng)運輸布防當(dāng)中,為完成快速運輸、正確布防,需要實時掌握該武器系統(tǒng)的完整性,即防止在運輸過程中某部件遺落或遭竊取。此時對多標(biāo)簽共存性的實時證明就顯得尤為重要。
1) 防跟蹤分析。新設(shè)計的協(xié)議當(dāng)中,當(dāng)讀寫器向標(biāo)簽發(fā)送證明申請后,標(biāo)簽利用自己的身份標(biāo)識制作唯一的證明信息作為反饋,由于含有不同的時間戳信息,每次反饋的內(nèi)容并不相同。當(dāng)攻擊者冒充讀寫器反復(fù)發(fā)送申請時,并不會得到相同的回復(fù),試圖根據(jù)標(biāo)簽的反饋而確定特定標(biāo)簽位置的攻擊行為是不能實現(xiàn)的。而在第1節(jié)中提到的共存證明協(xié)議,標(biāo)簽每次向讀寫器反饋相同的信息(AID、rA),攻擊者可以通過跟蹤(AID、rA)而定位標(biāo)簽位置,進(jìn)而定位武器裝備的方位,對重要戰(zhàn)略物資安全產(chǎn)生重大威脅。
2) 抗重放分析。新協(xié)議中標(biāo)簽每次發(fā)送的證明信息當(dāng)中都含有時間戳t,系統(tǒng)會驗證完成一次證明過程的時間差,超過時間閾值的證明行為視為無效。而第1節(jié)中提到的共存協(xié)議中,攻擊者可事先截取重要武器裝備反饋的標(biāo)簽信息,當(dāng)該武器裝備被竊取后向讀寫器重放該標(biāo)簽信息,誤導(dǎo)后端服務(wù)器,造成該武器系統(tǒng)在位的假象。
3) 信息保密分析。雖然標(biāo)簽與讀寫器之間的通信是經(jīng)開放的無線信道進(jìn)行,但是秘密信息都是經(jīng)單向函數(shù)處理后傳播的,只有沒有意義的時間戳是明文傳遞,攻擊者不會從公開信道中獲得武器裝備的任何信息(例如名稱、型號、參數(shù)等)。
本文對現(xiàn)有的雙標(biāo)簽認(rèn)證協(xié)議進(jìn)行分析,結(jié)合RFID系統(tǒng)的特點設(shè)計了一個雙標(biāo)簽共存驗證協(xié)議并將其擴(kuò)展為多標(biāo)簽共存驗證協(xié)議,通過安全分析證明其可以抵抗現(xiàn)有的攻擊手段,在保證系統(tǒng)安全的前提下確認(rèn)“標(biāo)簽組”的存在,具有現(xiàn)實應(yīng)用價值。
:
[1] 于銀山,俞曉磊,劉佳玲,等.利用Fisher矩陣的RFID多標(biāo)簽最優(yōu)分布檢測方法[J].西安電子科技大學(xué)學(xué)報(自然科學(xué)版),2016,43(2):108-113.
[2] 宋建華,郭亞軍,韓蘭勝,等.自調(diào)整混合樹RFID多標(biāo)簽防碰撞算法[J].電子學(xué)報,2014,42(4):685-689.
[3] 張士庚,劉光亮,劉璇,等.大規(guī)模RFID系統(tǒng)中一種能量有效的丟失標(biāo)簽快速檢測算法[J].計算機(jī)學(xué)報,2014,37(2):434-444.
[4] JUELS A,BEDFORD M A.“Yoking Proofs” for RFID Tags[C]//Proceedings of the Second IEEE Annual Conference,USA:IEEE Press,2004:138-143.
[5] 褚貴祥.低成本的RFID網(wǎng)絡(luò)所有權(quán)安全轉(zhuǎn)移算法[J].計算機(jī)與現(xiàn)代化,2016(10):84-91.
[6] 王國偉,賈宗璞,彭維平.改進(jìn)的無后臺數(shù)據(jù)庫RFID認(rèn)證協(xié)議[J].河南理工大學(xué)學(xué)報(自然科學(xué)版),2016,35(3):408-419.
[7] PIRAMUTHU S.On existence proofs for multiple RFID tags [C]//Proceedings of the ACS/IEEE International Conference on Pervasive Services, Lyon: IEEE Press,2006:317-320.
[8] 曾立君.安全認(rèn)證協(xié)議研究[D].鄭州:解放軍信息工程大學(xué),2007.
[9] 梁雪萍,馬存慶,梁穎升.一種快速檢測RFID丟失標(biāo)簽的方法[J].計算機(jī)工程,2016(1):133-137.
[10]姜昆,楊日杰,蘇里陽.RFID技術(shù)在武器裝備倉儲管理中的應(yīng)用[J].兵器裝備工程學(xué)報,2016(7):74-77.
[11]王松.RFID系統(tǒng)防沖突算法的研究與實現(xiàn)[D].天津:天津理工大學(xué),2012.