基于哈希函數的RFID身份認證協(xié)議
來(lái)源:數字音視工程網(wǎng) 編輯:merry2013 2016-02-22 07:24:16 加入收藏 咨詢(xún)

所在單位: | * |
姓名: | * |
手機: | * |
職位: | |
郵箱: | * |
其他聯(lián)系方式: | |
咨詢(xún)內容: | |
驗證碼: |
|
無(wú)線(xiàn)射頻識別(Radio Frequency Identification,RFID)是一種非接觸式的自動(dòng)識別技術(shù),可以視為無(wú)線(xiàn)版本的條形碼,具有使用時(shí)間長(cháng)、讀取精度高、能夠加密標簽數據、數據容量更大、操作便捷等優(yōu)點(diǎn)。RFID技術(shù)在生活中的應用日趨廣泛,其安全與隱私問(wèn)題也日益受到關(guān)注,比如偽造標簽、非法訪(fǎng)問(wèn)等。身份認證是保證信息安全的關(guān)鍵技術(shù)之一,由于RFID系統中標簽的存儲空間和計算能力有限,難以進(jìn)行復雜的數據加、解密運算,因此輕量級的RFID身份認證協(xié)議成為當前研究的熱點(diǎn)之一。
現有的輕量級RFID身份認證協(xié)議多數基于哈希函數,其中比較典型的有:哈希鎖協(xié)議、隨機哈希鎖協(xié)議、哈希鏈協(xié)議等,這幾個(gè)協(xié)議都存在無(wú)法保障用戶(hù)隱私、標簽容易追蹤等安全隱患。對此,Shen等人提出了一種基于匿名機制的RFID身份認證協(xié)議ARAP(Anonymous RFID Authentication Protocol) 。本文將對多個(gè)RFID身份認證協(xié)議進(jìn)行簡(jiǎn)要介紹,著(zhù)重對其安全性能進(jìn)行討論和比較。
1 協(xié)議簡(jiǎn)介
1.1 哈希鎖協(xié)議
哈希鎖協(xié)議采用哈希函數實(shí)現簡(jiǎn)單的訪(fǎng)問(wèn)控制,工作原理如圖1所示:閱讀器存儲每個(gè)標簽的訪(fǎng)問(wèn)密鑰Key,并生成metaID=hash(key),寫(xiě)入標簽。標簽接收到閱讀器的訪(fǎng)問(wèn)請求時(shí),發(fā)送metaID,閱讀器則查出相應的key發(fā)給標簽。標簽計算并判斷hash(key)與metaID是否相同,若相同,則把自己的ID信息發(fā)給閱讀器。
1.2 隨機哈希鎖協(xié)議
隨機哈希鎖是哈希鎖協(xié)議的改良,工作原理如圖2所示:當收到閱讀器的訪(fǎng)問(wèn)請求時(shí),標簽先生成一個(gè)隨機數R,并和計算的h(IDk||R)一起發(fā)給閱讀器。閱讀器將此信息轉送給后臺數據庫,后臺數據庫則需要窮舉所有標簽的IDi來(lái)計算h(IDi||R),直至找到計算值與接收到的哈希值相同的IDi,閱讀器將此IDi發(fā)回,對標簽進(jìn)行解鎖和訪(fǎng)問(wèn)。
1.3 哈希鏈協(xié)議
在哈希鏈協(xié)議中,標簽和閱讀器共享兩個(gè)哈希函數H和G,H用來(lái)進(jìn)行更新,G用來(lái)計算響應消息,具體過(guò)程如圖3所示,S為共享的初始隨機標識符。在收到閱讀器的查詢(xún)請求時(shí),標簽返回ai=G(Si),同時(shí)更新當前的Si為Si+1 =H(Si),準備接受閱讀器的下一個(gè)訪(fǎng)問(wèn)請求。
1.4 ARAP協(xié)議
在A(yíng)RAP協(xié)議中,閱讀器R和標簽T都擁有一個(gè)偽隨機數發(fā)生器,每個(gè)標簽T都與后端數據庫DB共享一個(gè)初始秘密xT,DB能夠根據T的假名P遍歷出初始共享的秘密xT,實(shí)現對T的身份認證。
(1)R→T:R向T發(fā)送認證請求Query和隨機數rR;
(2)T→R:T計算S=h(P⊕xT)和M=h(rT⊕rA⊕P)⊕S,并向R發(fā)送消息{rT,P,M}作為應答,其中xT是T與R互相共享的秘密;
(3)R→DB:R向DB發(fā)送消息{rT,rR,P,M};
(4)DB→R:DB收到消息后,計算S’=h(P⊕xT)和M’=h(rT⊕rA⊕P)⊕S’,驗證M’與M是否相等。若相等,則通過(guò)認證,DB計算N’=h(M’⊕S’)發(fā)送給R。否則,認證失敗,協(xié)議終止。
(5)R→T:R收到N’后轉發(fā)給T,T計算N=h(M⊕S),驗證N’與N是否相等,若相等,則R通過(guò)認證,T更新假名P,否則認證失敗,協(xié)議終止。
2 協(xié)議的安全和性能分析
2.1 協(xié)議的安全性分析
哈希鎖協(xié)議為標簽提供初步的訪(fǎng)問(wèn)控制,可在一定程度上保護標簽數據,抵抗非法訪(fǎng)問(wèn)攻擊。但由于每次標簽響應時(shí)均使用固定的metaID,攻擊者可將此當作對應標簽的別名,跟蹤標簽及其攜帶者。此外,密鑰key通過(guò)明文傳輸,攻擊者容易竊取,并可以通過(guò)記錄、計算組合(metaID,key,ID),在與合法標簽或者閱讀器的信息交互中進(jìn)行假冒攻擊。
隨機哈希鎖協(xié)議采用基于隨機數的詢(xún)問(wèn)/應答機制,可防止標簽被跟蹤,保護其隱私。但由于標簽的返回消息不包含能夠唯一確定本次會(huì )話(huà)的標識,攻擊者可以此進(jìn)行重放和假冒攻擊。再者,每確認一個(gè)標簽身份都需要遍歷數據庫所存的所有ID,認證過(guò)程耗時(shí)較多,且容易遭受拒絕服務(wù)攻擊。因此哈希鎖協(xié)議的可擴展性較差,只適用于小規模應用。
在哈希鏈協(xié)議中,標簽使用不同的標識符響應閱讀器的詢(xún)問(wèn),以確保前向安全性,但無(wú)法抵抗假冒閱讀器的攻擊。此外,閱讀器收到標簽的響應后,需要計算數據庫中所有標簽標識符的哈希值來(lái)與之匹配。若標簽被攻擊者惡意掃描多次,則將導致窮舉匹配時(shí)標簽的認證時(shí)間過(guò)長(cháng),系統無(wú)法正常工作。因此,哈希鏈協(xié)議也只適合小規模的應用,且無(wú)法抵抗重放和拒絕服務(wù)攻擊。
ARAP協(xié)議能夠實(shí)現匿名雙向認證,標簽使用了大量假名來(lái)防止被跟蹤,能夠很好地保障用戶(hù)的隱私,且協(xié)議每執行一次,假名P就隨之更新,能夠有效抵抗重放攻擊。在通常情況下,ARAP協(xié)議執行時(shí)保持標簽和閱讀器共享的信息同時(shí)更新,能夠抵抗拒絕服務(wù)攻擊。
但是,ARAP協(xié)議也存在因異或不當而被攻擊者假冒的安全隱患。在A(yíng)RAP協(xié)議的第2步中,標簽T計算了S=h(P⊕xT)和M=h(rT⊕rA⊕P)⊕S,其中P為標簽的匿名,xT為共享秘密,rA和rT分別為攻擊者與標簽生成的偽隨機數。若攻擊者截取了消息M,rA,rT,P,利用異或運算的性質(zhì)(a⊕a=0,a⊕0=a),則可直接計算M⊕h(rT⊕rA⊕P)=h(rT⊕rA⊕P)⊕S⊕h(rT⊕rA⊕P) =S,從而獲取S,就相當于獲得了閱讀器向標簽進(jìn)行認證的鑰匙N’=h(M⊕S),攻擊者可假冒閱讀器向標簽發(fā)送N’,從而獲取標簽的信任,成功進(jìn)行假冒攻擊。
綜上,可通過(guò)表1對上述協(xié)議的安全性進(jìn)行比較,其中ARAP協(xié)議比其他3個(gè)協(xié)議復雜,安全性能也略勝一籌。無(wú)法抵抗假冒攻擊是ARAP協(xié)議的重大缺陷。
2.2 協(xié)議的性能分析
在RFID系統中,標簽的存儲空間和計算能力有限,認證協(xié)議在解決安全性問(wèn)題的同時(shí),也要盡可能減少標簽的計算量和存儲容量,以降低標簽的成本。在此對典型的RFID身份認證協(xié)議進(jìn)行對比,比較各協(xié)議中標簽、閱讀器和后端數據庫的計算量,結果如表2所示。其中,“H”表示Hash運算的次數,“X”表示異或運算的次數,“R”表示產(chǎn)生隨機數的次數,“N”表示數據庫存儲的標簽數量,“j”表示Hash鏈的長(cháng)度。
通過(guò)比較,哈希鎖協(xié)議的計算量是最小的,但其安全性得不到保證。隨機哈希鎖協(xié)議和哈希鏈協(xié)議的計算量與標簽數量成正比,且執行過(guò)程需要遍歷計算,只適合小規模應用。ARAP協(xié)議的計算量相對較大,但其并沒(méi)有采用計算開(kāi)銷(xiāo)大的操作,協(xié)議中的哈希運算、異或運算、隨機數運算標簽都夠實(shí)現,在RFID系統可執行的能力范圍之內,具有較高的可行性。
3 結束語(yǔ)
本文主要對基于哈希函數的四種RFID身份認證協(xié)議進(jìn)行了簡(jiǎn)要介紹和安全性能分析,與哈希鎖協(xié)議、隨機哈希鎖協(xié)議和哈希鏈協(xié)議相比,ARAP協(xié)議的安全性能較好,但存在因異或不當而遭受假冒攻擊的安全隱患。對此,需要對部分異或運算和驗證操作進(jìn)行修改,將標簽用戶(hù)的秘密隱藏入哈希函數中,使攻擊者無(wú)法通過(guò)異或運算實(shí)施假冒攻擊。ARAP協(xié)議的全面分析和改進(jìn)工作將在后繼的科研工作中展開(kāi)。
評論comment