專利名稱:基于Hash的RFID雙向認(rèn)證方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種RFID雙向認(rèn)證方法,特別是涉及一種基于Hash的RFID雙向認(rèn)證方法。
背景技術(shù):
在無線射頻識別(Radio Frequency Identification以下簡稱RFID)系統(tǒng)中,由于閱讀器和標(biāo)簽之間通過射頻信號進行無線通信,致使RFID系統(tǒng)極易遭受各種攻擊,安全問題已成為RFID技術(shù)廣泛應(yīng)用面臨的主要挑戰(zhàn)。文獻"RFID Authentication Protocol for Low-cost Tags. In Proc.of WISEC 08,2008 :140_147”公開了一種低成本的RFID認(rèn)證方法。該方法采用了基于哈希 (Hash)的安全機制,雖然滿足RFID認(rèn)證方法設(shè)計的隱私和安全需求,但是該方法的效率低下。該方法中服務(wù)器數(shù)據(jù)庫在收到讀寫器轉(zhuǎn)發(fā)的標(biāo)簽響應(yīng)消息后,服務(wù)器按照數(shù)據(jù)庫中的標(biāo)簽記錄逐條進行計算比對,然后才能判斷出該記錄是否是目標(biāo)標(biāo)簽在數(shù)據(jù)庫中的記錄, 這使得服務(wù)器檢索目標(biāo)標(biāo)簽的效率非常低下,導(dǎo)致方法的整體效率低下。同時,該方法中對標(biāo)簽的計算需求也比較高,由于RFID系統(tǒng)中標(biāo)簽的資源非常有限,所以方法設(shè)計中應(yīng)盡可能減少標(biāo)簽的計算量。隨著RFID技術(shù)的廣泛應(yīng)用,標(biāo)簽數(shù)目會大幅增加,該方法中服務(wù)器數(shù)據(jù)庫檢索效率低的缺點也會越來越突出,從而降低了整個方法的性能。
發(fā)明內(nèi)容
為了克服現(xiàn)有的RFID認(rèn)證方法數(shù)據(jù)庫檢索目標(biāo)標(biāo)簽效率低的技術(shù)問題,本發(fā)明提供一種基于Hash的RFID雙向認(rèn)證方法,該方法采用偽隨機數(shù)發(fā)生器和Hash函數(shù)以及簡單的按位異或運算,服務(wù)器在數(shù)據(jù)庫中檢索目標(biāo)標(biāo)簽時,利用標(biāo)簽響應(yīng)消息與數(shù)據(jù)庫中標(biāo)簽記錄先逐條進行比對,找到匹配記錄后,再進行計算驗證。該方法不需要對數(shù)據(jù)庫中的每條標(biāo)簽記錄進行計算驗證,從而可以有效降低服務(wù)器數(shù)據(jù)庫的計算量,提高數(shù)據(jù)庫檢索目標(biāo)標(biāo)簽的效率,而且認(rèn)證過程還可以降低標(biāo)簽的計算量。本發(fā)明解決現(xiàn)有的RFID認(rèn)證方法數(shù)據(jù)庫檢索目標(biāo)標(biāo)簽效率低的技術(shù)問題所采用的技術(shù)方案是一種基于Hash的RFID雙向認(rèn)證方法,其特點是包括以下步驟第一步讀寫器R生成一個隨機數(shù)r1;構(gòu)造讀寫器詢問分組并將讀寫器詢問分組發(fā)送給標(biāo)簽T,讀寫器詢問分組僅包含隨機數(shù)巧;第二步標(biāo)簽T收到讀寫器R發(fā)送的讀寫器詢問分組巧后,產(chǎn)生隨機數(shù)r2,并計算以下信息Hi = h (IDi)Mx = ID,十M2 =fmi{rx r2)上式中,IDi為標(biāo)簽τ的標(biāo)簽標(biāo)識符,然后標(biāo)簽τ構(gòu)造標(biāo)簽響應(yīng)分組Hi ι IM1I ^2并將標(biāo)簽響應(yīng)分組Hi I IM11 IM2發(fā)送給讀寫器R ;
第三步讀寫器R收到標(biāo)簽τ發(fā)送的標(biāo)簽響應(yīng)分組HiI IM1I IM2后,構(gòu)造讀寫器請求分組Hi I IM11 IM21 I Γι并將讀寫器請求分組Hi I IM11 IM21 I Γι發(fā)送給服務(wù)器S ;第四步服務(wù)器s收到讀寫器R發(fā)送的讀寫器請求分組Hiι Im1I IM2 Ir1后,利用讀寫器請求分組Hi I IM1I IM2 Ir1中的哈希值Hi,在數(shù)據(jù)庫中查找滿足Hi = Hinrat或者Hi = Hiold 的標(biāo)簽記錄條目,其中Himw為存儲在數(shù)據(jù)庫中的當(dāng)前標(biāo)簽標(biāo)識符的哈希值,Hitjld為存儲在數(shù)據(jù)庫中的前一次標(biāo)簽標(biāo)識符的哈希值;如果找不到,就發(fā)送出錯信息給讀寫器R終止會話;否則,從找到的標(biāo)簽記錄條目中提取出標(biāo)簽標(biāo)識符IDi,并計算=M1 ΘID1,然后再計算M ,判斷M' 2是否等于M2 ;如果不相等,發(fā)送出錯信息給讀寫器R終止會話;否則,服務(wù)器S通過對標(biāo)簽T的認(rèn)證,并執(zhí)行以下步驟1、服務(wù)器S計算信息M3 二 ID1 Θ(r2 1/2),然后構(gòu)造服務(wù)器響應(yīng)分組Di | |M3并將服務(wù)器響應(yīng)分組Di I IM3發(fā)送給讀寫器R,其中,Di為存儲在數(shù)據(jù)庫中的標(biāo)簽的詳細(xì)信息;2、服務(wù)器S更新標(biāo)簽T在服務(wù)器中存儲的標(biāo)簽記錄條目信息如下IDiold = IDiHiold = HiIDinew = (IDi //4)0(H1 //4)十。Θ
_9] Hinew = h (IDinew)第五步讀寫器R收到服務(wù)器s發(fā)送的服務(wù)器響應(yīng)分組DiI %后,提取出標(biāo)簽τ的詳細(xì)信息Di,然后構(gòu)造讀寫器響應(yīng)分組并將讀寫器響應(yīng)分組發(fā)送給標(biāo)簽T,其中讀寫器響應(yīng)分組僅包含M3;第六步標(biāo)簽T收到讀寫器響應(yīng)分組后,計算ID丨=M3 1/2),然后判斷 ID' 1是否等于IDit5如果不相等,標(biāo)簽T終止會話,否則,標(biāo)簽T通過對服務(wù)器S的認(rèn)證, 并執(zhí)行以下更新ID, = (ID, / / 4)十(Hi / / 4)十 η 十完成讀寫器R與標(biāo)簽T之間的安全認(rèn)證。本發(fā)明的有益效果是由于采用偽隨機數(shù)發(fā)生器和Hash函數(shù)以及簡單的按位異或運算,服務(wù)器在數(shù)據(jù)庫中檢索目標(biāo)標(biāo)簽時,利用標(biāo)簽響應(yīng)消息與數(shù)據(jù)庫中標(biāo)簽記錄先逐條進行比對,找到匹配記錄后,再進行計算驗證。該方法不需要對數(shù)據(jù)庫中的每條標(biāo)簽記錄進行計算驗證,從而有效降低了服務(wù)器數(shù)據(jù)庫的計算量,顯著提高了數(shù)據(jù)庫檢索目標(biāo)標(biāo)簽的效率,而且認(rèn)證過程還降低了標(biāo)簽的計算量。下面結(jié)合附圖和實施例對本發(fā)明作詳細(xì)說明。
附圖是本發(fā)明方法的流程圖。
具體實施例方式名詞解釋N =RFID系統(tǒng)中標(biāo)簽的最大數(shù)目;i 正整數(shù)(1彡i彡N);
new 下標(biāo)new表示當(dāng)前的值;。ld 下標(biāo)old表示前一次的值;IDi 存儲在標(biāo)簽中的標(biāo)簽標(biāo)識符;1 數(shù)據(jù)長度,常設(shè)定為標(biāo)簽標(biāo)識符的長度;h(x) =Hash 函數(shù),h :{0,1}1 — {0,1}1,x 為自變量;fk(x)帶密鑰Hash函數(shù)fk :10,1}1 X {0,1}1 — {0,1}、其中k為加密密鑰,x為自
變量;IDinew 存儲在數(shù)據(jù)庫中的當(dāng)前標(biāo)簽標(biāo)識符;IDiold 存儲在數(shù)據(jù)庫中的前一次標(biāo)簽標(biāo)識符;Hinew 存儲在數(shù)據(jù)庫中的當(dāng)前標(biāo)簽標(biāo)識符的哈希值;Hiold 存儲在數(shù)據(jù)庫中的前一次標(biāo)簽標(biāo)識符的哈希值;Di 存儲在數(shù)據(jù)庫中的標(biāo)簽的詳細(xì)信息;巧隨機數(shù),長度為1比持;r2 隨機數(shù),長度為1比特; 按位異或操作符;< < 循環(huán)左移操作符,m<<x表示將數(shù)值m循環(huán)左移x位;> > 循環(huán)右移操作符,m>>x表示將數(shù)值m循環(huán)右移x位;I I 鏈接操作符;G 隨機選擇操作符。參照附圖。下面將詳細(xì)描述ー個完整的RFID系統(tǒng)中讀寫器與標(biāo)簽之間的認(rèn)證過
程,具體過程如下。
權(quán)利要求
1. 一種基于Hash的RFID雙向認(rèn)證方法,其特征在于包括以下步驟 第一步讀寫器R生成一個隨機數(shù)Γι,構(gòu)造讀寫器詢問分組并將讀寫器詢問分組發(fā)送給標(biāo)簽Τ,讀寫器詢問分組僅包含隨機數(shù)T1 ;第二步標(biāo)簽T收到讀寫器R發(fā)送的讀寫器詢問分組后,產(chǎn)生隨機數(shù)r2,并計算以下 fn息Hi = h (IDi) M1 =ID,十尸2鵯U化)上式中,IDi為標(biāo)簽T的標(biāo)簽標(biāo)識符,然后標(biāo)簽T構(gòu)造標(biāo)簽響應(yīng)分組Hi I IM11 IM2并將標(biāo)簽響應(yīng)分組Hi I IM11 IM2發(fā)送給讀寫器R ;第三步讀寫器R收到標(biāo)簽T發(fā)送的標(biāo)簽響應(yīng)分組Hi ι Im1I IM2后,構(gòu)造讀寫器請求分組 Hi I IM11 IM21 I Γι并將讀寫器請求分組Hi I IM11 IM21 I Γι發(fā)送給服務(wù)器S ;第四步服務(wù)器S收到讀寫器R發(fā)送的讀寫器請求分組Hiι IM1I IM2 !巧后,利用讀寫器請求分組Hiι Im1I IM2I Ir1中的哈希值Hi,在數(shù)據(jù)庫中查找滿足Hi = Himw或者Hi = Hitjld的標(biāo)簽記錄條目,其中Himw為存儲在數(shù)據(jù)庫中的當(dāng)前標(biāo)簽標(biāo)識符的哈希值,Hiold為存儲在數(shù)據(jù)庫中的前一次標(biāo)簽標(biāo)識符的哈希值;如果找不到,就發(fā)送出錯信息給讀寫器R終止會話; 否則,從找到的標(biāo)簽記錄條目中提取出標(biāo)簽標(biāo)識符IDi,并計算G=J^eiDi,然后再計算 ^^=/iD,k r2),判斷M' 2是否等于禮;如果不相等,發(fā)送出錯信息給讀寫器R終止會話; 否則,服務(wù)器S通過對標(biāo)簽T的認(rèn)證,并執(zhí)行以下步驟服務(wù)器S計算信息M3 = ID,+十(r2 1/2),然后構(gòu)造服務(wù)器響應(yīng)分組Di | |M3并將服務(wù)器響應(yīng)分組Di I IM3發(fā)送給讀寫器R,其中,Di為存儲在數(shù)據(jù)庫中的標(biāo)簽的詳細(xì)信息; <2X服務(wù)器S更新標(biāo)簽T在服務(wù)器中存儲的標(biāo)簽記錄條目信息如下 IDiold = IDi Hioid — HiIDinew = (ID, //4)Θ (H, //4)Θ q Θr2Hinew h (ID-^new)第五步讀寫器R收到服務(wù)器S發(fā)送的服務(wù)器響應(yīng)分組DiI ^3后,提取出標(biāo)簽T的詳細(xì)信息Di,然后構(gòu)造讀寫器響應(yīng)分組并將讀寫器響應(yīng)分組發(fā)送給標(biāo)簽T,其中讀寫器響應(yīng)分組僅包含M3 ;第六步標(biāo)簽T收到讀寫器響應(yīng)分組后,計算ID丨=M3十 1/2),然后判斷i 是否等于ID”如果不相等,標(biāo)簽T終止會話,否則,標(biāo)簽T通過對服務(wù)器S的認(rèn)證,并執(zhí)行以下更新ID, = (ID,.》/ / 4)十(H1 / / 4)十 η 十[完成讀寫器R與標(biāo)簽T之間的安全認(rèn)證。
全文摘要
本發(fā)明公開了一種基于Hash的RFID雙向認(rèn)證方法,用于解決現(xiàn)有的RFID認(rèn)證方法數(shù)據(jù)庫檢索目標(biāo)標(biāo)簽效率低的技術(shù)問題。技術(shù)方案是采用偽隨機數(shù)發(fā)生器和Hash函數(shù)以及簡單的異或位運算,服務(wù)器在數(shù)據(jù)庫中檢索目標(biāo)標(biāo)簽時,利用標(biāo)簽響應(yīng)消息信息與數(shù)據(jù)庫中標(biāo)簽記錄先逐條進行比對,找到匹配記錄后,再進行計算驗證。該方法不需要對數(shù)據(jù)庫中的每條標(biāo)簽記錄進行計算驗證,從而有效降低了服務(wù)器數(shù)據(jù)庫的計算量,顯著提高了數(shù)據(jù)庫檢索目標(biāo)標(biāo)簽的效率,而且認(rèn)證過程還降低了標(biāo)簽的計算量。
文檔編號H04L9/32GK102510335SQ20111035617
公開日2012年6月20日 申請日期2011年11月10日 優(yōu)先權(quán)日2011年11月10日
發(fā)明者何利偉, 劉能賓, 龐遼軍, 徐銀雨, 李慧賢, 王掌權(quán), 裴慶祺, 趙軍 申請人:西北工業(yè)大學(xué), 西安電子科技大學(xué)