梅松青,鄧小茹
廣州醫(yī)科大學(xué),廣州510006
射頻識別技術(shù)出現(xiàn)于二十世紀(jì)三四十年代,大面積推廣在二十世紀(jì)九十年代。因當(dāng)時(shí)技術(shù)受限,及人們需求不大等眾多因素,射頻識別技術(shù)在應(yīng)用中的RFID系統(tǒng)中讀寫器與服務(wù)器之間基于有線連接鏈路進(jìn)行信息交換,該交換方式一般認(rèn)定為安全可靠,并將該系統(tǒng)稱之為傳統(tǒng)的RFID系統(tǒng)[1-2]。
進(jìn)入二十一世紀(jì),伴隨著科技的快速發(fā)展,以及人類需求的增長,傳統(tǒng)的RFID系統(tǒng)早已無法滿足人們的需求,于是導(dǎo)致移動(dòng)式RFID系統(tǒng)的產(chǎn)生[3]。移動(dòng)式RFID系統(tǒng)區(qū)別于傳統(tǒng)的RFID系統(tǒng)最大的不同之處在于:移動(dòng)式RFID系統(tǒng)中讀寫器與服務(wù)器之間的通信不在基于有線連接鏈路,而是采用無線連接線路進(jìn)行信息傳送。無線鏈路因其自身固有的屬性,使得該傳輸方式存在一定的安全隱患[4-5]。適用于傳統(tǒng)RFID系統(tǒng)的雙向認(rèn)證協(xié)議不再適用于移動(dòng)式RFID系統(tǒng)中,因此需要設(shè)計(jì)適用于移動(dòng)式的RFID系統(tǒng)的新雙向認(rèn)證協(xié)議。
在分析近些年提出的適用于移動(dòng)式RFID系統(tǒng)協(xié)議的基礎(chǔ)之上,文中給出一種基于位替換運(yùn)算的超輕量級的適用于移動(dòng)式的RFID系統(tǒng)的雙向認(rèn)證協(xié)議。為達(dá)到降低通信實(shí)體計(jì)算量的目標(biāo),設(shè)計(jì)的協(xié)議采用位運(yùn)算進(jìn)行信息的加密;同時(shí)對協(xié)議進(jìn)行基于GNY邏輯形式化分析和安全性分析。
文獻(xiàn)[6]中提出單向認(rèn)證的移動(dòng)認(rèn)證協(xié)議,分析發(fā)現(xiàn)該協(xié)議無法抵抗中間人攻擊及重放攻擊。文獻(xiàn)[7]中提出了一種基于橢圓曲線的移動(dòng)認(rèn)證協(xié)議,但分析發(fā)現(xiàn),該方案不能確保讀寫器端隱私的安全,同時(shí)標(biāo)簽端的計(jì)算量也較大。
文獻(xiàn)[8]中給出一個(gè)輕量級的移動(dòng)雙向認(rèn)證協(xié)議,協(xié)議對信息的加密主要基于PUF函數(shù)(物理不可克隆函數(shù))。對協(xié)議進(jìn)行分析:協(xié)議無法抵抗異步攻擊。攻擊者通過監(jiān)聽可獲取完整的通信消息,在阻塞通信實(shí)體會話過程時(shí),攻擊者通過將監(jiān)聽獲取的信息進(jìn)行重放多次,即可使得標(biāo)簽一端與后端服務(wù)器之間的共享加密密鑰失去一致性,使得攻擊者發(fā)起的異步攻擊成功。
文獻(xiàn)[9]中設(shè)計(jì)出一個(gè)超輕量級的移動(dòng)認(rèn)證協(xié)議,該協(xié)議基于按位操作實(shí)現(xiàn)對信息的加密。對協(xié)議研究:攻擊者可以通過一定的物理手段獲取隱私信息,從而使得攻擊者可以假冒成標(biāo)簽或其他通信實(shí)體進(jìn)一步進(jìn)行攻擊,以便于獲取更多的隱私信息,使得攻擊者發(fā)起的假冒攻擊成功。
文獻(xiàn)[10]中提出的基于Edwards曲線的移動(dòng)協(xié)議,分析可得知該協(xié)議在認(rèn)證過程中并未實(shí)現(xiàn)讀寫器對標(biāo)簽的認(rèn)證,使得攻擊者可以假冒標(biāo)簽發(fā)送信息,從而使得協(xié)議無法抵抗標(biāo)簽假冒攻擊。
文獻(xiàn)[11]提出一個(gè)移動(dòng)雙向認(rèn)證協(xié)議,該協(xié)議具備一定的安全性。對協(xié)議分析:協(xié)議未提供標(biāo)簽一端對讀寫器的認(rèn)證,使得攻擊者可以假冒成讀寫器給標(biāo)簽發(fā)送信息,以便于攻擊者通過標(biāo)簽的驗(yàn)證,獲取標(biāo)簽反饋的信息,對消息進(jìn)行分析,使得攻擊者發(fā)起的假冒攻擊有效。
鑒于篇幅有限,更多移動(dòng)式RFID系統(tǒng)雙向認(rèn)證協(xié)議可以參見文獻(xiàn)[12-16]。
鑒于上述移動(dòng)式雙向認(rèn)證協(xié)議存在的計(jì)算量大、通信復(fù)雜或存在安全缺陷等不足,文中設(shè)計(jì)出一種能夠滿足較高安全需求的認(rèn)證協(xié)議MSB。MSB協(xié)議采用位替換運(yùn)算對所要傳送的信息進(jìn)行加密,盡可能降低通信實(shí)體的計(jì)算量;為能夠增大攻擊者的破解難度,所有信息加密過程中混入隨機(jī)數(shù)。對協(xié)議進(jìn)行安全性分析和性能分析,表明協(xié)議具備較高的安全性,且協(xié)議能夠適用于移動(dòng)式的無源標(biāo)簽系統(tǒng)中。
為便于文中描述,用符號Bro(X,Y)表示位替換運(yùn)算(Bit Replacement Operation,Bro)。位替換運(yùn)算按如下定義進(jìn)行計(jì)算:X和Y屬于二進(jìn)制序列,長度均為L位;對X和Y均從左向右依次遍歷,當(dāng)X上的數(shù)為0時(shí),將Y上相對應(yīng)的數(shù)替換(0替換為1,1替換為0),X上的數(shù)為1時(shí),Y不做任何操作,從而形成一個(gè)新的二進(jìn)制序列Z,即Z=Bro(X,Y)。
為便于對位替換運(yùn)算的理解,文中給出如下例子進(jìn)行解釋:取L=8位,X=01100101,Y=00001100,則根據(jù)上述有關(guān)位替換運(yùn)算的定義可得Z=Bro(X,Y)=10010110。具體示意圖見圖1所示。
圖1 位替換運(yùn)算示意圖
對協(xié)議中出現(xiàn)的符號進(jìn)行如表1說明。
表1 符號說明
認(rèn)證協(xié)議開始之前,對協(xié)議中的所有通信實(shí)體進(jìn)行初始化操作,初始化完成之后,各通信實(shí)體存放信息如下:標(biāo)簽端存放(KL,KR,IDTag);移動(dòng)讀寫器端存放(KL,KR,IDReader);服務(wù)器端存放(KL,KR,IDTag,IDReader)。
雙向認(rèn)證協(xié)議MSB認(rèn)證過程描述可參見圖2所示。
圖2 MSB認(rèn)證示意圖
對圖2中雙向認(rèn)證協(xié)議出現(xiàn)的符號進(jìn)行如表2中的公式說明。
表2 公式說明
結(jié)合圖2雙向認(rèn)證協(xié)議MSB具體過程描述如下:
步驟1讀寫器產(chǎn)生隨機(jī)數(shù)rReader,然后計(jì)算A和B,最后將<Query,A,B>一并傳送給標(biāo)簽。
其中A和B計(jì)算過程詳細(xì)見表2所示。
步驟2標(biāo)簽比對A⊕KR與B⊕KL是否相等。若A⊕KR=B⊕KL,則讀寫器通過驗(yàn)證,然后標(biāo)簽產(chǎn)生隨機(jī)數(shù)rTag,接著計(jì)算C、D、E、F,最后將<C,D,E,F>一并傳送給讀寫器,以表示標(biāo)簽對讀寫器的響應(yīng)。若A⊕KR≠B⊕KL,表明讀寫器是偽造的,協(xié)議停止。
其中C、D、E、F計(jì)算過程詳細(xì)見表2所示。
步驟3讀寫器通過計(jì)算(rReader&KR)⊕C得到隨機(jī)數(shù)rTag;然后將計(jì)算所得隨機(jī)數(shù)rTag,結(jié)合rReader、KL進(jìn)行計(jì)算得到F′,比對F′與F是否相等。
若F′=F,表明讀寫器計(jì)算所得隨機(jī)數(shù)rTag與標(biāo)簽產(chǎn)生的隨機(jī)數(shù)rTag是相同的,且標(biāo)簽通過驗(yàn)證,然后讀寫器再計(jì)算G和H,最后將<D,E,G,H>一并傳送給服務(wù)器。
若F′≠F,說明標(biāo)簽是偽造的,協(xié)議停止。
其中F′=Bro(rReader&KL,(rReader&KR)⊕C);G、H計(jì)算過程詳細(xì)見表2所示。
步驟4服務(wù)器分兩步進(jìn)行,先對讀寫器進(jìn)行驗(yàn)證,當(dāng)且僅當(dāng)讀寫器驗(yàn)證通過,再對標(biāo)簽進(jìn)行驗(yàn)證。
(1)對讀寫器的驗(yàn)證
服務(wù)器通過計(jì)算G⊕IDReader得到隨機(jī)數(shù)rReader;然后將計(jì)算所得隨機(jī)數(shù)rReader,結(jié)合IDReader、KL進(jìn)行計(jì)算得到H′,比對H′與H是否相等。
若H′=H,表明服務(wù)器計(jì)算所得隨機(jī)數(shù)rReader與讀寫器產(chǎn)生的隨機(jī)數(shù)rReader是相同的,且讀寫器通過驗(yàn)證,然后服務(wù)器開始對標(biāo)簽的驗(yàn)證。
若H′=H,服務(wù)器將用Kold替換Knew再次進(jìn)行計(jì)算H″。將再次比對H″與H是否相等。如果H″=H,表明讀寫器通過驗(yàn)證,然后服務(wù)器開始對標(biāo)簽的驗(yàn)證。如果仍然H″=H,說明讀寫器是偽造的,協(xié)議停止。
其中H′=Bro((G⊕IDReader)⊕(IDReader&KL),(G⊕IDReader)&IDReader)、H″=Bro((G⊕IDReader)⊕(IDReader&G⊕IDReader)&IDReader)。
(2)對標(biāo)簽的驗(yàn)證
服務(wù)器通過計(jì)算(IDTag&KL)⊕D得到隨機(jī)數(shù)rTag;然后將計(jì)算所得隨機(jī)數(shù)rTag,結(jié)合KR進(jìn)行計(jì)算得到E′,比對E′與E是否相等。
若E′=E,表明服務(wù)器計(jì)算所得隨機(jī)數(shù)rTag與標(biāo)簽產(chǎn)生的隨機(jī)數(shù)rTag是相同的,且標(biāo)簽通過驗(yàn)證,然后服務(wù)器進(jìn)行步驟(1)。
若E′≠E,服務(wù)器將用Kold替換Knew再次進(jìn)行計(jì)算E″。將再次比對E″與E是否相等。如果E″=E,表明標(biāo)簽通過驗(yàn)證,然后服務(wù)器進(jìn)行步驟(1)。如果仍然E″≠E,說明標(biāo)簽是偽造的,協(xié)議停止。
其中E′=Bro((IDTag&KL)⊕D,((IDTag&KL)⊕D)⊕KR)、E″=Bro((IDTag&)⊕D,((IDTag&⊕D)⊕
步驟(1):服務(wù)器產(chǎn)生隨機(jī)數(shù)rDataBase,然后計(jì)算I、J、M、N;接著服務(wù)器開始進(jìn)行信息更新Kold=K、K=Knew;最后將<I,J,M,N>一并傳送給讀寫器,以表示服務(wù)器對讀寫器的響應(yīng)。
其中Knew=Bro(rDataBase⊕rTag⊕rReader,K);J、M、N計(jì)算過程詳細(xì)見表2所示。
步驟5讀寫器通過計(jì)算I⊕(rReader&IDReader)得到隨機(jī)數(shù)rDataBase,然后將計(jì)算所得隨機(jī)數(shù)rDataBase,結(jié)合IDReader、rReader進(jìn)行計(jì)算得到M′,比對M′與M是否相等。
若M′=M,表明讀寫器計(jì)算所得隨機(jī)數(shù)rDataBase與服務(wù)器產(chǎn)生的隨機(jī)數(shù)rDataBase是相同的,且服務(wù)器通過驗(yàn)證;然后讀寫器計(jì)算Q;接著讀寫器開始進(jìn)行信息更新K=Bro(rDataBase⊕rTag⊕rReader,K);最后將<J,N,Q>一并傳送給標(biāo)簽。
若M′≠M(fèi),說明服務(wù)器是偽造的,協(xié)議停止。
其中M′=Bro(rReader,(I⊕(rReader&IDReader))&IDReader);Q計(jì)算過程詳細(xì)見表2所示。
步驟6標(biāo)簽需要完成對讀寫器和服務(wù)器的驗(yàn)證。
(1)對服務(wù)器的驗(yàn)證
標(biāo)簽通過計(jì)算J⊕(rTag&IDTag)得到隨機(jī)數(shù)rDataBase,然后將計(jì)算所得隨機(jī)數(shù)rDataBase,結(jié)合rTag、IDTag計(jì)算得到N′,比對N′與N是否相等。
若N′=N,表明標(biāo)簽計(jì)算所得隨機(jī)數(shù)rDataBase與服務(wù)器產(chǎn)生的隨機(jī)數(shù)rDataBase是相同的,且服務(wù)器通過驗(yàn)證,然后標(biāo)簽開始對讀寫器進(jìn)行驗(yàn)證。
若N′≠N,說明服務(wù)器是偽造的,協(xié)議停止。
其中N′=Bro(rTag,(J⊕(rTag&IDTag))&IDTag)。
(2)對讀寫器的驗(yàn)證
標(biāo)簽通過上述(1)中計(jì)算得到的隨機(jī)數(shù)rDataBase,結(jié)合rTag、rReader計(jì)算得到Q′,比對Q′與Q是否相等。
若Q′=Q,表明讀寫器通過驗(yàn)證,接著標(biāo)簽開始更新信息K=Bro(rDataBase⊕rTag⊕rReader,K);待信息更新完成,通信實(shí)體之間的認(rèn)證結(jié)束。
若Q′≠Q(mào),說明讀寫器是偽造的,協(xié)議停止。
其中Q′=rReader&(J⊕(rTag&IDTag))&rTag。
(1)重放攻擊
攻擊者想要發(fā)起重放攻擊需先進(jìn)行竊聽以獲取上一輪通信消息,通過將竊聽所獲取再次發(fā)送給通信系統(tǒng)中的一方,以企圖驗(yàn)證通過,從而獲取相對應(yīng)的隱私信息。文中協(xié)議為抵抗攻擊者發(fā)動(dòng)的重放攻擊,在所有通信消息加密過程中全部混入隨機(jī)數(shù),使得前后兩輪通信中消息并不一致。因隨機(jī)數(shù)隨機(jī)產(chǎn)生,且具備不重復(fù)性,使得混入隨機(jī)數(shù)加密的通信消息前后不同,且無法預(yù)測。因此,當(dāng)攻擊者重放監(jiān)聽獲取上一輪消息時(shí),當(dāng)前正在進(jìn)行的通信中用到的消息值早已發(fā)生變化,故攻擊者發(fā)動(dòng)的重放攻擊失敗,協(xié)議能夠抵抗重放攻擊。
(2)異步攻擊
攻擊者通過某種手段使得通信系統(tǒng)中,其中一方通信實(shí)體加密用到的共享密鑰進(jìn)行更新,而另一方通信實(shí)體加密用到的共享密鑰未進(jìn)行更新或更新過程中用到的參數(shù)值不同,從而使得兩個(gè)通信實(shí)體之間共享密鑰失去一致性。文中協(xié)議為抵抗異步攻擊,在服務(wù)器端特地存放當(dāng)前一輪通信過程中的共享密鑰值,且同時(shí)保存上一輪通信中用到的共享密鑰值。當(dāng)服務(wù)器用當(dāng)前密鑰無法驗(yàn)證讀寫器或標(biāo)簽之時(shí),將會調(diào)用上一輪密鑰再次發(fā)起對標(biāo)簽或讀寫器的驗(yàn)證,以此方法來抵抗攻擊者發(fā)起的異步攻擊?;谏鲜?,協(xié)議能夠抵抗異步攻擊。
(3)中間人攻擊
攻擊者通過竊聽一個(gè)會話過程,以此獲取通信消息,對獲取的消息進(jìn)行刪除或篡改等操作,以發(fā)起中間人攻擊,達(dá)到通過通信實(shí)體驗(yàn)證通過的目的。文中協(xié)議為抵抗該種攻擊方式,信息加密過程中引入隨機(jī)數(shù),對于攻擊者來說并不知道每輪加密過程中用到的隨機(jī)數(shù);且因隨機(jī)數(shù)隨機(jī)產(chǎn)生,具備無法預(yù)測性,因此攻擊者再不知道隨機(jī)數(shù)的前提下,想要發(fā)起中間人攻擊,就只能隨機(jī)選擇一個(gè)數(shù)作為隨機(jī)數(shù)進(jìn)行消息的修改或篡改。當(dāng)系統(tǒng)中任何一個(gè)通信實(shí)體接收到消息后,通過簡單的計(jì)算就可以識別出消息發(fā)送源是偽造的,協(xié)議立刻停止。基于上述,因此協(xié)議能夠抵抗中間人攻擊。
(4)前向安全
前向安全是指攻擊者通過某種手段獲取的當(dāng)前通信中的消息,對該消息進(jìn)行各種方式的分析,也無法預(yù)測出下一輪通信過程中用到的消息的值,以保證隱私信息的安全性。文中協(xié)議為確保能夠提供前向安全需求,標(biāo)簽一端通過隨機(jī)數(shù)rTag來保證消息的新鮮性;讀寫器一端通過隨機(jī)數(shù)rReader來保證消息的新鮮性;服務(wù)器一端通過隨機(jī)數(shù)rDataBase來保證消息的新鮮性。隨機(jī)數(shù)每輪都是隨機(jī)產(chǎn)生,且具備無法預(yù)測性和不重復(fù)性,使得攻擊者根本無法預(yù)測下輪通信中加密用到的隨機(jī)數(shù),自然使得攻擊者無法通過當(dāng)前獲取的消息分析出任何有用的隱私信息?;谏鲜?,協(xié)議能夠提供前向安全。
(5)假冒攻擊
假冒攻擊是指攻擊者偽裝成通信實(shí)體中的一方向另外的通信實(shí)體發(fā)送消息,以通過驗(yàn)證,并獲取相關(guān)隱私信息。文中協(xié)議中通信實(shí)體有三個(gè):標(biāo)簽、讀寫器、服務(wù)器。對于攻擊者來說,可以偽裝成任何其中的一方發(fā)起重放攻擊,鑒于篇幅有限,此處僅選擇攻擊者偽裝成標(biāo)簽發(fā)起假冒攻擊。
當(dāng)攻擊者偽裝成標(biāo)簽之時(shí),向讀寫器發(fā)送消息。攻擊者要想向讀寫器發(fā)送的消息通過讀寫器的驗(yàn)證,則攻擊者需要計(jì)算出正確的<C、D、E、F>值。但對于攻擊者來說,是不可能做到正確計(jì)算上述四個(gè)通信消息的值,原因如下:攻擊者不知曉共享密鑰K的情況,是不可能通過消息A和B計(jì)算得到正確的隨機(jī)數(shù)rReader的值;沒有正確的隨機(jī)數(shù)rReader的值,就不可能進(jìn)行正確的<C、D、E、F>的計(jì)算。當(dāng)攻擊者無法獲取隨機(jī)數(shù)rReader的值之時(shí),攻擊者只能隨便選擇一個(gè)數(shù)充當(dāng)該隨機(jī)數(shù)進(jìn)行計(jì)算,由此可推測出,攻擊者計(jì)算得到的<C、D、E、F>的值肯定都是錯(cuò)誤。當(dāng)讀寫器收到消息后,進(jìn)行簡單的計(jì)算,即可辨別出消息發(fā)送源是偽造的,協(xié)議停止,攻擊者未獲取任何有用的信息。因此,協(xié)議能夠抵抗假冒攻擊。
(6)雙向認(rèn)證
雙向認(rèn)證是一個(gè)認(rèn)證協(xié)議應(yīng)具備的最基本的安全要求。協(xié)議中的雙向認(rèn)證包含三部分:讀寫器與標(biāo)簽之間的雙向認(rèn)證、讀寫器與服務(wù)器之間的雙向認(rèn)證、標(biāo)簽與服務(wù)器之間的雙向認(rèn)證。該三部分雙向認(rèn)證分析過程相類似,鑒于篇幅有限,此處選擇讀寫器與標(biāo)簽之間的雙向認(rèn)證為例子進(jìn)行闡述。
根據(jù)上述有關(guān)于MSB協(xié)議的描述可得知:在步驟2中標(biāo)簽通過A和B第一次對讀寫器進(jìn)行認(rèn)證;在步驟6中標(biāo)簽通過Q將再一次對讀寫器進(jìn)行認(rèn)證。而讀寫器對標(biāo)簽的認(rèn)證是在步驟3中通過C和F完成的。有關(guān)于兩者之間具體的雙向認(rèn)證是如何實(shí)現(xiàn)的,可以詳見前文中有關(guān)MSB協(xié)議的步驟闡述。基于上述,協(xié)議能夠提供通信實(shí)體之間的雙向認(rèn)證。
本文協(xié)議與其他此類協(xié)議進(jìn)行安全性比對,比對結(jié)果見表3所示。
(1)協(xié)議形式化描述
雙向認(rèn)證協(xié)議采用GNY邏輯形式化描述如下:
表3 協(xié)議安全性比較
消息1 T<*[A,B,Query];
消息2 R<*[C,D,E,F];
消息3 DB<*[D,E,G,H];
消息4 R<*[I,J,M,N];
消息5 T<*[J,N,Q]。
其中,T表示標(biāo)簽,R表示讀寫器,DB表示服務(wù)器。
(2)協(xié)議初始化假設(shè)
假設(shè)1 TЭ(K,rTag,IDTag);表示標(biāo)簽擁有共享密鑰K、標(biāo)簽標(biāo)識符IDTag、標(biāo)簽產(chǎn)生隨機(jī)數(shù)rTag。
假設(shè)2 RЭ(K,IDReader,rReader);表示讀寫器擁有共享密鑰K、讀寫器標(biāo)識符IDReader、讀寫器產(chǎn)生隨機(jī)數(shù)
假設(shè)3 DBЭ(K,IDReader,rReader,rTag,rDataBase,IDTag);表示服務(wù)器擁有共享密鑰K、讀寫器標(biāo)識符IDReader、標(biāo)簽標(biāo)識符IDTag、讀寫器產(chǎn)生隨機(jī)數(shù)rReader、服務(wù)器產(chǎn)生隨機(jī)數(shù)rDataBase、標(biāo)簽產(chǎn)生隨機(jī)數(shù)rTag。
假設(shè)4 R|≡#(rReader,rDataBase,rTag);表示讀寫器相信隨機(jī)數(shù)rReader,rDataBase,rTag新鮮性。
假設(shè)5 T|≡#(rReader,rDataBase,rTag);表示標(biāo)簽相信隨機(jī)數(shù)rReader,rDataBase,rTag新鮮性。
假設(shè)6 DB|≡#(rReader,rDataBase,rTag);表示服務(wù)器相信隨機(jī)數(shù)rReader,rDataBase,rTag新鮮性。
假設(shè)7 T|≡DB;表示標(biāo)簽相信標(biāo)簽、讀寫器、服務(wù)器三者之間共享密鑰K。
假設(shè)8 R|≡TDB;表示讀寫器相信標(biāo)簽、讀寫器、服務(wù)器三者之間共享密鑰K。
假設(shè)9 DB|≡TDB;表示服務(wù)器相信標(biāo)簽、讀寫器、服務(wù)器三者之間共享密鑰K。
假設(shè)10 T|≡D;表示標(biāo)簽相信標(biāo)簽、服務(wù)器之間共享的信息IDTag。
假設(shè)11 DB|≡DB;表示服務(wù)器相信標(biāo)簽、服務(wù)器之間共享的信息IDTag。
假設(shè)12 R|≡DB;表示讀寫器相信讀寫器、服務(wù)器之間共享的信息IDReader。
假設(shè)13 DB|≡DB;表示服務(wù)器相信讀寫器、服務(wù)器之間共享的信息IDReader。
(3)協(xié)議證明目標(biāo)
雙向認(rèn)證協(xié)議需要證明的目標(biāo)有五個(gè),如下:
目標(biāo)1 T|≡R|~#(A,B);
目標(biāo)2 R|≡T|~#(C,D,E,F);
目標(biāo)3 DB|≡R|~#(D,E,G,H);
目標(biāo)4 R|≡DB|~#(I,J,M,N);
目標(biāo)5 T|≡R|~#(J,N,Q)。
(4)協(xié)議證明過程
GNY邏輯包含多種運(yùn)算法則,此處用T表示邏輯推理規(guī)則;用P表示告知規(guī)則;用F表示新鮮規(guī)則;用I表示擁有規(guī)則[17-18]。
上述五個(gè)證明目標(biāo)的證明過程相類似,此處選擇目標(biāo)Goal1為例子進(jìn)行證明。鑒于篇幅有限,其他證明目標(biāo)的詳細(xì)證明過程不再闡述。
∴TЭ{A,B}
∴T=#{A,B}
∴TЭ{A,B}
∴T|≡#{A,B}
∵規(guī)則I3又∵假設(shè)7:T|≡R?KT?KDB、假設(shè)8:R|≡T?KR?KDB以及消息1:T<*【A,B,Query】
∴T|=R~{A,B}
∵新鮮性定義以及推導(dǎo)出來的T=#{A,B}、T|=R~{A,B,}
∴目標(biāo)1:T|≡R|~#(A,B)得證明。
在移動(dòng)式的RFID系統(tǒng)中一共有三個(gè)通信實(shí)體:標(biāo)簽、讀寫器、服務(wù)器。讀寫器與服務(wù)器兩者均有較大的存儲空間和較強(qiáng)的計(jì)算能力,而標(biāo)簽并不具備上述優(yōu)點(diǎn),因此在性能分析時(shí),一般選擇標(biāo)簽為研究對象,從標(biāo)簽一端的計(jì)算量和存儲量兩個(gè)角度進(jìn)行性能分析。本文協(xié)議與其他類型協(xié)議進(jìn)行性能分析結(jié)果見表4所示。
表4 協(xié)議性能比較
對表4中出現(xiàn)的符號進(jìn)行下面的解釋說明:pa表示哈希函數(shù)的計(jì)算量;pb表示標(biāo)量乘運(yùn)算的計(jì)算量;pc表示偽隨機(jī)數(shù)函數(shù)的計(jì)算量;pd表示模運(yùn)算的計(jì)算量;pe表示物理不可克隆函數(shù)的計(jì)算量;pf表示交叉運(yùn)算的計(jì)算量;pg表示產(chǎn)生隨機(jī)數(shù)的計(jì)算量;ph表示位替換運(yùn)算的計(jì)算量;pi表示位運(yùn)算的計(jì)算量(此處的位運(yùn)算是指包含與運(yùn)算、異或運(yùn)算等)。
在上述運(yùn)算的計(jì)算量中,pa、pb、pc、pd、pe、pg屬于輕量級的計(jì)算;pf、ph、pi屬于超輕量級的計(jì)算。專家學(xué)者一般認(rèn)定為一次輕量級的計(jì)算量相當(dāng)于幾十次甚至上百次超輕量級的計(jì)算量;因此協(xié)議運(yùn)行過程中,相對于輕量級的計(jì)算而言,超輕量級的計(jì)算次數(shù)多幾次,甚至多十幾次,對于整個(gè)系統(tǒng)的總體計(jì)算量影響是很小的,幾乎可忽略不計(jì)。文中協(xié)議涉及的運(yùn)算包含三種:產(chǎn)生隨機(jī)數(shù)的計(jì)算、位替換運(yùn)算,位運(yùn)算;其中產(chǎn)生隨機(jī)數(shù)的計(jì)算有且只有一次,即輕量級的運(yùn)算次數(shù)只有一次,其他運(yùn)算均屬于超輕量級的計(jì)算。文中協(xié)議與其他此類協(xié)議進(jìn)行計(jì)算量角度的比較:文中協(xié)議在標(biāo)簽一端的計(jì)算量方面具備一定的優(yōu)勢,計(jì)算總量明顯少于其他協(xié)議計(jì)算總量。
標(biāo)簽一端主要用于存放標(biāo)簽標(biāo)識符IDTag、通信實(shí)體之間的共享密鑰K兩個(gè)參數(shù)。約定IDTag、K的長度均為l位,因此文中協(xié)議標(biāo)簽一端的存儲量為2l。
介紹傳統(tǒng)RFID系統(tǒng)無法滿足人們需求,使得移動(dòng)式RFID系統(tǒng)的產(chǎn)生,但適用于傳統(tǒng)RFID系統(tǒng)的協(xié)議無法滿足移動(dòng)式RFID系統(tǒng),文中為解決該問題,提出一種能夠運(yùn)用在移動(dòng)式RFID系統(tǒng)的認(rèn)證協(xié)議。所提協(xié)議基于位替換運(yùn)算實(shí)現(xiàn)對傳輸信息的加密,位替換運(yùn)算可采用按位運(yùn)算實(shí)現(xiàn),一定程度上降低了通信實(shí)體的計(jì)算量;為保證通信消息的安全性,所有信息先加密再傳輸,同時(shí)所有信息加密過程中混入隨機(jī)數(shù),增大攻擊者的破解難度。從不同的攻擊類型角度出發(fā)對協(xié)議進(jìn)行安全性,表明協(xié)議具備較高的安全性;以標(biāo)簽為對象對協(xié)議進(jìn)行性能分析,表明協(xié)議能夠適用于無源標(biāo)簽系統(tǒng)中;同時(shí)基于GNY邏輯對協(xié)議進(jìn)行形式化推理證明。下一步的研究方向?yàn)閷⒃O(shè)計(jì)的協(xié)議運(yùn)用在具體的移動(dòng)RFID系統(tǒng)中,對協(xié)議運(yùn)行的具體時(shí)間等參數(shù)進(jìn)行統(tǒng)計(jì)研究分析。