專(zhuān)利名稱(chēng):基于隨機(jī)哈希的雙向認(rèn)證方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種雙向認(rèn)證方法,特別是基于隨機(jī)哈希的雙向認(rèn)證方法。
背景技術(shù):
為了在安全認(rèn)證的同時(shí)保護(hù)RFID系統(tǒng)中電子標(biāo)簽身份的機(jī)密性,基于哈希的雙 向認(rèn)證是密碼學(xué)中一種重要的研究手段,其優(yōu)點(diǎn)是能夠防止攻擊者利用竊聽(tīng)而來(lái)的認(rèn)證信 息進(jìn)行反推計(jì)算以獲取電子標(biāo)簽身份信息。JC ^"Security and privacy aspects of low-cost radio frequency identification systems. Proceedings of the 1st International Conference on Security in Pervasive Computing.Lectures Notes in Computer Science 2802. Berlin :Springer_Verlag,2004,201-212”公開(kāi)了一種利用隨機(jī)哈希作為依據(jù)的雙向認(rèn)證 方法。該方法在進(jìn)行雙向認(rèn)證之前將所有電子標(biāo)簽的身份信息存儲(chǔ)于后臺(tái)數(shù)據(jù)庫(kù);認(rèn)證時(shí), 讀寫(xiě)器從后臺(tái)數(shù)據(jù)庫(kù)讀取所有的電子標(biāo)簽身份信息,并將查詢找到的所認(rèn)證的電子標(biāo)簽身 份信息發(fā)送給電子標(biāo)簽,以實(shí)現(xiàn)雙向認(rèn)證過(guò)程。但是此方法沒(méi)有考慮到電子標(biāo)簽身份信息 的隱私性,存在一些安全缺陷在認(rèn)證通過(guò)后,讀寫(xiě)器將電子標(biāo)簽身份信息以明文的形式通 過(guò)不安全信道傳送給電子標(biāo)簽,因此,攻擊者可以對(duì)標(biāo)簽進(jìn)行有效的追蹤;同時(shí),一旦獲取 到電子標(biāo)簽身份信息,又由于標(biāo)簽所遵循的標(biāo)準(zhǔn)是公開(kāi)的,所以攻擊者可以很容易對(duì)電子 標(biāo)簽進(jìn)行假冒;另外,每一次認(rèn)證過(guò)程中,后端數(shù)據(jù)庫(kù)都需要將所有標(biāo)簽的身份信息發(fā)送給 讀寫(xiě)器,二者之間的數(shù)據(jù)通信量很大,讀寫(xiě)器的負(fù)荷很重,可擴(kuò)展性差。
發(fā)明內(nèi)容
為了克服現(xiàn)有的雙向認(rèn)證方法安全性差的不足,本發(fā)明提供一種基于隨機(jī)哈希的 雙向認(rèn)證方法。該方法采用對(duì)電子標(biāo)簽身份信息和隨機(jī)數(shù)進(jìn)行哈希比較的方法實(shí)現(xiàn)電子標(biāo) 簽和讀寫(xiě)器的雙向認(rèn)證,可以避免在網(wǎng)絡(luò)中傳輸電子標(biāo)簽身份明文信息而帶來(lái)的電子標(biāo)簽 身份信息隱私性泄露問(wèn)題,提高雙向認(rèn)證方法的安全性。本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案一種基于隨機(jī)哈希的雙向認(rèn)證方法, 其特點(diǎn)是包括下述步驟(a)認(rèn)證請(qǐng)求分組由讀寫(xiě)器READER發(fā)送給電子標(biāo)簽TAG ;分組內(nèi)容為空;(b)認(rèn)證響應(yīng)分組由電子標(biāo)簽TAG發(fā)送給讀寫(xiě)器READER ;分組內(nèi)容包括
其中,&字段表示電子標(biāo)簽TAG選取的一次性隨機(jī)數(shù)諷字段表示電子標(biāo)簽 TAG計(jì)算的哈希值,其值等于HASH(Ni || ID || SK) ;CRQ字段表示電子標(biāo)簽TAG計(jì)算的CRC 值,其值等于CRC(Ni ||氏); 當(dāng)READER收到TAG發(fā)送的認(rèn)證響應(yīng)分組后,重新計(jì)算CRQ并與接收到的CRQ值 進(jìn)行比較;如果不相等,則丟棄該分組,否則,構(gòu)造身份請(qǐng)求分組發(fā)送給后臺(tái)數(shù)據(jù)庫(kù)DB ;
(c)身份請(qǐng)求分組由讀寫(xiě)器READER發(fā)送給后臺(tái)數(shù)據(jù)庫(kù)DB ;分組內(nèi)容包括 其中,&字段其值與認(rèn)證響應(yīng)分組中的&值相同諷字段其值與認(rèn)證響應(yīng)分組 中的氏值相同;當(dāng)DB收到READER發(fā)送的身份請(qǐng)求分組后,在數(shù)據(jù)庫(kù)中查找是否存在某個(gè)電子標(biāo) 簽的身份標(biāo)識(shí)ID,滿足HASH饑|| ID,|| KD(MK || ID,)) = ;如果不存在,則說(shuō)明讀寫(xiě)器所 認(rèn)證的電子標(biāo)簽身份無(wú)效,進(jìn)行錯(cuò)誤處理,否則,構(gòu)造身份響應(yīng)分組發(fā)送給READER ;(d)身份請(qǐng)求分組由后臺(tái)數(shù)據(jù)庫(kù)DB發(fā)送給讀寫(xiě)器READER ;分組內(nèi)容包括 其中,ID字段表示后臺(tái)數(shù)據(jù)庫(kù)DB所查找到的電子標(biāo)簽身份信息;當(dāng)READER收到DB發(fā)送的身份響應(yīng)分組后,構(gòu)造認(rèn)證確認(rèn)分組發(fā)送給TAG ;(e)認(rèn)證確認(rèn)分組由讀寫(xiě)器READER發(fā)送給電子標(biāo)簽TAG ;分組內(nèi)容包括 其中,隊(duì)字段,表示由TAG選取的隨機(jī)數(shù),其值應(yīng)與認(rèn)證響應(yīng)分組中的隊(duì)字段值相 等;H2字段,表示讀寫(xiě)器READER計(jì)算的哈希值,其值等于HASH(Ni || ID) ;CRC2字段表示讀 寫(xiě)器READER計(jì)算的CRC值,其值等于CRC (N: || H2);當(dāng)TAG收到READER發(fā)送的認(rèn)證確認(rèn)分組后,判斷隊(duì)是否自己選取的隨機(jī)數(shù);如果 不是,則丟棄該分組,否則,重新計(jì)算CRC2并與接收到的CRC2值進(jìn)行比較;如果不相等,則丟 棄該分組,否則,重新計(jì)算H2并與接收到的H2值進(jìn)行比較;如果不相等,丟棄該分組,雙向認(rèn) 證失敗,否則,雙向認(rèn)證成功;前文中,MK表示DB具有的主密鑰;SK表示TAG存儲(chǔ)的預(yù)共享密鑰;KD()表示后臺(tái) 服務(wù)器的密鑰導(dǎo)出函數(shù),有SK = KD(MK || ID)成立;||表示鏈接操作;HASH(m)表示對(duì)消息 m求取的哈希值;CRC(m)表示對(duì)消息m求取的循環(huán)冗余校驗(yàn)。本發(fā)明的有益效果是由于采用對(duì)電子標(biāo)簽身份信息和隨機(jī)數(shù)進(jìn)行哈希比較的 方法實(shí)現(xiàn)電子標(biāo)簽和讀寫(xiě)器的雙向認(rèn)證,認(rèn)證過(guò)程中無(wú)需在讀寫(xiě)器和電子標(biāo)簽之間傳輸電 子標(biāo)簽身份明文信息,保證了電子標(biāo)簽身份的隱私性和安全性;所認(rèn)證電子標(biāo)簽身份信息 的查詢工作放在后臺(tái)服務(wù)器進(jìn)行,后臺(tái)服務(wù)器只需將所需的電子標(biāo)簽身份信息發(fā)送給讀寫(xiě) 器,而不需要將所有電子標(biāo)簽的身份信息全部發(fā)送給讀寫(xiě)器,避免了在網(wǎng)絡(luò)中傳輸電子標(biāo) 簽身份明文信息而帶來(lái)的電子標(biāo)簽身份信息隱私性泄露問(wèn)題,提高了雙向認(rèn)證方法的安全 性。下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作詳細(xì)說(shuō)明。
附圖是本發(fā)明基于隨機(jī)哈希的雙向認(rèn)證方法流程圖。
具體實(shí)施例方式
以下是實(shí)施例中所用到的名詞和符號(hào)說(shuō)明
參照附圖。本發(fā)明雙向認(rèn)證方法具體步驟如下1)認(rèn)證請(qǐng)求分組。認(rèn)證請(qǐng)求分組由讀寫(xiě)器READER發(fā)送給電子標(biāo)簽TAG。認(rèn)證請(qǐng)求分組內(nèi)容為空,目 的是激活整個(gè)認(rèn)證過(guò)程。2)認(rèn)證響應(yīng)分組。認(rèn)證響應(yīng)分組由電子標(biāo)簽TAG發(fā)送給讀寫(xiě)器READER。該分組內(nèi)容包括 其中—字段表示電子標(biāo)簽TAG選取的一次性隨機(jī)數(shù);—氏字段表示電子標(biāo)簽TAG計(jì)算的哈希值,其值等于HASH^|| ID || SK);——CRQ字段表示電子標(biāo)簽TAG計(jì)算的CRC值,其值等于CRC^ || 。當(dāng)READER收到TAG發(fā)送的認(rèn)證響應(yīng)分組后,重新計(jì)算CRQ并與接收到的CRQ值 進(jìn)行比較。如果不相等,則丟棄該分組,否則,構(gòu)造身份請(qǐng)求分組發(fā)送給后臺(tái)數(shù)據(jù)庫(kù)DB。3)身份請(qǐng)求分組。身份請(qǐng)求分組由讀寫(xiě)器READER發(fā)送給后臺(tái)數(shù)據(jù)庫(kù)DB。該分組內(nèi)容包括 其中—字段其值與認(rèn)證響應(yīng)分組中的&值相同;——氏字段其值與認(rèn)證響應(yīng)分組中的氏值相同。當(dāng)DB收到READER發(fā)送的身份請(qǐng)求分組后,在數(shù)據(jù)庫(kù)中查找是否存在某個(gè)電子標(biāo) 簽的身份信息ID,滿足HASH饑|| ID,|| KD(MK || ID,)) = H10如果不存在,則說(shuō)明讀寫(xiě)器 所認(rèn)證的電子標(biāo)簽身份無(wú)效,進(jìn)行錯(cuò)誤處理,否則,構(gòu)造身份響應(yīng)分組發(fā)送給READER。4)身份響應(yīng)分組。身份請(qǐng)求分組由后臺(tái)數(shù)據(jù)庫(kù)DB發(fā)送給讀寫(xiě)器READER。該分組內(nèi)容包括 其中——ID字段表示后臺(tái)數(shù)據(jù)庫(kù)DB所查找到的電子標(biāo)簽身份信息。當(dāng)READER收到DB發(fā)送的身份響應(yīng)分組后,構(gòu)造認(rèn)證確認(rèn)分組發(fā)送給TAG。
5)認(rèn)證確認(rèn)分組。認(rèn)證確認(rèn)分組由讀寫(xiě)器READER發(fā)送給電子標(biāo)簽TAG。其分組格式如下 其中—字段,表示由TAG選取的隨機(jī)數(shù),其值應(yīng)與認(rèn)證響應(yīng)分組中的R字段值相等。—H2字段,表示讀寫(xiě)器READER計(jì)算的哈希值,其值等于HASH(Ni || ID);——CRC2字段表示讀寫(xiě)器READER計(jì)算的CRC值,其值等于CRC (N: || H2)。當(dāng)TAG收到READER發(fā)送的認(rèn)證確認(rèn)分組后,判斷是否自己選取的隨機(jī)數(shù)。如 果不是,則丟棄該分組,否則,重新計(jì)算CRC2并與接收到的CRC2值進(jìn)行比較。如果不相等, 則丟棄該分組,否則,重新計(jì)算h2并與接收到的H2值進(jìn)行比較。如果不相等,丟棄該分組, 雙向認(rèn)證失敗,否則,雙向認(rèn)證成功。
權(quán)利要求
一種基于隨機(jī)哈希的雙向認(rèn)證方法,其特征在于包括下述步驟(a)認(rèn)證請(qǐng)求分組由讀寫(xiě)器READER發(fā)送給電子標(biāo)簽TAG;分組內(nèi)容為空;(b)認(rèn)證響應(yīng)分組由電子標(biāo)簽TAG發(fā)送給讀寫(xiě)器READER;分組內(nèi)容包括 N1 H1 CRC1其中,N1字段表示電子標(biāo)簽TAG選取的一次性隨機(jī)數(shù);H1字段表示電子標(biāo)簽TAG計(jì)算的哈希值,其值等于HASH(N1||ID||SK);CRC1字段表示電子標(biāo)簽TAG計(jì)算的CRC值,其值等于CRC(N1||H1);當(dāng)READER收到TAG發(fā)送的認(rèn)證響應(yīng)分組后,重新計(jì)算CRC1并與接收到的CRC1值進(jìn)行比較;如果不相等,則丟棄該分組,否則,構(gòu)造身份請(qǐng)求分組發(fā)送給后臺(tái)數(shù)據(jù)庫(kù)DB;(c)身份請(qǐng)求分組由讀寫(xiě)器READER發(fā)送給后臺(tái)數(shù)據(jù)庫(kù)DB;分組內(nèi)容包括 N1 H1其中,N1字段其值與認(rèn)證響應(yīng)分組中的N1值相同;H1字段其值與認(rèn)證響應(yīng)分組中的H1值相同;當(dāng)DB收到READER發(fā)送的身份請(qǐng)求分組后,在數(shù)據(jù)庫(kù)中查找是否存在某個(gè)電子標(biāo)簽的身份標(biāo)識(shí)ID’滿足HASH(N1||ID’||KD(MK||ID’))=H1;如果不存在,則說(shuō)明讀寫(xiě)器所認(rèn)證的電子標(biāo)簽身份無(wú)效,進(jìn)行錯(cuò)誤處理,否則,構(gòu)造身份響應(yīng)分組發(fā)送給READER;(d)身份請(qǐng)求分組由后臺(tái)數(shù)據(jù)庫(kù)DB發(fā)送給讀寫(xiě)器READER;分組內(nèi)容包括 ID其中,ID字段表示后臺(tái)數(shù)據(jù)庫(kù)DB所查找到的電子標(biāo)簽身份信息;當(dāng)READER收到DB發(fā)送的身份響應(yīng)分組后,構(gòu)造認(rèn)證確認(rèn)分組發(fā)送給TAG;(e)認(rèn)證確認(rèn)分組由讀寫(xiě)器READER發(fā)送給電子標(biāo)簽TAG;分組內(nèi)容包括 N1 H2 CRC2其中,N1字段,表示由TAG選取的隨機(jī)數(shù),其值應(yīng)與認(rèn)證響應(yīng)分組中的N1字段值相等;H2字段,表示讀寫(xiě)器READER計(jì)算的哈希值,其值等于HASH(N1||ID);CRC2字段表示讀寫(xiě)器READER計(jì)算的CRC值,其值等于CRC(N1||H2);當(dāng)TAG收到READER發(fā)送的認(rèn)證確認(rèn)分組后,判斷N1是否自己選取的隨機(jī)數(shù);如果不是,則丟棄該分組,否則,重新計(jì)算CRC2并與接收到的CRC2值進(jìn)行比較;如果不相等,則丟棄該分組,否則,重新計(jì)算H2并與接收到的H2值進(jìn)行比較;如果不相等,丟棄該分組,雙向認(rèn)證失敗,否則,雙向認(rèn)證成功;前文中,MK表示DB具有的主密鑰;SK表示TAG存儲(chǔ)的預(yù)共享密鑰;KD()表示后臺(tái)服務(wù)器的密鑰導(dǎo)出函數(shù),有SK=KD(MK||ID)成立;||表示鏈接操作;HASH(m)表示對(duì)消息m求取的哈希值;CRC(m)表示對(duì)消息m求取的循環(huán)冗余校驗(yàn)。
全文摘要
本發(fā)明公開(kāi)了一種基于隨機(jī)哈希的雙向認(rèn)證方法,其目的是解決現(xiàn)有的雙向認(rèn)證方法安全性差的技術(shù)問(wèn)題。技術(shù)方案采用對(duì)電子標(biāo)簽身份信息和隨機(jī)數(shù)進(jìn)行哈希比較的方法實(shí)現(xiàn)電子標(biāo)簽和讀寫(xiě)器的雙向認(rèn)證,認(rèn)證過(guò)程中無(wú)需在讀寫(xiě)器和電子標(biāo)簽之間傳輸電子標(biāo)簽身份明文信息,保證了電子標(biāo)簽身份的隱私性和安全性;所認(rèn)證電子標(biāo)簽身份信息的查詢工作放在后臺(tái)服務(wù)器進(jìn)行,后臺(tái)服務(wù)器只需將所需的電子標(biāo)簽身份信息發(fā)送給讀寫(xiě)器,而不需要將所有電子標(biāo)簽的身份信息全部發(fā)送給讀寫(xiě)器,避免了在網(wǎng)絡(luò)中傳輸電子標(biāo)簽身份明文信息而帶來(lái)的電子標(biāo)簽身份信息隱私性泄露問(wèn)題,提高了雙向認(rèn)證方法的安全性。
文檔編號(hào)H04L9/32GK101853369SQ201010137380
公開(kāi)日2010年10月6日 申請(qǐng)日期2010年4月1日 優(yōu)先權(quán)日2010年4月1日
發(fā)明者龐遼軍, 李慧賢 申請(qǐng)人:西北工業(yè)大學(xué);西安電子科技大學(xué)