專利名稱:用于射頻識別系統(tǒng)的加密驗證方法
技術(shù)領域:
本發(fā)明屬于射頻識別通信領域,特別涉及用于射頻識別系統(tǒng)的加密驗證方法。
背景技術(shù):
射頻識別(Radio Frequency Identification,簡稱RFID)技術(shù)是近年來發(fā)展迅猛的一個領域。在過去的十年間,射頻識別經(jīng)歷了一個飛速迅猛的發(fā)展期。在今后五年內(nèi),標簽的用量將從百萬枚增加到十億枚。而成本方面,目前$0.50--$1.00/片的RFID產(chǎn)品已經(jīng)相當成熟,預計在未來兩年內(nèi),單片成本有望降低到$0.05--$0.10左右。成本的大幅下降必將更進一步地加快RFID占領市場的腳步。RFID系統(tǒng)目前在安全控制、藥品監(jiān)控、票務應用、公共交通、動物識別、工業(yè)自動設備等各個領域越來越廣泛的應用。隨著信息量成幾何級數(shù)的飛速飆升,高效安全地信息讀取處理已經(jīng)成為了人們關(guān)注的重點。
RFID系統(tǒng)按照標簽上是否含有數(shù)據(jù)電源,可分為有源標簽RFID系統(tǒng)和無源標簽RFID系統(tǒng)兩類。本發(fā)明針對無源標簽RFID系統(tǒng)提出,圖1所示為一個標準的無源標簽RFID系統(tǒng),該系統(tǒng)由數(shù)據(jù)庫、讀卡器和標簽(又叫應答器)三部分構(gòu)成。
讀卡器由模擬前端、數(shù)字邏輯控制單元、數(shù)據(jù)存儲單元以及數(shù)據(jù)庫進行數(shù)據(jù)交換的接口四部分組成。模擬前端是讀卡器的發(fā)射接收裝置,包含調(diào)制電路、解調(diào)電路,讀卡器通過射頻電波與標簽進行通信,通信距離視系統(tǒng)所選擇的頻段而異,從幾十厘米到幾十米不等;數(shù)字邏輯控制單元負責對整個系統(tǒng)進行用于調(diào)度控制,進行指令的發(fā)送與數(shù)據(jù)的發(fā)送、接收及解析;數(shù)據(jù)存儲單元用于存放數(shù)字邏輯控制單元在對整個系統(tǒng)進行調(diào)度控制的過程中可能用到的數(shù)據(jù)信息。數(shù)據(jù)存儲單元的數(shù)據(jù)大多來源于數(shù)據(jù)庫;數(shù)據(jù)交換接口用于連接讀卡器和數(shù)據(jù)庫,讀卡器通過該接口實現(xiàn)與數(shù)據(jù)庫之間的數(shù)據(jù)交互。
讀卡器的主要功能可以概括為四點一是從標簽中讀取所需的數(shù)據(jù)信息;二是對標簽的數(shù)據(jù)存儲單元進行數(shù)據(jù)寫入操作;三是與數(shù)據(jù)庫進行數(shù)據(jù)交換;四是針對無源標簽RFID系統(tǒng),讀卡器向標簽發(fā)送數(shù)據(jù)信息的同時,為其提供工作所需的電源及時鐘同步信號。
標簽由模擬前端、數(shù)字邏輯處理單元和數(shù)據(jù)存儲單元三部分組成。模擬前端包含天線部分、調(diào)制電路、解調(diào)電路、時鐘恢復電路和電源恢復電路五個子電路。天線部分接收讀卡器發(fā)送的數(shù)據(jù)信息同時將標簽的應答信號發(fā)送給讀卡器;調(diào)制電路接收來自標簽內(nèi)部數(shù)字處理單元的數(shù)據(jù)信息,調(diào)制后經(jīng)天線發(fā)送到讀卡器;解調(diào)電路接收來自讀卡器的數(shù)據(jù)信息,解調(diào)后送入標簽的數(shù)字邏輯處理單元進行處理;時鐘恢復電路用于從數(shù)據(jù)信息中獲取時鐘信息,作為標簽的數(shù)字邏輯電路部分的時鐘信號使用;電源恢復電路用于從數(shù)據(jù)信號中恢復出標簽整個電路工作所需的工作電壓。無源標簽RFID系統(tǒng)的標簽部分的數(shù)字邏輯單元多采取狀態(tài)機的處理形式,負責對模擬前端解調(diào)得到的數(shù)據(jù)進行處理,同時依照協(xié)議將需要返回的數(shù)據(jù)傳送到模擬前端的調(diào)制單元。數(shù)據(jù)存儲單元用于存放每個標簽特有的數(shù)據(jù)信息,如標簽的序列號等。
在掀起人們生活方式的再一次巨大變革的同時,RFID也給人們帶來了新的安全隱患。RFID系統(tǒng)的安全隱患主要來源于三方面威脅一,未經(jīng)授權(quán)的讀卡器非法地讀出、改寫及復制標簽上數(shù)據(jù)的行為,未被授權(quán)的或用于其它RFID系統(tǒng)的讀卡器對標簽內(nèi)的數(shù)據(jù)載體中的內(nèi)容進行修改將對系統(tǒng)管理造成極大的威脅,同時,惡意的模仿系統(tǒng)讀卡器對標簽數(shù)據(jù)進行竊取和篡改更將對整個系統(tǒng)造成極大的影響;威脅二,未經(jīng)授權(quán)的標簽企圖通過某一特定讀卡器獲得認證的行為,雖然隨著識別系統(tǒng)科技含量的增高,偽造證件、票據(jù)變得困難重重,但是并沒能,或者說根本不可能從根本上扼殺偽造的問題,而當RFID產(chǎn)品被用于身份證、銀行、門禁等領域后,對偽造RFID標簽的防范的需求愈來愈迫在眉睫;威脅三,通過竊聽無線通信信道獲取信息,竊聽無線信道是非法入侵者經(jīng)常采取的手段。
現(xiàn)有的RFID通信協(xié)議中,沒有對安全問題進行有效的防范。最近一兩年來國內(nèi)外針對RFID系統(tǒng)的安全防范課題有了越來越多的研究。針對威脅三目前采取的手段主要是通過對無線信道傳輸?shù)拇a流進行加密等處理,這在一定程度上加大了第三方破譯通過竊聽非法獲取的數(shù)據(jù)信息的難度。而針對威脅一和二,目前普遍的做法是針對具體的協(xié)議和應用加入一定的身份驗證處理。針對低成本的無源標簽RFID系統(tǒng)的驗證機制研究較少,且已有的安全方案針對性較強,沒有通用性加密驗證方法。
已有的、針對威脅一和二的RFID系統(tǒng)加密驗證方法均使用傳統(tǒng)的三次驗證機制。圖2所示為基于傳統(tǒng)的三次驗證機制的、目前已有的RFID系統(tǒng)加密驗證方法的流程圖,圖中RA表示隨機數(shù),Token 1和Token 2是兩個數(shù)據(jù)包,Token 2包含RB’,讀卡器和標簽存儲有相同的密鑰Key。
該加密驗證方法包括以下步驟1)讀卡器對標簽進行喚醒;2)讀卡器獲取密鑰信息;3)進行標簽對讀卡器的驗證,具體包括a)標簽向讀卡器發(fā)送隨機數(shù)RA;b)讀卡器向標簽發(fā)送編碼數(shù)據(jù)包Token1,該Token1中包含RA’和另一個隨機數(shù)RB兩部分內(nèi)容;其中RA’是通信雙方使用事先約定好的任意一種加密算法ek利用密鑰Key對隨機數(shù)RA進行加密后得到的數(shù)據(jù),即RA’=ek(Key,RA);c)標簽對收到的隨機數(shù)RA,使用加密算法ek利用密鑰Key對隨機數(shù)RA進行加密后得到RA”,即RA”=ek(Key,RA);d)標簽比較RA’和RA”。如果RA’=RA”,則讀卡器通過驗證;4)進行讀卡器對標簽的驗證,具體包括a)標簽使用加密算法ek利用密鑰Key對Token1中的隨機數(shù)RB進行加密得到RB’,即RB’=ek(Key,RB);標簽將RB’作為數(shù)據(jù)包Token2回送給通過了驗證的讀卡器;
b)通過了驗證的讀卡器使用加密算法ek利用密鑰Key對隨機數(shù)RB進行加密后得到RB”,即RB”=ek(Key,RB);c)該讀卡器比較RB’和RB”,如果RB’=RB”,則標簽通過驗證;5)通過了認證的標簽和讀卡器雙方可以正常地進行后續(xù)通信。
在傳統(tǒng)的三次驗證機制中,認證雙方通過對隨機數(shù)進行編解碼以確認雙方是否擁有相同的密鑰。當密鑰被確認相同時,通信雙方完成認證過程。傳統(tǒng)的三次驗證作為解決非法入侵問題的成熟方案有其明顯的優(yōu)勢在認證的全過程中,密鑰都不曾在通信信道中傳遞,這樣極大地避免了第三方通過監(jiān)聽手段獲得密鑰的可能。但是在將傳統(tǒng)三次認證方案嵌入到無源標簽RFID系統(tǒng)的過程中存在很大的困難由于三次驗證過程需要通信雙方產(chǎn)生隨機數(shù),因此在讀卡器和標簽內(nèi)均須要集成一個隨機數(shù)發(fā)生裝置。對于對成本要求較苛刻的無源標簽RFID系統(tǒng),這樣的電路開銷無疑是不能容忍的。
加密驗證方法的可靠性在很大程度上依靠于密鑰的保密性。在加密驗證方法產(chǎn)生早期,往往使用一系統(tǒng)一密鑰的機制,即所有的標簽使用相同的密鑰,讀卡器之需要存儲一個密鑰數(shù)據(jù)信息。這種方法是非常不安全的,一旦密鑰泄露,在更換前系統(tǒng)處于極度危險的狀態(tài)中。密鑰泄露問題被發(fā)現(xiàn)后,更換密鑰同樣是一件工作量極大的工程。針對一系統(tǒng)一密鑰機制的缺點,人們很快提出了一系統(tǒng)多密鑰的機制,這也是目前普遍使用的。即各個標簽擁有不同的密鑰,讀卡器記錄每一個標簽的唯一標識序列號及其密鑰,在通訊過程中,根據(jù)標簽的唯一標識序列號在數(shù)據(jù)庫中查找相應的密鑰。這極大地提高了系統(tǒng)的安全性,但卻加大了數(shù)據(jù)庫的數(shù)據(jù)存儲負擔。且查找密鑰的時間隨系統(tǒng)規(guī)模增大而增長,將嚴重影響系統(tǒng)的工作速度。對于上述驗證方法中的步驟2的密鑰信息獲取,針對上述兩種系統(tǒng)密鑰分布機制有2種主要實現(xiàn)方式1)一系統(tǒng)一密鑰機制下讀卡器獲取密鑰信息方式具體步驟為a)讀卡器從數(shù)據(jù)庫中取出整個系統(tǒng)通用的密鑰待用;2)一系統(tǒng)多密鑰讀卡器獲取密鑰信息方式具體步驟為a)讀卡器讀取標簽的序列號;b)讀卡器從數(shù)據(jù)庫中根據(jù)序列號查詢得到當前正在處理的標簽所使用的密鑰;在上述加密驗證方法的實現(xiàn)過程中,大量涉及讀卡器與標簽之間的數(shù)據(jù)交互。這些數(shù)據(jù)交互包括讀卡器向標簽發(fā)送隨機數(shù)RB、標簽向讀卡器發(fā)送隨機數(shù)RA、標簽將加密后的隨機數(shù)RB’回送給讀卡器、讀卡器將加密后的隨機數(shù)RA’回送給標簽。目前已有的方案均通過定義特殊的加密處理命令,改變標簽中的狀態(tài)機的結(jié)構(gòu)來實現(xiàn)加密驗證方法,實現(xiàn)步驟如下1)讀卡器向標簽發(fā)送隨機數(shù)RB的過程,具體包括a)讀卡器向標簽發(fā)送加密命令CMD_1,標簽經(jīng)過命令解析得知讀卡器即將發(fā)送一個隨機數(shù)數(shù)據(jù)給標簽;b)讀卡器向標簽發(fā)送數(shù)據(jù);2)標簽將加密編碼后的隨機數(shù)Ra’回送給讀卡器過程,具體包括
a)讀卡器向標簽發(fā)送加密命令CMD_2,標簽經(jīng)過命令解析得知讀卡器在要求標簽回送加密編碼后的隨機數(shù)數(shù)據(jù);b)標簽向讀卡器回送數(shù)據(jù)。
3)標簽向讀卡器發(fā)送隨機數(shù)RA的過程,具體包括a)讀卡器向標簽發(fā)送加密命令CMD_3,標簽經(jīng)過命令解析得知讀卡器在請求標簽發(fā)送一個隨機數(shù);b)標簽向讀卡器發(fā)送數(shù)據(jù);4)讀卡器將加密編碼后的隨機數(shù)RA’回送給標簽過程,具體包括c)讀卡器向標簽發(fā)送加密命令CMD_4,標簽經(jīng)過命令解析得知讀卡器即將發(fā)送一個加密編碼后的隨機數(shù)數(shù)據(jù)給標簽;d)讀卡器向標簽發(fā)送數(shù)據(jù)。
上述步驟在實現(xiàn)的過程中均需要對際簽的數(shù)字邏輯控制部分進行較大的修改,尤其是對其狀態(tài)機將有較大的改動。這嚴重限制了將一個加密驗證方法嵌入到一個RFID系統(tǒng)的處理時間。
發(fā)明內(nèi)容
本發(fā)明的目的是為克服已有技術(shù)的不足之處,提出了一種用于射頻識別系統(tǒng)的加密驗證方法,該加密驗證方法特別適用于低成本射頻識別系統(tǒng)的加密驗證方法。該加密驗證方法在不增加數(shù)據(jù)庫負擔的前提下實現(xiàn)了一標簽一密鑰,且無需額外增加任何指令定義就可方便植入基于任何RFID通訊協(xié)議的RFID系統(tǒng)。
本發(fā)明提出的一種用于射頻識別系統(tǒng)的加密驗證方法,該射頻識別系統(tǒng)由數(shù)據(jù)庫、讀卡器和標簽三部分構(gòu)成。其特征在于,所述加密驗證方法包括以下步驟1)讀卡器對標簽進行喚醒;2)讀卡器獲取密鑰信息,計算產(chǎn)生密鑰Key,具體包括A)器讀取標簽的序列號ID;B)讀卡器利用該序列號ID通過事先約定的密鑰產(chǎn)生算法,利用ID計算得到該標簽的密鑰Key;3)進行標簽對讀卡器的驗證,具體包括A)讀卡器向標簽發(fā)送隨機數(shù)RA;B)讀卡器向標簽發(fā)送編碼數(shù)據(jù)包Token1,該數(shù)據(jù)包包含RA’和另一個隨機數(shù)RB兩部分內(nèi)容;其中RA’是通信雙方使用事先約定好的任意一種加密算法ek利用密鑰Key對隨機數(shù)RA進行加密后得到的數(shù)據(jù),即RA’=ek(Key,RA);C)標簽對收到的隨機數(shù)RA,使用加密算法ek利用密鑰Key對隨機數(shù)RA進行加密后得到RA”,即RA”=ek(Key,RA);D)標簽比較RA’和RA”,如果RA’=RA’,則讀卡器通過驗證;4)進行讀卡器對標簽的驗證,具體包括
A)標簽使用加密算法ek利用密鑰Key對Token1中的隨機數(shù)RB進行加密得到RB’,即RB’=ek(Key,RB);標簽將RB’作為數(shù)據(jù)包Token2回送給通過了驗證的讀卡器;B)過了驗證的讀卡器使用加密算法ek利用密鑰Key對隨機數(shù)RB進行加密后得到RB”,即RB”=ek(Key,RB);C)讀卡器比較RB’和RB”,如果RB’=RB”,則標簽通過驗證;5)通過了認證的標簽和讀卡器雙方可以正常地進行后續(xù)通信。
本發(fā)明提出的另一種用于射頻識別系統(tǒng)的加密驗證方法,其特征在于,包括以下步驟1)讀卡器對標簽進行喚醒;2)讀卡器獲取密鑰信息,計算產(chǎn)生密鑰Key,具體包括A)讀卡器讀取標簽的序列號;B)讀卡器通過事先約定的密鑰產(chǎn)生算法計算得到該標簽的密鑰Key;3)進行讀卡器對標簽的驗證,具體包括A)讀卡器向標簽發(fā)送編碼數(shù)據(jù)包Token1,該數(shù)據(jù)包包含隨機數(shù)RB;B)標簽使用加密算法ek利用密鑰Key對隨機數(shù)RA進行加密得到RB’,即RB’=ek(Key,RB);標簽將RB’回送給讀卡器;C)讀卡器使用加密算法ek利用密鑰Key對隨機數(shù)RB進行加密后得到RB”,即RB”=ek(Key,RB);D)讀卡器比較RB’和RB”,如果RB’=RB”,則標簽通過驗證;4)進行標簽對讀卡器的驗證A)讀卡器向通過了驗證的標簽發(fā)送編碼數(shù)據(jù)包Token2,該數(shù)據(jù)包包含另一個隨機數(shù)RA和RA’兩部分內(nèi)容,其中RA’是通信雙方使用事先約定好的任意一種加密算法ek利用密鑰Key對隨機數(shù)RA進行加密后得到的數(shù)據(jù),即RA’=ek(Key,RA);B)標簽對收到的隨機數(shù)RA,使用加密算法ek利用密鑰Key對隨機數(shù)RA進行加密后得到RA”,即RA”=ek(Key,RA);C)標簽比較RA’和RA”,如果RA’=RA”,則讀卡器通過驗證;5)通過了認證的標簽和讀卡器雙方可以正常地進行后續(xù)通信。
本發(fā)明的特點及效果1)針對傳統(tǒng)的三次驗證方法的不足進行了改進,提出的方法中無需標簽產(chǎn)生隨機數(shù),從而大大降低了標簽部分電路的硬件開銷,極大地降低了成本。因此,本發(fā)明提出的加密驗證法方特別適用于低成本無源標簽RFID系統(tǒng)特點的加密驗證方法。
2)加密驗證方法選擇一標簽一密鑰機制。在實現(xiàn)的過程中,讀卡器利用待處理的標簽的序列號ID,使用密鑰生成算法計算得到與待處理標簽的數(shù)據(jù)存儲單元內(nèi)的密鑰相同的密鑰用于后續(xù)的驗證過程。在實現(xiàn)一標簽一密鑰的同時沒有對系統(tǒng)數(shù)據(jù)庫造成額外的存儲負擔。
3)上述全部步驟無需額外增加任何指令,復用了任何一個RFID通訊協(xié)議中都具有的基本指令完成全部過程。因此本發(fā)明方法能夠方便地植入到基于任何RFID通訊協(xié)議的REID系統(tǒng)中。
圖1標準無源標簽RFID系統(tǒng)組成。
圖2基于傳統(tǒng)的三次驗證機制的、RFID系統(tǒng)加密驗證方法流程圖。
圖3基于改進的三次驗證機制的、RFID系統(tǒng)加密驗證方法流程圖。
圖4含加密處理單元的無源標簽RFID系統(tǒng)組成。
具體實施例方式
以下對本發(fā)明提出的加密驗證方法結(jié)合附圖及實施例進行詳細說明本發(fā)明提出的用于射頻識別系統(tǒng)的加密驗證方法,該射頻識別系統(tǒng)由數(shù)據(jù)庫、讀卡器和標簽三部分構(gòu)成;所述加密驗證方法如圖3所示包括以下步驟1)讀卡器對標簽進行喚醒;2)讀卡器獲取密鑰信息,計算產(chǎn)生密鑰Key,具體包括A)器讀取標簽的序列號ID;B)讀卡器利用該序列號ID通過事先約定的密鑰產(chǎn)生算法,利用ID計算得到該標簽的密鑰Key;3)進行標簽對讀卡器的驗證,具體包括A)讀卡器向標簽發(fā)送隨機數(shù)RA;B)讀卡器向標簽發(fā)送編碼數(shù)據(jù)包Token1,該數(shù)據(jù)包包含RA’和另一個隨機數(shù)RB兩部分內(nèi)容;其中RA’是通信雙方使用事先約定好的任意一種加密算法ek利用密鑰Key對隨機數(shù)RA進行加密后得到的數(shù)據(jù),即RA’=ek(Key,RA);C)簽對收到的隨機數(shù)RA,使用加密算法ek利用密鑰Key對隨機數(shù)RA進行加密后得到RA”,即RA”=ek(Key,RA);D)標簽比較RA’和RA”,如果RA’=RA”,則讀卡器通過驗證;4)進行讀卡器對標簽的驗證,具體包括A)標簽使用加密算法ek利用密鑰Key對Token1中的隨機數(shù)RB進行加密得到RB’,即RB’=ek(Key,RB);標簽將RB’作為數(shù)據(jù)包Token2回送給通過了驗證的讀卡器;B)過了驗證的讀卡器使用加密算法ek利用密鑰Key對隨機數(shù)RB進行加密后得到RB”,即RB”=ek(Key,RB);C)讀卡器比較RB’和RB”,如果RB’=RB”,則標簽通過驗證;5)通過了認證的標簽和讀卡器雙方可以正常地進行后續(xù)通信。
根據(jù)RFID通信系統(tǒng)的實際情況,本發(fā)明可以選擇兩種不同的驗證順序順序一,首先由標簽對讀卡器的合法性進行驗證,當讀卡器通過驗證后,標簽將配合讀卡器的問訊信息進行讀卡器對標簽的合法性驗證流程;順序二,首先由讀卡器對標簽的合法性進行驗證,當標簽通過驗證后,讀卡器將配合標簽進行標簽對讀卡器的合法性驗證流程。
上述為基于順序一的具體步驟,本發(fā)明還可基于順序二,其具體步驟如下1)讀卡器對標簽進行喚醒;2)讀卡器獲取密鑰信息,具體包括A)讀卡器讀取標簽的序列號;B)讀卡器通過事先約定的密鑰產(chǎn)生算法計算得到該標簽的密鑰Key;3)進行讀卡器對標簽的驗證,具體包括A)讀卡器向標簽發(fā)送編碼數(shù)據(jù)包Token1,該數(shù)據(jù)包包含隨機數(shù)RB;B)標簽使用加密算法ek利用密鑰Key對隨機數(shù)RA進行加密得到RB’,即RB’=ek(Key,RB)。標簽將RB’回送給讀卡器;C)讀卡器使用加密算法ek利用密鑰Key對隨機數(shù)RB進行加密后得到RB”,即RB”=ek(Key,RB);D)讀卡器比較RB’和RB”,如果RB’=RB”,則標簽通過驗證;4)進行標簽對讀卡器的驗證A)讀卡器向通過了驗證的標簽發(fā)送編碼數(shù)據(jù)包Token2,該數(shù)據(jù)包包含另一個隨機數(shù)RA和RA’兩部分內(nèi)容,其中RA’是通信雙方使用事先約定好的任意一種加密算法ek利用密鑰Key對隨機數(shù)RA進行加密后得到的數(shù)據(jù),即RA’=ek(Key,RA);B)標簽對收到的隨機數(shù)RA,使用加密算法ek利用密鑰Key對隨機數(shù)RA進行加密后得到RA”,即RA”=ek(Key,RA);C)標簽比較RA’和RA”,如果RA’=RA”,則讀卡器通過驗證;5)通過了認證的標簽和讀卡器雙方可以正常地進行后續(xù)通信。
在上述加密驗證方法的實現(xiàn)過程中,大量涉及讀卡器與標簽之間的數(shù)據(jù)交互。這些數(shù)據(jù)交互包括讀卡器向標簽發(fā)送隨機數(shù)RA或RB、標簽將加密后的隨機數(shù)RB’回送給讀卡器、讀卡器將加密后的隨機數(shù)RA’回送給標簽。本發(fā)明提出的實現(xiàn)方法在上述數(shù)據(jù)交互在實現(xiàn)的過程中,復用標準RFID系統(tǒng)的讀寫標簽數(shù)據(jù)存儲單元的命令。具體在電路實現(xiàn)上,如圖4所示,即保留原來的射頻識別系統(tǒng)構(gòu)成基本不變,只是在標簽中增加了一個專門的加密處理單元,該單元電路通過接口單元與數(shù)字邏輯單元進行數(shù)據(jù)交互,用于處理全部與加密驗證相關(guān)的數(shù)據(jù)處理。電路的其他部分改動極小,只對標簽的數(shù)字邏輯控制部分中的接口單元進行了少許修改,從而對標簽的狀態(tài)機準備送入數(shù)據(jù)存儲單元或加密處理單元的數(shù)據(jù)進行流向控制。本發(fā)明加密驗證方法的數(shù)據(jù)交互實現(xiàn)步驟如下1)讀卡器向標簽發(fā)送隨機數(shù)RA或RB的過程,具體包括A)讀卡器向標簽發(fā)送地址信息Address,其中Address的最高位置1,作為標志位使用;B)讀卡器向標簽發(fā)送寫數(shù)據(jù)存儲單元命令CMD_Write,標簽經(jīng)過其狀態(tài)機進行命令解析、結(jié)合步驟A)中Address最高位信息得知讀卡器即將發(fā)送數(shù)據(jù)給加密處理單元;
C)讀卡器向標簽發(fā)送數(shù)據(jù);2)標簽將隨機數(shù)RB’回送給讀卡器過程,具體包括A)讀卡器向標簽發(fā)送地址信息Address,其中Address的最高位置1,作為標志位使用;B)讀卡器向標簽發(fā)送讀數(shù)據(jù)存儲單元命令CMD_Read,標簽經(jīng)過命令解析得知讀卡器在要求標簽回送數(shù)據(jù);C)標簽向讀卡器回送數(shù)據(jù);3)讀卡器將隨機數(shù)RA’回送給標簽過程,具體包括A)讀卡器向標簽發(fā)送地址信息Address,其中Address的最高位置1,作為標志位使用;B)讀卡器向標簽發(fā)送寫數(shù)據(jù)存儲單元命令CMD_Write,標簽經(jīng)過其狀態(tài)機進行命令解析、結(jié)合步驟A)中Address最高位信息得知讀卡器即將發(fā)送數(shù)據(jù)給加密處理單元;C)讀卡器向標簽發(fā)送數(shù)據(jù)。
實現(xiàn)本發(fā)明的加密驗證方法的一種實施例詳細說明如下本實施例基于的RFID系統(tǒng)使用的通訊協(xié)議為NCITS 256美國國家標準草案,選用RSA算法作為密鑰產(chǎn)生算法,選用XTEA算法作為說明本加密驗證方法具體實施過程中的加密算法(即ek),該算法在加密處理單元中予以實現(xiàn)。該加密單元采用VHBL或Verilog語言編碼實現(xiàn)。
本實施例的加密驗證方法具體包括以下步驟1)讀卡器向讀卡器發(fā)送命令10000000000111110,對標簽進行喚醒;2)讀卡器讀取16bit的標簽序列號ID,計算產(chǎn)生密鑰Key,具體步驟包括A)讀卡器讀取標簽的序列號ID;a)讀卡器向標簽發(fā)送命令00000100000100011,準備對地址寄存器(Reg_Address)進行寫入操作;b)讀卡器向標簽發(fā)送編碼數(shù)據(jù)信息0000000000000000000000,將16進制地址數(shù)據(jù)0000寫入到Reg_Address;c)讀卡器向標簽發(fā)送命令00001000000001110,將Reg_Address地址對應的標簽數(shù)據(jù)存儲單元的數(shù)據(jù)(即標簽的ID號)載入到Data2寄存器(Reg_Data2)中;d)讀卡器向標簽發(fā)送命令00110110000110011,標簽將Reg_Data2的內(nèi)容回送給讀卡器;B)讀卡器根據(jù)ID使用RSA算法計算得到該標簽的密鑰Key;3)進行標簽對讀卡器的驗證,具體包括A)讀卡器向標簽發(fā)送隨機數(shù)RA;a)讀卡器向標簽發(fā)送命令00000100000100011,準備對地址寄存器(Reg_ddress)進行寫入操作;讀卡器向標簽發(fā)送編碼數(shù)據(jù)信息1000000000000000011001,將16進制地址數(shù)據(jù)8000寫入到Reg_Address;b)讀卡器向標簽發(fā)送命令00000000000000000,準備對Data1寄存器(Reg_Data1)進行寫入操作;讀卡器向標簽發(fā)送編碼數(shù)據(jù)信息0001000100010001100001,將16進制數(shù)據(jù)1111寫入到Reg_Data1;c)讀卡器向標簽發(fā)送命令01110000000011111,此命令的本意是將Reg_Data1寄存器中的數(shù)據(jù)送入到標簽數(shù)據(jù)存儲單元內(nèi)Reg_Address對應的位置。但此時,數(shù)字邏輯內(nèi)的接口電路判斷得出Reg_Address最高bit為1,在收到此條命令后,將Reg_Data1數(shù)據(jù)送入到加密處理單元,作為RA的0-15bit;d)重復步驟a)-c),發(fā)送不同的命令和數(shù)據(jù)編碼依次將16進制地址數(shù)據(jù)8001、8002、8003寫入到Reg_Address,將16進制數(shù)據(jù)1111、AAAA、CCCC寫入到Reg_Data2,利用01110000000011111命令一次將2222、AAAA、CCCC送入到加密處理單元,作為RA的16-31、32-47、48-63bit。至此完成了讀卡器向標簽發(fā)送64bit隨機數(shù)RA的工作;B)讀卡器向標簽發(fā)送編碼數(shù)據(jù)包Token1,該數(shù)據(jù)包包含RA’和另一個隨機數(shù)RB兩部分內(nèi)容;a)讀卡器使用XTEA算法,利用在步驟2)中計算得到的密鑰Key,對RA進行計算得到RA’=XTEA(Key,RA)b)重復步驟A)中步驟a)-c),發(fā)送不同的命令和數(shù)據(jù)編碼依次將16進制地址數(shù)據(jù)8000、8001、8002、8003寫入到Reg_Address,將16進制數(shù)據(jù)8342、864A、8729、9287寫入到Reg_Data2,利用01110000000011111命令一次將8342、864A、8729、9287送入到加密處理單元,完成讀卡器向標簽發(fā)送64bit隨機數(shù)RA’的工作;c)重復步驟A)中步驟a)-c),發(fā)送不同的命令和數(shù)據(jù)編碼依次將16進制地址數(shù)據(jù)8000、8001、8002、8003寫入到Reg_Address,將16進制數(shù)據(jù)1234、2222、3456、A2B3寫入到Reg_Data2,利用01110000000011111命令一次將1234、2222、3456、A2B3送入到加密處理單元,完成讀卡器向標簽發(fā)送64bit隨機數(shù)RB的工作。
C)標簽內(nèi)的加密處理單元使用XTEA算法,調(diào)出存儲在標簽數(shù)據(jù)存儲單元內(nèi)的密鑰Key,對RA進行計算得到RA”=XTEA(Key,RA)D)標簽比較RA’和RA”,如果RA’=RA”,則讀卡器通過驗證;4)進行讀卡器對標簽的驗證,具體包括A)標簽使用加密算法ek利用密鑰Key對Token1中的隨機數(shù)RB進行加密得到RB’,即RB’=ek(Key,RB);標簽將RB’作為數(shù)據(jù)包Token2回送給通過了驗證的讀卡器;a)標簽內(nèi)的加密處理單元使用XTEA算法,調(diào)出存儲在標簽數(shù)據(jù)存儲單元內(nèi)的密鑰Key,對RB進行計算得到RB’=ek(Key,RB)
b)讀卡器向標簽發(fā)送命令00000100000100011,準備對地址寄存器(Reg_Address)進行寫入操作。讀卡器向標簽發(fā)送編碼數(shù)據(jù)信息1000000000000000011001,將16進制地址數(shù)據(jù)8000寫入到Reg_Addressc)讀卡器向標簽發(fā)送命令00001000000001110,此命令的本意是將標簽數(shù)據(jù)存儲單元內(nèi)Reg_Address對應的位置上的數(shù)據(jù)載入到Data2寄存器(Reg_Data2)。但此時,數(shù)字邏輯內(nèi)的接口電路判斷得出Reg_Address最高bit為1,在收到此條命令后,將位于加密處理單元輸出端口上的16bit數(shù)據(jù)載入到Reg_Data2。
d)讀卡器向標簽發(fā)送命令00110110000110011,標簽將Reg_Data2的數(shù)據(jù)回送給讀卡器,此時讀卡器獲得RB’的0-15bite)重復步驟b)-d),發(fā)送不同的命令和數(shù)據(jù)編碼依次將16進制地址數(shù)據(jù)8000、8001、8002、8003寫入到Reg_Address,利用00110110000110011命令一次將RB’的16-31、32-47、48-63bit依次載入到Reg_Data2內(nèi),再利用00110110000110011將這些數(shù)據(jù)回送給讀卡器。至此,完成標簽向讀卡器發(fā)送RB’的工作;B)讀卡器使用XTEA算法,利用在步驟2)中計算得到的密鑰Key,對RB進行計算得到RB”=XTEA(Key,RB);C)讀卡器比較RB’和RB”,如果RB’=RB”,則標簽通過驗證;5)通過了認證的標簽和讀卡器雙方可以正常地進行后續(xù)通信。
上述實施例僅用于舉例說明了本發(fā)明的第一種順序的驗證方法,本發(fā)明的第二種順序的驗證方法,基本相同,只是步驟3)、4)需要進行相應的交換,在此不再重復舉例。因此,上述實施例不能限制本發(fā)明的保護范圍,凡是對本實施例所作的任何具體變化和替換,均應屬于本發(fā)明的權(quán)利要求所述的保護范圍之內(nèi)。
權(quán)利要求
1.一種用于射頻識別系統(tǒng)的加密驗證方法,該射頻識別系統(tǒng)由數(shù)據(jù)庫、讀卡器和標簽三部分構(gòu)成;其特征在于,所述加密驗證方法包括以下步驟1)讀卡器對標簽進行喚醒;2)讀卡器獲取密鑰信息,計算產(chǎn)生密鑰Key,具體包括A)器讀取標簽的序列號ID;B)讀卡器利用該序列號ID通過事先約定的密鑰產(chǎn)生算法,利用ID計算得到該標簽的密鑰Key;3)進行標簽對讀卡器的驗證,具體包括A)讀卡器向標簽發(fā)送隨機數(shù)RA;B)讀卡器向標簽發(fā)送編碼數(shù)據(jù)包Token1,該數(shù)據(jù)包包含RA’和另一個隨機數(shù)RB兩部分內(nèi)容;其中RA’是通信雙方使用事先約定好的任意一種加密算法ek利用密鑰Key對隨機數(shù)RA進行加密后得到的數(shù)據(jù),即RA’=ek(Key,RA);C)標簽對收到的隨機數(shù)RA,使用加密算法ek利用密鑰Key對隨機數(shù)RA進行加密后得到RA”,即RA”=ek(Key,RA);D)標簽比較RA’和RA”,如果RA’=RA”,則讀卡器通過驗證;4)進行讀卡器對標簽的驗證,具體包括A)標簽使用加密算法ek利用密鑰Key對數(shù)據(jù)包Token1中的隨機數(shù)RB進行加密得到RB’,即RB’=ek(Key,RB);標簽將RB’作為數(shù)據(jù)包Token2回送給通過了驗證的讀卡器;B)通過了驗證的讀卡器使用加密算法ek利用密鑰Key對隨機數(shù)RB進行加密后得到RB”,即RB”=ek(Key,RB);C)讀卡器比較RB’和RB”,如果RB’=RB”,則標簽通過驗證;5)通過了認證的標簽和讀卡器雙方可以正常地進行后續(xù)通信。
2.如權(quán)利要求1所述的用于射頻識別系統(tǒng)的加密驗證方法,其特征在于,在所述標簽中增設一加密處理單元,該加密處理單元通過接口單元與數(shù)字邏輯單元進行數(shù)據(jù)交互,用于完成全部與加密驗證相關(guān)的數(shù)據(jù)處理;所述讀卡器向標簽發(fā)送隨機數(shù)RA或RB、標簽將隨機數(shù)RB’回送給讀卡器、讀卡器將隨機數(shù)RA’回送給標簽的實現(xiàn)步驟如下1)讀卡器向標簽發(fā)送隨機數(shù)RA或RB的過程,具體包括A)讀卡器向標簽發(fā)送地址信息Address,其中Address的最高位置1,作為標志位使用;B)讀卡器向標簽發(fā)送寫數(shù)據(jù)存儲單元命令CMD_Write,標簽經(jīng)過其狀態(tài)機進行命令解析、結(jié)合步驟A)中Address最高位信息得知讀卡器即將發(fā)送數(shù)據(jù)給加密處理單元;C)讀卡器向標簽發(fā)送數(shù)據(jù);2)標簽將隨機數(shù)RB’回送給讀卡器過程,具體包括A)讀卡器向標簽發(fā)送地址信息Address,其中Address的最高位置1,作為標志位使用;B)讀卡器向標簽發(fā)送讀數(shù)據(jù)存儲單元命令CMD_Read,標簽經(jīng)過命令解析得知讀卡器在要求標簽回送數(shù)據(jù);C)標簽向讀卡器回送數(shù)據(jù);3)讀卡器將隨機數(shù)RA’回送給標簽過程,具體包括A)讀卡器向標簽發(fā)送地址信息Address,其中Address的最高位置1,作為標志位使用;B)讀卡器向標簽發(fā)送寫數(shù)據(jù)存儲單元命令CMD_Write,標簽經(jīng)過其狀態(tài)機進行命令解析、結(jié)合步驟A)中Address最高位信息得知讀卡器即將發(fā)送數(shù)據(jù)給加密處理單元;C)讀卡器向標簽發(fā)送數(shù)據(jù)。
3.一種用于射頻識別系統(tǒng)的加密驗證方法,其特征在于,包括以下步驟1)讀卡器對標簽進行喚醒;2)讀卡器獲取密鑰信息,計算產(chǎn)生密鑰Key,具體包括A)讀卡器讀取標簽的序列號;B)讀卡器通過事先約定的密鑰產(chǎn)生算法計算得到該標簽的密鑰Key;3)進行讀卡器對標簽的驗證,具體包括A)讀卡器向標簽發(fā)送編碼數(shù)據(jù)包Token1,該數(shù)據(jù)包包含隨機數(shù)RB;B)標簽使用加密算法ek利用密鑰Key對隨機數(shù)RA進行加密得到RB’,即RB’=ek(Key,RB);標簽將RB’回送給讀卡器;C)讀卡器使用加密算法ek利用密鑰Key對隨機數(shù)RB進行加密后得到RB”,即RB”=ek(Key,RB);D)讀卡器比較RB’和RB”,如果RB’=RB”,則標簽通過驗證;4)進行標簽對讀卡器的驗證A)讀卡器向通過了驗證的標簽發(fā)送編碼數(shù)據(jù)包Token2,該數(shù)據(jù)包包含另一個隨機數(shù)RA和RA’兩部分內(nèi)容,其中RA’是通信雙方使用事先約定好的任意一種加密算法ek利用密鑰Key對隨機數(shù)RA進行加密后得到的數(shù)據(jù),即RA’=ek(Key,RA);B)標簽對收到的隨機數(shù)RA,使用加密算法ek利用密鑰Key對隨機數(shù)RA進行加密后得到RA”,即RA”=ek(Key,RA);C)標簽比較RA’和RA”,如果RA’=RA”,則讀卡器通過驗證;5)通過了認證的標簽和讀卡器雙方可以正常地進行后續(xù)通信。
4.如權(quán)利要求3所述的用于射頻識別系統(tǒng)的加密驗證方法,其特征在于,在所述標簽中增設一加密處理單元,該加密處理單元通過接口單元與數(shù)字邏輯單元進行數(shù)據(jù)交互,用于完成全部與加密驗證相關(guān)的數(shù)據(jù)處理;所述讀卡器向標簽發(fā)送隨機數(shù)RA或RB、標簽將隨機數(shù)RB’回送給讀卡器、讀卡器將隨機數(shù)RA’回送給標簽的實現(xiàn)步驟如下1)讀卡器向標簽發(fā)送隨機數(shù)RA或RB的過程,具體包括A)讀卡器向標簽發(fā)送地址信息Address,其中Address的最高位置1,作為標志位使用;B)讀卡器向標簽發(fā)送寫數(shù)據(jù)存儲單元命令CMD_Write,標簽經(jīng)過其狀態(tài)機進行命令解析、結(jié)合步驟A)中Address最高位信息得知讀卡器即將發(fā)送數(shù)據(jù)給加密處理單元;C)讀卡器向標簽發(fā)送數(shù)據(jù);2)標簽將隨機數(shù)RB’回送給讀卡器過程,具體包括A)讀卡器向標簽發(fā)送地址信息Address,其中Address的最高位置1,作為標志位使用;B)讀卡器向標簽發(fā)送讀數(shù)據(jù)存儲單元命令CMD_Read,標簽經(jīng)過命令解析得知讀卡器在要求標簽回送數(shù)據(jù);C)標簽向讀卡器回送數(shù)據(jù);3)讀卡器將隨機數(shù)RA’回送給標簽過程,具體包括A)讀卡器向標簽發(fā)送地址信息Address,其中Address的最高位置1,作為標志位使用;B)讀卡器向標簽發(fā)送寫數(shù)據(jù)存儲單元命令CMD_Write,標簽經(jīng)過其狀態(tài)機進行命令解析、結(jié)合步驟A)中Address最高位信息得知讀卡器即將發(fā)送數(shù)據(jù)給加密處理單元;C)讀卡器向標簽發(fā)送數(shù)據(jù)。
全文摘要
本發(fā)明涉及用于射頻識別系統(tǒng)的加密驗證方法,屬于射頻識別通信領域。該方法包括讀卡器對標簽進行喚醒;讀卡器獲取密鑰信息,計算產(chǎn)生密鑰Key;讀卡器向標簽發(fā)送隨機數(shù)R
文檔編號H04L9/00GK1818923SQ20061006493
公開日2006年8月16日 申請日期2006年3月17日 優(yōu)先權(quán)日2006年3月17日
發(fā)明者張沕琳, 劉雷波, 張春, 王志華 申請人:清華大學