專利名稱:一種安全可靠、低成本的rfid雙向認(rèn)證方法
技術(shù)領(lǐng)域:
本發(fā)明涉及身份認(rèn)證技術(shù)領(lǐng)域,特別涉及一種安全可靠、低成本的RFID雙向認(rèn)證方法,屬于無(wú)線網(wǎng)絡(luò)通信技術(shù)領(lǐng)域。
背景技術(shù):
RFID (Radio Frequency Identif ication)是一種非接觸式自動(dòng)識(shí)別技術(shù),它通過(guò)射頻信號(hào)自動(dòng)識(shí)別目標(biāo)對(duì)象并獲取相關(guān)數(shù)據(jù)信息。RFID讀寫(xiě)器通過(guò)發(fā)射天線發(fā)送一定頻率的射頻信號(hào),當(dāng)RFID標(biāo)簽進(jìn)入發(fā)射天線工作區(qū)域時(shí),標(biāo)簽將自身編碼等信息通過(guò)其內(nèi)置的發(fā)送天線發(fā)送出去;系統(tǒng)接收天線接收到從標(biāo)簽發(fā)送來(lái)的載波信號(hào),經(jīng)天線調(diào)節(jié)器傳送到讀寫(xiě)器,讀寫(xiě)器對(duì)接收的信號(hào)進(jìn)行解調(diào)和解碼,然后送到后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行相關(guān)處理;后臺(tái)數(shù)據(jù)庫(kù)根據(jù)邏輯運(yùn)算判斷該卡的合法性,針對(duì)不同的設(shè)定做出相應(yīng)的處理和控制,發(fā)出指令 信號(hào)控制執(zhí)行機(jī)構(gòu)動(dòng)作。由于高速易讀性,現(xiàn)已被廣泛用于物流、商場(chǎng)和停車場(chǎng)等領(lǐng)域,給人類生活帶來(lái)極大的便利。RFID自動(dòng)識(shí)別系統(tǒng)的結(jié)構(gòu)如圖I所示,主要包括RFID標(biāo)簽、RFID讀寫(xiě)器和后臺(tái)數(shù)據(jù)庫(kù)。RFID讀寫(xiě)器與后臺(tái)數(shù)據(jù)庫(kù)之間采用有線連接的方式進(jìn)行通信,RFID標(biāo)簽與RFID讀寫(xiě)器之間采用無(wú)線射頻技術(shù)進(jìn)行通信。RFID標(biāo)簽通過(guò)內(nèi)部的存儲(chǔ)芯片存儲(chǔ)數(shù)據(jù)。RFID標(biāo)簽與RFID讀寫(xiě)器之間的無(wú)線通信方式為系統(tǒng)數(shù)據(jù)采集提供了靈活性,但與此同時(shí),數(shù)據(jù)也暴漏在大庭廣眾之下,成為一大安全隱患。顯而易見(jiàn),沒(méi)有可靠的信息安全機(jī)制,就無(wú)法有效保護(hù)RFID標(biāo)簽中的數(shù)據(jù)信息。如果標(biāo)簽中的信息被竊取甚至惡意更改,將可能給標(biāo)簽的合法擁有者帶來(lái)無(wú)法估量的損失。另外,沒(méi)有可靠信息安全機(jī)制的RFID標(biāo)簽,還存在容易向鄰近的讀寫(xiě)器泄漏一些敏感信息,易被干擾、易被跟蹤等安全隱患。如果RFID系統(tǒng)的安全性不能得到充分保證,RFID系統(tǒng)中的個(gè)人信息、商業(yè)機(jī)密和軍事秘密,都可能被人盜竊或被不法分子利用,這必將嚴(yán)重影響經(jīng)濟(jì)安全、軍事安全和國(guó)家安全。目前,RFID系統(tǒng)的安全性已經(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)成為國(guó)際上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)了 RFID讀寫(xiě)器對(duì)標(biāo)簽的認(rèn)證,并沒(méi)有實(shí)現(xiàn)RFID標(biāo)簽對(duì)讀寫(xiě)器的認(rèn)證;②一次認(rèn)證中后臺(tái)數(shù)據(jù)庫(kù)要進(jìn)行多次運(yùn)算,計(jì)算量相當(dāng)大。Hash-Lock協(xié)議、隨機(jī)化的Hash-Lock協(xié)議和LCAP協(xié)議是雙向認(rèn)證協(xié)議,其缺點(diǎn)是①Hash-Lock協(xié)議沒(méi)有動(dòng)態(tài)ID更新機(jī)制,并且key和ID明文傳送,這都嚴(yán)重的影響了系統(tǒng)的安全性。②隨機(jī)化的Hash-Lock協(xié)議不具有前向安全性,并且抵御不了位置跟蹤攻擊。③LCAP協(xié)議容易造成數(shù)據(jù)庫(kù)與RFID標(biāo)簽之間的數(shù)據(jù)不同步等問(wèn)題,因此易遭受異步攻擊。
發(fā)明內(nèi)容
本發(fā)明的目的是為了克服已有應(yīng)用于RFID自動(dòng)識(shí)別系統(tǒng)中的安全認(rèn)證協(xié)議存在的不足,提出一種安全可靠、低成本的RFID雙向認(rèn)證方法,實(shí)現(xiàn)RFID標(biāo)簽同讀寫(xiě)器的雙向認(rèn)證。本發(fā)明的目的是通過(guò)下述技術(shù)方案實(shí)現(xiàn)的。一種安全可靠、低成本的RFID雙向認(rèn)證方法,用于RFID自動(dòng)識(shí)別系統(tǒng)中RFID標(biāo)簽與RFID讀寫(xiě)器之間無(wú)線通信時(shí)進(jìn)行安全認(rèn)證,所述RFID自動(dòng)識(shí)別系統(tǒng)包括RFID標(biāo)簽、RFID讀寫(xiě)器和后臺(tái)數(shù)據(jù)庫(kù),其包括(I)在RFID標(biāo)簽中嵌入線性反饋移位寄存器和物理不可克隆函數(shù)(PhysicalUnclonable Function, PUF);其中,線性反饋移位寄存器的功能是生成偽隨機(jī)數(shù);物理不可克隆函數(shù)的功能是生成與RFID標(biāo)簽的Id (唯一身份識(shí)別碼)相對(duì)應(yīng)的偽裝Id,避免RFID標(biāo)簽Id和密鑰的明文傳輸。在后臺(tái)數(shù)據(jù)庫(kù)中嵌入隨機(jī)數(shù)生成器以及與RFID標(biāo)簽相同的線·性反饋移位寄存器,其中,隨機(jī)數(shù)生成器的功能是生成任意隨機(jī)數(shù);后臺(tái)數(shù)據(jù)庫(kù)中的線性反饋移位寄存器的功能也是生成偽隨機(jī)數(shù)。(2 )對(duì)RFID自動(dòng)識(shí)別系統(tǒng)進(jìn)行初始化,具體如下在每個(gè)RFID 標(biāo)簽中載入一個(gè)四元組{Id, Keycra, Pcue (Id), Array [m]},其中,Id代表RFID標(biāo)簽的唯一身份識(shí)別碼;Key·代表當(dāng)前會(huì)話的密鑰,其初始值為任意隨機(jī)數(shù);Pcue(IcI)代表RFID標(biāo)簽的當(dāng)前偽裝Id,由物理不可克隆函數(shù)生成,初始值為對(duì)標(biāo)簽Id應(yīng)用物理不可克隆函數(shù)得到的結(jié)果值;Array[m]是一個(gè)長(zhǎng)度為m的數(shù)組,該數(shù)組個(gè)元素的初始值均為0,m為正整數(shù),m彡64。在后臺(tái)數(shù)據(jù)庫(kù)中載入一個(gè)五元組{ID,KEYcue,Pcue(ID),KEYpee, Ppke(ID)K 其中,ID代表當(dāng)前通信RFID標(biāo)簽的唯一身份識(shí)別碼AEYcuk代表當(dāng)前通信RFID標(biāo)簽的當(dāng)前會(huì)話密鑰,其初始值與當(dāng)前通信RFID標(biāo)簽的初始會(huì)話密鑰相同;Ρ·(Ι0)代表當(dāng)前通信RFID標(biāo)簽的當(dāng)前偽裝ID,初始值與當(dāng)前通信RFID標(biāo)簽的初始偽裝Id相同;KEYpke代表當(dāng)前通信RFID標(biāo)簽的前次會(huì)話密鑰,其初始值為空;Ppke(ID)代表當(dāng)前通信RFID標(biāo)簽的前次偽裝ID,其初始值為空。(3) RFID標(biāo)簽與RFID讀寫(xiě)器之間的驗(yàn)證過(guò)程具體為步驟I :后臺(tái)數(shù)據(jù)庫(kù)中隨機(jī)數(shù)生成器生成一個(gè)隨機(jī)數(shù)(用R表示),并將該隨機(jī)數(shù)R發(fā)送給RFID讀寫(xiě)器,RFID讀寫(xiě)器向外界RFID標(biāo)簽廣播隨機(jī)數(shù)R以及通信請(qǐng)求。步驟2 :當(dāng)RFID標(biāo)簽收到來(lái)自讀寫(xiě)器的隨機(jī)數(shù)R以及通信請(qǐng)求后,通過(guò)公式(I)計(jì)算臨時(shí)變量Temp的值;然后查看Array [Temp]是否為I ;如果Array [Temp] = I,則發(fā)送拒絕消息給RFID讀寫(xiě)器,結(jié)束當(dāng)前會(huì)話;否則,將(Keytw CBL(R))發(fā)送給RFID讀寫(xiě)器,并設(shè)置Array[TempJ=I ;其中, 表示異或運(yùn)算,L( ·)表示將線性移位寄存器函數(shù)作用于括號(hào)中的參數(shù)。Temp=L (R) %m (I)其中,Temp為一個(gè)臨時(shí)變量;%為取余運(yùn)算符號(hào)。步驟3 =RFID讀寫(xiě)器收到RFID標(biāo)簽發(fā)送的消息后,判斷此消息是否為拒絕消息,如果是拒絕消息,則結(jié)束當(dāng)前會(huì)話。如果不是拒絕消息,則將該消息視為(Keyem L(R)),根據(jù)公式(2)還原當(dāng)前通信RFID標(biāo)簽的當(dāng)前會(huì)話密鑰Key·;然后,在后臺(tái)數(shù)據(jù)庫(kù)中查找與Keyam值相等的KEYam值,如果查找到,則提取出與該KEY·相對(duì)應(yīng)的ID和Pam(ID),并根據(jù)公式(3)計(jì)算臨時(shí)變量Temp',然后將Temp'發(fā)送給RFID標(biāo)簽;如果沒(méi)有找到,則在數(shù)據(jù)庫(kù)中查找與Keyam值相等的KEYpke值,如果找到,提取出與該KEYpke相應(yīng)的ID和Ppke(ID),并根據(jù)公示(4)計(jì)算臨時(shí)變量Temp',將Temp'發(fā)送給RFID標(biāo)簽;否則,結(jié)束當(dāng)前會(huì)話。
KeyCIIR=((KeyCUR 叫R)) L(R))⑵
Tempi= (L(R)十 ID) Pu r (ID)其中,Temp'為一個(gè)臨時(shí)變量。
Temp = (L(R) ID) P1irl(ID)(4)步驟4 =RFID標(biāo)簽接收到Ten^值后,通過(guò)公式(5)計(jì)算臨時(shí)變量Temp",然后將Temp "與Temp'進(jìn)行比較,如果相等,則認(rèn)定RFID讀寫(xiě)器合法,RFID標(biāo)簽根據(jù)公式(6)計(jì)算臨時(shí)變量 Tempi,并將 Templ、.L(PCUK (Ι ))θ P( KeyclR )和 L.(P(Key⑶R'))(+) P(Pcur (Id))
發(fā)送給RFID讀寫(xiě)器,其中,P (Key·)表示將物理不可克隆函數(shù)作用于Keyam, P (Pcue (Id))表示將將物理不可克隆函數(shù)作用于P· (Id);如果不相等,發(fā)送拒絕消息給RFID讀寫(xiě)器,結(jié)束當(dāng)前會(huì)話。
Tempff=(L(R)Θ Id)@ P(, R (Id)(5)其中,Temp"為一個(gè)臨時(shí)變量。
Templ=Prrk (Id) L(Id)〔6)其中,Tempi為一個(gè)臨時(shí)變量。步驟5 :判斷RFID讀寫(xiě)器接收到的消息是否為拒絕消息,如果是,則結(jié)束會(huì)話;否貝1J,通過(guò)公式(7)計(jì)算Temp2 ;將Temp2與Tempi進(jìn)行比較,如果Temp2與Tempi不相等,貝U認(rèn)定RFID標(biāo)簽不合法,結(jié)束當(dāng)前會(huì)話。否則,認(rèn)定RFID標(biāo)簽合法,更新后臺(tái)數(shù)據(jù)庫(kù);對(duì)后臺(tái)數(shù)據(jù)庫(kù)的更新分為2種情況處理 情況I :如步驟3中,在KEY·中找到與Keyam相等的值,則更新KEYpke和P· (ID),令 KEYpee=KEYcue, Ppke (ID) =Pcue (ID),然后通過(guò)公式(8)和公式(9)恢復(fù) P (KEYcue)和P (Pcue(ID)),將 KEYcue 的值更新為 P (KEYcue),將 Pcue (ID)的值更新為 P (Pcue (ID));情況2 :如步驟3中,在KEYpke中找到與Keyam相等的值,則保持KEYpke和Ppke(ID)不變,然后通過(guò)公式(8)和公式(9)恢復(fù)P(KEYcuk)和Ρ(Ρ·(Π))),將KEYcuk的值更新為P (KEYcue),將 Pcue (ID)的值更新為 P (Pcue (ID));
Temp2=Pri R (ID) L(ID)(7)其中,Temp2為一個(gè)臨時(shí)變量。
P(KEYU:K ) = (L(i\,R (Id):) P(KeyaJR })@ L(Pcm (ID))( 8 )
P(Pc:ir(1D)) = (l(P (KeyaiKjjePi^u^knjJeLiP (KEYcuk))步驟6 RFID讀寫(xiě)器發(fā)送更新成功消息和KEYam給RFID標(biāo)簽。步驟7 =RFID標(biāo)簽接收到更新消息,將Keyam的值更新為P (Keyam),將Pam (Id)的值更新為P (P· (Id));然后重置標(biāo)簽中的數(shù)組Array [m]中各元素值均為O,完成RFID標(biāo)簽更新,通過(guò)驗(yàn)證。通過(guò)上述步驟的操作,完成RFID標(biāo)簽與RFID讀寫(xiě)器之間的驗(yàn)證過(guò)程,通過(guò)驗(yàn)證的RFID標(biāo)簽和RFID讀寫(xiě)器即可進(jìn)行后續(xù)通信。 有益效果本發(fā)明提出的一種安全可靠、低成本的RFID雙向認(rèn)證方法與已有RFID認(rèn)證方法相比較,具有如下優(yōu)點(diǎn)①具有動(dòng)態(tài)ID更新機(jī)制。RFID標(biāo)簽和數(shù)據(jù)庫(kù)每成功完成一次會(huì)話之后,偽裝ID和密鑰都進(jìn)行一次更新,能夠避免惡意的重傳攻擊。②避免了數(shù)據(jù)的明文傳送,增強(qiáng)了系統(tǒng)的安全性。本發(fā)明使用了物理不可克隆函數(shù)。此函數(shù)依賴集成電路的相關(guān)特性來(lái)生成隨機(jī)數(shù),對(duì)標(biāo)簽ID進(jìn)行偽裝,任何方法都無(wú)法克隆出完全相同的標(biāo)簽以達(dá)到復(fù)制生成隨機(jī)數(shù)的目的。③具有前向安全性。本發(fā)明使用了線性反饋移位寄存器。線性反饋移位寄存器是良好的偽隨機(jī)數(shù)發(fā)生器,當(dāng)輸入一個(gè)種子數(shù)之后,生成的數(shù)字有很好的隨機(jī)性;同時(shí),線性反饋移位寄存器的電路成本非常低,對(duì)于128位的密鑰,僅需要268個(gè)門(mén)電路,因此,它適合用于低成本的RFID標(biāo)簽中,也能夠防止攻擊者根據(jù)當(dāng)前傳輸數(shù)據(jù),推算出歷史數(shù)據(jù),因此具有前向安全性④抵御位置跟蹤攻擊。本發(fā)明采用了映射數(shù)組技術(shù),此種技術(shù)能夠記錄此輪通信中讀寫(xiě)器所采用的所有隨機(jī)數(shù),因?yàn)橥惠喼?,?shù)據(jù)庫(kù)采用相同隨機(jī)數(shù)的概率極其小,所以標(biāo)簽只接受未被采用過(guò)的隨機(jī)數(shù)所帶來(lái)的通信。因此,此種技術(shù)能夠有效的抵御外界對(duì)標(biāo)簽的位置跟蹤。
圖I為已有技術(shù)中RFID自動(dòng)識(shí)別系統(tǒng)的結(jié)構(gòu)示意圖;圖2為本發(fā)明具體實(shí)施例中的RFID標(biāo)簽與RFID讀寫(xiě)器之間的驗(yàn)證過(guò)程示意圖。
具體實(shí)施例方式下面結(jié)合附圖并舉實(shí)施例,對(duì)本發(fā)明進(jìn)行詳細(xì)描述。一種安全可靠、低成本的RFID雙向認(rèn)證方法,用于RFID自動(dòng)識(shí)別系統(tǒng)中RFID標(biāo)簽與RFID讀寫(xiě)器之間無(wú)線通信時(shí)進(jìn)行安全認(rèn)證,所述RFID自動(dòng)識(shí)別系統(tǒng)包括RFID標(biāo)簽、RFID讀寫(xiě)器和后臺(tái)數(shù)據(jù)庫(kù),其包括(I)在RFID標(biāo)簽中嵌入線性反饋移位寄存器和物理不可克隆函數(shù)(PhysicalUnclonable Function, PUF);其中,線性反饋移位寄存器的功能是生成偽隨機(jī)數(shù);物理不可克隆函數(shù)的功能是生成與RFID標(biāo)簽的Id相對(duì)應(yīng)的偽裝Id,避免RFID標(biāo)簽Id和密鑰的明文傳輸。在后臺(tái)數(shù)據(jù)庫(kù)中嵌入隨機(jī)數(shù)生成器以及與RFID標(biāo)簽相同的線性反饋移位寄存器,其中,隨機(jī)數(shù)生成器的功能是生成任意隨機(jī)數(shù);后臺(tái)數(shù)據(jù)庫(kù)中的線性反饋移位寄存器的功能也是生成偽隨機(jī)數(shù)。 (2 )對(duì)RFID自動(dòng)識(shí)別系統(tǒng)進(jìn)行初始化,具體如下在每個(gè)RFID標(biāo)簽中載入一個(gè)四元組{Id, Keycra, Pcm(Id), Array [m]},其中,Id代表RFID標(biāo)簽的唯一身份識(shí)別碼;KeyaiK代表當(dāng)前會(huì)話的密鑰,其初始值為任意隨機(jī)數(shù),設(shè)置此隨機(jī)數(shù)為長(zhǎng)度64位的二進(jìn)制數(shù)Tam(Id)代表RFID標(biāo)簽的當(dāng)前偽裝Id,由物理不可克隆函數(shù)生成,初始值為對(duì)標(biāo)簽Id應(yīng)用物理不可克隆函數(shù)得到的結(jié)果值,此數(shù)值的長(zhǎng)度也為64位的二進(jìn)制數(shù);Array[m]是一個(gè)長(zhǎng)度為m的數(shù)組,該數(shù)組個(gè)元素的初始值均為O, m=64。在后臺(tái)數(shù)據(jù)庫(kù)中載入一個(gè)五元組{ID,KEYcue,Pcue(ID),KEYpee, Ppke(ID)K 其中,ID代表當(dāng)前通信RFID標(biāo)簽的唯一身份識(shí)別碼AEYcuk代表當(dāng)前通信RFID標(biāo)簽的當(dāng)前會(huì)話密 鑰,其初始值與當(dāng)前通信RFID標(biāo)簽的初始會(huì)話密鑰相同;Ρ·(Ι0)代表當(dāng)前通信RFID標(biāo)簽的當(dāng)前偽裝ID,初始值與當(dāng)前通信RFID標(biāo)簽的初始偽裝Id相同;KEYpke代表當(dāng)前通信RFID標(biāo)簽的前次會(huì)話密鑰,其初始值為空;Ppke(ID)代表當(dāng)前通信RFID標(biāo)簽的前次偽裝ID,其初始值為空。(3) RFID標(biāo)簽與RFID讀寫(xiě)器之間的驗(yàn)證過(guò)程示意圖如圖2所示,具體驗(yàn)證過(guò)程為步驟I :后臺(tái)數(shù)據(jù)庫(kù)中隨機(jī)數(shù)生成器生成一個(gè)隨機(jī)數(shù)R,并將該隨機(jī)數(shù)R發(fā)送給RFID讀寫(xiě)器,RFID讀寫(xiě)器向外界RFID標(biāo)簽廣播隨機(jī)數(shù)R以及通信請(qǐng)求。步驟2 :當(dāng)RFID標(biāo)簽收到來(lái)自讀寫(xiě)器的隨機(jī)數(shù)R以及通信請(qǐng)求后,通過(guò)公式(I)計(jì)算臨時(shí)變量Temp的值;然后查看Array [Temp]是否為I ;如果Array [Temp] = I,則發(fā)送拒絕消息給RFID讀寫(xiě)器,結(jié)束當(dāng)前會(huì)話;否則,將(Key ^ L(R))發(fā)送給RFID讀寫(xiě)器,并設(shè)置 Array [Temp] =1。例如當(dāng) m=64 時(shí),L (R) =1010101010,則 Temp= (101010)2= (42)10,查看Array [42]是否為I ;其中,(·)2表示二進(jìn)制數(shù)值,(· )1(|表示十進(jìn)制數(shù)值。步驟3 =RFID讀寫(xiě)器收到RFID標(biāo)簽發(fā)送的消息后,判斷此消息是否為拒絕消息,如果是拒絕消息,則結(jié)束當(dāng)前會(huì)話。如果不是拒絕消息,則將該消息視為(KeyeuR L(R)),根據(jù)公式(2)還原當(dāng)前通信RFID標(biāo)簽的當(dāng)前會(huì)話密鑰Key·;然后,在后臺(tái)數(shù)據(jù)庫(kù)中查找與Keyam值相等的KEYam值,如果查找到,則提取出與該KEY·相對(duì)應(yīng)的ID和Pam(ID),并根據(jù)公式(3)計(jì)算臨時(shí)變量Temp',然后將Temp'發(fā)送給RFID標(biāo)簽;如果沒(méi)有找到,則在數(shù)據(jù)庫(kù)中查找與Keyam值相等的KEYpke值,如果找到,提取出與該KEYpke相應(yīng)的ID和Ppke(ID),并根據(jù)公示(4)計(jì)算臨時(shí)變量Temp',將Temp'發(fā)送給RFID標(biāo)簽;否則,結(jié)束當(dāng)前會(huì)話。步驟4 =RFID標(biāo)簽接收到Tempi值后,通過(guò)公式(5)計(jì)算臨時(shí)變量Temp",然后將Temp "與Temp'進(jìn)行比較,如果相等,則認(rèn)定RFID讀寫(xiě)器合法,RFID標(biāo)簽根據(jù)公式(6)計(jì)算臨時(shí)變量 Temp I,并將 Temp I、L (Pci R (Id)) Θ P (Key ⑶R )和 L (P (Keyci R )) Θ P ( Pci R (Id))
發(fā)送給RFID讀寫(xiě)器,其中,P (Key·)表示將物理不可克隆函數(shù)作用于Keyam, P (Pcue (Id))表示將將物理不可克隆函數(shù)作用于P· (Id);如果不相等,發(fā)送拒絕消息給RFID讀寫(xiě)器,結(jié)束當(dāng)前會(huì)話。步驟5 :判斷RFID讀寫(xiě)器接收到的消息是否為拒絕消息,如果是,則結(jié)束會(huì)話;否貝1J,通過(guò)公式(7)計(jì)算Temp2 ;將Temp2與Tempi進(jìn)行比較,如果Temp2與Tempi不相等,貝U認(rèn)定RFID標(biāo)簽不合法,結(jié)束當(dāng)前會(huì)話。否則,認(rèn)定RFID標(biāo)簽合法,更新后臺(tái)數(shù)據(jù)庫(kù);對(duì)后臺(tái)數(shù)據(jù)庫(kù)的更新分為2種情況處理情況I :如步驟3中,在KEYam中找到與Keyam相等的值,則更新KEYpi^PPpke(ID),令 KEY^fKEY ,Ppee(ID)=Pcue(ID);然后通過(guò)公式(8)和公式(9)恢復(fù) P(KEYcuk)和P (Pcue(ID)),將 KEYcue 的值更新為 P (KEYcue),將 Pcue (ID)的值更新為 P (Pcue (ID));情況2 :如步驟3中,在KEYpke中找到與Keyam相等的值,則保持KEYpke和Ppke(ID)不變,然后通過(guò)公式(8)和公式(9)恢復(fù)P(KEYcuk)和Ρ(Ρ·(Π))),將KEYcuk的值更新為P (KEYcue),將 Pcue (ID)的值更新為 P (Pcue (ID));步驟6 =RFID讀寫(xiě)器發(fā)送更新成功消息和KEYam給RFID標(biāo)簽。步驟7 =RFID標(biāo)簽接收到更新消息,將Keyam的值更新為P (Keyam),將Pam (Id)的值更新為P (P· (Id));然后重置標(biāo)簽中的數(shù)組Array [m]中各元素值均為O,完成RFID標(biāo)簽更新,通過(guò)驗(yàn)證。通過(guò)上述步驟的操作,完成RFID標(biāo)簽與RFID讀寫(xiě)器之間的驗(yàn)證過(guò)程,通過(guò)驗(yàn)證的RFID標(biāo)簽和RFID讀寫(xiě)器即可進(jìn)行后續(xù)通信。以上所述的具體描述,對(duì)發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說(shuō)明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例,用于解釋本發(fā)明,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種安全可靠、低成本的RFID雙向認(rèn)證方法,用于RFID自動(dòng)識(shí)別系統(tǒng)中RFID標(biāo)簽與RFID讀寫(xiě)器之間無(wú)線通信時(shí)進(jìn)行安全認(rèn)證;所述RFID自動(dòng)識(shí)別系統(tǒng)包括RFID標(biāo)簽、RFID讀寫(xiě)器和后臺(tái)數(shù)據(jù)庫(kù);所述RFID雙向認(rèn)證方法,其特征在于包括 (1)在RFID標(biāo)簽中嵌入線性反饋移位寄存器和物理不可克隆函數(shù);其中,線性反饋移位寄存器的功能是生成偽隨機(jī)數(shù);物理不可克隆函數(shù)的功能是生成與RFID標(biāo)簽的唯一身份識(shí)別碼Id相對(duì)應(yīng)的偽裝Id,避免RFID標(biāo)簽Id和密鑰的明文傳輸;在后臺(tái)數(shù)據(jù)庫(kù)中嵌入隨機(jī)數(shù)生成器以及與RFID標(biāo)簽相同的線性反饋移位寄存器,其中,隨機(jī)數(shù)生成器的功能是生成任意隨機(jī)數(shù);后臺(tái)數(shù)據(jù)庫(kù)中的線性反饋移位寄存器的功能也是生成偽隨機(jī)數(shù); (2)對(duì)RFID自動(dòng)識(shí)別系統(tǒng)進(jìn)行初始化,具體如下 在每個(gè)RFID標(biāo)簽中載入一個(gè)四元組{Id, Keycra, Pcue(Id), Array[m]},其中,Id代表RFID標(biāo)簽的唯一身份識(shí)別碼;Key·代表當(dāng)前會(huì)話的密鑰,其初始值為任意隨機(jī)數(shù);Pcue(IcI)代表RFID標(biāo)簽的當(dāng)前偽裝Id,由物理不可克隆函數(shù)生成,初始值為對(duì)標(biāo)簽Id應(yīng)用物理不可克隆函數(shù)得到的結(jié)果值;Array[m]是一個(gè)長(zhǎng)度為m的數(shù)組,該數(shù)組個(gè)元素的初始值均為O,m為正整數(shù),m彡64 ; 在后臺(tái)數(shù)據(jù)庫(kù)中載入一個(gè)五元組{ID,KEYcue, Pcue(ID),KEYpee, Ppke(ID) };其中,ID代表當(dāng)前通信RFID標(biāo)簽的唯一身份識(shí)別碼AEYcuk代表當(dāng)前通信RFID標(biāo)簽的當(dāng)前會(huì)話密鑰,其初始值與當(dāng)前通信RFID標(biāo)簽的初始會(huì)話密鑰相同;Ρ·(ΙΟ)代表當(dāng)前通信RFID標(biāo)簽的當(dāng)前偽裝ID,初始值與當(dāng)前通信RFID標(biāo)簽的初始偽裝Id相同;KEYpke代表當(dāng)前通信RFID標(biāo)簽的前次會(huì)話密鑰,其初始值為空;Ppke(ID)代表當(dāng)前通信RFID標(biāo)簽的前次偽裝ID,其初始值為空; (3)RFID標(biāo)簽與RFID讀寫(xiě)器之間的驗(yàn)證過(guò)程具體為 步驟I :后臺(tái)數(shù)據(jù)庫(kù)中隨機(jī)數(shù)生成器生成一個(gè)隨機(jī)數(shù)R,并將該隨機(jī)數(shù)R發(fā)送給RFID讀寫(xiě)器,RFID讀寫(xiě)器向外界RFID標(biāo)簽廣播隨機(jī)數(shù)R以及通信請(qǐng)求; 步驟2 :當(dāng)RFID標(biāo)簽收到來(lái)自讀寫(xiě)器的隨機(jī)數(shù)R以及通信請(qǐng)求后,通過(guò)公式(I)計(jì)算臨時(shí)變量Temp的值;然后查看Array [Temp]是否為I ;如果Array [Temp] = I,則發(fā)送拒絕消息給RFID讀寫(xiě)器,結(jié)束當(dāng)前會(huì)話;否則,將(Keycm L(R))發(fā)送給RFID讀寫(xiě)器,并設(shè)置Array[TempJ=I ;其中,φ表示異或運(yùn)算,L( ·)表示將線性移位寄存器函數(shù)作用于括號(hào)中的參數(shù); Temp=L(R)%m (I) 其中,Temp為一個(gè)臨時(shí)變量;%為取余運(yùn)算符號(hào); 步驟3 :RFID讀寫(xiě)器收到RFID標(biāo)簽發(fā)送的消息后,判斷此消息是否為拒絕消息,如果是拒絕消息,則結(jié)束當(dāng)前會(huì)話;如果不是拒絕消息,則將該消息視為(KeyeuR L(R)),根據(jù)公式(2)還原當(dāng)前通信RFID標(biāo)簽的當(dāng)前會(huì)話密鑰Key·;然后,在后臺(tái)數(shù)據(jù)庫(kù)中查找與Key·值相等的KEYam值,如果查找到,則提取出與該KEYam相對(duì)應(yīng)的ID和Pam(ID),并根據(jù)公式(3)計(jì)算臨時(shí)變量Temp',然后將Temp'發(fā)送給RFID標(biāo)簽;如果沒(méi)有找到,則在數(shù)據(jù)庫(kù)中查找與Keyam值相等的KEYpke值,如果找到,提取出與該KEYpke相應(yīng)的ID和Ppke(ID),并根據(jù)公示(4)計(jì)算臨時(shí)變量Temp',將Temp'發(fā)送給RFID標(biāo)簽;否則,結(jié)束當(dāng)前會(huì)話;Keycm = ((Keycm L(R)) L(R))⑵Temp =(L(R) Θ ID) θ Pn R (ID)( 3 ) 其中,Temp'為一個(gè)臨時(shí)變量;Temp’= (L(R) @ ID) θ P丨切.(ID)C 4 ) 步驟4 :RFID標(biāo)簽接收到Temp'值后,通過(guò)公式(5)計(jì)算臨時(shí)變量Temp ",然后將Temp"與Temp'進(jìn)行比較,如果相等,則認(rèn)定RFID讀寫(xiě)器合法,RFID標(biāo)簽根據(jù)公式(6)計(jì)算臨時(shí)變量 Temp I,并將 Temp I、I, (Pc.u“ id)) Θ P (K.eyc·)和 L (P ( Keyc通))Θ P ( Pcur (Id))發(fā)送給RFID讀寫(xiě)器,其中,P (Key·)表示將物理不可克隆函數(shù)作用于Keyam, P (Pcue (Id))表示將將物理不可克隆函數(shù)作用于P· (Id);如果不相等,發(fā)送拒絕消息給RFID讀寫(xiě)器,結(jié)束當(dāng)前會(huì)話; Temp =(L(R)0 Id) Pa R (Id)( S ) 其中,Temp"為一個(gè)臨時(shí)變量;Ternp I =Pri R (id) L(Id)( 6 ; 其中,Tempi為一個(gè)臨時(shí)變量; 步驟5 :判斷RFID讀寫(xiě)器接收到的消息是否為拒絕消息,如果是,則結(jié)束會(huì)話;否則,通過(guò)公式(7)計(jì)算Temp2 ;將Temp2與Tempi進(jìn)行比較,如果Temp2與Tempi不相等,則認(rèn)定RFID標(biāo)簽不合法,結(jié)束當(dāng)前會(huì)話;否則,認(rèn)定RFID標(biāo)簽合法,更新后臺(tái)數(shù)據(jù)庫(kù);對(duì)后臺(tái)數(shù)據(jù)庫(kù)的更新分為2種情況處理 情況I :如步驟3中,在KEY·中找到與Key·相等的值,則更新KEYpke和Ppke(ID),令KEYpee=KEYcue, Ppke (ID) =Pcue (ID),然后通過(guò)公式(8)和公式(9)恢復(fù) P (KEYcue)和 P (Pcue (ID)),將KEY·的值更新為P (KEYcue),將Pcuk (ID)的值更新為P (Pcue (ID)); 情況2 :如步驟3中,在KEYpke中找到與Keyam相等的值,則保持KEYpke和Ppke (ID)不變,然后通過(guò)公式(8)和公式(9)恢復(fù)P (KEYcue)和P (Pcue(ID)),將KEYam的值更新為P (KEYcue),將 Pcue (ID)的值更新為 P (Pcue (ID));Temp2=F\lR(lD)0L([D)(7 ! 其中,Temp2為一個(gè)臨時(shí)變量;P(KE\cl;R ) = (l(Pcir (Id)) p(Keycijk ))十 L(P⑶r(ID))18;KpCVR ({D)) = (L(P (KeyaiR )) (叫))④ L(P (KEYcur ))(9) 步驟6 RFID讀寫(xiě)器發(fā)送更新成功消息和KEY·給RFID標(biāo)簽; 步驟7 :RFID標(biāo)簽接收到更新消息,將Key·的值更新為P (Keyam) JfPam(Id)的值更新為P(PajR(Id));然后重置標(biāo)簽中的數(shù)組Array [m]中各元素值均為O,完成RFID標(biāo)簽更新,通過(guò)驗(yàn)證; 通過(guò)上述步驟的操作,完成RFID標(biāo)簽與RFID讀寫(xiě)器之間的驗(yàn)證過(guò)程,通過(guò)驗(yàn)證的RFID標(biāo)簽和RFID讀寫(xiě)器即可進(jìn)行后續(xù)通信。
全文摘要
本發(fā)明中公開(kāi)了一種安全可靠、低成本的RFID雙向認(rèn)證方法,屬于無(wú)線網(wǎng)絡(luò)通信技術(shù)領(lǐng)域。本發(fā)明提出的RFID雙向認(rèn)證方法是一種基于線性反饋移位寄存器、物理不可克隆函數(shù)和映射數(shù)組技術(shù)的RFID雙向認(rèn)證協(xié)議,經(jīng)過(guò)讀寫(xiě)器和標(biāo)簽之間多次信息交互進(jìn)行密鑰的驗(yàn)證,確保只有合法讀寫(xiě)器與合法標(biāo)簽才能夠?qū)崿F(xiàn)數(shù)據(jù)相互讀取,完成RFID標(biāo)簽與讀寫(xiě)器的雙向認(rèn)證。本發(fā)明的主要特征是采用線性移位寄存器產(chǎn)生偽隨機(jī)數(shù),有效減少門(mén)電路數(shù)量;用物理不可克隆函數(shù)偽裝標(biāo)簽ID信息,防止核心信息泄露;用映射數(shù)組技術(shù),保護(hù)標(biāo)簽位置隱私。這一方法,不但可以防止標(biāo)簽的隱私數(shù)據(jù)被非法用戶盜取,而且還能夠有效的抵御系統(tǒng)內(nèi)外的惡意用戶攻擊。
文檔編號(hào)H04W12/06GK102916957SQ201210390940
公開(kāi)日2013年2月6日 申請(qǐng)日期2012年10月15日 優(yōu)先權(quán)日2012年10月15日
發(fā)明者王超, 李楊, 樊秀梅 申請(qǐng)人:北京理工大學(xué)