一種rfid系統中基于組的密鑰矩陣安全認證方法
【專利摘要】本發明涉及一種在RFID系統中基于組的密鑰矩陣安全認證方法,該方法首先利用密鑰矩陣,構建生成認證密鑰的方法,使每對標簽和閱讀器都擁有不同的認證密鑰,利用生成矩陣的規律性,有效縮減了存儲空間的消耗;設計新型的安全認證過程,并添加了標識符更新階段,進一步解決標簽和閱讀器通信時的雙向認證問題,增強了系統安全性,最后通過GNY邏輯形式化分析安全認證方法的正確性。本方法相比于已有方案,在抵御內部和外部攻擊方面,具有更好的安全性,并且具有較低的內存消耗,可接受的通信和計算負載,適用于存在大規模標簽的射頻識別場景。
【專利說明】
一種RFID系統中基于組的密鑰矩陣安全認證方法
技術領域
[00011本發明屬于射頻識別RFID通信領域,涉及一種應用于RFID系統中的安全認證方 法,具體涉及一種RFID系統中基于組的密鑰矩陣認證方法,適用于大規模的RFID環境,可為 系統提供更為安全的保護機制。
【背景技術】
[0002] 射頻識別(Radio Frequency Identification,RFID)系統是一種非接觸式的自動 識別系統,可為閱讀器和標簽之間提供自由的通信鏈路。近年來,由于RFID系統廣泛應用于 各類領域,以及使用開放式的通信環境,使其安全及隱私問題受到了更多的關注,必須確保 通信數據的安全傳輸,并解決各實體之間的身份認證問題。在電子標簽計算速度、通信能力 和存儲空間非常有限的情況下,如何設計更為安全高效且開銷較小的信息安全認證機制, 提供更強的安全性和隱私性保護,是RFID技術研究的重要課題。
[0003] 為了有效地解決安全問題,許多認證協議已被提出,但絕大多數只關注于對非法 外部攻擊的處理,而忽視內部合法節點的攻擊問題。Hash鏈協議使用兩種不同的Hash函數 來確認實體身份,增強了安全性;HIDVP協議通過使用會話編號和自適應變量值來防止監聽 和重放攻擊;Moessner等人通過加強隨機密鑰的加密方式來提高安全等級;Zhou等人提出 了一種輕量級去同步的隱私保留認證協議,有利于降低系統成本。以上文獻都沒有考慮內 部攻擊的問題。Karthikeyan等人提出了一種基于簡單異或操作和矩陣操作的認證方法,但 該方法不能抵御外部攻擊,且不支持多個閱讀器的安全認證;Yang等人提出了使用Hash函 數和異或操作解決欺騙和匿名攻擊的方法,但不能提供隱私保護;Chien等人為低成本標簽 提供了雙向認證方案,但需要閱讀器與標簽保持時間同步,否則將不能抵御DoS攻擊; Kolias等人對Chien的方案進行了改進,增強了閱讀器與標簽通信的安全性,并解決了 DoS 攻擊;Ding等人提出了一種使用密鑰矩陣來共享密鑰的認證方法,用以解決內部攻擊的問 題,但沒有驗證其正確性;KAAP協議擴展了 Ding的研究成果,進行了安全和形式化分析,并 驗證了其正確性,但不能解決閱讀器與標簽同組時的內部攻擊問題,且沒有涉及更新操作, 因而其安全性有待提尚。
【發明內容】
[0004] 要解決的技術問題
[0005] 為了避免現有技術的不足之處,本發明提出一種RFID系統中基于組的密鑰矩陣安 全認證方法,構造一種基于組的密鑰矩陣安全認證方法(Group based Key Array Authentication Protocol,GKAAP),該方法適用于大規模的RFID應用場景,既可以解決各 類外部攻擊問題,又可以解決內部合法節點之間的攻擊問題,其中包括同組內不同閱讀器 與標簽之間的安全通信問題,具有安全性高和資源消耗少等特點。
[0006] 技術方案
[0007] 一種RFID系統中基于組的密鑰矩陣安全認證方法,其特征在于步驟如下:
[0008] 步驟1:利用標簽和閱讀器生成的矩陣,設計認證密鑰:
[0009] 1、生成認證密鑰的過程如下:
[0010] 設有m個標簽表示為Ti,i e 1,2···πι,η個閱讀器表示為Rj,j e 1,2···η,隨機產生序列 {&1,&2,一,&"},生成尺寸為!11\11的標簽矩陣:
,隨機產生 序列{gi,g2,··· ,gn},生成尺寸為ηΧη的閱讀器矩陣
.,由A 和G生成尺寸為mXn的密鑰矩陣
,其中kij對應 的是標簽!\與閱讀器心的認證密鑰,若某對標簽和閱讀器不允許通信,則此時D中對應位置 上的密鑰為null;將D存儲于服務器的數據庫DB中,用于在通信前驗證由標簽和閱讀器計算 出的認證密鑰的正確性;
[0011] 矩陣A的第i行對應標簽1\,只記憶ai,根據矩陣內部各項的生成規律,即還原第i 行;矩陣G的第j列對應閱讀器心,心只記憶 gl,根據矩陣內部各項的生成規律,即還原第j列; 公式1用于標簽!\與閱讀器心生成認證密鑰:
[0012] kij = l+aigj+(aigj )2+· · - + (aigj )η_1 (1)
[0013] 標簽和閱讀器分別被分成多個組適用于不同的應用場景,不同標簽組與閱讀器組 生成不同的認證密鑰矩陣,存儲于DB中。
[0014] 2、隨機生成標簽與閱讀器共享的全局密鑰ku,用于抵御外部攻擊;
[0015] 步驟2:采用循環冗余校驗函數來計算偽隨機標識符:preID = CRC(ID),用偽隨機 標識符替代標簽和閱讀器的ID,防止重放攻擊和位置跟蹤,利用認證密鑰,安全認證階段的 信息交互流程如下:
[0016] a)閱讀器向標簽發出認證請求Q&所有請求的內容使用共享的全局密鑰ku加密;
[0017] 所述請求的內容:此時生成的閱讀器隨機數、偽隨機標識符、閱讀器所屬組號及生 成矩陣對應列gi;
[0018] b)標簽收到認證請求Qij后,在其訪問列表中查找是否包含此閱讀器所屬組的ID, 若有,則此閱讀器具有訪問該標簽的權限,標簽利用生成矩陣對應行及從Qu中解密得到 的 81,利用公式(1),計算認證密鑰1?,用其加密自身和閱讀器的隨機數,連同標簽偽隨機標 識符和所屬組號,作為響應Ru發送給閱讀器;否則,標簽將忽略認證請求;
[0019] 閱讀器收到響應Rlj后,將解密得到的標簽偽隨機標識符和所屬組號發送給數據 庫DB,驗證標簽身份;若標簽信息與DB中存儲內容相符,則驗證成功,DB向閱讀器發送認證 密鑰,利用認證密鑰,閱讀器可從響應Ru中解密出自己的隨機數,若與發送時的原值一 致,則標簽通過閱讀器認證;否則,認證失敗;
[0020] d)閱讀器將標簽的隨機數取反后,再次用認證密鑰ku加密后發送給標簽,標簽解 密出自己的隨機數后,若與發送時的原值一致,則閱讀器通過標簽認證;否則,認證失敗; [0021 ]所述偽隨機標識符的更新過程:
[0022]標簽Ti與閱讀器Rj的新prelD生成公式分別如下:
[0025]其中,PRNGO為單向隨機數發生器;
[0026] a)數據庫DB利用公式(2)、(3)為標簽和閱讀器計算新的prelD,采用1?加密后發送 給對應的閱讀器,閱讀器將其中屬于自身的新preID與自己利用公式(3)計算出的新preID 對比,若一致,則DB信息認證成功,記錄其通信范圍內標簽的新prelD,并對自身的prelD進 行更新;
[0027] b)閱讀器將標簽的新prelD連同標簽的隨機數用認證密鑰kij加密后發送給相應的 標簽,標簽解密后與自己用公式(2)計算出的prelD數值及隨機數原值進行對比,若一致,則 完成與閱讀器的認證,并更新自身的prelD。
[0028] 有益效果
[0029]本發明提出的一種RFID系統中基于組的密鑰矩陣安全認證方法,克服上述現有方 法的缺點,提出一種適用于RFID系統的基于組的密鑰矩陣安全認證方法。為了解決內部攻 擊問題,利用密鑰矩陣,設計一種認證密鑰的生成方法;在此基礎上,設計合理的認證處理 過程,以解決內部和外部攻擊問題;為了進一步增強方法的機密性和新鮮性,建立閱讀器與 標簽的偽隨機標識符更新機制;利用GNY邏輯對所提方法進行形式化分析,以驗證其正確 性;最后通過安全及性能分析,比較本方法與已有方法在解決各類安全問題,及內存消耗、 計算和通信負載等方面的優勢。本方法適用于大規模標簽的RFID應用場景,將對信息傳輸 的安全技術起到推動作用。
[0030] 本發明的效果如下:
[0031] (1)提出一種通過密鑰矩陣為對應標簽和閱讀器生成認證密鑰的方法,解決同組 中存在的內部攻擊問題,由于標簽和閱讀器生成矩陣的規律性,只需記憶較小序列即可完 成認證密鑰的生成,有效的減少存儲空間的消耗。
[0032] (2)設計新型的安全認證過程,數據庫參與身份認證,并驗證認證密鑰的正確性, 利用偽隨機標識符和隨機數,閱讀器與標簽完成了雙向身份認證,解決了關于內部和外部 多種類型的攻擊問題。為了進一步增強安全性,加入了標識符更新環節,安全性分析表明, 相比于已有協議,本方法具有更好的安全性,可抵御重放、跟蹤、仿冒、DoS等多種攻擊,還可 以抵御組內或組間的內部攻擊。
[0033] (3)采用GNY邏輯形式化分析安全認證方法,驗證其正確性,在理想傳輸模型的基 礎上,可達到預期安全目標。性能分析表明,本方法在減少存儲空間消耗方面優于已有協 議,且通信和計算負載適中。
【附圖說明】
[0034]圖1:基于組的密鑰矩陣安全認證方法的認證過程圖;
[0035]圖2:加入偽隨機標識符更新的認證過程圖;
[0036] 圖3:GNY邏輯的符號表示;
[0037] 圖4:本方法與相關方法的安全性能比較;
[0038] 圖5:本方法與相關方法的性能比較;
【具體實施方式】
[0039]現結合實施例、附圖對本發明作進一步描述:
[0040] 1、基于組的認證密鑰的生成
[0041] 標簽和閱讀器分別被分為S組和T組適用于不同的應用場景,假設標簽?\屬于第s 組,表示為As,s e 1,2··· S,閱讀器Rj屬于第t組,表示為Gt,t e 1,2···Τ。閱讀器組與標簽組具 有獨立的訪問權限,并在DB中存儲了不同的密鑰矩陣Dst,如果某一閱讀器組不具備讀取某 一標簽組的權限,則在DB中不存在對應的密鑰矩陣,因而不能實施安全認證。
[0042]同組內不同的標簽與同組內不同的閱讀器通信時使用不同的認證密鑰,可有效解 決同組中的內部攻擊問題;認證密鑰由標簽和閱讀器共同計算,可有效防止由于節點被俘, 而造成的機密信息泄露問題。
[0043] 2、構造基于組的密鑰矩陣認證過程
[0044]圖1為基于組的密鑰矩陣安全認證方法的認證過程圖,以標簽1\和閱讀器^為例, 說明認證信息的交互過程:
[0045] 1)閱讀器&生成一個隨機數%,連接%、口陽11/、(^和幻,并用共享密鑰1^加密 后,由^向^發送認證請求數據包
[0046] 2)標簽Ti收到認證請求后,用共享密鑰解密,并進行如下操作:
[0047] (a)首先認證Rj所屬的組Gt是否在Ti的允許訪問列表中,若存在,則Ti使用ai和 gj利 用公式(1)計算認證密鑰1?,否則將停止認證過程。
[0048] (b)Ti生成隨機數Γτν鏈接%,采用kij加密,并連接?和As,采用k u加密后, 向Rj發送響應數據包:
[0049] 3)Rj接收到響應后,將解密后的preIDri^As發送給DB,以驗證 Ti身份。
[0050] 4)DB收到閱讀器信息后,首先在數據庫中查看prelD%是否由As中合法標簽產生, 若正確,DB將從密鑰矩陣Dst中找到對應1?發送給&。化收到1?后,即可解密[丨y |rR/},對比 接收到的1-??與原有值是否相等,若相等,則h通過^的認證,否則發送錯誤碼停止認證過 程D
[0051] 5)為了防止重放攻擊,&隨后將%取反后,用1?加密,發送^^^給^工收到信 息后進行解密,對比收到的Γτν與原有值是否相等,若相等,則R」通過T,的認證,雙向認證完 成。
[0052] 3、偽隨機標識符的更新階段
[0053] 新prelD的傳輸及認證過程如圖2所示,步驟如下:
[0054] 1 )DB通過PRNG函數為標簽和閱讀器計算新的prelD,并連接kij,發送信息
?R^Rj將比較
,若等式 成立,則心更新其標識符。
[0055] 2 ) R j使用k i j加密
,并發送給T i,T i解密后,比較
丨:是否成立,如等式成立,則Ti更新其標識符。
[0056]不更換prelD,將會帶來重放、跟蹤及仿冒攻擊,因此在每次認證完成后,都必須為 每個標簽和閱讀器更新prelD。數據庫必須同時記錄新舊prelD,防止由于更新不及時,而造 成認證不通過從而導致的DoS攻擊,若更新發生問題,則可以使用舊prelD來完成認證。 [0057] 4、用GNY邏輯進行形式化分析,驗證認證過程的正確性。
[0058] 1)初始化假設
[0059]根據圖3所示的符號表示,及DB的假設分別為:
[0074] 3)Ti、Rj及DB的安全目標表不如下:
[0078] 4)在理想模型中,使用初始化假設和GNY邏輯定理驗證安全目標的正確性。[0079] (a)驗證Τ,·|ξ R;.|~r~
[0080] 由于卜,應用定理TlJPcGA^/PoY,可得,由假設 i〈w Η?./; kueTi,應用定理T3:(Pc {X}K, K e PV(P < ;〇,可得η < rp廣根據定理p丄: (P < x)/(x e p),可得h/e ,應用定理p3: (x e p)八 Η (x) e p)和定理R6 : (//(;〇 e P),/(P| Ξ 0(;〇),可得η丨三因此Ti有權利相信%是可識別的。由假設 1^三妝11,和定理卩1:(卩|三(乂))/(?|三#(乂八),?|三職(乂)),可得1丨三#(1^1< 1^應用定
,得Τ?.|_Ξ %卜_,因此Ti相信Rj傳輸過巧廣
[0081 ] (b)驗證.Til 三# {preIDR;L
[0082]由假設陽 E#pre/Z)R/,kueTi,應用定理F2:(P| 5# P)/(P丨蘭# {Χ}Κ,Ρ| Ξ# {Χ?κ-Ο,可得Ti丨三# [prelD^ ,由此證明!^相信·[premd是新鮮的。
[0084]
,及DB與閱讀器之間可信任Rj | =DB,應用定理J1 :
以此證明Rj相信在DB和Ti通 信過程中使用密鑰1?是合理的。
[0085] 5、安全認證方法的安全及性能分析
[0086] 1)安全分析
[0087]本方法對與RFID系統相關的攻擊具有較強的抵御能力,安全分析如下:
[0088] a)仿冒攻擊的抵御
[0089]仿冒攻擊是攻擊者偽裝成合法的閱讀器或標簽來獲取其他實體的有用信息的一 種攻擊形式,本方法解決此類攻擊問題的方法如下:
[0090] 假冒Ti:攻擊者沒有正確的ai和preiD^,不能計算出正確的認證密鑰 kij,因而不能 通過DB的認證。假冒攻擊者沒有允許列表中適當的Gt,因而不能通過1\的認證;由于沒 有傳輸正確的gj,Ti不能計算出正確的認證密鑰kij,因而也不能通過DB的認證。
[0091] b)重放攻擊的抵御
[0092] 重放攻擊是攻擊者利用以前截獲的合法請求或響應數據包,冒充閱讀器或標簽完 成認證的一種攻擊形式。可以通過在每次認證過程中,加入不同隨機數的方法來解決,通過 比較接收到的隨機數和原有值是否相等,來判斷認證是否可通過。
[0093] 3)跟蹤攻擊的抵御
[0094]大量惡意閱讀器被安放在固定位置,向標簽發出相同的請求,若標簽在通信過程 中保持響應不變,攻擊者則可跟蹤標簽所經路徑。改變標簽響應,解決該類問題的方法如 下:a)在不同時刻產生不同的隨機數;b)標簽ID通過隨機數發生器產生prelD,并在每次認 證完成后,進行更新。
[0095] 4)DoS攻擊的抵御
[0096]由于路徑阻塞,prelD更新信息不能及時傳遞給閱讀器或標簽,造成認證不成功, 引發DoS攻擊,導致系統不能進行正常通信。可以通過DB同時存儲新、舊標識符來解決此類 攻擊問題,此時當更新消息傳輸不成功時,節點依然可以使用舊標識符完成認證工作。 [0097] 5)內部攻擊的抵御
[0098]已有方法中每組標簽和閱讀器擁有不同的認證密鑰,可以有效解決組間的內部攻 擊問題,而本方法利用密鑰矩陣,為同組內的不同標簽和閱讀器通信時,分別提供不同的認 證密鑰,因而本方法不僅可以很好地解決組間的內部攻擊問題,還可以有效解決組內的內 部攻擊問題。
[0099] 6)雙向認證
[0100]本方法可以完成閱讀器與標簽的雙向認證,其中PreIDi?/和1V在過程的1、5階段 由標簽認證,而Pt'eiDyv 1^.和1^在過程的3、4階段,通過DB的幫助由閱讀器認證。
[0101] 圖4總結比較了本方法與相關方法的安全性能,從圖中可以看出,本方法比已有方 法具有更高的安全性能,可以有效地解決內部和外部的攻擊問題。
[0102] 2)性能分析
[0103] 為了簡化分析,將忽略密鑰長度和隨機數長度等變量。在本方法中,標簽訪問列表 中存儲了所有可允許訪問的閱讀器組號,其數目為T;標簽不存儲認證密鑰,只存儲對應每 個閱讀器組的,數目為T;標簽還需存儲自身標識符,長度假設為L,此時標簽的內存消耗 為2T+L,KAAP協議的訪問列表長度也定義為L,其中T值小于L。本方法的通信和計算負載與 KAAP協議類似,但是由于標識符的更新傳輸負載增加L。閱讀器與數據庫直接相連,傳輸附 加數據的能力較強,增加更新階段后,標簽和閱讀器都需進行PRNG操作以更新prelD,因而 計算負載為2(R+E)。由于KAAP協議與方法最相關,因而比較兩者的性能。圖5給出了兩方法 性能比較的結果,從圖中可以看出本方法具有較低的存儲消耗,稍微增加的通信和計算負 載。由于PRNG操作的消耗較少,所以增加的計算負載是可接受的。綜上所述,本方法具有較 高安全性的同時,具有合理的消耗,由此可得通過密鑰矩陣生成認證密鑰的方法,并沒有增 加標簽的消耗。
【主權項】
1. 一種RFID系統中基于組的密鑰矩陣安全認證方法,其特征在于步驟如下: 步驟1:利用標簽和閱讀器生成的矩陣,設計認證密鑰: 1、 生成認證密鑰的過程如下:設有m個標簽表不為Ti,i e 1,2···ηι,η個閱讀器表不為Rj, je 1,2···η,隨機產生序列{ai, a2,"_,am},生成尺寸為mXn的標簽矩罔 .產生序列 {gi,g2,···,gn},生成尺寸為11\11的閱讀. I由A和G生 成尺寸為m X η的密鑰矩罔_中1^對應的是標 簽Ti與閱讀器Rj的認證密鑰,若某對標簽和閱讀器不允許通信,則此時D中對應位置上的密 鑰為null;將D存儲于服務器的數據庫DB中,用于在通信前驗證由標簽和閱讀器計算出的認 證密鑰的正確性; 矩陣A的第i行對應標簽T1, T1只記憶ai,根據矩陣內部各項的生成規律,即還原第i行; 矩陣G的第j列對應閱讀器RpRj只記憶gl,根據矩陣內部各項的生成規律,即還原第j列;公 式1用于標簽!\與閱讀器心生成認證密鑰: kij = l+aigj+(aigj)2+--- + (aigj)n_1 (1) 標簽和閱讀器分別被分成多個組適用于不同的應用場景,不同標簽組與閱讀器組生成 不同的認證密鑰矩陣,存儲于DB中。 2、 隨機生成標簽與閱讀器共享的全局密鑰ku,用于抵御外部攻擊; 步驟2:采用循環冗余校驗函數來計算偽隨機標識符:PreID = CRC(ID),用偽隨機標識 符替代標簽和閱讀器的ID,防止重放攻擊和位置跟蹤,利用認證密鑰,安全認證階段的信息 交互流程如下: a) 閱讀器向標簽發出認證請求(^,所有請求的內容使用共享的全局密鑰ku加密; 所述請求的內容:此時生成的閱讀器隨機數、偽隨機標識符、閱讀器所屬組號及生成矩 陣對應列gi; b) 標簽收到認證請求Qlj后,在其訪問列表中查找是否包含此閱讀器所屬組的ID,若有, 則此閱讀器具有訪問該標簽的權限,標簽利用生成矩陣對應行及從Q lj中解密得到的gl, 利用公式(1),計算認證密鑰1?,用其加密自身和閱讀器的隨機數,連同標簽偽隨機標識符 和所屬組號,作為響應發送給閱讀器;否則,標簽將忽略認證請求; c) 閱讀器收到響應Rlj后,將解密得到的標簽偽隨機標識符和所屬組號發送給數據庫 DB,驗證標簽身份;若標簽信息與DB中存儲內容相符,則驗證成功,DB向閱讀器發送認證密 鑰1?,利用認證密鑰,閱讀器可從響應Rlj中解密出自己的隨機數,若與發送時的原值一致, 則標簽通過閱讀器認證;否則,認證失敗; d)閱讀器將標簽的隨機數取反后,再次用認證密鑰1?加密后發送給標簽,標簽解密出 自己的隨機數后,若與發送時的原值一致,則閱讀器通過標簽認證;否則,認證失敗; 所述偽隨機標識符的更新過程: 標簽T1與閱讀器心的新preID生成公式分別如下:(2) (3) 其中,PRNG 〇為單向隨機數發生器; a) 數據庫DB利用公式2、3為標簽和閱讀器計算新的prelD,采用1?加密后發送給對應的 閱讀器,閱讀器將其中屬于自身的新preID與自己利用公式3計算出的新preID對比,若一 致,貝 1JDB信息認證成功,記錄其通信范圍內標簽的新preID,并對自身的preID進行更新; b) 閱讀器將標簽的新preID連同標簽的隨機數用認證密鑰加密后發送給相應的標 簽,標簽解密后與自己用公式2計算出的preID數值及隨機數原值進行對比,若一致,則完成 與閱讀器的認證,并更新自身的pre ID。
【文檔編號】H04L9/08GK106027237SQ201610393708
【公開日】2016年10月12日
【申請日】2016年6月6日
【發明人】蔣毅, 張若南, 程偉, 李彬
【申請人】西北工業大學