專利名稱:一種rfid安全認證方法
技術(shù)領(lǐng)域:
本發(fā)明屬于射頻識別和保密通信領(lǐng)域,具體涉及一種RFID安全認證方法。
背景技術(shù):
無線射頻識別(Radio Frequency Identification, RFID)是一種利用無線射頻信號耦合(電磁或者電感耦合)或者雷達反射的傳輸特性,在讀寫器和標簽之間進行非接觸雙向數(shù)據(jù)傳輸,以達到目標識別和數(shù)據(jù)交換的目的的技術(shù)。這種識別技術(shù)的優(yōu)點之一就是無需任何物理接觸或者其他任何可見的接觸。但在享受RFID技術(shù)帶來便利的同時,也必須要面對伴隨而來的諸如標簽信息泄漏、標簽易追蹤等安全隱患問題。一個最基本的RFID系統(tǒng)主要由3部分組成:標簽(Tag),讀寫器(Reader)和后臺數(shù)據(jù)庫(backend)。按照能量供給原理,標簽Tag可以分為主動(Active)標簽和被動(Passive)標簽。主動標簽又被稱為智能標簽,能運行一些復雜的算法,比如ECC、RSA,安全性較高;被動標簽則只能靠與讀寫器之間切割磁感線產(chǎn)生感應電流來供給能量,內(nèi)部只有基本的邏輯門電路,可以被不停的訪問,直到有回應為止,因此也被稱為邏輯卡,現(xiàn)階段只能運行一些硬件成本低的算法,因此安全性相對較低。主動標簽天生的優(yōu)勢,使得它得以繼承在移動通信等其它場景中得到認可的優(yōu)秀的安全算法和方案;被動標簽雖然有著極大的成本限制,導致其安全方面存在很多弊端,但也正是它的廉價使得其擁有極其廣大的用戶。為了解決RFID系統(tǒng)的安全問題,最大限度地降低其面臨的安全風險,必須為RFID系統(tǒng)構(gòu)造一個可靠的安全機制,用于Tag與Reader間的相互認證和傳輸數(shù)據(jù)。在提升安全機制方面,近幾年國內(nèi)外RFID方面的研究學者提出了不少的解決辦法,比如ECC算法和RSA算法都具有較高的安全性能,但是這些算法比較復雜,實現(xiàn)起來對硬件資源提出了較高的要求,目前只能在一些智能標簽上實現(xiàn)。然而智能標簽價格比較高,大規(guī)模使用的時候成本會成為一個制約因素,而且智能標簽都是有源標簽,需要額外提供電源,這樣功耗就成了另外一個制約因素,一般智能標簽的壽命都遠小于無源標簽。
發(fā)明內(nèi)容
本發(fā)明的目的是為了解決現(xiàn)有的RFID系統(tǒng)的認證辦法存在的上述問題,提出了一種RFID安全認證方法。本發(fā)明的技術(shù)方案為:一種RFID安全認證方法,包括如下步驟:S1.讀寫器隨機產(chǎn)生兩個正整數(shù)rl與R1,并將其存儲在私有存儲空間,其中,rl e [1,M],R1 e (0,N1),M為待選取的加密算法的數(shù)目,所述的加密算法與M個數(shù)字一一對應,NI為預先設(shè)定的值,根據(jù)r I特定的取值選擇對應的加密算法El對Rl和加密算法El對應的密鑰序列Kl組成的數(shù)據(jù)流(Kl,Rl)進行加密,加密后的結(jié)果為El (K1,R1),同時讀寫器不停對外發(fā)出讀寫請求命令,讀寫器檢測到標簽以后將rl,Rl以及對加密后的結(jié)果El(Kl,Rl)發(fā)送給檢測到的標簽;S2.被檢測到的標簽收到讀寫器發(fā)來的rl、Rl以及El (Kl,Rl)之后,將Rl與El(Kl,Rl)分別存儲在私有存儲空間,根據(jù)rl選取存儲在標簽加密算法庫中相對應的加密算法E1’,并使用加密算法ΕΓ對Rl和與算法ΕΓ對應的密鑰序列ΚΓ組成的數(shù)據(jù)流(K1’,Rl)進行加密,加密后的結(jié)果為El’ (K1’,R1),然后將其與El (K1,R1)進行比較,如果二者完全一致,通過第一輪安全認證,否則終止本次會話;S3.第一輪安全認證通過之后,標簽將其ID號IDl使用加密算法El進行加密,并將加密之后的結(jié)果El (Kl,IDl)發(fā)送給讀寫器;S4.讀寫器收到標簽發(fā)來的El (Kl,IDl)之后,將其與rl 一起發(fā)送給后臺數(shù)據(jù)庫服務(wù)器;S5.后臺數(shù)據(jù)庫服務(wù)器收到讀寫器發(fā)來的rl和El (Kl,IDl)之后,根據(jù)參數(shù)rl選擇對應的解密算法對數(shù)據(jù)包El (Kl,IDl)進行解密,并將解密得到的ID號在后臺數(shù)據(jù)庫中進行驗證,如果找到與其完全匹配的ID號則通過第二輪安全認證,否則終止本次會話;S6.第二輪安全認證通過之后,后臺數(shù)據(jù)庫服務(wù)器隨機產(chǎn)生兩個正整數(shù)r2和R2,其中r2 e [1,M],R2 e (0,N2),N2為預先設(shè)定的值,根據(jù)r2的值選擇對應的加密算法E2,并用其對參數(shù)R2和加密算法E2對應的密鑰序列K2組成的數(shù)據(jù)流(K2,R2)進行加密得到E2 (K2,R2),同時再次使用加密算法E2對標簽ID號進行加密,得到E2 (K2,IDl)然后將r2以及加密后的結(jié)果E2 (K2,R2)和E2 (K2,IDl)發(fā)送給讀寫器;S7.讀寫器收到后臺數(shù)據(jù)庫服務(wù)器發(fā)來的r2和E2 (K2,R2)和E2 (K2,IDl)之后,通過參數(shù)r2選擇相應的解密算法對數(shù)據(jù)包E2 (K2,R2)進行解密得到R2,然后將Rl與R2作為輸入?yún)?shù),使用存儲在讀寫器中的密鑰生成算法L生成密鑰L (R1,R2),并將其賦值給Key作為本次通信的動態(tài)密鑰,最后使用加密算法E2對Key進行加密得到E2 (K2,Key),并將其與r2、Rl、R2和E2 (K2,IDl)—起發(fā)送給標簽;S8.標簽收到讀寫器發(fā)來的r2、Rl、R2、E2 (K2,Key)和E2 (K2,IDl)之后,通過r2選擇對應的解密算法分別對數(shù)據(jù)包E2 (K2,Key)和E2 (K2,IDl)進行解密得到Key和IDl,緊接著將Key存放在動態(tài)密鑰區(qū),并將解密得到的IDl與標簽自身的ID號進行比對,如果比對結(jié)果不一致則立即終止本次會話,否則將Rl與R2作為輸入?yún)?shù),使用存儲在標簽中的密鑰生成算法L’生成密鑰L’(Rl,R2),并將其賦值給Key’ ;最后將解密得到Key與Key’進行比對,如果Key與Key’完全一致則通過第三輪安全認證,否則終止本次會話。本發(fā)明的有益效果:本發(fā)明的方法引入動態(tài)選取加密算法的思想,即采用幾種具有一定安全性且硬件上容易實現(xiàn)的加密算法作為算法庫,每次通過隨機函數(shù)選取其中一種進行加密和解密;通過引入動態(tài)選取加密算法和動態(tài)密鑰的思想,同時采用雙密鑰三重認證的機制,具有較高的安全性能,既能保證硬件上的可實現(xiàn)性,又能通過算法的多樣性從而極大地提高系統(tǒng)的安全性。本發(fā)明的方法的實現(xiàn)不需要配置很高的硬件資源作支撐,但卻可以提供較高的安全性,解決了在目前廣泛使用的低成本標簽上不能運行高安全性加密算法的問題。本方法可以有效抵制假冒、跟蹤、重放等多種安全攻擊,為RFID技術(shù)的應用和實施提供了高度的安全性和可靠性,較好地解決了 RFID系統(tǒng)安全性不足和其他安全方案所要求算法的配置過高的問題, 使得采用低成本的被動標簽實現(xiàn)較高安全性的數(shù)據(jù)通信成為可能。
圖1是本發(fā)明的RFID安全認證方法的原理示意圖。
具體實施例方式下面結(jié)合附圖和具體實施例對本發(fā)明做進一步的說明。本發(fā)明的目的在于提供一種輕量級高安全性的RFID認證方法。與一般只采用固定單一的算法不同,其特征是以TEA、DES、IDEA和HIGHT等輕量級加密算法為基礎(chǔ),引入動態(tài)選取加密算法的思想,每一次都是從這4種加密算法中隨機選擇一種來用于本次數(shù)據(jù)加密。由于每一次用于數(shù)據(jù)加密的算法都是事先無法預知的,外部很難尋找到其規(guī)律并將其破解,因此本方法具有較高的安全性能。本發(fā)明的RFID安全認證方法的原理示意圖如圖1所示,具體過程如下:(I)Reader隨機產(chǎn)生兩個正整數(shù)rl與R1,并將其存儲在私有存儲空間,其中,rl e [I, M],Rl e (O, NI)。根據(jù)rl特定的取值選擇對應的加密算法El對Rl和加密算法El對應的對應密鑰序列Kl組成的數(shù)據(jù)流(Kl,Rl)進行加密,同時Reader不停對外發(fā)出讀寫請求命令,Reader檢測到標簽以后將rl、Rl以及對Rl加密后的結(jié)果El (K1,R1)發(fā)送給檢測到的標簽Tagl。在本實施例中,M=4,rl的四個可能的取值分別代表TEA、DES、IDEA和HIGHT四種加密算法中的一種,即TEA、DES、IDEA和HIGHT分別與1、2、3和4——對應,這四種加密算法構(gòu)成了 Reader的加密算法庫。選擇這四種加密算法的目的在于,這幾種是數(shù)據(jù)塊長度相同,實現(xiàn)方法很相似的輕量級加密算法,這樣可以減少硬件實現(xiàn)的復雜度。在這里Nl=IOOO,NI的取值需要足夠大,這個范圍足夠大才可能確保相同兩次認證產(chǎn)生相同隨機數(shù)的概率足夠小,這樣才能有效降低算法被破譯的幾率。第一輪安全認證:(2) Tagl 收到 Reader 發(fā)來的 rl、Rl 以及 El (Kl,Rl)之后,將 Rl 與 El (Kl,Rl)分別存儲在私有存儲空間,根據(jù)rl選取相應的加密算法ΕΓ,并使用加密算法ΕΓ對Rl和與算法ΕΓ對應的密鑰序列ΚΓ組成的數(shù)據(jù)流(ΚΓ,Rl)進行加密,加密后的結(jié)果為ΕΓ(ΚΓ, Rl ),然后將其與El (Kl,Rl)進行比較,如果二者完全一致,就可以通過第一輪安全認證。否則,立即終止本次會話。如果有非法讀寫器想要讀取標簽中的內(nèi)容,它就必須具有和標簽相同的加密算法庫,而且算法庫中不同算法的組織方式以及相應的密鑰都必須保持高度一致,否則就無法提供正確的密鑰K1,從而就不能通過第一輪安全認證而直接被屏蔽掉,因而可以有效地阻止外部非法訪問,避免重要信息被非法竊取。第二輪安全認證:(3)第一輪安全認證通過之后,Tagl將其ID號IDl使用加密算法El進行加密,并將加密之后的結(jié)果El (Kl,IDl)發(fā)送給Reader。(4) Reader收到Tagl發(fā)來的El (Kl,IDl)之后,再將其與rl 一起發(fā)送給后臺數(shù)據(jù)庫 DataBase。 (5)DataBase收到Reader發(fā)來的rl和El (Kl, IDl)之后,根據(jù)參數(shù)rl選擇相應的解密算法對數(shù)據(jù)包El (Kl,IDl)進行解密,并將解密得到的IDl在后臺數(shù)據(jù)庫中進行驗證,如果找到與其完全匹配的ID號則通過第二輪安全認證。否則,發(fā)送結(jié)束命令給Reader要求其立即終止本次會話。由于每一個標簽都有一個唯一的ID號,并且每一個標簽的ID號在生產(chǎn)的過程中已經(jīng)確定,以后不能夠再做修改。因此,非法標簽的ID號將無法通過后臺數(shù)據(jù)庫的驗證,從而可以有效避免欺騙等安全攻擊。第三輪安全認證:(6)第二輪安全認證通過之后,DataBase隨機產(chǎn)生兩個正整數(shù)r2和R2,其中r2 e [1,4],R2 e (0,N2)。在這里N2=1000,r2同rl 一樣用于選擇四種加密算法中的一種,根據(jù)r2的值選擇對應的加密算法E2,并用其對參數(shù)R2和加密算法E2對應的對應密鑰序列K2組成的數(shù)據(jù)流(K2,R2)進行加密得到E2 (K2,R2),同時再次使用加密算法E2對標簽ID號進行加密,得到E2 (K2,ID1)然后將r2以及加密后的結(jié)果E2 (K2,R2)和E2 (K2,IDl)發(fā)送給讀寫器;(7) Reader 收到 DataBase 發(fā)來的 r2、E2 (K2, R2)和 Ε2 (Κ2, IDl)之后,通過參數(shù)r2選擇相應的解密算法對數(shù)據(jù)包E2 (K2,R2)進行解密得到R2,然后把Rl與R2作為輸入?yún)?shù),使用密鑰生成算法L生成密鑰L (Rl,R2),并將其賦值給Key作為本次通信的動態(tài)密鑰;最后使用加密算法E2對Key進行加密得到E2 (K2,Key),并將其與r2、RU R2和E2(K2,IDl) 一起發(fā)送給 Tagl。這里,在通過第二輪安全認證后,還包括將用于數(shù)據(jù)加密的私有密鑰Key設(shè)為L(Rl,R2)的步驟。三輪安全認證全部通過以后,標簽就會將其存儲區(qū)中的數(shù)據(jù)發(fā)送給讀寫器,但卻是以密文的形式發(fā)送的,這里生成的私有密鑰Key (也就是所謂的動態(tài)密鑰)就是用于為認證通過后數(shù)據(jù)傳輸加密的,這里使用的加密算法與認證過程中使用的加密算法是不一樣的,由于這一部分不 是本發(fā)明的主要內(nèi)容,在此不再詳細說明。(8)Tagl 收到 Reader 發(fā)來的 r2、Rl、R2、E2 (K2,Key)和 E2 (K2,IDl)之后,根據(jù)r2選擇對應的解密算法分別對數(shù)據(jù)包E2 (K2,Key)和E2 (K2,IDl)進行解密得到Key和IDl,緊接著將Key存放在動態(tài)密鑰區(qū),并將解密得到的IDl與標簽自身的ID號進行比對,如果比對結(jié)果不一致則立即終止本次會話,否則將Rl與R2作為輸入?yún)?shù),使用存放在標簽中的密鑰生成算法L’生成密鑰L’(Rl,R2),并將其賦值給Key’ ;最后將解密得到Key與Key’進行比對,如果二者完全一致則通過第三輪安全認證,并發(fā)送Ready命令給Reader,告訴它本次會話認證通過,接下來可以發(fā)送數(shù)據(jù),否則,立即終止本次會話。第三輪安全認證通過后,Tagl就會發(fā)送相關(guān)命令給Reader,告訴Reader認證通過,并允許對Tagl內(nèi)的數(shù)據(jù)進行訪問。由于動態(tài)密鑰生成算法存放在私有只讀存儲空間,而且讀寫器與標簽之間只傳送入口參數(shù)Rl和R2,動態(tài)密鑰的生成和比較都在芯片和讀寫器內(nèi)部完成,外部無法訪問也無權(quán)修改,因而具有很高的保密性。非法標簽和讀寫裝置將不能夠根據(jù)兩個參數(shù)計算出正確的動態(tài)密鑰Key,從而無法通過第三輪安全認證,所以本發(fā)明的方法可以有效抵制多種安全攻擊。下面對在上述方法實現(xiàn)的過程中出現(xiàn)的一些變量、名詞和符號做以下解釋和說明:Reader:RFID 讀寫器。Tagl:一個 RFID 標簽。DataBase:與RFID讀寫器相連接的后臺數(shù)據(jù)庫服務(wù)器。IDl:RFID標簽Tagl的唯一標識序列號。
rl, r2:用于選擇加密算法的參數(shù)。Rl, R2:用于生成動態(tài)密鑰Key的參數(shù)。E1,E2:E1與E2表示參數(shù)rl與r2分別對應的加密算法,都屬于TEA、DES、IDEA和HIGHT四種算法中的一種。El (Kl,Rl):指使用加密算法El以及加密算法El對應的密鑰序列Kl對參數(shù)Rl進行加密,其他的類似,就不再逐一說明。E2 (K2,Key):指使用加密算法E2以及加密算法E2對應的密鑰序列K2對動態(tài)密鑰Key進行加密,其他的類似,就不再逐一說明。Key, Key’:Key和Key’分別表示在Reader和Tagl中使用密鑰生成算法生成的動態(tài)密鑰密鑰。L,L’:L和L’分別表示在Reader和Tagl中存儲的密鑰生成算法。L (R1,R2):指在Reader中以Rl和R2作為輸入,使用密鑰生成算法得到的動態(tài)密鑰。L’(Rl,R2):指在Tag中以Rl和R2作為輸入,使用密鑰生成算法得到的動態(tài)密鑰。Ready:安全認證通過后Tagl發(fā)給Reader的指示命令,用于告訴Reader本次安全認證通過,接下來可以安全地傳輸數(shù)據(jù)。私有存儲空間:有特定結(jié)構(gòu)和訪問權(quán)限的存儲區(qū)域,多用于保存一些重要數(shù)據(jù),防止非法被竊取和篡改,通常應用于標簽或讀寫器中,在標簽中一般需要讀寫器靠的很近以提供足夠高的能量以開啟訪問開關(guān),訪問開關(guān)打開以后還需要輸入正確的訪問口令才可以成功訪問,該技術(shù)結(jié)合軟件和硬件的特性來實現(xiàn)高強度的保密性。在本實施例中,Reader可以是具有RFID讀寫功能的移動終端,Reader可以通過WIFi網(wǎng)絡(luò)或者GSM無線網(wǎng)絡(luò)與后臺數(shù)據(jù)庫通信。本發(fā)明的方法主要具有如下幾個優(yōu)點:1.讀寫器、標簽以及后臺數(shù)據(jù)庫中都分別存放著四種輕量級數(shù)據(jù)加密算法,分別是TEA、DES、IDEA和HIGHT,每一種加密算法都有自己獨特的密鑰,根據(jù)參數(shù)輸入來決定選用哪一種加密算法。每一次安全認證時,rl與r2都是隨機產(chǎn)生的,因而對應的加解密算法的選取也是不可預測的,相鄰兩次很難出現(xiàn)一樣的情況,這樣就可以有效抵御重放攻擊;讀寫器和標簽中的加密算法以及對應的密鑰都存放在私有只讀存儲空間,外部無權(quán)訪問也不能夠修改,這樣就在一定程度上增加了系統(tǒng)的安全性。2.本發(fā)明還采用雙密鑰三重認證機制,分別采用公用密鑰、隨機私用密鑰以及標簽的ID來進行安全認證,只要有一次認證不通過就終止本次通信,這樣就增大了外部攻擊實施的難度,增強了系統(tǒng)的安全性能。3.本方法引入存儲空間加密等級劃分思想,對一些重要的算法存放在私有只讀存儲空間中,只有芯片內(nèi)部有權(quán)訪問,而且無權(quán)修改。對一些比較重要的數(shù)據(jù)存放在私有存儲空間內(nèi),這些數(shù)據(jù)只有近距離通信才能修改,而且外部必須提供正確的訪問口令才能被修改,這樣就充分利用軟件和硬件的特性來提高系統(tǒng)安全性能,極大地降低了重要數(shù)據(jù)被竊取和篡改的風險。4.在本發(fā)明的實施過程中,標簽只需要存儲四種輕量級安全算法作為算法庫,每一次加密或者解密的時候都是從中隨機選取一種,在同一時間標簽中執(zhí)行的任然是硬件上容易實現(xiàn)的簡單安全算法,這樣對標簽的硬件配置并沒有提出很高的要求,從而使標簽成本仍然可以保持在比較低的水平,使得在低配置硬件平臺上實現(xiàn)高度的保密性和安全性成為了可能。5.本方法采用的四種加密算法密文長度均為64位,這就為認證過程中數(shù)據(jù)格式的統(tǒng)一性提供了保證;而且算法的實現(xiàn)都涉及到多輪移位和替換,因此在硬件方面可以共用部分模塊,用同一器件實現(xiàn),節(jié)省了空間和成本,滿足Tag的硬件需求;此外,四種加密算法TEA、DES、IDEA和HIGHT都屬于輕量級加密算法,都具有顯著的快速運行性,所以盡管是采用了四種算法混合,但加解密時的速度足以滿足RFID系統(tǒng)快速運行的要求,因此本方法不僅具有很強的安全性而且還具有很高的執(zhí)行效率。6.標簽匿名性并能抵御跟蹤:在Reader向DataBase發(fā)出以安全算法El加密的標簽序列號ID1以后,DataBase不是沿用安全算法E1,而是重新選取安全算法E2和隨機數(shù)R2進行加密,Reader收到DataBase發(fā)來的r2和E2 (K2,R2)之后也是采用新的安全算法對生成的動態(tài)密鑰加密,并將加密之后的結(jié)果發(fā)給Tagl,這樣就使得每一次會話都充滿隨機性。因此,即使攻擊方能夠成功的對Tagl進行探測,其作用也僅限于某一輪會話,無法從中解出ID號和密鑰值,也無法對下一輪會話的內(nèi)容進行判斷和加密和解密,因此能夠有效的保證標簽的匿名性,攻擊方無法獲知標簽的ID號,也就無法對其進行追蹤。7.數(shù)據(jù)的可靠性和認證的安全性:Tagl向Reader發(fā)出的加密序列,是依靠存儲在該Tag中唯一的密鑰和本身獨一無二的ID號,依靠多種可靠的加密算法計算出來的,即使攻擊方在信息傳輸過程中將其捕獲,也無法從含有兩個不確定的序列中找出正確的密鑰和ID號,也無法判斷出當時交互所采用的具體算法,只有含有所有有效信息的合法DataBase才能在收到Tagl發(fā)來的加密序列后,使用與Tagl —致的安全算法進行解密來得到正確的ID號,并且通過隨機選取另一種安全算法E2及其對應的密鑰K2進行加密回復,從而保證了數(shù)據(jù)的可靠性和認證的安全性。8.前向安全性并能有效抵御重放攻擊:在本方法中,假設(shè)攻擊方已經(jīng)捕獲了Tagl,并成功獲知其ID號以及安全算法El和E2及其對應的密鑰Kl和K2,但每一次會話還涉及隨機數(shù)Rl、R2以及根據(jù)Rl和R2生成的動態(tài)密鑰Key,攻擊方并不能準確獲知過去所進行的會話中所采用的隨機數(shù),也就無法對其進行重現(xiàn),也無法利用其進行有效的攻擊,從而保證了 RFID系統(tǒng)的前向安全性和較好的抵御了重放攻擊。本領(lǐng)域的普通技術(shù)人員將會意識到,這里所述的實施例是為了幫助讀者理解本發(fā)明的原理,應被理解為本發(fā)明的保護范圍并不局限于這樣的特別陳述和實施例。本領(lǐng)域的普通技術(shù)人員可以根據(jù)本發(fā)明公開的這些技術(shù)啟示做出各種不脫離本發(fā)明實質(zhì)的其它各種具體變形和組合,這些變形和組合仍然在本發(fā)明的保護范圍內(nèi)。
權(quán)利要求
1.一種RFID安全認證方法,包括如下步驟: 51.讀寫器隨機產(chǎn)生兩個正整數(shù)rl與R1,并將其存儲在私有存儲空間,其中,rle [I,Μ],Rl e (O,NI), M為待選取的加密算法的數(shù)目,所述的加密算法與M個數(shù)字一一對應,NI為預先設(shè)定的值,根據(jù)rl特定的取值選擇對應的加密算法El對Rl和加密算法El對應的密鑰序列Kl組成的數(shù)據(jù)流(Kl,Rl)進行加密,加密后的結(jié)果為El (Kl,R1),同時讀寫器不停對外發(fā)出讀寫請求命令,讀寫器檢測到標簽以后將rl,Rl以及對加密后的結(jié)果El (K1,Rl)發(fā)送給檢測到的標簽; 52.被檢測到的標簽收到讀寫器發(fā)來的rl、Rl以及El(K1,R1)之后,將Rl與El (K1,Rl)分別存儲在私有存儲空間,根據(jù)rl選取存儲在標簽加密算法庫中相對應的加密算法E1’,并使用加密算法ΕΓ對Rl和與算法ΕΓ對應的密鑰序列ΚΓ組成的數(shù)據(jù)流(ΚΓ,Rl)進行加密,加密后的結(jié)果為El’ (K1,,R1),然后將其與El (Kl,Rl)進行比較,如果二者完全一致,通過第一輪安全認證,否則終止本次會話; 53.第一輪安全認證通過之后,標簽將其ID號IDl使用加密算法El進行加密,并將加密之后的結(jié)果El (Kl,IDl)發(fā)送給讀寫器; 54.讀寫器收到標簽發(fā)來的El(KLIDl)之后,將其與rl 一起發(fā)送給后臺數(shù)據(jù)庫服務(wù)器; 55.后臺數(shù)據(jù)庫服務(wù)器收到讀寫器發(fā)來的rl和El(Kl,IDl)之后,根據(jù)參數(shù)rl選擇對應的解密算法對數(shù)據(jù)包El (Kl,IDl)進行解密,并將解密得到的ID號在后臺數(shù)據(jù)庫中進行驗證,如果找到與其完全匹配的ID號則通過第二輪安全認證,否則終止本次會話; 56.第二輪安全認證通過之后,后臺數(shù)據(jù)庫服務(wù)器隨機產(chǎn)生兩個正整數(shù)r2和R2,其中r2 e [I, M], R2 e (O,N2), N2為預先設(shè)定的值,根據(jù)r2的值選擇對應的加密算法E2,并用其對參數(shù)R2和加密算法E2對應的密鑰序列K2組成的數(shù)據(jù)流(K2,R2)進行加密得到E2(K2,R2),同時再次使用加密算法E2對標簽ID號進行加密,得到E2 (K2,IDl)然后將r2以及加密后的結(jié)果E2 (K2,R2)和E2 (K2,IDl)發(fā)送給讀寫器; 57.讀寫器收到后臺數(shù)據(jù)庫服務(wù)器發(fā)來的r2和E2(K2,R2^PE2 (K2,IDl)之后,通過參數(shù)r2選擇相應的解密算法對數(shù)據(jù)包E2 (K2,R2)進行解密得到R2,然后將Rl與R2作為輸入?yún)?shù),使用存儲在讀寫器中的密鑰生成算法L生成密鑰L (Rl,R2),并將其賦值給Key作為本次通信的動態(tài)密鑰,最后使用加密算法E2對Key進行加密得到E2 (K2,Key),并將其與r2、Rl、R2和E2 (K2,IDl) —起發(fā)送給標簽; 58.標簽收到讀寫器發(fā)來的r2、Rl、R2、E2(K2,Key)和E2 (K2,IDl)之后,通過r2選擇對應的解密算法分別對數(shù)據(jù)包E2 (K2,Key)和E2 (K2,IDl)進行解密得到Key和IDl,緊接著將Key存放在動態(tài)密鑰區(qū),并將解密得到的IDl與標簽自身的ID號進行比對,如果比對結(jié)果不一致則立即終止本次會話,否則將Rl與R2作為輸入?yún)?shù),使用存儲在標簽中的密鑰生成算法L’生成密鑰L’(Rl,R2),并將其賦值給Key’ ;最后將解密得到Key與Key’進行比對,如果Key與Key’完全一致則通過第三輪安全認證,否則終止本次會話。
2.根據(jù)權(quán)利要求1所述的RFID安全認證方法,其特征在于,步驟SI所述的M=4。
3.根據(jù)權(quán)利要求2所述的RFID安全認證方法, 其特征在于,步驟SI所述的加密算法具體為:TEA、DES、IDEA 和 HIGHT。
4.根據(jù)權(quán)利要求1所述的RFID安全認證方法,其特征在于,步驟SI所述的Nl=1000。
5.根據(jù)權(quán)利要求1或4所述的RFID安全認證方法,其特征在于,步驟S6所述的N2=1000。
6.根據(jù)權(quán)利要求5所述的RFID安全認證方法,其特征在于,讀寫器通過WiFi網(wǎng)絡(luò)或者GSM無線網(wǎng)絡(luò)與后臺 數(shù)據(jù)庫服務(wù)器通信。
全文摘要
本發(fā)明公開了一種RFID安全認證方法,本發(fā)明的方法引入動態(tài)選取加密算法的思想,即采用幾種具有一定安全性且硬件上容易實現(xiàn)的加密算法作為算法庫,每次通過隨機函數(shù)選取其中一種進行加密和解密;同時采用雙密鑰三重認證的機制,具有較高的安全性能,既能保證硬件上的可實現(xiàn)性,又能通過算法的多樣性從而極大地提高系統(tǒng)的安全性。本發(fā)明的方法的實現(xiàn)不需要配置很高的硬件資源作支撐,但卻可以提供較高的安全性,解決了低成本標簽上不能運行高安全性加密算法的問題。
文檔編號G06K17/00GK103218633SQ20131007349
公開日2013年7月24日 申請日期2013年3月8日 優(yōu)先權(quán)日2013年3月8日
發(fā)明者文光俊, 馬玉林, 李建 申請人:電子科技大學, 河源市特靈通通訊有限公司