本發(fā)明涉及RFID系統(tǒng)空口安全協(xié)議領(lǐng)域,特別是涉及一種基于極小加密算法、采用RFID空口安全協(xié)議實(shí)現(xiàn)RFID系統(tǒng)中閱讀器與標(biāo)簽間雙向認(rèn)證的方法與系統(tǒng)。
背景技術(shù):
射頻識(shí)別(Radio Frequency Identification,RFID)技術(shù)通過射頻信號(hào)自動(dòng)識(shí)別目標(biāo)對(duì)象并獲取相關(guān)數(shù)據(jù),是一種非接觸式的自動(dòng)識(shí)別技術(shù)。由于RFID技術(shù)具有多目標(biāo)識(shí)別和非接觸識(shí)別等優(yōu)點(diǎn),目前,RFID技術(shù)已廣泛應(yīng)用于制造業(yè)、商業(yè)、軍事和日常生活等領(lǐng)域。
RFID系統(tǒng)一般包括三部分:閱讀器、標(biāo)簽和后臺(tái)數(shù)據(jù)庫。其中,閱讀器是一個(gè)帶有天線的無線發(fā)射與接收設(shè)備,具有較大的存儲(chǔ)空間和微處理器,微處理器具有較強(qiáng)的處理能力;標(biāo)簽是配有天線的微型電路,由數(shù)千個(gè)邏輯門電路組成,通常沒有微處理器;后臺(tái)數(shù)據(jù)庫是可以運(yùn)行與任意硬件平臺(tái)的數(shù)據(jù)庫系統(tǒng),具有強(qiáng)大的存儲(chǔ)空間并且具有微處理器,具有較強(qiáng)的邏輯處理能力。
一般,RFID系統(tǒng)在實(shí)際中識(shí)別目標(biāo)對(duì)象時(shí),閱讀器與標(biāo)簽是分開的,標(biāo)簽被集成在被識(shí)別的目標(biāo)對(duì)象中,閱讀器與標(biāo)簽之間,通過發(fā)送無線射頻信號(hào)進(jìn)行認(rèn)證以及獲取相關(guān)數(shù)據(jù)。由于閱讀器與標(biāo)簽之間通過無線射頻信號(hào)傳輸數(shù)據(jù),信號(hào)的傳輸介質(zhì)是空氣,容易遭到各種惡意攻擊等不安全因素的影響。
技術(shù)實(shí)現(xiàn)要素:
發(fā)明人在研究過程中發(fā)現(xiàn),為了克服各種惡意攻擊等不安全因素的影響,提高閱讀器與標(biāo)簽間通信信道傳輸數(shù)據(jù)的安全性,可以將多種基于對(duì)稱密鑰體制的安全協(xié)議應(yīng)用于閱讀器與標(biāo)簽之間,但是,這些協(xié)議采用閱讀器對(duì)標(biāo)簽或者標(biāo)簽對(duì)閱讀器的單向認(rèn)證,在閱讀器與標(biāo)簽間信道傳輸?shù)臄?shù)據(jù)遇到各種惡意攻擊等不安全因素時(shí),傳輸數(shù)據(jù)的安全性低。同時(shí),這些基于對(duì)稱密鑰體制的安全協(xié)議中所采用的加密算法,要求標(biāo)簽具有較大的存儲(chǔ)空間,所以這種提高安全性的方法不能應(yīng)用于低成本RFID系統(tǒng)標(biāo)簽。
有鑒于此,本發(fā)明的主要目的是針對(duì)低成本RFID標(biāo)簽,提供一種實(shí)現(xiàn)RFID系統(tǒng)中閱讀器與標(biāo)簽雙向認(rèn)證的方法與系統(tǒng),此方法與系統(tǒng)是基于極小加密算法的RFID空口安全協(xié)議實(shí)現(xiàn)的雙向認(rèn)證,因?yàn)闃O小加密算法對(duì)標(biāo)簽的存儲(chǔ)空間要求較小,所以,本發(fā)明基于極小加密算法實(shí)現(xiàn)的雙向認(rèn)證方法與系統(tǒng),既能適用于低成本RFID系統(tǒng)標(biāo)簽,又能克服各種惡意攻擊等不安全因素的影響,進(jìn)而提高認(rèn)證的安全性。進(jìn)一步的,基于前述的雙向認(rèn)證方法,還能實(shí)現(xiàn)低成本RFID系統(tǒng)中閱讀器與標(biāo)簽間傳輸數(shù)據(jù)的安全性。
為此,本發(fā)明解決上述問題的技術(shù)方案是:
一種實(shí)現(xiàn)RFID系統(tǒng)中閱讀器與標(biāo)簽認(rèn)證的方法,其特征在于,所述認(rèn)證的方法應(yīng)用于RFID系統(tǒng),所述RFID系統(tǒng)包括閱讀器、標(biāo)簽和數(shù)據(jù)庫,所述數(shù)據(jù)庫與所述標(biāo)簽具有共享密鑰,該方法為:
所述標(biāo)簽采用哈希算法對(duì)標(biāo)簽標(biāo)識(shí)符與標(biāo)簽認(rèn)證碼進(jìn)行計(jì)算,得到令牌信息;其中,所述令牌信息是所述標(biāo)簽在接收所述閱讀器發(fā)送的查詢命令后計(jì)算得到的;
所述標(biāo)簽將令牌信息發(fā)送給所述閱讀器;
所述數(shù)據(jù)庫根據(jù)所述閱讀器發(fā)送的所述令牌信息獲取所述標(biāo)簽對(duì)應(yīng)的共享密鑰;
所述數(shù)據(jù)庫將所述共享密鑰、第一隨機(jī)數(shù)和第二隨機(jī)數(shù)發(fā)送給所述閱讀器,所述第一隨機(jī)數(shù)與所述第二隨機(jī)數(shù)由所述數(shù)據(jù)庫生成;
所述閱讀器采用極小加密算法,并利用所述共享密鑰對(duì)所述第一隨機(jī)數(shù)加密得到第一密文;
所述閱讀器將所述第一隨機(jī)數(shù)、所述第二隨機(jī)數(shù)與所述第一密文發(fā)送給所述標(biāo)簽;
所述標(biāo)簽比較所述第一密文與第二密文,所述第二密文由所述標(biāo)簽采用所述極小加密算法,并使用所述共享密鑰對(duì)所述第一隨機(jī)數(shù)加密得到,若所述第一密文與所述第二密文相同,則所述標(biāo)簽對(duì)所述閱讀器認(rèn)證通過;
所述標(biāo)簽將第三密文發(fā)送給所述閱讀器,所述第三密文由所述標(biāo)簽采用極小加密算法,并使用所述共享密鑰對(duì)所述第二隨機(jī)數(shù)加密得到;
所述閱讀器比較所述第三密文與第四密文,所述第四密文由所述閱讀器采用所述極小加密算法,并使用所述共享密鑰對(duì)所述第二隨機(jī)數(shù)加密得到,若所述第三密文與所述第四密文相同,則閱讀器對(duì)所述標(biāo)簽認(rèn)證通過。
優(yōu)選地,所述標(biāo)簽采用哈希算法對(duì)標(biāo)簽標(biāo)識(shí)符與標(biāo)簽認(rèn)證碼計(jì)算,得到令牌信息的方法,具體包括:
所述標(biāo)簽采用字符串拼接符,對(duì)所述標(biāo)簽標(biāo)識(shí)符與所述標(biāo)簽認(rèn)證碼進(jìn)行拼接,得到拼接字符;
所述標(biāo)簽采用所述哈希算法計(jì)算所述拼接字符,得到所述令牌信息。
優(yōu)選地,所述數(shù)據(jù)庫根據(jù)所述閱讀器發(fā)送的令牌信息獲取所述標(biāo)簽對(duì)應(yīng)的共享密鑰,具體包括:
所述數(shù)據(jù)庫接收閱讀器發(fā)送的令牌信息;
所述數(shù)據(jù)庫從存儲(chǔ)表中查找與所述令牌信息對(duì)應(yīng)的索引號(hào),所述存儲(chǔ)表為每個(gè)標(biāo)簽預(yù)留兩對(duì)索引號(hào)與令牌信息,所述兩對(duì)索引號(hào)與令牌信息中包含標(biāo)簽發(fā)送的令牌信息,所述存儲(chǔ)表保存在所述數(shù)據(jù)庫中;
所述數(shù)據(jù)庫獲取所述令牌信息對(duì)應(yīng)的索引號(hào);
所述數(shù)據(jù)庫利用所述索引號(hào)獲得與所述索引號(hào)對(duì)應(yīng)的共享密鑰。
優(yōu)選地,所述數(shù)據(jù)庫根據(jù)所述閱讀器發(fā)送的令牌信息獲取所述標(biāo)簽對(duì)應(yīng)的共享密鑰后,還包括:
所述數(shù)據(jù)庫計(jì)算所述索引號(hào)與第一隨機(jī)數(shù)的異或結(jié)果,所述第一隨機(jī)數(shù)由數(shù)據(jù)庫生成;
所述數(shù)據(jù)庫利用所述異或結(jié)果更新存儲(chǔ)表中另一對(duì)索引號(hào)與令牌信息。
優(yōu)選地,所述一種實(shí)現(xiàn)RFID系統(tǒng)中閱讀器與標(biāo)簽認(rèn)證的方法,還包括:
所述閱讀器向所述標(biāo)簽發(fā)送無線射頻信號(hào),所述標(biāo)簽集成于目標(biāo)對(duì)象中;
所述閱讀器根據(jù)所述標(biāo)簽的反饋信號(hào),獲取所述目標(biāo)對(duì)象的數(shù)據(jù);
本發(fā)明還提供一種實(shí)現(xiàn)RFID系統(tǒng)中閱讀器與標(biāo)簽認(rèn)證的系統(tǒng),所述系統(tǒng)包括:閱讀器、標(biāo)簽和數(shù)據(jù)庫,所述數(shù)據(jù)庫與所述標(biāo)簽具有共享密鑰。
所述系統(tǒng)中的標(biāo)簽具體包括:
計(jì)算單元,用于采用哈希算法對(duì)標(biāo)簽標(biāo)識(shí)符與標(biāo)簽認(rèn)證碼進(jìn)行計(jì)算,得到令牌信息;其中,所述令牌信息是所述標(biāo)簽在接收所述閱讀器發(fā)送的查詢命令后計(jì)算得到的;
第一發(fā)送單元,用于將令牌信息發(fā)送所述閱讀器;所述比較單元用于比較所述第一密文與第二密文,所述第二密文由所述標(biāo)簽采用所述極小加密算法,并使用所述共享密鑰對(duì)所述第一隨機(jī)數(shù)加密得到,若所述第一密文與所述第二密文相同,則所述標(biāo)簽對(duì)所述閱讀器認(rèn)證通過;
第二發(fā)送單元,用于將第三密文發(fā)送所述閱讀器,所述第三密文由所述標(biāo)簽采用極小加密算法,并使用所述共享密鑰對(duì)所述第二隨機(jī)數(shù)加密得到。
優(yōu)選地,所述計(jì)算單元包括:
拼接模塊,用于采用字符串拼接符,對(duì)所述標(biāo)簽標(biāo)識(shí)符與所述標(biāo)簽認(rèn)證碼進(jìn)行拼接,得到拼接字符;
計(jì)算模塊,用于采用所述哈希算法計(jì)算所述拼接字符,得到所述令牌信息。
所述系統(tǒng)中的數(shù)據(jù)庫具體包括:
獲取單元,用于根據(jù)所述閱讀器發(fā)送的所述令牌信息獲取所述標(biāo)簽對(duì)應(yīng)的共享密鑰;
發(fā)送單元,用于將所述共享密鑰、第一隨機(jī)數(shù)和第二隨機(jī)數(shù)發(fā)送所述閱讀器,所述第一隨機(jī)數(shù)與所述第二隨機(jī)數(shù)由所述數(shù)據(jù)庫生成。
優(yōu)選地,所述獲取單元具體包括:
接收模塊,用于接收閱讀器發(fā)送的令牌信息;
查找模塊,用于從存儲(chǔ)表中查找與所述令牌信息對(duì)應(yīng)的索引號(hào),所述存儲(chǔ)表為每個(gè)標(biāo)簽預(yù)留兩對(duì)索引號(hào)與令牌信息,所述兩對(duì)索引號(hào)與令牌信息中包含標(biāo)簽發(fā)送的令牌信息,所述存儲(chǔ)表保存在所述數(shù)據(jù)庫中;
獲取索引號(hào)模塊,用于獲取所述令牌信息對(duì)應(yīng)的索引號(hào);
獲取共享密鑰模塊,用于利用所述索引號(hào)獲得與所述索引號(hào)對(duì)應(yīng)的共享密鑰。
優(yōu)選地,所述數(shù)據(jù)庫還包括:
計(jì)算單元,用于計(jì)算所述索引號(hào)與第一隨機(jī)數(shù)的異或結(jié)果,所述第一隨機(jī)數(shù)由數(shù)據(jù)庫生成;
更新單元,用于利用所述異或結(jié)果更新存儲(chǔ)表中另一對(duì)索引號(hào)與令牌信息。
所述認(rèn)證系統(tǒng)中的閱讀器具體包括:
加密單元,用于采用極小加密算法,并利用所述共享密鑰對(duì)所述第一隨機(jī)數(shù)加密得到第一密文;
發(fā)送單元,用于將所述第一隨機(jī)數(shù)、所述第二隨機(jī)數(shù)與所述第一密文發(fā)送所述標(biāo)簽;
比較單元,用于比較所述第三密文與第四密文,所述第四密文由所述閱讀器采用所述極小加密算法,并使用所述共享密鑰對(duì)所述第二隨機(jī)數(shù)加密得到,若所述第三密文與所述第四密文相同,則閱讀器對(duì)所述標(biāo)簽認(rèn)證通過。
優(yōu)選地,所述認(rèn)證系統(tǒng)中的閱讀器還包括:
發(fā)送無線射頻信號(hào)單元,用于向所述標(biāo)簽發(fā)送無線射頻信號(hào),所述標(biāo)簽集成于目標(biāo)對(duì)象中;
獲取目標(biāo)對(duì)象數(shù)據(jù)單元,用于根據(jù)所述標(biāo)簽的反饋信號(hào),獲取所述目標(biāo)對(duì)象的數(shù)據(jù)。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
針對(duì)低成本的RFID系統(tǒng),為了克服RFID系統(tǒng)中閱讀器與標(biāo)簽之間傳輸數(shù)據(jù)容易遭受各種惡意攻擊等不安全因素的影響,保證閱讀器與標(biāo)簽間傳輸數(shù)據(jù)的安全性,本發(fā)明提出基于極小加密算法的RFID空口安全協(xié)議,其中安全協(xié)議采用的對(duì)稱密鑰加密算法是極小加密算法(Tiny Encryption Algorithm,TEA),此算法加密解密速度快、實(shí)現(xiàn)簡(jiǎn)單、具有較好的抗差分性能,并且,此算法不采用轉(zhuǎn)換矩陣,對(duì)標(biāo)簽的存儲(chǔ)空間的要求不高,適用于低成本RFID系統(tǒng)標(biāo)簽。同時(shí),此安全協(xié)議采用閱讀器與標(biāo)簽間雙向認(rèn)證的方式,只有當(dāng)閱讀器對(duì)標(biāo)簽認(rèn)證通過,同時(shí)標(biāo)簽對(duì)閱讀器認(rèn)證通過后才能進(jìn)行閱讀器與標(biāo)簽間的數(shù)據(jù)傳輸;并且,在每次認(rèn)證的過程中標(biāo)簽對(duì)標(biāo)簽標(biāo)識(shí)符進(jìn)行更新,數(shù)據(jù)庫對(duì)存儲(chǔ)表中的索引號(hào)進(jìn)行更新,使得在每次認(rèn)證過程中,標(biāo)簽標(biāo)識(shí)符與數(shù)據(jù)庫中的索引號(hào)是動(dòng)態(tài)變化的,克服了現(xiàn)有技術(shù)中閱讀器與標(biāo)簽間單向認(rèn)證方式對(duì)各種惡意攻擊等不安全因素的抵制性低的缺點(diǎn),從而使得閱讀器與標(biāo)簽間傳輸數(shù)據(jù)的安全性更高。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1是本發(fā)明中RFID系統(tǒng)的組成結(jié)構(gòu)示意圖;
圖2是本發(fā)明中閱讀器與標(biāo)簽采用極小加密算法進(jìn)行雙向認(rèn)證的流程圖;
圖3是本發(fā)明中收費(fèi)站收取車輛費(fèi)用的流程圖;
圖4是本發(fā)明中一種認(rèn)證的系統(tǒng)中標(biāo)簽對(duì)應(yīng)的結(jié)構(gòu)示意圖;
圖5是本發(fā)明中一種認(rèn)證的系統(tǒng)中數(shù)據(jù)庫對(duì)應(yīng)的結(jié)構(gòu)示意圖;
圖6是本發(fā)明中一種認(rèn)證的系統(tǒng)中閱讀器對(duì)應(yīng)的結(jié)構(gòu)示意圖;
圖7是本發(fā)明中一種應(yīng)用認(rèn)證系統(tǒng)中閱讀器還包括的單元結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明提供一種RFID系統(tǒng)中閱讀器與標(biāo)簽認(rèn)證的方法與系統(tǒng),此閱讀器與標(biāo)簽的認(rèn)證是基于極小加密算法實(shí)現(xiàn)的雙向認(rèn)證。在閱讀器與標(biāo)簽進(jìn)行雙向認(rèn)證的過程中,首先,閱讀器根據(jù)標(biāo)簽標(biāo)識(shí)符ID從數(shù)據(jù)庫中獲得此標(biāo)簽對(duì)應(yīng)的共享密鑰,并且閱讀器從數(shù)據(jù)庫獲取第一隨機(jī)數(shù)與第二隨機(jī)數(shù);然后,閱讀器將采用此共享密鑰加密第一隨機(jī)數(shù)得到的第一密文、第一隨機(jī)數(shù)以及第二隨機(jī)數(shù)發(fā)送給標(biāo)簽,標(biāo)簽采用其擁有的共享密鑰將第一隨機(jī)數(shù)加密得到第二密文,標(biāo)簽比較第一密文與第二密文,若兩者相同,則標(biāo)簽對(duì)閱讀器的認(rèn)證通過;最后,標(biāo)簽采用共享密鑰對(duì)第二隨機(jī)數(shù)加密得到第三密文,并將第三密文發(fā)送給閱讀器,閱讀器用其所擁有的共享密鑰對(duì)第二隨機(jī)數(shù)加密得到第四密文,閱讀器比較第三密文與第四密文,若兩者相同,則閱讀器對(duì)標(biāo)簽的認(rèn)證通過。當(dāng)RFID系統(tǒng)中的閱讀器與標(biāo)簽雙向認(rèn)證通過后,閱讀器需要獲取標(biāo)簽的信息可以通過加密在通信信道中安全傳輸。
為了保證低成本標(biāo)簽的RFID系統(tǒng)中閱讀器獲取標(biāo)簽的信息,可以在通信信道中安全傳輸,提出了一種基于極小加密算法的雙向認(rèn)證的方法與系統(tǒng)。為了使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明的方法與系統(tǒng),下面先對(duì)RFID系統(tǒng)與極小加密算法進(jìn)行詳細(xì)介紹。
RFID系統(tǒng)的組成圖,如圖1所示,由圖1可知,RFID系統(tǒng)包括后臺(tái)數(shù)據(jù)庫、閱讀器與標(biāo)簽三部分。通常RFID系統(tǒng)在實(shí)際應(yīng)用中識(shí)別目標(biāo)對(duì)象時(shí),目標(biāo)對(duì)象會(huì)有多個(gè),RFID系統(tǒng)中的標(biāo)簽與目標(biāo)對(duì)象是一一對(duì)應(yīng)的,在每個(gè)目標(biāo)對(duì)象上都集成一個(gè)標(biāo)簽,并且閱讀器與標(biāo)簽之間是分開的,閱讀器與標(biāo)簽之間通過射頻信號(hào)進(jìn)行相互認(rèn)證與獲取相關(guān)數(shù)據(jù)。
在閱讀器與標(biāo)簽通過射頻信號(hào)進(jìn)行傳輸數(shù)據(jù)時(shí),通常將閱讀器向標(biāo)簽發(fā)送射頻信號(hào)的信道稱為“前向信道”,標(biāo)簽向閱讀器發(fā)送射頻信號(hào)的信道稱為“反向信道”。由于閱讀器與標(biāo)簽的無線功率差別很大,閱讀器的無線功率要大于標(biāo)簽的無線功率,因此前向信道的通信范圍遠(yuǎn)遠(yuǎn)大于反向信道的通信范圍。
在RFID系統(tǒng)中,閱讀器與標(biāo)簽是分開的,通過無線射頻信號(hào)在前向信道與反向信道中傳輸,而閱讀器與后臺(tái)數(shù)據(jù)庫是相連接的,閱讀器可以從后臺(tái)數(shù)據(jù)庫中獲取數(shù)據(jù)。此外,閱讀器與數(shù)據(jù)庫都具有微處理器,具有較大的計(jì)算能力與存儲(chǔ)空間。但是,低成本標(biāo)簽通常不具有微處理器,僅由數(shù)千個(gè)邏輯門電路組成,其計(jì)算速度、通信能力與存儲(chǔ)空間都非常有限。
因此,針對(duì)低成本標(biāo)簽的RFID系統(tǒng),本發(fā)明提出閱讀器與標(biāo)簽的雙向認(rèn)證方法與系統(tǒng)是基于極小加密算法實(shí)現(xiàn)的。極小加密算法(Tiny Encryption Algorithm,TEA)是一種對(duì)稱密鑰加密算法,具有占用存儲(chǔ)空間小,同時(shí),此算法不采用轉(zhuǎn)換矩陣,不需要標(biāo)簽具有較大的存儲(chǔ)空間,適用于與低成本標(biāo)簽。此外,TEA算法采用128位密鑰對(duì)數(shù)據(jù)明文最少進(jìn)行32輪迭代(推薦進(jìn)行64輪迭代),具有計(jì)算速度快以及抗差分性能好的特點(diǎn)。
以TEA采用128位密鑰對(duì)64位明文數(shù)據(jù)進(jìn)32輪迭代加密得到64位密文為例,介紹TEA加密的過程,其過程如下:
(1)參數(shù)初始化
將64位明文數(shù)據(jù)分為x和y兩部分,各占32位;
將128位密鑰分為4部分,分別為a、b、c、d,每部分各占32位;
參數(shù)δ=0x9E3779B9,Sum=0。
(2)對(duì)明文數(shù)據(jù)進(jìn)行32輪迭代運(yùn)算過程為:
Sum=Sum+δ;
其中,“<<”表示按位左移,“>>”表示按位右移,表示異或操作。
將第(2)步中的x和y合并得到64位密文。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說明。
實(shí)施例1
為了使本技術(shù)領(lǐng)域的人員對(duì)RFID系統(tǒng)中閱讀器與標(biāo)簽之間基于極小加密算法進(jìn)行雙向認(rèn)證有更好地了解,下面詳細(xì)介紹RFID系統(tǒng)中閱讀器與標(biāo)簽之間基于極小加密算法進(jìn)行雙向認(rèn)證的步驟。
請(qǐng)參閱圖2,是本發(fā)明實(shí)施例中閱讀器與標(biāo)簽采用極小加密算法進(jìn)行雙向認(rèn)證的流程圖,具體步驟可以包括:
步驟S200:首先,閱讀器向標(biāo)簽發(fā)送查詢命令,此查詢命令是本發(fā)明進(jìn)行雙向認(rèn)證的第一步。當(dāng)閱讀器需要與標(biāo)簽進(jìn)行雙向認(rèn)證時(shí),閱讀器首先向標(biāo)簽發(fā)送查詢命令。
例如,將本發(fā)明提出的RFID系統(tǒng)中閱讀器與標(biāo)簽進(jìn)行雙向認(rèn)證的方法與系統(tǒng)應(yīng)用于統(tǒng)計(jì)公司固定資產(chǎn)的管理中,將所有公司的資產(chǎn)都分別內(nèi)置RFID系統(tǒng)的標(biāo)簽,RFID系統(tǒng)的閱讀器與數(shù)據(jù)庫相連接,在該數(shù)據(jù)庫中存有公司所有固定資產(chǎn)的相關(guān)信息。當(dāng)公司需要統(tǒng)計(jì)現(xiàn)在公司的所有固定資產(chǎn)時(shí),閱讀器向所有標(biāo)簽發(fā)送查詢命令,提示與標(biāo)簽進(jìn)行雙向認(rèn)證,以實(shí)現(xiàn)對(duì)標(biāo)簽的識(shí)別,進(jìn)而實(shí)現(xiàn)對(duì)現(xiàn)有固定資產(chǎn)的統(tǒng)計(jì)。
在RFID系統(tǒng)中有多個(gè)標(biāo)簽,下面以閱讀器與一個(gè)標(biāo)簽進(jìn)行雙向認(rèn)證的方法進(jìn)行介紹,閱讀器與其余標(biāo)簽的雙向認(rèn)證方法與此方法類似。
步驟S201:所述標(biāo)簽采用哈希算法對(duì)標(biāo)簽標(biāo)識(shí)符與標(biāo)簽認(rèn)證碼進(jìn)行計(jì)算,得到令牌信息;其中,所述令牌信息是所述標(biāo)簽在接收所述閱讀器發(fā)送的查詢命令后計(jì)算得到的;
標(biāo)簽接收此查詢命令后,采用字符串拼接符“‖”將標(biāo)簽標(biāo)識(shí)符“ID”與標(biāo)簽認(rèn)證碼“P”進(jìn)行拼接,得到拼接字符“ID‖P”。其中每個(gè)標(biāo)簽有兩個(gè)可選的標(biāo)簽標(biāo)識(shí)符分別為ID0與ID1。其中,ID0與ID1都可以被標(biāo)簽生成拼字符,如果選定其中一個(gè),在以后每次與閱讀器進(jìn)行認(rèn)證時(shí),都使用此標(biāo)簽標(biāo)識(shí)符。例如,在標(biāo)簽初次與閱讀器進(jìn)行認(rèn)證的過程中,選用ID0作為生成拼接字符的“ID”,那么在以后每次認(rèn)證過程中一直使用ID0,并且ID0與ID1在每次的認(rèn)證過程中都會(huì)被更新;
標(biāo)簽認(rèn)證碼是本發(fā)明為了實(shí)現(xiàn)閱讀器與標(biāo)簽的雙向認(rèn)證,在標(biāo)簽以及后臺(tái)數(shù)據(jù)庫中增加的內(nèi)容,標(biāo)簽認(rèn)證碼用于標(biāo)簽生成令牌信息,此標(biāo)簽認(rèn)證碼不會(huì)被更新,是與標(biāo)簽一一對(duì)應(yīng)的。接著,標(biāo)簽采用哈希算法對(duì)拼接字符“ID‖P”進(jìn)行計(jì)算,得到令牌信息。
步驟S202:標(biāo)簽將所述令牌信息發(fā)送給所述閱讀器。
閱讀器接收標(biāo)簽發(fā)送的令牌信息,以便后續(xù)將此令牌信息發(fā)送給數(shù)據(jù)庫。
步驟S203:所述數(shù)據(jù)庫根據(jù)所述閱讀器發(fā)送的所述令牌信息獲取所述標(biāo)簽對(duì)應(yīng)的共享密鑰。
具體的,閱讀器接收標(biāo)簽發(fā)送的令牌信息,并將此令牌信息發(fā)送給數(shù)據(jù)庫。
數(shù)據(jù)庫根據(jù)此令牌信息獲取該標(biāo)簽對(duì)應(yīng)的共享密鑰的具體步驟包括:步驟A1~A4。
步驟A1:數(shù)據(jù)庫接收閱讀器發(fā)送的令牌信息。
步驟A2:數(shù)據(jù)庫從存儲(chǔ)表中查找與所述令牌信息對(duì)應(yīng)的索引號(hào),所述存儲(chǔ)表中包括所有標(biāo)簽對(duì)應(yīng)的令牌信息與索引號(hào),所述存儲(chǔ)表保存在所述數(shù)據(jù)庫中。
在數(shù)據(jù)庫中保存有存儲(chǔ)表,此存儲(chǔ)表中包括所有標(biāo)簽的信息,每個(gè)標(biāo)簽對(duì)應(yīng)存儲(chǔ)表中的一條記錄,此記錄內(nèi)容含有:(ID0,H(ID0//P),ID1,H(ID1//P),data)。
其中,ID0與ID1分別表示H(ID0//P)與H(ID1//P)的索引號(hào),在存儲(chǔ)表中為每個(gè)標(biāo)簽分別預(yù)留ID0與ID1,數(shù)據(jù)庫通過從存儲(chǔ)表中查找接收的令牌信息,來確定使用預(yù)留的ID0或ID1,在每次的認(rèn)證過程中ID0與ID1被更新;“data”表示標(biāo)簽的私密信息數(shù)據(jù),如貨物價(jià)格、貨物產(chǎn)地等需要保密的數(shù)據(jù);在初始化時(shí),ID0=ID,ID1=0。
數(shù)據(jù)庫根據(jù)接收閱讀器發(fā)送的令牌信息,從存儲(chǔ)表記錄中獲取所述令牌信息對(duì)應(yīng)的索引號(hào)。
步驟A3:數(shù)據(jù)庫利用所述索引號(hào)獲得所述共享密鑰。
數(shù)據(jù)庫采用得到的索引號(hào)按照與標(biāo)簽約定好的方式獲得共享密鑰,此共享密鑰的獲取方式是標(biāo)簽與數(shù)據(jù)庫約定的,標(biāo)簽與數(shù)據(jù)庫之間獲得共享密鑰的方式:
方式一:在進(jìn)行RFID系統(tǒng)中閱讀器與標(biāo)簽雙向認(rèn)證前,標(biāo)簽廠商已經(jīng)將共享密鑰寫入標(biāo)簽中,每個(gè)標(biāo)簽有多個(gè)共享密鑰,共享密鑰已經(jīng)完成排序,每次進(jìn)行認(rèn)證時(shí)按照順序使用共享密鑰生成第二密文與第三密文,并且將此標(biāo)簽的多個(gè)排序的共享密鑰保存在后臺(tái)數(shù)據(jù)庫中,數(shù)據(jù)庫根據(jù)標(biāo)簽發(fā)送的令牌信息查找到索引號(hào)后按照認(rèn)證的次數(shù)與共享密鑰的順序,來確定本次認(rèn)證的共享密鑰,此時(shí),在每次閱讀器與標(biāo)簽認(rèn)證的過程中,數(shù)據(jù)庫選取的共享密鑰與標(biāo)簽所使用的共享密鑰是相同的。
方式二:標(biāo)簽在每次認(rèn)證中生成令牌信息的同時(shí)生成共享密鑰,標(biāo)簽采用非對(duì)稱加密算法并利用公鑰將此共享密鑰加密得到加密的共享密;數(shù)據(jù)庫根據(jù)此標(biāo)簽的私鑰對(duì)加密的共享密鑰解密得到所述共享密鑰,。
需要說明的是,采用此種密鑰共享的方式,需要閱讀器與標(biāo)簽進(jìn)行雙向認(rèn)證之前,數(shù)據(jù)庫中已存有與所有標(biāo)簽相對(duì)應(yīng)的非對(duì)稱密鑰算法的私鑰,數(shù)據(jù)庫利用該私鑰對(duì)接收的加密共享密鑰解密得到該標(biāo)簽的共享密鑰,并且數(shù)據(jù)庫中每個(gè)標(biāo)簽的索引號(hào)與該標(biāo)簽所對(duì)應(yīng)的非對(duì)稱密碼算法的私鑰是對(duì)應(yīng)的。
標(biāo)簽與數(shù)據(jù)庫間采用此種密鑰共享的方式,需要閱讀器向數(shù)據(jù)庫發(fā)送令牌信息的同時(shí),將標(biāo)簽加密的共享密鑰也發(fā)送給數(shù)據(jù)庫。數(shù)據(jù)庫根據(jù)該令牌信息在數(shù)據(jù)庫中對(duì)應(yīng)的索引號(hào),查找到該標(biāo)簽所對(duì)應(yīng)的私鑰,數(shù)據(jù)庫利用此私鑰解密加密的共享密鑰來獲取共享密鑰。
需要說明的是,以上的標(biāo)簽與數(shù)據(jù)庫獲取共享密鑰的方式只是本發(fā)明實(shí)施例給出的兩種方式,還存在其他的方式,實(shí)際應(yīng)用中,應(yīng)根據(jù)標(biāo)簽的存儲(chǔ)空間與計(jì)算能力等性能來確定標(biāo)簽與數(shù)據(jù)庫獲取共享密鑰的方式。
在數(shù)據(jù)庫獲的該標(biāo)簽對(duì)應(yīng)共享密鑰后,數(shù)據(jù)庫將該標(biāo)簽對(duì)應(yīng)的索引號(hào)與第一隨機(jī)數(shù)進(jìn)行異或,將得到的異或結(jié)果替換存儲(chǔ)表中另外一個(gè)索引號(hào)。
例如,數(shù)據(jù)庫的存儲(chǔ)表中保存有標(biāo)簽的信息(ID0,H(ID0//P),ID1,H(ID1//P),data)。ID0與ID1是為該標(biāo)簽預(yù)留的兩個(gè)索引號(hào),數(shù)據(jù)庫根據(jù)接收的令牌信息,得到存儲(chǔ)表中的H(ID0//P)與該令牌信息相同,則數(shù)據(jù)根據(jù)H(ID0//P)對(duì)應(yīng)的索引號(hào)ID0獲得了該標(biāo)簽的共享密鑰后,采用公式來更新ID1與H(ID1//P)。
步驟S204:所述數(shù)據(jù)庫將所述共享密鑰、第一隨機(jī)數(shù)和第二隨機(jī)數(shù)發(fā)送所述閱讀器,所述第一隨機(jī)數(shù)與所述第二隨機(jī)數(shù)由所述數(shù)據(jù)庫生成;
數(shù)據(jù)庫生成第一隨機(jī)數(shù)與第二隨機(jī)數(shù),并將此第一隨機(jī)數(shù)與第二隨機(jī)數(shù)以及步驟S203獲取的共享密鑰發(fā)送給閱讀器。具體的,數(shù)據(jù)庫可以采用隨機(jī)數(shù)發(fā)生器來生成兩個(gè)不同的隨機(jī)數(shù)分別作為第一隨機(jī)數(shù)和第二隨機(jī)數(shù),需要說明的是第一隨機(jī)數(shù)與第二隨機(jī)數(shù)的長(zhǎng)度與需要更新的索引號(hào)的長(zhǎng)度相同。
步驟S205:所述閱讀器采用極小加密算法,并利用所述共享密鑰對(duì)所述第一隨機(jī)數(shù)加密得到第一密文;
閱讀器接收數(shù)據(jù)庫發(fā)送的第一隨機(jī)數(shù)、第二隨機(jī)數(shù)以及共享密鑰。閱讀器采用內(nèi)置的極小加密算法,并利用共享密鑰對(duì)第一隨機(jī)數(shù)加密得到第一密文。具體的,本領(lǐng)域技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,很容易依據(jù)所述極小加密算法采用128位密鑰對(duì)64為明文數(shù)據(jù)進(jìn)行32輪迭代加密得到64位密文的加密方法為例,得到閱讀器以極小加密算法采用共享密鑰對(duì)第一隨機(jī)數(shù)加密的得到第一密文,在這里對(duì)閱讀器生成第一密文不在贅述。
步驟206:所述閱讀器將所述第一隨機(jī)數(shù)、所述第二隨機(jī)數(shù)與所述第一密文發(fā)送所述標(biāo)簽;
閱讀器將步驟S205加密得到的第一密文、第一隨機(jī)數(shù)以及第二隨機(jī)數(shù)發(fā)送給標(biāo)簽。
步驟S207:所述標(biāo)簽比較所述第一密文與第二密文,所述第二密文由所述標(biāo)簽采用所述極小加密算法,并使用所述共享密鑰對(duì)所述第一隨機(jī)數(shù)加密得到,若所述第一密文與所述第二密文相同,則所述標(biāo)簽對(duì)所述閱讀器認(rèn)證通過;
標(biāo)簽接收閱讀器發(fā)送的第一密文、第一隨機(jī)數(shù)以及第二隨機(jī)數(shù);標(biāo)簽采用其內(nèi)置的極小加密算法,并利用共享密鑰對(duì)接收的第一隨機(jī)數(shù)進(jìn)行加密得到第二密文,具體的,標(biāo)簽加密第一隨機(jī)數(shù)得到第二密文的方法,與閱讀器加密第一隨機(jī)數(shù)得到第一密文的方法相同。
標(biāo)簽比較第一密文與第二密文,若兩者相同,則標(biāo)簽對(duì)閱讀器的認(rèn)證通過,若兩者不同,則結(jié)束認(rèn)證流程。
需要說明的是,標(biāo)簽對(duì)第一密文與第二密文比較完后,采用公式來刷新標(biāo)簽中兩個(gè)可選的標(biāo)簽標(biāo)識(shí)符ID0與ID1,公式中,X的取值為1或0,RA為所述的第一隨機(jī)數(shù)。例如,在標(biāo)簽與閱讀器認(rèn)證過程中,標(biāo)簽采用ID0來生成令牌信息,此時(shí),根據(jù)公式來更新標(biāo)簽的兩個(gè)備選標(biāo)簽標(biāo)識(shí)符,在以后標(biāo)簽與閱讀器進(jìn)行認(rèn)證的過程中,標(biāo)簽采用更新的ID0來生成令牌信息。
步驟S208:所述標(biāo)簽將第三密文發(fā)送所述閱讀器,所述第三密文由所述標(biāo)簽采用極小加密算法,并使用所述共享密鑰對(duì)所述第二隨機(jī)數(shù)加密得到;
標(biāo)簽采用內(nèi)置的極小加密算法,并利用共享密鑰對(duì)第二隨機(jī)數(shù)加密得到第三密文,將此第三密文發(fā)送給閱讀器。其中,標(biāo)簽對(duì)第二隨機(jī)數(shù)加密得到第三密文的方法與閱讀器對(duì)第一隨機(jī)數(shù)加密得到第一密文的方法類似,這里不再贅述。
步驟S208:所述閱讀器比較所述第三密文與第四密文,所述第四密文由所述閱讀器采用所述極小加密算法,并使用所述共享密鑰對(duì)所述第二隨機(jī)數(shù)加密得到,若所述第三密文與所述第四密文相同,則閱讀器對(duì)所述標(biāo)簽認(rèn)證通過。
閱讀器接收標(biāo)簽發(fā)送的第三密文,采用極小加密算法并利用共享密鑰對(duì)第二隨機(jī)數(shù)加密得到第四密文,此處的共享密鑰是在步驟S204中數(shù)據(jù)庫發(fā)送給閱讀器的共享密鑰。其中,閱讀器對(duì)第二隨機(jī)數(shù)加密得到第四密文的方法與標(biāo)簽對(duì)第二隨機(jī)數(shù)加密得到第三密文的方法類似,這里不再贅述。
接著,閱讀器比較第三密文與第四密文,若兩者相同,則閱讀器對(duì)標(biāo)簽的認(rèn)證通過,若兩者不同,則結(jié)束閱讀器與標(biāo)簽間的認(rèn)證過程。
從上述實(shí)現(xiàn)雙向認(rèn)證的步驟中可以看出,通過此雙向認(rèn)證后,閱讀器與標(biāo)簽間傳輸?shù)臄?shù)據(jù)可以是通過極小加密算法加密后的數(shù)據(jù),根據(jù)極小加密算法的特性,在沒有共享密鑰的情況下,不可能獲得數(shù)據(jù),因此,攻擊者如果想要獲得此數(shù)據(jù)必須要有共享密鑰,而共享密鑰只有存在于數(shù)據(jù)庫與標(biāo)簽中,如果想從數(shù)據(jù)庫中獲取此共享密鑰,需要得到令牌信息中的索引號(hào),即便攻擊者竊取都令牌信息,根據(jù)哈希函數(shù)的特性,也無法根據(jù)令牌信息恢復(fù)出該標(biāo)簽對(duì)應(yīng)的索引號(hào),進(jìn)而不可能獲得共享密鑰,所以閱讀器與標(biāo)簽通過本發(fā)明的雙向認(rèn)證后,可以保證傳輸數(shù)據(jù)的秘密性。
同時(shí),在上述實(shí)現(xiàn)雙向認(rèn)證的步驟中,標(biāo)簽采用哈希函數(shù)計(jì)算明文數(shù)據(jù)得到令牌信息,根據(jù)哈希函數(shù)的特性,如果明文數(shù)據(jù)改變1bit,得到的哈希函數(shù)值將產(chǎn)生巨大的變化,同樣,反過來,如果對(duì)哈希函數(shù)值改變1bit,無法得知對(duì)應(yīng)的明文數(shù)據(jù)是什么。同樣,如果更改TEA加密得到密文1bit,將導(dǎo)致解密出的數(shù)據(jù)與原始的數(shù)據(jù)有很大的差異。因此,本發(fā)明實(shí)施例提供的方法可以保證雙向認(rèn)證過程中閱讀器與標(biāo)簽間傳輸數(shù)據(jù)的完整性,如果認(rèn)證過程中遭到攻擊者對(duì)數(shù)據(jù)的篡改,則標(biāo)簽與閱讀器不會(huì)實(shí)現(xiàn)雙向認(rèn)證。
并且,在閱讀器與標(biāo)簽間進(jìn)行雙向認(rèn)證的過程中,只有閱讀器與標(biāo)簽知道共享密鑰,當(dāng)標(biāo)簽接收閱讀器發(fā)送的第一密文時(shí),通過第二密文與第一密文的比較,可以判定出此第一密文是真實(shí)的閱讀器發(fā)送的;同理,閱讀器接收標(biāo)簽發(fā)送的第三密文,通用第三密文與第四密文的比較,閱讀器可以判定此第三密文是真實(shí)的標(biāo)簽發(fā)送的,證明閱讀器與標(biāo)簽之間的應(yīng)答數(shù)據(jù)是對(duì)另一方詢問的回應(yīng),通過兩者的認(rèn)證后,可以保證數(shù)據(jù)的真實(shí)性。
進(jìn)一步的,由于在認(rèn)證的過程中,標(biāo)簽對(duì)第一密文與第二密文進(jìn)行比較后,對(duì)該標(biāo)簽生成令牌信息所使用的標(biāo)識(shí)符進(jìn)行了更新,使得在每次認(rèn)證過程中標(biāo)簽發(fā)出的令牌信息均與前次不同,并且令牌信息之間沒有聯(lián)系。因此,通過標(biāo)簽對(duì)標(biāo)識(shí)符刷新的方法可以保護(hù)用戶的隱私。同時(shí),在認(rèn)證的過程中,數(shù)據(jù)庫存儲(chǔ)表中為每個(gè)標(biāo)簽預(yù)留兩個(gè)索引號(hào),在每次的認(rèn)證過程中數(shù)據(jù)庫對(duì)接收令牌信息所對(duì)應(yīng)的索引號(hào)不更新,只更新與令牌信息不對(duì)應(yīng)的索引號(hào),使得無論本次認(rèn)證過程中標(biāo)簽是否對(duì)生成令牌信息所使用的標(biāo)識(shí)符進(jìn)行更新,在下一次認(rèn)證過程中,都可以在數(shù)據(jù)庫存儲(chǔ)表中找到該令牌信息對(duì)應(yīng)的索引號(hào),進(jìn)而數(shù)據(jù)庫獲取共享密鑰,實(shí)現(xiàn)雙向認(rèn)證的過程。因此本發(fā)明實(shí)施例解決了由于數(shù)據(jù)庫更新索引號(hào)標(biāo)簽更新標(biāo)識(shí)符所帶來失步的問題。
并且,即便攻擊者在閱讀器與標(biāo)簽進(jìn)行下一次通信,能夠冒充標(biāo)簽來向閱讀器重新發(fā)送之前竊聽到的令牌信息,以便后續(xù)標(biāo)簽對(duì)閱讀器認(rèn)證能夠通過,但是,由于本次認(rèn)證過程中,數(shù)據(jù)庫向閱讀器發(fā)送的隨機(jī)數(shù)已經(jīng)發(fā)生了改變,在閱讀器對(duì)標(biāo)簽認(rèn)證的過程中,攻擊者向閱讀器發(fā)送的隨機(jī)數(shù)還是上次通信竊聽到的隨機(jī)數(shù),與本次數(shù)據(jù)庫向閱讀器發(fā)送的隨機(jī)數(shù)不同,因此,閱讀器對(duì)標(biāo)簽的認(rèn)證不會(huì)通過,使得本次閱讀器與標(biāo)簽間的雙向認(rèn)證失敗,進(jìn)而攻擊者不能得到后續(xù)標(biāo)簽與閱讀器間傳輸?shù)臄?shù)據(jù),可見,本發(fā)明的雙向認(rèn)證實(shí)現(xiàn)了對(duì)攻擊者重放攻擊的防范。
更進(jìn)一步的,因?yàn)楸景l(fā)明實(shí)施例中標(biāo)簽生成令牌信息的標(biāo)識(shí)符是變化的,即便,攻擊者可以交換兩個(gè)合法標(biāo)簽的標(biāo)識(shí)符,形成置換攻擊,但是,兩個(gè)標(biāo)簽所對(duì)應(yīng)的認(rèn)證碼是不會(huì)隨著置換兩個(gè)標(biāo)簽的標(biāo)識(shí)符而改變,因此,標(biāo)簽根據(jù)置換的標(biāo)簽標(biāo)識(shí)符與認(rèn)證碼生成的令牌信息,不會(huì)存在于數(shù)據(jù)庫的存儲(chǔ)表中,進(jìn)而不會(huì)實(shí)現(xiàn)標(biāo)簽與閱讀器間的雙向認(rèn)證,實(shí)現(xiàn)了對(duì)攻擊者置換攻擊的防范。
綜上,本發(fā)明實(shí)施例通過以上步驟實(shí)現(xiàn)閱讀器與標(biāo)簽的雙向認(rèn)證,可以實(shí)現(xiàn)閱讀器與標(biāo)簽間傳輸數(shù)據(jù)的秘密性、完整性、真實(shí)性以及提高對(duì)各種惡意攻擊的防范性。
實(shí)施例2
對(duì)于閱讀器想要獲取目標(biāo)對(duì)象的數(shù)據(jù),此目標(biāo)對(duì)象中內(nèi)置有RFID系統(tǒng)的標(biāo)簽,比如RFID系統(tǒng)應(yīng)用于高速公路(路橋)不停車收費(fèi)管理中,在高速公路收費(fèi)站中安裝有RFID系統(tǒng)中的閱讀器與數(shù)據(jù)庫,在車輛中內(nèi)置有RFID系統(tǒng)的標(biāo)簽,當(dāng)車輛通過此收費(fèi)站時(shí),閱讀器以標(biāo)簽首先進(jìn)行雙向認(rèn)證,通過雙向認(rèn)證后,收費(fèi)站收取車輛的費(fèi)用,可以實(shí)現(xiàn)不停車收費(fèi)。
請(qǐng)參閱圖3,是本發(fā)明實(shí)施例中收費(fèi)站收取車輛費(fèi)用的流程圖,具體步驟可以包括:
步驟S301:所述閱讀器向所述標(biāo)簽發(fā)送無線射頻信號(hào),所述標(biāo)簽集成于目標(biāo)對(duì)象中。
車輛中集成有RFID系統(tǒng)的標(biāo)簽,收費(fèi)站內(nèi)安裝有RFID系統(tǒng)的閱讀器與數(shù)據(jù)。當(dāng)車輛經(jīng)過收費(fèi)站時(shí),收費(fèi)的閱讀器向車輛中的標(biāo)簽發(fā)送進(jìn)行雙向認(rèn)證的無線射頻信號(hào)。
步驟S302:所述閱讀器根據(jù)所述標(biāo)簽的反饋信號(hào),獲取所述目標(biāo)對(duì)象的數(shù)據(jù);
標(biāo)簽收到閱讀器發(fā)送進(jìn)行雙向認(rèn)證的無線射頻信號(hào)后,按照實(shí)施例1的方法,閱讀器與標(biāo)簽進(jìn)行雙向認(rèn)證。若收費(fèi)站的閱讀器與車輛中的標(biāo)簽之間的雙向認(rèn)證通過后,車輛的標(biāo)簽向閱讀器反饋車輛對(duì)應(yīng)的賬戶名稱,收費(fèi)站在車輛的賬戶中自動(dòng)提取車輛應(yīng)付的費(fèi)用,從而實(shí)現(xiàn)高速公路(路橋)不停車收費(fèi)管理。
本發(fā)明實(shí)施例中,首先公路收費(fèi)站安裝有RFID系統(tǒng)的閱讀器與數(shù)據(jù)庫,通過收費(fèi)站的車輛中安裝有RFID系統(tǒng)的標(biāo)簽。然后,當(dāng)車輛通過收費(fèi)站時(shí),閱讀器與標(biāo)簽進(jìn)行雙向認(rèn)證。最后,閱讀器與標(biāo)簽雙向認(rèn)證通過后,閱讀器獲取車輛的賬戶名稱,進(jìn)而獲取該車輛應(yīng)支付的費(fèi)用。實(shí)現(xiàn)了高速公路(路橋)不停車收費(fèi)管理。
實(shí)施例3
本發(fā)明實(shí)施例公開了一種認(rèn)證的系統(tǒng),該系統(tǒng)包括:閱讀器、標(biāo)簽和數(shù)據(jù)庫,所述數(shù)據(jù)庫與所述標(biāo)簽具有共享密鑰。
該系統(tǒng)的標(biāo)簽包括:計(jì)算單元、第一發(fā)送單元、比較單元與第二發(fā)送單元,請(qǐng)參見圖4,包括:
計(jì)算單元401:用于采用哈希算法對(duì)標(biāo)簽標(biāo)識(shí)符與標(biāo)簽認(rèn)證碼進(jìn)行計(jì)算,得到令牌信息;其中,所述令牌信息是所述標(biāo)簽在接收所述閱讀器發(fā)送的查詢命令后計(jì)算得到的;
第一發(fā)送單元402:用于,將所述令牌信息發(fā)送所述閱讀器;
比較單元403:用于,比較所述第一密文與第二密文,所述第二密文由所述標(biāo)簽采用所述極小加密算法,并使用所述共享密鑰對(duì)所述第一隨機(jī)數(shù)加密得到,若所述第一密文與所述第二密文相同,則所述標(biāo)簽對(duì)所述閱讀器認(rèn)證通過;
第二發(fā)送單元404:用于將第三密文發(fā)送所述閱讀器,所述第三密文由所述標(biāo)簽采用極小加密算法,并使用所述共享密鑰對(duì)所述第二隨機(jī)數(shù)加密得到;
該系統(tǒng)中的數(shù)據(jù)庫包括獲取單元與發(fā)送單元,請(qǐng)參見圖5,具體包括:
獲取單元501,用于根據(jù)所述閱讀器發(fā)送的所述令牌信息獲取所述標(biāo)簽對(duì)應(yīng)的共享密鑰;
發(fā)送單元502,用于將所述共享密鑰、第一隨機(jī)數(shù)和第二隨機(jī)數(shù)發(fā)送所述閱讀器,所述第一隨機(jī)數(shù)與所述第二隨機(jī)數(shù)由所述數(shù)據(jù)庫生成;
該系統(tǒng)中的閱讀器包括加密單元、發(fā)送單元與比較單元,參見圖6,具體包括:
加密單元601,用于采用極小加密算法,并利用所述共享密鑰對(duì)所述第一隨機(jī)數(shù)加密得到第一密文;
發(fā)送單元602,用于將所述第一隨機(jī)數(shù)、所述第二隨機(jī)數(shù)與所述第一密文發(fā)送所述標(biāo)簽;
比較單元603,用于比較所述第三密文與第四密文,所述第四密文由所述閱讀器采用所述極小加密算法,并使用所述共享密鑰對(duì)所述第二隨機(jī)數(shù)加密得到,若所述第三密文與所述第四密文相同,則閱讀器對(duì)所述標(biāo)簽認(rèn)證通過。
可選的,本發(fā)明實(shí)施例中,所述系統(tǒng)標(biāo)簽中的計(jì)算單元401采用哈希算法對(duì)標(biāo)簽標(biāo)識(shí)符與標(biāo)簽認(rèn)證碼進(jìn)行計(jì)算,得到令牌信息時(shí),具體包括:
拼接模塊,用于采用字符串拼接符,對(duì)所述標(biāo)簽標(biāo)識(shí)符與所述標(biāo)簽認(rèn)證碼進(jìn)行拼接,得到拼接字符;
計(jì)算模塊,用于采用所述哈希算法計(jì)算所述拼接字符,得到所述令牌信息。
可選的,本發(fā)明實(shí)施例中,所述的獲取單元501根據(jù)所述閱讀器發(fā)送的所述令牌信息獲取所述標(biāo)簽對(duì)應(yīng)的共享密鑰時(shí),具體包括:
接收模塊,用于接收閱讀器發(fā)送的令牌信息;
查找模塊,用于從存儲(chǔ)表中查找與所述令牌信息對(duì)應(yīng)的索引號(hào),所述存儲(chǔ)表為每個(gè)標(biāo)簽預(yù)留兩對(duì)索引號(hào)與令牌信息,所述兩對(duì)索引號(hào)與令牌信息中包含標(biāo)簽發(fā)送的令牌信息,所述存儲(chǔ)表保存在所述數(shù)據(jù)庫中;獲取索引號(hào)模塊,用于獲取所述令牌信息對(duì)應(yīng)的索引號(hào);
獲取共享密鑰模塊,用于利用所述索引號(hào)獲得與所述索引號(hào)對(duì)應(yīng)的共享密鑰。
可選的,本發(fā)明實(shí)施例中,所述數(shù)據(jù)庫還包括:
計(jì)算單元,用于計(jì)算所述索引號(hào)與第一隨機(jī)數(shù)的異或結(jié)果,所述第一隨機(jī)數(shù)由數(shù)據(jù)庫生成;
更新單元,用于利用所述異或結(jié)果更新存儲(chǔ)表中另一對(duì)索引號(hào)與令牌信息。
本發(fā)明系統(tǒng)實(shí)施例公開了一種RFID系統(tǒng)中閱讀器與標(biāo)簽間雙向認(rèn)證的系統(tǒng),該系統(tǒng)通過標(biāo)簽中的計(jì)算單元、第一發(fā)送單元、比較單元與第二發(fā)送單元,通過數(shù)據(jù)庫中的獲取單元與發(fā)送單元以及閱讀器中的加密單元、發(fā)送單元與比較單元,實(shí)現(xiàn)閱讀器與標(biāo)簽的雙向認(rèn)證。
實(shí)施例4
本發(fā)明實(shí)施例公開了一種應(yīng)用RFID系統(tǒng)實(shí)現(xiàn)閱讀器獲取標(biāo)簽的數(shù)據(jù)的系統(tǒng),參見圖7,該系統(tǒng)中的閱讀器還包括:
發(fā)送無線射頻信號(hào)單元701,用于向所述標(biāo)簽發(fā)送無線射頻信號(hào),所述標(biāo)簽集成于目標(biāo)對(duì)象中;
獲取目標(biāo)對(duì)象數(shù)據(jù)單元702,用于根據(jù)所述標(biāo)簽的反饋信號(hào),獲取所述目標(biāo)對(duì)象的數(shù)據(jù)。
本發(fā)明系統(tǒng)實(shí)施例公開了一種應(yīng)用RFID系統(tǒng)實(shí)現(xiàn)閱讀器獲取標(biāo)簽數(shù)據(jù)的系統(tǒng),該系統(tǒng)首先實(shí)現(xiàn)閱讀器與標(biāo)簽間的雙向認(rèn)證;然后,通過雙向認(rèn)證后,閱讀器獲取標(biāo)簽中的數(shù)據(jù)。
需要說明的是,本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。對(duì)于裝置類實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
對(duì)所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。