專利名稱:一種基于Hash函數(shù)的RFID雙向認(rèn)證方法
技術(shù)領(lǐng)域:
本發(fā)明涉及身份認(rèn)證技術(shù)領(lǐng)域,特別涉及一種基于Hash函數(shù)的RFID雙向認(rèn)證方法,屬于無線網(wǎng)絡(luò)通信技術(shù)領(lǐng)域。
背景技術(shù):
RFID (Radio Frequency Identif ication)是一種非接觸式自動(dòng)識別技術(shù),它通過射頻信號自動(dòng)識別目標(biāo)對象并獲取相關(guān)數(shù)據(jù)信息。標(biāo)簽讀寫器通過發(fā)射天線發(fā)送一定頻率的射頻信號,當(dāng)RFID標(biāo)簽進(jìn)入發(fā)射天線工作區(qū)域時(shí),標(biāo)簽將自身編碼等信息通過其內(nèi)置的發(fā)送天線發(fā)送出去;系統(tǒng)接收天線接收到從標(biāo)簽發(fā)送來的載波信號,經(jīng)天線調(diào)節(jié)器傳送到讀寫器,讀寫器對接收的信號進(jìn)行解調(diào)和解碼,然后送到后臺應(yīng)用系統(tǒng)進(jìn)行相關(guān)處理;應(yīng)用系統(tǒng)根據(jù)邏輯運(yùn)算判斷該卡的合法性,針對不同的設(shè)定做出相應(yīng)的處理和控制,發(fā)出指令 信號控制執(zhí)行機(jī)構(gòu)動(dòng)作。由于其高速易讀性,現(xiàn)已被廣泛用于物流、商場和停車場等領(lǐng)域,給人類生活帶來極大的便利。RFID自動(dòng)識別系統(tǒng)的結(jié)構(gòu)如圖I所示,主要包括RFID標(biāo)簽、RFID讀寫器和后臺數(shù)據(jù)庫。RFID讀寫器與后臺數(shù)據(jù)庫之間采用有線連接的方式進(jìn)行通信,RFID標(biāo)簽與RFID讀寫器之間采用無線射頻技術(shù)進(jìn)行通信;RFID標(biāo)簽通過內(nèi)部的存儲(chǔ)芯片存儲(chǔ)數(shù)據(jù)。RFID標(biāo)簽與RFID讀寫器之間的無線通信方式為系統(tǒng)數(shù)據(jù)采集提供了靈活性,但與此同時(shí),數(shù)據(jù)也暴漏在大庭廣眾之下,成為一大安全隱患。顯而易見,沒有可靠的信息安全機(jī)制,就無法有效保護(hù)RFID標(biāo)簽中的數(shù)據(jù)信息。如果標(biāo)簽中的信息被竊取甚至惡意更改,將可能給標(biāo)簽的合法擁有者帶來無法估量的損失。另外,沒有可靠信息安全機(jī)制的RFID標(biāo)簽,還存在容易向鄰近的識讀器泄漏一些敏感信息,易被干擾、易被跟蹤等安全隱患。如果RFID系統(tǒng)的安全性不能得到充分保證,RFID系統(tǒng)中的個(gè)人信息、商業(yè)機(jī)密和軍事秘密,都可能被人盜竊或被不法分子利用,這必將嚴(yán)重影響經(jīng)濟(jì)安全、軍事安全和國家安全。目前,RFID的安全性已經(jīng)成為制約其廣泛應(yīng)用的重要因素。同時(shí),RFID標(biāo)簽本身有自己的缺點(diǎn),例如存儲(chǔ)能力有限,計(jì)算能力有限,電池供電時(shí)間有限,這些不足都限制著RFID安全認(rèn)證協(xié)議的設(shè)計(jì)。因此,設(shè)計(jì)高效、安全、低成本的安全認(rèn)證協(xié)議,已經(jīng)成為國際上RFID技術(shù)的主要發(fā)展方向。目前,已有的安全認(rèn)證協(xié)議主要有Hash鏈協(xié)議、Hash-Lock協(xié)議、隨機(jī)化的Hash-Lock協(xié)議和LCAP協(xié)議等。其中,Hash鏈協(xié)議是一種單向認(rèn)證協(xié)議,其缺點(diǎn)是①只實(shí)現(xiàn)了讀寫器對標(biāo)簽的認(rèn)證,并沒有實(shí)現(xiàn)標(biāo)簽對讀寫器的認(rèn)證;②一次認(rèn)證中后臺數(shù)據(jù)庫要進(jìn)行多次運(yùn)算,計(jì)算量相當(dāng)大。Hash-Lock協(xié)議、隨機(jī)化的Hash-Lock協(xié)議和LCAP協(xié)議是雙向項(xiàng)認(rèn)證協(xié)議,其缺點(diǎn)是①Hash-Lock協(xié)議沒有動(dòng)態(tài)ID更新機(jī)制,并且key和ID明文傳送,這都嚴(yán)重的影響了系統(tǒng)的安全性。②隨機(jī)化的Hash-Lock協(xié)議不具有前向安全性,并且抵御不了位置跟蹤攻擊。③LCAP協(xié)議容易造成數(shù)據(jù)庫與RFID標(biāo)簽之間的數(shù)據(jù)不同步等問題,因此也易遭受攻擊。
發(fā)明內(nèi)容
本發(fā)明的目的是為了克服已有應(yīng)用于RFID自動(dòng)識別系統(tǒng)中的安全認(rèn)證協(xié)議存在的不足,提出一種基于Hash函數(shù)的RFID雙向認(rèn)證方法。本發(fā)明的目的是通過下述技術(shù)方案實(shí)現(xiàn)的。一種基于Hash函數(shù)的RFID雙向認(rèn)證方法,用于RFID自動(dòng)識別系統(tǒng)中RFID標(biāo)簽與RFID讀寫器之間的無線通信時(shí)進(jìn)行安全認(rèn)證,所述RFID自動(dòng)識別系統(tǒng)包括RFID標(biāo)簽、RFID讀寫器和后臺數(shù)據(jù)庫,其包括(I)在RFID標(biāo)簽中嵌入Hash函數(shù),用來生成偽隨機(jī)數(shù)。在后臺數(shù)據(jù)庫中嵌入隨機(jī)數(shù)生成器以及與RFID標(biāo)簽相同的Hash函數(shù),隨機(jī)數(shù)生成器的功能是生成隨機(jī)數(shù)。(2 )對RFID自動(dòng)識別系統(tǒng)進(jìn)行初始化,具體如下·
在每個(gè)RFID標(biāo)簽中載入一個(gè)三元組{Id,Key, Map [m]},其中,Id代表RFID標(biāo)簽的唯一身份識別碼;Key代表當(dāng)前會(huì)話的密鑰,其初始值為任意隨機(jī)數(shù);Map[m]是一個(gè)長度為m的數(shù)組,其初始值均為O, m為正整數(shù),m彡64。在后臺數(shù)據(jù)庫中載入一個(gè)五元組{ID,KEYnew,MetaKEYnew, KEYold, MetaKEYoldI。其中,ID代表當(dāng)前通信RFID標(biāo)簽的唯一身份識別碼;KEYnew代表當(dāng)前通信RFID標(biāo)簽的當(dāng)前會(huì)話密鑰,其初始值與當(dāng)前通信RFID標(biāo)簽的初始會(huì)話密鑰相同;MetaKEYn 代表使用后臺數(shù)據(jù)庫中的Hash函數(shù)對KEYnew進(jìn)行哈希(Hash)運(yùn)算以后得到的結(jié)果JEYtjld中存儲(chǔ)前次會(huì)話中的KEYnew值,其初始值為空WetaKEYtjld中存儲(chǔ)前次會(huì)話中的MetaKEYnew值,其初始值為空。(3) RFID標(biāo)簽與RFID讀寫器之間的驗(yàn)證過程具體為步驟I :后臺數(shù)據(jù)庫中隨機(jī)數(shù)生成器生成一個(gè)隨機(jī)數(shù)(用R表示),并將該隨機(jī)數(shù)R發(fā)送給RFID讀寫器,RFID讀寫器向外界RFID標(biāo)簽廣播隨機(jī)數(shù)R以及通信請求。步驟2 :當(dāng)RFID標(biāo)簽收到來自讀寫器的隨機(jī)數(shù)R以及通信請求后,通過公式(I)計(jì)算Temp的值;然后查看Map [Temp]是否為I ;如果Map [Temp] =1,則發(fā)送拒絕消息給RFID讀寫器,結(jié)束當(dāng)前會(huì)話;否則,設(shè)置Map [Temp] =1,并通過公式(2)計(jì)算MetaKey值,通過公式
(3)計(jì)算Temp1值,然后將MetaKey和Temp1值發(fā)送給RFID讀寫器。Temp=H (R) %m(I)其中,Temp表示臨時(shí)變量;H( ·)為哈希函數(shù),對括號中的參數(shù)進(jìn)行哈希運(yùn)算。MetaKey=H (Key)(2)Temp1=H(Key | R)(3)其中,Temp1表示一個(gè)臨時(shí)變量;I I表示一個(gè)運(yùn)算,其功能是對該運(yùn)算符號的前后字符或字符串進(jìn)行連接。步驟3 :當(dāng)RFID讀寫器收到來自RFID標(biāo)簽的消息后,如果該消息是拒絕消息,則結(jié)束當(dāng)前會(huì)話;否則,將接收到的消息視為MetaKey和Temp1,然后將MetaKey和Temp1轉(zhuǎn)發(fā)給后臺數(shù)據(jù)庫。步驟4 :在后臺數(shù)據(jù)庫MetaKEYnew中查找是否存在與MetaKey相等的值,如果存在,則執(zhí)行步驟5 ;否則在后臺數(shù)據(jù)庫MetaKEYtjld中查找是否存在與MetaKey相等的值,如果存在,則執(zhí)行步驟6 ;否則,結(jié)束當(dāng)前會(huì)話。
步驟5 :在后臺數(shù)據(jù)庫中提取步驟4中所述的與MetaKey相等的MetaKEYnew相對應(yīng)的ID和KEYnew,通過公式(4)計(jì)算Temp2,并判斷Temp2與Temp1是否相等,如果相等,則認(rèn)為RFID標(biāo)簽合法,同時(shí)更新后臺數(shù)據(jù)庫,使MetaKEYtjld=MetaKEYnew ;KEYold=KEYnew ;KEYnew=KEYold φ R ;MetaKEYnew=H (KEYnew),然后執(zhí)行步驟7 ;否則,認(rèn)為RFID標(biāo)簽不合法,結(jié)束當(dāng)前會(huì)話。Temp2=H(KEYnew I | R)(4)其中,Temp2表不一個(gè)臨時(shí)變量。步驟6 :在后臺數(shù)據(jù)庫中提取步驟4中所述與MetaKey相等的MetaKEYtjld相對應(yīng)的ID和KEYtjld,通過公式(5)計(jì)算Temp3,并判斷Temp3與Temp1是否相等,如果相等,則認(rèn)為RFID標(biāo)簽合法,同時(shí)更新后臺數(shù)據(jù)庫,使KEYnew=KEYtjld 0 R,MetaKEYnew=H(KEYnew),然后執(zhí)行步驟7 ;否則,認(rèn)為RFID標(biāo)簽不合法,結(jié)束當(dāng)前會(huì)話。Temp3=H(KEYoldI | R)(5)·其中,Temp3表不一個(gè)臨時(shí)變量。步驟7 :后臺數(shù)據(jù)庫通過公式(6)計(jì)算Temp4值,將Temp4通過RFID讀寫器發(fā)送給RFID標(biāo)簽。Temp4=H(ID||R||KEY)(6)其中,Temp4表不一個(gè)臨時(shí)變量。步驟8 :RFID標(biāo)簽通過公式(7)計(jì)算Temp5值,將Temp5與Temp4進(jìn)行比較,如果不相等,則認(rèn)為RFID讀寫器不合法,結(jié)束當(dāng)前會(huì)話;否則,RFID讀寫器通過驗(yàn)證,標(biāo)簽對Key進(jìn)行更新,使Key的值為(Key十R),并將Map [m]中的所有項(xiàng)都設(shè)置為O,完成標(biāo)簽更新,允許標(biāo)簽和讀寫器的后續(xù)通信。Temp5=H(Id I I RI I Key)(7)其中,Temp5表不一個(gè)臨時(shí)變量。通過上述步驟的操作,完成RFID標(biāo)簽與RFID讀寫器之間的驗(yàn)證過程,通過驗(yàn)證的RFID標(biāo)簽和RFID讀寫器即可進(jìn)行后續(xù)通信。有益效果本發(fā)明提出一種基于Hash函數(shù)的RFID雙向認(rèn)證方法,與已有RFID認(rèn)證方法相比較,具有如下優(yōu)點(diǎn)①具有動(dòng)態(tài)ID更新機(jī)制。RFID標(biāo)簽和數(shù)據(jù)庫每成功完成一次會(huì)話之后,密鑰都進(jìn)行一次更新,能夠避免惡意的重傳攻擊。②避免了數(shù)據(jù)的明文傳送,增強(qiáng)了系統(tǒng)的安全性。本發(fā)明使用了 Hash函數(shù)作為偽碼生成函數(shù),Hash函數(shù)具有運(yùn)算成本小,單向不可逆等優(yōu)點(diǎn),根據(jù)運(yùn)算結(jié)果,不能反推輸入數(shù)據(jù)。因此,它適合用于低成本的RFID標(biāo)簽中。③具有前向安全性。本發(fā)明使用了隨機(jī)數(shù)發(fā)生器,每次消息傳遞采用新的隨機(jī)數(shù),并且會(huì)話成功都會(huì)更新密鑰,所以即使攻擊者能夠捕獲當(dāng)前數(shù)據(jù),也能夠防止攻擊者推算出歷史數(shù)據(jù),因此具有前向安全性。④抵御位置跟蹤攻擊。本發(fā)明采用了映射數(shù)組技術(shù),此種技術(shù)能夠記錄此輪通信中讀寫器所采用的所有隨機(jī)數(shù),因?yàn)橥惠喼?,?shù)據(jù)庫采用相同隨機(jī)數(shù)的概率極其小,所以標(biāo)簽只接受未被采用過的隨機(jī)數(shù)所帶來的通信。因此,此種技術(shù)能夠有效的抵御外界對標(biāo)簽的位置跟蹤。
圖I為已有技術(shù)中RFID自動(dòng)識別系統(tǒng)的結(jié)構(gòu)示意圖;圖2為本發(fā)明具體實(shí)施例中的RFID標(biāo)簽與RFID讀寫器之間的驗(yàn)證過程示意圖。
具體實(shí)施例方式為了更好的說明本發(fā)明的技術(shù)方案,下面結(jié)合附圖,通過I個(gè)實(shí)施例,對本發(fā)明做
進(jìn)一步說明。
一種基于Hash函數(shù)的RFID雙向認(rèn)證方法,用于RFID自動(dòng)識別系統(tǒng)中RFID標(biāo)簽與RFID讀寫器之間的無線通信時(shí)進(jìn)行安全認(rèn)證,所述RFID自動(dòng)識別系統(tǒng)包括RFID標(biāo)簽、RFID讀寫器和后臺數(shù)據(jù)庫,其包括(I)在RFID標(biāo)簽中嵌入Hash函數(shù),用來生成偽隨機(jī)數(shù)。在后臺數(shù)據(jù)庫中嵌入隨機(jī)數(shù)生成器以及與RFID標(biāo)簽相同的Hash函數(shù),隨機(jī)數(shù)生成器的功能是生成隨機(jī)數(shù)。(2 )對RFID自動(dòng)識別系統(tǒng)進(jìn)行初始化,具體如下在每個(gè)RFID標(biāo)簽中載入一個(gè)三元組{Id,Key, Map [m]},其中,Id代表RFID標(biāo)簽的唯一身份識別碼;Key代表當(dāng)前會(huì)話的密鑰,其初始值為任意隨機(jī)數(shù);Map[m]是一個(gè)長度為m的數(shù)組,其初始值均為0,m=128。在后臺數(shù)據(jù)庫中載入一個(gè)五元組{ID,KEYnew,MetaKEYnew, KEYold, MetaKEYoldI。其中,ID代表當(dāng)前通信RFID標(biāo)簽的唯一身份識別碼;KEYnew代表當(dāng)前通信RFID標(biāo)簽的當(dāng)前會(huì)話密鑰,其初始值與當(dāng)前通信RFID標(biāo)簽的初始會(huì)話密鑰相同;MetaKEYn 代表使用后臺數(shù)據(jù)庫中的Hash函數(shù)對KEYnew進(jìn)行哈希(Hash)運(yùn)算以后得到的結(jié)果JEYtjld中存儲(chǔ)前次會(huì)話中的KEYnew值,其初始值為空WetaKEYtjld中存儲(chǔ)前次會(huì)話中的MetaKEYnew值,其初始值為空。(3) RFID標(biāo)簽與RFID讀寫器之間的驗(yàn)證過程如圖2所示,具體為步驟I :后臺數(shù)據(jù)庫中隨機(jī)數(shù)生成器生成一個(gè)隨機(jī)數(shù)R,并將該隨機(jī)數(shù)R發(fā)送給RFID讀寫器,RFID讀寫器向外界RFID標(biāo)簽廣播隨機(jī)數(shù)R以及通信請求。步驟2 :當(dāng)RFID標(biāo)簽收到來自讀寫器的隨機(jī)數(shù)R以及通信請求后,通過公式(I)計(jì)算Temp的值;然后查看Map [Temp]是否為I ;如果Map [Temp] =1,則發(fā)送拒絕消息給RFID讀寫器,結(jié)束當(dāng)前會(huì)話;否則,設(shè)置Map [Temp] = I,并通過公式(2)計(jì)算MetaKey值,通過公式(3)計(jì)算Temp1值,然后將MetaKey和Temp1值發(fā)送給RFID讀寫器。例如當(dāng)m=128時(shí),H(R)=1010101010,貝丨J Temp= (0101010)2= (42) 1(|,查看 Map[42]是否為 I ;其中,(·)2 表示二進(jìn)制數(shù)值,(·)K)表示十進(jìn)制數(shù)值。步驟3 :當(dāng)RFID讀寫器收到來自RFID標(biāo)簽的消息后,如果該消息是拒絕消息,則結(jié)束當(dāng)前會(huì)話;否則,將接收到的消息視為MetaKey和Temp1,然后將MetaKey和Temp1轉(zhuǎn)發(fā)給后臺數(shù)據(jù)庫。步驟4 :在后臺數(shù)據(jù)庫MetaKEYnew中查找是否存在與MetaKey相等的值,如果存在,則執(zhí)行步驟5 ;否則在后臺數(shù)據(jù)庫MetaKEYtjld中查找是否存在與MetaKey相等的值,如果存在,則執(zhí)行步驟6 ;否則,結(jié)束當(dāng)前會(huì)話。
步驟5 :在后臺數(shù)據(jù)庫中提取步驟4中所述的與MetaKey相等的MetaKEYnew相對應(yīng)的ID和KEYnew,通過公式(4)計(jì)算Temp2,并判斷Temp2與Temp1是否相等,如果相等,則認(rèn)為RFID標(biāo)簽合法,同時(shí)更新后臺數(shù)據(jù)庫,使MetaKEYtjld=MetaKEYnew ;KEYold=KEYnew ;KEYnew=KEYold φ R ;MetaKEYnew=H (KEYnew),然后執(zhí)行步驟7 ;否則,認(rèn)為RFID標(biāo)簽不合法,結(jié)束當(dāng)前會(huì)話。步驟6 :在后臺數(shù)據(jù)庫中提取步驟4中所述與MetaKey相等的MetaKEYtjld相對應(yīng)的ID和KEYtjld,通過公式(5)計(jì)算Temp3,并判斷Temp3與Temp1是否相等,如果相等,則認(rèn)為RFID標(biāo)簽合法,同時(shí)更新后臺數(shù)據(jù)庫,使KEYnew=KEYtjld φ R,MetaKEYnew=H(KEYnew),然后執(zhí)行步驟7 ;否則,認(rèn)為RFID標(biāo)簽不合法,結(jié)束當(dāng)前會(huì)話。步驟7 :后臺數(shù)據(jù)庫通過公式(6)計(jì)算Temp4值,將Temp4通過RFID讀寫器發(fā)送給RFID標(biāo)簽。步驟8 :RFID標(biāo)簽通過公式(7)計(jì)算Temp5值,將Temp5與Temp4進(jìn)行比較,如果不 相等,則認(rèn)為RFID讀寫器不合法,結(jié)束當(dāng)前會(huì)話;否則,RFID讀寫器通過驗(yàn)證,標(biāo)簽對Key進(jìn)行更新,使Key的值為(Key R),并將Map [m]中的所有項(xiàng)都設(shè)置為O,完成標(biāo)簽更新,允許標(biāo)簽和讀寫器的后續(xù)通信。通過上述步驟的操作,完成RFID標(biāo)簽與RFID讀寫器之間的驗(yàn)證過程,通過驗(yàn)證的RFID標(biāo)簽和RFID讀寫器即可進(jìn)行后續(xù)通信。以上所述的具體描述,對發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例,用于解釋本發(fā)明,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于Hash函數(shù)的RFID雙向認(rèn)證方法,用于RFID自動(dòng)識別系統(tǒng)中RFID標(biāo)簽與RFID讀寫器之間的無線通信時(shí)進(jìn)行安全認(rèn)證;所述RFID自動(dòng)識別系統(tǒng)包括RFID標(biāo)簽、RFID讀寫器和后臺數(shù)據(jù)庫;基于Hash函數(shù)的RFID雙向認(rèn)證方法,其特征在于包括 (1)在RFID標(biāo)簽中嵌入Hash函數(shù),用來生成偽隨機(jī)數(shù);在后臺數(shù)據(jù)庫中嵌入隨機(jī)數(shù)生成器以及與RFID標(biāo)簽相同的Hash函數(shù),隨機(jī)數(shù)生成器的功能是生成隨機(jī)數(shù); (2)對RFID自動(dòng)識別系統(tǒng)進(jìn)行初始化,具體如下 在每個(gè)RFID標(biāo)簽中載入一個(gè)三元組{Id,Key, Map [m]},其中,Id代表RFID標(biāo)簽的唯一身份識別碼;Key代表當(dāng)前會(huì)話的密鑰,其初始值為任意隨機(jī)數(shù);Map[m]是一個(gè)長度為m的數(shù)組,其初始值均為O,m為正整數(shù),m ^ 64 ; 在后臺數(shù)據(jù)庫中載入一個(gè)五元組{ID,KEYnew, MetaKEYnew, KEYold, MetaKEYoldI ;其中,ID代表當(dāng)前通信RFID標(biāo)簽的唯一身份識別碼;KEYnew代表當(dāng)前通信RFID標(biāo)簽的當(dāng)前會(huì)話密鑰,其初始值與當(dāng)前通信RFID標(biāo)簽的初始會(huì)話密鑰相同;MetaKEYnOT代表使用后臺數(shù)據(jù)庫中的Hash函數(shù)對KEYnew進(jìn)行哈希運(yùn)算以后得到的結(jié)果AEYtjld中存儲(chǔ)前次會(huì)話中的KEYnew值,其初始值為空WetaKEYtjld中存儲(chǔ)前次會(huì)話中的MetaKEYnew值,其初始值為空; (3)RFID標(biāo)簽與RFID讀寫器之間的驗(yàn)證過程具體為 步驟I :后臺數(shù)據(jù)庫中隨機(jī)數(shù)生成器生成一個(gè)隨機(jī)數(shù)R,并將該隨機(jī)數(shù)R發(fā)送給RFID讀寫器,RFID讀寫器向外界RFID標(biāo)簽廣播隨機(jī)數(shù)R以及通信請求; 步驟2 :當(dāng)RFID標(biāo)簽收到來自讀寫器的隨機(jī)數(shù)R以及通信請求后,通過公式(I)計(jì)算Temp的值;然后查看Map [Temp]是否為I ;如果Map [Temp] =1,則發(fā)送拒絕消息給RFID讀寫器,結(jié)束當(dāng)前會(huì)話;否則,設(shè)置Map [Temp] =1,并通過公式(2)計(jì)算MetaKey值,通過公式(3)計(jì)算Temp1值,然后將MetaKey和Temp1值發(fā)送給RFID讀寫器; Temp=H(R)%m(I) 其中,Temp表示臨時(shí)變量;H( ·)為哈希函數(shù),對括號中的參數(shù)進(jìn)行哈希運(yùn)算; MetaKey=H(Key)(2) Temp1=H(Key | | R)(3) 其中,Temp1表不一個(gè)臨時(shí)變量;| I表不一個(gè)運(yùn)算,其功能是對該運(yùn)算符號的前后字符或字符串進(jìn)行連接; 步驟3 :當(dāng)RFID讀寫器收到來自RFID標(biāo)簽的消息后,如果該消息是拒絕消息,則結(jié)束當(dāng)前會(huì)話;否則,將接收到的消息視為MetaKey和Tempi,然后將MetaKey和Temp1轉(zhuǎn)發(fā)給后臺數(shù)據(jù)庫; 步驟4 :在后臺數(shù)據(jù)庫MetaKEYnew中查找是否存在與MetaKey相等的值,如果存在,則執(zhí)行步驟5 ;否則在后臺數(shù)據(jù)庫MetaKEYtjld中查找是否存在與MetaKey相等的值,如果存在,則執(zhí)行步驟6 ;否則,結(jié)束當(dāng)前會(huì)話; 步驟5 :在后臺數(shù)據(jù)庫中提取步驟4中所述的與MetaKey相等的MetaKEYnew相對應(yīng)的ID和KEYnew,通過公式(4)計(jì)算Temp2,并判斷Temp2與Temp1是否相等,如果相等,則認(rèn)為RFID標(biāo)簽合法,同時(shí)更新后臺數(shù)據(jù)庫,使 MetaKEYtjld=MetaKEYnew ;KEYold=KEYnew JEYnew=KEYtjld 十 R ;MetaKEYnew=H(KEYnew),然后執(zhí)行步驟7 ;否則,認(rèn)為RFID標(biāo)簽不合法,結(jié)束當(dāng)前會(huì)話;Temp2=H(KEYnew I | R)(4) 其中,Temp2表不一個(gè)臨時(shí)變量;步驟6 :在后臺數(shù)據(jù)庫中提取步驟4中所述與MetaKey相等的MetaKEYtjld相對應(yīng)的ID和KEYtjld,通過公式(5)計(jì)算Temp3,并判斷Temp3與Temp1是否相等,如果相等,則認(rèn)為RFID標(biāo)簽合法,同時(shí)更新后臺數(shù)據(jù)庫,使KEYnew=KEYtjl^R,MetaKEYnew=H(KEYnew),然后執(zhí)行步驟7 ;否則,認(rèn)為RFID標(biāo)簽不合法,結(jié)束當(dāng)前會(huì)話; Temp3=H(KEYold I | R)(5) 其中,Temp3表不一個(gè)臨時(shí)變量; 步驟7 :后臺數(shù)據(jù)庫通過公式(6)計(jì)算Temp4值,將Te mp4通過RFID讀寫器發(fā)送給RFID標(biāo)簽; Temp4=H(ID||R||KEY)(6) 其中,Temp4表不一個(gè)臨時(shí)變量; 步驟8 RFID標(biāo)簽通過公式(7 )計(jì)算Temp5值,將Temp5與Temp4進(jìn)行比較,如果不相等,則認(rèn)為RFID讀寫器不合法,結(jié)束當(dāng)前會(huì)話;否則,RFID讀寫器通過驗(yàn)證,標(biāo)簽對Key進(jìn)行更新,使Key的值為(Key R),并將Map [m]中的所有項(xiàng)都設(shè)置為O,完成標(biāo)簽更新,允許標(biāo)簽和讀寫器的后續(xù)通信; Temp5=H (Id I |R| |Key)(7) 其中,Temp5表不一個(gè)臨時(shí)變量; 通過上述步驟的操作,完成RFID標(biāo)簽與RFID讀寫器之間的驗(yàn)證過程,通過驗(yàn)證的RFID標(biāo)簽和RFID讀寫器即可進(jìn)行后續(xù)通信。
全文摘要
本發(fā)明中公開了一種基于Hash函數(shù)的RFID雙向認(rèn)證方法,屬于無線網(wǎng)絡(luò)通信技術(shù)領(lǐng)域。本發(fā)明采用Hash函數(shù),利用其單向不可逆運(yùn)算的特性,防止信息泄露,并且有效降低成本;用映射數(shù)組技術(shù),保護(hù)標(biāo)簽位置隱私;經(jīng)過讀寫器和標(biāo)簽之間多次信息交互進(jìn)行密鑰的驗(yàn)證,確保只有合法讀寫器與合法標(biāo)簽才能夠?qū)崿F(xiàn)數(shù)據(jù)讀取,完成RFID標(biāo)簽與讀寫器的雙向認(rèn)證。本發(fā)明提出的方法不但可以保護(hù)標(biāo)簽的隱私數(shù)據(jù)不被非法用戶盜取,而且還能夠有效的抵御系統(tǒng)內(nèi)外的惡意用戶攻擊。
文檔編號H04L29/06GK102916956SQ201210390649
公開日2013年2月6日 申請日期2012年10月15日 優(yōu)先權(quán)日2012年10月15日
發(fā)明者李楊, 王超, 樊秀梅 申請人:北京理工大學(xué)