劉卓華 黃彩娟 所 輝
(廣東機(jī)電職業(yè)技術(shù)學(xué)院計(jì)算機(jī)與設(shè)計(jì)學(xué)院 廣東 廣州 510006)
傳統(tǒng)的RFID系統(tǒng)中讀寫器以及后臺服務(wù)器都是固定不動,隨著科技的發(fā)展以及社會的進(jìn)步,傳統(tǒng)的RFID系統(tǒng)無法滿足人們的需求,因此出現(xiàn)了移動RFID系統(tǒng)[1]。在移動RFID系統(tǒng)中,后臺服務(wù)器以及讀寫器都是移動的,從而能夠更好地適用人們的需求?;趦烧叨际且苿拥木壒剩沟迷具m用于傳統(tǒng)RFID系統(tǒng)的雙向認(rèn)證協(xié)議不再適用于移動RFID系統(tǒng)。相對于傳統(tǒng)的RFID系統(tǒng),移動RFID系統(tǒng)安全性更加令人擔(dān)憂,移動讀寫器與標(biāo)簽之間采用無線方式通信,同時(shí)移動讀寫器與后臺服務(wù)器之間也采用無線方式通信,給攻擊者提供了更多監(jiān)聽的機(jī)會,使得傳輸?shù)男畔踩约眲〗档蚚2-4]。為確保用戶隱私信息的安全性,需設(shè)計(jì)出適用于移動RFID系統(tǒng)的雙向認(rèn)證協(xié)議。
文獻(xiàn)[5]設(shè)計(jì)出一種適用于移動系統(tǒng)的認(rèn)證協(xié)議,該協(xié)議具備較高的安全性,能夠滿足移動系統(tǒng)的安全性需求。但協(xié)議采用基于橢圓曲線算法對信息進(jìn)行加密,計(jì)算量較大,對于現(xiàn)有的受限制的標(biāo)簽而言,該計(jì)算量超出標(biāo)簽的計(jì)算能力,因此協(xié)議無法進(jìn)行較大范圍的推廣。
文獻(xiàn)[6]提出一個(gè)輕量級的移動認(rèn)證協(xié)議,該協(xié)議基于哈希函數(shù)實(shí)現(xiàn)對信息的加密,相對于文獻(xiàn)[5]的協(xié)議,計(jì)算量方面得到較大幅度的降低。但協(xié)議中傳輸?shù)男畔⒋蠖鄶?shù)采用明文傳輸,且產(chǎn)生的隨機(jī)數(shù)以及加密用到的隨機(jī)數(shù)都是明文傳輸,攻擊者通過監(jiān)聽一個(gè)完整的通信過程,可以獲取所有的通信信息,然后對消息開始采用窮舉的方式破解出標(biāo)簽中存放的隱私信息,因此協(xié)議無法抵抗攻擊者的暴力破解攻擊。
文獻(xiàn)[7]提出一個(gè)適用于移動系統(tǒng)的認(rèn)證協(xié)議,該協(xié)議拋棄傳統(tǒng)的基于哈希函數(shù)加密算法,而是選擇計(jì)算量較小的交叉及異或等按位運(yùn)算對消息進(jìn)行加密。但攻擊者可以通過物理入侵的方式獲取標(biāo)簽以及讀寫器的密鑰,從而通過對標(biāo)簽以及讀寫反向克隆的方式發(fā)送假冒攻擊,因此該協(xié)議無法抵抗攻擊者發(fā)起的假冒攻擊。
文獻(xiàn)[8]設(shè)計(jì)出一個(gè)雙向認(rèn)證協(xié)議,適用于移動RFID系統(tǒng)。該協(xié)議采用基于物理不可克隆函數(shù)(Physical Unclonable Function, PUF)來進(jìn)行密鑰的生成,標(biāo)簽一端只有在認(rèn)證過程中由PUF電路產(chǎn)生相對應(yīng)的認(rèn)證密鑰,從而避免了傳統(tǒng)加密機(jī)制將密鑰存放在非易失性存儲器易被攻擊者竊取的弊端,能夠有效抵抗攻擊者發(fā)起的假冒攻擊。但協(xié)議在重復(fù)發(fā)送消息時(shí),會使得標(biāo)簽一端的認(rèn)證密鑰與數(shù)據(jù)庫之間失去同步性,因此協(xié)議無法抵抗攻擊者的去同步化攻擊。
文獻(xiàn)[9]提出一種改進(jìn)的輕量級的移動認(rèn)證協(xié)議,該協(xié)議主要基于哈希函數(shù)實(shí)現(xiàn)信息的加密傳輸。協(xié)議聲稱能夠抵抗攻擊者發(fā)起的假冒攻擊,同時(shí)能夠滿足信息的新鮮性;但本文對該協(xié)議進(jìn)行深入研究發(fā)現(xiàn)該協(xié)議并不能提供作者聲稱的安全需求。本文基于文獻(xiàn)[9]協(xié)議,設(shè)計(jì)出改進(jìn)的抗假冒攻擊的移動RFID系統(tǒng)認(rèn)證協(xié)議。
鑒于文中篇幅有限,有關(guān)更多的移動RFID系統(tǒng)的認(rèn)證協(xié)議可以參考文獻(xiàn)[10-15]。
文獻(xiàn)[9]協(xié)議的雙向認(rèn)證流程圖如圖1所示。
圖1 文獻(xiàn)[9]的認(rèn)證協(xié)議
結(jié)合圖1對文獻(xiàn)[9]協(xié)議進(jìn)行分析,得出如下安全缺陷或不足之處:
(1) 文獻(xiàn)[9]協(xié)議中聲稱能夠?qū)崿F(xiàn)通信實(shí)體之間的雙向認(rèn)證,但分析后發(fā)現(xiàn),該協(xié)議并不能提供該安全機(jī)制。具體原因如下:
① 在第一步中,移動讀寫器傳送給標(biāo)簽的都是明文信息;標(biāo)簽在接收到信息后,無法通過該信息對移動讀寫器進(jìn)行認(rèn)證,此處是第一次標(biāo)簽未對移動讀寫器的認(rèn)證。
基于上述可知,文獻(xiàn)[9]協(xié)議并不能實(shí)現(xiàn)通信實(shí)體之間的雙向認(rèn)證。
(2) 文獻(xiàn)[9]協(xié)議中聲稱能夠抵抗攻擊者的假冒攻擊,但分析后發(fā)現(xiàn),該協(xié)議并不能提供該安全機(jī)制。具體原因如下:
基于上述可知,文獻(xiàn)[9]協(xié)議并不能抵抗攻擊者的假冒攻擊。
(3) 文獻(xiàn)[9]協(xié)議中部分描述的正確性有待商榷,如:IDt表示標(biāo)簽的身份標(biāo)識符,IDr表示移動讀寫器的身份標(biāo)識符;在實(shí)際應(yīng)用中,標(biāo)簽和移動讀寫器的身份標(biāo)識符都是不會發(fā)生變化的(有關(guān)該部分的描述可以參考文獻(xiàn)[16]);在實(shí)際應(yīng)用中,為了防止攻擊者的追蹤攻擊等,會引入身份的假名標(biāo)識符,該參數(shù)可以隨時(shí)發(fā)生變化。文獻(xiàn)[9]協(xié)議中IDt和IDr則會經(jīng)常發(fā)生變化,而對于該種描述是否完全正確,至少其他文獻(xiàn)中暫未有對該描述持支持觀點(diǎn)的。再比如:文獻(xiàn)[9]協(xié)議中描述更新過程中能夠基于隨機(jī)數(shù)Nt保證信息的新鮮性。這種描述的正確性亦是有待商榷,具體原因如下:通過上面的認(rèn)證流程圖可以發(fā)現(xiàn)IDtnew=HKt(Nt‖IDtold)中信息的更新新鮮性依賴于隨機(jī)數(shù)Nt,但通過整個(gè)認(rèn)證協(xié)議會發(fā)現(xiàn),隨機(jī)數(shù)Nt最開始是由后臺服務(wù)器產(chǎn)生,再傳送給標(biāo)簽的,且協(xié)議通信過程中隨機(jī)數(shù)Nt以明文傳送;對于攻擊者來說,只需要進(jìn)行監(jiān)聽,即可獲取隨機(jī)數(shù)Nt;同時(shí)在后臺服務(wù)器將隨機(jī)數(shù)Nt發(fā)送給標(biāo)簽之后,隨機(jī)數(shù)Nt便沒有更新,這樣使得IDtnew=HKt(Nt‖IDtold)中用到的隨機(jī)數(shù)Nt一直都是同一個(gè)數(shù)。隨機(jī)數(shù)Nt未發(fā)生變化,那更新的IDtnew信息的新鮮性如何得到保證?因此文獻(xiàn)[9]協(xié)議中的觀點(diǎn)正確性有待商榷。
基于文獻(xiàn)[9]協(xié)議,本文給出一種改進(jìn)的能抵抗假冒攻擊的移動RFID雙向認(rèn)證協(xié)議。
改進(jìn)的協(xié)議主要從以下方面彌補(bǔ)文獻(xiàn)[9]協(xié)議的不足:(1) 所有傳輸?shù)男畔⒕捎妹芪陌l(fā)送;(2) 信息更新過程中用到的隨機(jī)數(shù)每輪將會隨機(jī)產(chǎn)生,做到真正保證信息的新鮮性;(3) 為降低通信實(shí)體的計(jì)算量,摒棄哈希函數(shù)加密方法,采用交叉位運(yùn)算對信息進(jìn)行加密。
現(xiàn)將協(xié)議中用到的符號具體的含義解釋如下:
S:后臺服務(wù)器;
R:移動讀寫器;
T:標(biāo)簽;
IDSR:移動讀寫器的假名身份標(biāo)識符;
IDST:標(biāo)簽的假名身份標(biāo)識符;
IDST_new:后臺服務(wù)器存放的本輪認(rèn)證的標(biāo)簽的假名身份標(biāo)識符值;
IDST_old:后臺服務(wù)器存放的上輪認(rèn)證的標(biāo)簽的假名身份標(biāo)識符值;
K:后臺服務(wù)器、移動讀寫器、標(biāo)簽三者之間的共享密鑰;
KR:移動讀寫器與后臺服務(wù)器之間的共享密鑰;
KT:標(biāo)簽與后臺服務(wù)器之間本輪認(rèn)證的共享密鑰;
KT_old:標(biāo)簽與后臺服務(wù)器之間上輪認(rèn)證的共享密鑰;
X_R:消息的右邊部分;
X_L:消息的左邊部分;
x:移動讀寫器產(chǎn)生的隨機(jī)數(shù);
y:標(biāo)簽產(chǎn)生的隨機(jī)數(shù);
⊕:按位異或運(yùn)算;
Cro(X,Y):交叉位運(yùn)算。
文中為便于描述,用符號Cro(X,Y)來表示交叉位運(yùn)算,該運(yùn)算的定義如下:X和Y都是長度為偶數(shù)位的二進(jìn)制序列,取X的奇數(shù)位、Y的偶數(shù)位組合成一個(gè)新的二進(jìn)制序列。具體的:從左到右,取X的奇數(shù)位依次放在新二進(jìn)制序列的偶數(shù)位;取Y的偶數(shù)位依次放在新二進(jìn)制序列的奇數(shù)位。例如:長度為8位的二進(jìn)制序列X=10010011、Y=01011011,則Cro(X,Y)=11100011,具體如圖2所示。
圖2 交叉位運(yùn)算流程圖
本文協(xié)議包含兩個(gè)不同的階段:協(xié)議的初始化階段和協(xié)議的雙向認(rèn)證階段。
(1) 協(xié)議的初始化階段。協(xié)議在該階段主要功能是:后臺服務(wù)器產(chǎn)生相關(guān)的隱私密鑰,以及將產(chǎn)生的隱私密鑰安全地發(fā)送給移動讀寫器和標(biāo)簽。后臺服務(wù)器產(chǎn)生信息有:IDSR、IDST、K、KT、KR。協(xié)議在剛開始的時(shí)候,令I(lǐng)DST_new=IDST_old=IDST。將(IDSR、K、KR)存儲到移動讀寫器中;將(IDST、K、KT)存儲到標(biāo)簽中;后臺服務(wù)器中存儲(IDSR、IDST、K、KT、KR、KT_old、IDST_old),其中KT_old初始化為0。
后臺服務(wù)器與移動讀寫器具備較強(qiáng)的計(jì)算能力、較大的存儲空間、較強(qiáng)的查詢能力;標(biāo)簽計(jì)算能力以及存儲空間均受限。
(2) 協(xié)議的雙向認(rèn)證階段。能夠抵抗假冒攻擊的移動RFID雙向認(rèn)證協(xié)議具體過程如圖3所示。
圖3 移動RFID系統(tǒng)雙向認(rèn)證協(xié)議
結(jié)合圖3所示,協(xié)議具體步驟描述如下:
第一步移動讀寫器首先產(chǎn)生隨機(jī)數(shù)x;利用x、K計(jì)算A,利用x、K計(jì)算B;將一并發(fā)送給標(biāo)簽。其中:Query表示認(rèn)證請求命令,A=x⊕K,B=Cro(x,K)。
第二步標(biāo)簽收到信息后,利用A、K計(jì)算隨機(jī)數(shù)x′,利用計(jì)算得到的隨機(jī)數(shù)x′、K計(jì)算B′。然后比較B′與B是否相等。不相等,標(biāo)簽驗(yàn)證移動讀寫器失敗,協(xié)議停止;相等,表明x′=x,標(biāo)簽產(chǎn)生隨機(jī)數(shù)y,利用x、y、K計(jì)算C,利用x、y、K計(jì)算D,利用IDST、y、KT計(jì)算E,最后將
第三步移動讀寫器收到信息后,利用C、x、K計(jì)算隨機(jī)數(shù)y′,利用計(jì)算得到的隨機(jī)數(shù)y′、x、K計(jì)算D′。然后比較D′與D是否相等。不相等,移動讀寫器驗(yàn)證標(biāo)簽失敗,協(xié)議停止。相等,表明y′=y,利用x、IDSR、KR計(jì)算F,最后將一并發(fā)送給后臺服務(wù)器。其中:F_L表示取F的左半部分的值,y′=C⊕K⊕x,D′=Cro(y′⊕K,x),F(xiàn)=Cro(x⊕IDSR,x⊕KR)。
第四步后臺服務(wù)器收到信息后,分別驗(yàn)證標(biāo)簽、移動讀寫器的合法性。
① 對移動讀寫器的驗(yàn)證。后臺服務(wù)器利用A、K計(jì)算隨機(jī)數(shù)x′,利用計(jì)算得到的隨機(jī)數(shù)x′、IDSR、KR計(jì)算F′,對F′取左半部分的值得到F_L′。然后比較F_L′與F_L是否相等。不相等,后臺服務(wù)器驗(yàn)證移動讀寫器失敗,協(xié)議停止;相等,表明x′=x,后臺服務(wù)器驗(yàn)證移動讀寫器通過,然后開始驗(yàn)證標(biāo)簽的合法性。其中:x′=A⊕K,F(xiàn)′=Cro(x′⊕IDSR,x′⊕KR)。
② 對標(biāo)簽的驗(yàn)證。后臺服務(wù)器利用C、x、K計(jì)算隨機(jī)數(shù)y′,利用計(jì)算得到的隨機(jī)數(shù)y′、KT、IDST計(jì)算E′,對E′取左半部分的值得到E_L′。然后比較E_L′與E_L是否相等。相等,表明y′=y,后臺服務(wù)器驗(yàn)證標(biāo)簽通過,然后開始更新信息:IDST_old=IDST_new、KT_old=KT、KT=Cro(y,KT)、IDST_new=Cro(y,IDST_old)。不相等,后臺服務(wù)器取出上一輪認(rèn)證用到的KT_old、IDST_old替換KT、IDST計(jì)算E″,對E″取左半部分的值得到E_L″。然后比較E_L″與E_L是否相等。仍不相等,后臺服務(wù)器驗(yàn)證標(biāo)簽失敗,協(xié)議停止;相等,后臺服務(wù)器驗(yàn)證標(biāo)簽通過,后臺服務(wù)器與標(biāo)簽之間又重新恢復(fù)一致性,且更新信息:IDST_new=Cro(y,IDST_old),KT=Cro(y,KT),最后將
第五步移動讀寫器收到信息后,將之前第三步中計(jì)算得到的F取右半部分得到F_R;將此數(shù)值與接收到的F_R相比較。不相等,移動讀寫器驗(yàn)證后臺服務(wù)器失敗,協(xié)議停止;相等,移動讀寫器利用E_R、x、y計(jì)算G,最后將
第六步標(biāo)簽收到信息后,將之前第二步中計(jì)算得到的E取右半部分得到E_R,利用E_R、x、y計(jì)算得到G;將此數(shù)值與接收到的G相比較。不相等,標(biāo)簽驗(yàn)證移動讀寫器失敗,協(xié)議停止;相等,開始更新信息:IDST_new=Cro(y,IDST_old),KT=Cro(y,KT)。到此,后臺服務(wù)器、移動讀寫器、標(biāo)簽三者之間的認(rèn)證完成。
對本文設(shè)計(jì)出的雙向認(rèn)證協(xié)議進(jìn)行形式化分析證明,具體步驟如下:
(1) 協(xié)議的理想化模型。
消息②T→R:
消息④S→R:
消息⑤R→T:
(2) 協(xié)議的初始假設(shè)。
P13:R|≡#(x) P14:T|≡#(x)
P15:S|≡#(x) P16:R|≡#(y)
P17:T|≡#(y) P18:S|≡#(y)
P19:R|≡T|?CP20:R|≡T|?D
P21:R|≡T|?E_LP22:T|≡R|?A
P23:T|≡R|?BP24:T|≡R|?G
P25:S|≡R|?AP26:S|≡R|?F_L
P27:S|≡T|?CP28:S|≡T|?E_L
P29:R|≡S|?E_RP30:R|≡S|?F_R
(3) 協(xié)議的安全目標(biāo)。
G1:R|≡CG2:R|≡D
G3:R|≡E_LG4:R|≡E_R
G5:R|≡F_RG6:T|≡A
G7:T|≡BG8:T|≡G
G9:S|≡F_LG10:S|≡A
G11:S|≡CG12:S|≡E_L
(4) 協(xié)議的分析推理。
運(yùn)用上述條件和法則,同理可證得G2-G12。
移動RFID系統(tǒng)中有三個(gè)通信實(shí)體,標(biāo)簽、移動讀寫器、后臺服務(wù)器。相對于標(biāo)簽來說,移動讀寫器、后臺服務(wù)器均具備較大的存儲空間和較強(qiáng)的計(jì)算能力,因此性能分析僅選擇標(biāo)簽作為比較的對象。主要從標(biāo)簽一端的計(jì)算量、標(biāo)簽一端的存儲空間兩個(gè)方面進(jìn)行性能比較,具體性能分析結(jié)果參見表1。
表1 協(xié)議的性能比對
表1中:ha符號表示產(chǎn)生隨機(jī)數(shù)的計(jì)算量;hb符號表示哈希函數(shù)運(yùn)算的計(jì)算量;hc符號表示模乘的計(jì)算量;hd符號表示時(shí)間戳的計(jì)算量;he符號表示異或運(yùn)算的計(jì)算量;hf符號表示字合成運(yùn)算的計(jì)算量;hg符號表示物理不可克隆函數(shù)運(yùn)算的計(jì)算量;hi符號表示偽隨機(jī)函數(shù)運(yùn)算的計(jì)算量;hj符號表示交叉運(yùn)算的計(jì)算量。設(shè)定KT、IDST、K三者的長度均為l位。
本文協(xié)議相對于其他比較的協(xié)議而言,摒棄哈希函數(shù)加密的方法,而是采用超輕量級的字合成運(yùn)算加密,能夠盡可能地降低標(biāo)簽的計(jì)算量。相對于文獻(xiàn)[9]來說,雖然引入隨機(jī)數(shù)產(chǎn)生運(yùn)算,但本文協(xié)議只需要產(chǎn)生一個(gè)隨機(jī)數(shù),因此該計(jì)算量標(biāo)簽是可以實(shí)現(xiàn)的。從性能角度出發(fā),可以發(fā)現(xiàn):本文協(xié)議在計(jì)算量方面優(yōu)于對比協(xié)議,同時(shí)能夠解決部分協(xié)議中存在的安全缺陷問題。
(1) 假冒攻擊。本文協(xié)議能夠抵抗攻擊者發(fā)起的假冒攻擊,具體分析如下:
攻擊者假冒標(biāo)簽,對于攻擊者來說,缺少IDST、KT、K信息,因此加密過程中用到這三個(gè)量的時(shí)候,攻擊者只能隨機(jī)選擇一個(gè)量充當(dāng),導(dǎo)致攻擊者計(jì)算出來的加密信息C、D、E_L都是不正確的。當(dāng)移動讀寫器或后臺服務(wù)器接收到信息后,通過簡單的計(jì)算即可識別出發(fā)送過來信息的通信實(shí)體是偽造的。攻擊者假冒標(biāo)簽發(fā)起的攻擊失敗。
攻擊者假冒移動讀寫器,對于此時(shí)的攻擊者而言,缺少IDSR、KR、K信息,因此發(fā)送給標(biāo)簽的信息A和B都是錯(cuò)誤的,標(biāo)簽通過簡單的計(jì)算即可識別出移動讀寫器的真?zhèn)?。本文對文獻(xiàn)[5]協(xié)議具體分析時(shí)指出,當(dāng)后臺服務(wù)器傳送消息給移動讀寫器之后,移動讀寫器并沒有進(jìn)行任何操作,而是直接將信息轉(zhuǎn)發(fā)給標(biāo)簽,才導(dǎo)致文獻(xiàn)[5]協(xié)議無法抵抗攻擊者的假冒攻擊。為解決此安全問題,本文協(xié)議在移動讀寫器收到后臺服務(wù)器發(fā)送來的信息后,并不是直接轉(zhuǎn)發(fā)該信息,而是對其中的E_R再次進(jìn)行加密后傳送標(biāo)簽。因攻擊者無法獲取隨機(jī)數(shù)x和y,因此攻擊者無法假冒移動讀寫器計(jì)算正確的G,故協(xié)議可以抵抗攻擊者假冒移動讀寫器發(fā)起的假冒攻擊。
攻擊者假冒后臺服務(wù)器,攻擊者此時(shí)不知曉IDST、KT、IDSR、KR、K這些信息,因此對于移動讀寫器發(fā)送來的信息無法進(jìn)行解密。解密失敗,則無法獲取隨機(jī)數(shù)x和y,缺少這兩個(gè)隨機(jī)數(shù),攻擊者只能隨機(jī)選擇兩個(gè)隨機(jī)數(shù)替換,由此計(jì)算所得到的F_R和E_R都是不正確的。移動讀寫器和標(biāo)簽收到信息后,簡單計(jì)算即可識別出后臺服務(wù)器是攻擊者假冒的,攻擊者假冒攻擊失敗。
基于上述分析,協(xié)議可以抵抗攻擊者發(fā)起的各種類型的假冒攻擊。
(2) 雙向認(rèn)證。移動RFID系統(tǒng)中有三個(gè)通信實(shí)體,因此三個(gè)通信實(shí)體之間均需要實(shí)現(xiàn)雙向認(rèn)證,本文協(xié)議能夠提供該安全需求。
移動讀寫器與標(biāo)簽之間的雙向認(rèn)證:第二步中,標(biāo)簽通過A和B實(shí)現(xiàn)對移動讀寫器的第一次認(rèn)證;第六步中,標(biāo)簽將會通過G再次對移動讀寫器進(jìn)行認(rèn)證。通過兩步認(rèn)證,但凡只要有一次移動讀寫器是假冒的,協(xié)議都會立刻停止。移動讀寫器對標(biāo)簽的認(rèn)證則是在第三步中完成的,通過C和D完成對標(biāo)簽的認(rèn)證。
移動讀寫器與后臺服務(wù)器之間的雙向認(rèn)證:第四步中,后臺服務(wù)器收到移動讀寫器發(fā)送來的信息后,通過A和F_L實(shí)現(xiàn)對移動讀寫器的認(rèn)證。第五步中,移動讀寫器通過F_R完成對后臺服務(wù)器的認(rèn)證。
后臺服務(wù)器與標(biāo)簽之間的雙向認(rèn)證:第四步中,后臺服務(wù)器先對移動讀寫器進(jìn)行認(rèn)證,認(rèn)證通過之后,將會開始對標(biāo)簽進(jìn)行認(rèn)證,通過C和E_L完成對標(biāo)簽的認(rèn)證。第六步中,標(biāo)簽通過G在完成對后臺服務(wù)器認(rèn)證的同時(shí),亦完成了對移動讀寫器的認(rèn)證。
基于上述闡述,協(xié)議能夠?qū)崿F(xiàn)三個(gè)通信實(shí)體之間的雙向認(rèn)證。
(3) 重放攻擊。攻擊者通過監(jiān)聽等手段可以獲取上一輪的通信消息,企圖通過重放監(jiān)聽的信息來獲取標(biāo)簽存放的隱私信息,但攻擊者無法成功。協(xié)議為了能夠抵抗攻擊者的重放攻擊,在所有傳輸信息加密過程中混入隨機(jī)數(shù),且隨機(jī)數(shù)每輪都是隨機(jī)產(chǎn)生,從而使得每一輪通信信息的具體數(shù)值是不相同的,且無法提前預(yù)測。當(dāng)攻擊者重放監(jiān)聽到的上一輪信息時(shí),通信實(shí)體用到的認(rèn)證密鑰已經(jīng)發(fā)生變化,此時(shí)通過簡單計(jì)算即可識別出該消息是攻擊者重放的,協(xié)議停止,攻擊者并未獲取有效的隱私信息,因此協(xié)議可以抵抗重放攻擊。
(4) 追蹤攻擊。攻擊者企圖通過長時(shí)間的監(jiān)聽方式,對標(biāo)簽實(shí)施追蹤攻擊,但對于本文協(xié)議,攻擊者實(shí)施的追蹤攻擊無法成功。具體原因如下:其一,為確保標(biāo)簽不會被定位,信息加密過程中未使用標(biāo)簽的標(biāo)識符,而是引入標(biāo)簽的假名標(biāo)識符進(jìn)行加密;其二,為確保標(biāo)簽不被定位,標(biāo)簽的假名標(biāo)識符每進(jìn)行一輪認(rèn)證之后,都會及時(shí)進(jìn)行更新;其三,消息加密過程中混入隨機(jī)數(shù),每輪混入的隨機(jī)數(shù)都是不一樣的?;谏厦娴囊蛩?,使得攻擊者無法從竊聽的消息中定位標(biāo)簽的位置,因此,協(xié)議可以抵抗攻擊者的追蹤攻擊。
(5) 去同步化攻擊。為了保證后臺服務(wù)器與標(biāo)簽之間加密密鑰的同步性,即為了能夠抵抗攻擊者發(fā)起的去同步化攻擊,協(xié)議在后臺服務(wù)器一端不僅存放有當(dāng)前認(rèn)證用到的加密密鑰,同時(shí)存放上一輪認(rèn)證用到的密鑰。具體地,在協(xié)議認(rèn)證步驟的第四步中,后臺服務(wù)器會首先用KT、IDST信息對標(biāo)簽進(jìn)行認(rèn)證,當(dāng)此次認(rèn)證失敗之后,后臺服務(wù)器會再次用KT_old、IDST_old信息替換KT、IDST對標(biāo)簽進(jìn)行認(rèn)證,從而用來抵抗攻擊者發(fā)起的去同步化攻擊。
(6) 暴力破解攻擊?;诋?dāng)前計(jì)算機(jī)計(jì)算能力大幅提升,攻擊者可能采用更為直接和暴力的窮舉方式對信息進(jìn)行破解,從而破解出標(biāo)簽存放的隱私信息。為抵抗攻擊者發(fā)起的暴力破解攻擊,協(xié)議在設(shè)計(jì)的時(shí)候從以下幾個(gè)方面進(jìn)行改進(jìn):其一,所有信息都是加密后再傳輸;其二,信息加密過程中用到的參數(shù),對于攻擊者來說,都至少有兩個(gè)參數(shù)的量攻擊者是不知曉的;其三,信息加密過程中混入隨機(jī)數(shù),隨機(jī)數(shù)每輪都是隨機(jī)產(chǎn)生,無法提前預(yù)測。此處選取消息F=Cro(x⊕IDSR,x⊕KR)作為分析的對象,F(xiàn)在加密過程中用到IDSR、x、KR三個(gè)參數(shù),但是攻擊者并不知道這三個(gè)參數(shù)中任何一個(gè),無法通過窮舉的方式窮盡出隱私信息,因此協(xié)議可以抵抗攻擊者的暴力破解攻擊。
本文協(xié)議與其他此類協(xié)議進(jìn)行安全性對比如表2所示。
表2 協(xié)議的安全性對比
注:√表示能夠抵抗,×表示無法抵抗
本文分析了移動RFID系統(tǒng)產(chǎn)生的背景因素,闡述了傳統(tǒng)的RFID系統(tǒng)雙向認(rèn)證協(xié)議并不能很好地適用于移動RFID系統(tǒng)中。對近些年經(jīng)典的移動認(rèn)證協(xié)議進(jìn)行分析,重點(diǎn)分析了文獻(xiàn)[9]提出的認(rèn)證協(xié)議,指出其協(xié)議存在的安全缺陷,然后給出改進(jìn)的協(xié)議。改進(jìn)的協(xié)議為降低標(biāo)簽一端的計(jì)算量,摒棄哈希函數(shù)加密的方法,采用字合成運(yùn)算對信息進(jìn)行加密;為保證信息的安全,所有信息均加密后在傳送;信息加密過程中混入隨機(jī)數(shù),增大攻擊者的破解難度。對協(xié)議進(jìn)行安全性分析,表明協(xié)議具備較高的安全性;對協(xié)議進(jìn)行性能分析,表明協(xié)議在計(jì)算量方面適用于受限的標(biāo)簽。下一步將在具體的應(yīng)用系統(tǒng)中實(shí)現(xiàn)出來,對協(xié)議的具體計(jì)算量更進(jìn)一步詳細(xì)分析。