寇廣岳,魏國珩,平 源,劉 鵬
(1.海軍工程大學信息安全系,湖北 武漢 430000;2.許昌學院信息工程學院,河南 許昌 461000;3.海軍參謀部,北京 100000)
近些年,隨著物聯網技術的不斷成熟,基于物聯網技術的各項應用不斷深入發展并應用于實際,其中比較典型和成熟的是RFID(Radio Frequency Identification)技術。RFID 是一種采用射頻信號與空間耦合來達成無接觸信息傳遞從而實現目標主體識別的技術。在物流、交通、身份識別、防偽、資產管理、食品、信息統計、查閱應用和安全控制等領域應用廣泛。IDTechEx的數據顯示:全球RFID市場預計在2021年價值116億美元,到2022年將達到122億美元[1]。
通常意義的RFID系統包含電子標簽(Tag)、RFID標簽讀寫器和后臺數據庫,如圖1所示。Tag主要用于存儲用戶信息,由天線和射頻芯片構成,由于受制電子標簽有限的物理結構,通常認為其運算能力較為有限,且易受到安全威脅。RFID標簽讀寫器用于讀寫電子標簽信息與防止碰撞等方面,理論上RFID標簽讀寫器應在物理層面具有較大的存儲空間與較強的計算能力。后臺數據庫主要存儲標簽、讀寫器及其它信息,具有強大的數據處理與存儲能力。一般認為在RFID系統中,Tag與Tag讀寫器之間是不安全信道,Tag讀寫器與后臺數據庫之間是安全信道[2]。

Figure 1 Basic composition of RFID system圖1 RFID系統基本構成
由于電子標簽物理結構的局限性,Tag由幾百門到幾千門電路構成,通常Tag出于經濟與輕量化考量不設微處理器,集成簽名或加密算法也不方便,因此,在RFID系統中提供安全認證協議十分困難。面對強大且具有針對性的攻擊者時,如何在有限的門電路上設計出高效、安全的RFID安全認證協議成為一項具有挑戰性的研究,也吸引了眾多密碼學家的關注。
本文將RFID安全認證協議中的代表性工作按所采用密碼算法的復雜程度分為超輕量級協議、輕量級協議、中量級協議和重量級協議,并進行了整理、分析與歸納。第2節簡要介紹了RFID安全認證協議的構成和分類以及面臨的主要威脅;第3節對現有安全協議進行了劃分,并簡要介紹了每種類別下的經典協議模型,針對近年的論文分類討論了其在面對安全威脅時的表現;第4節對RFID安全協議的發展進行了預測與展望;第5節對全文進行總結。
現有安全認證協議研究中的一個重要指標是要符合現有通行協議標準。ISO/IEC 18000標準[3]決定了RFID標簽與RFID讀寫器之間的通訊規則,模型從上到下依次由物理層、通信層和應用層構成,如圖2所示。

Figure 2 Communication model of RFID system圖2 RFID系統的通信模型
此外,常用的RFID協議還包括廣泛應用于身份證銀聯卡的ISO/IEC 14443[4]、讀寫距離可達1 m的ISO/IEC 15693[5]和NFC協議ISO 18092[6]。設計安全認證協議時要格外注意必須符合相關協議標準模型。
一個成熟且完善的RFID安全認證協議除了需要滿足ISO/IEC 18000標準模型外,最重要的是要具備應對現有主流威脅的抵抗能力,即需要滿足一定的信息安全需求。本節對RFID安全認證協議面對的安全需求及主要威脅進行討論。
評估RFID系統及安全認證協議從以下幾個安全需求出發:
(1)機密性:完善的RFID安全認證協議應具備保護Tag中所包含的關鍵敏感信息的基本功能,并只對合法的讀寫器識別和解密。
(2)完整性:安全認證協議在通信過程中保持準確,應確保在傳輸過程中不會因誤碼或攻擊導致數據被篡改、添加、刪除。
(3)相互認證性:在通信雙方傳輸或交換秘密信息之前,需要在讀寫器上與Tag進行相互認證,讀寫器與Tag均需證明各自身份的合法性。
(4)用戶隱私性:RFID安全認證協議中的關鍵信息如標簽身份、安全認證協議中關鍵字段等需要得到保護,以避免暴露其位置或被攻擊者跟蹤。
(5)前向與后向安全性:面對蓄意的攻擊,低成本標簽即使采用安全認證協議也很難抵御強力破解。因此RFID系統中的前向與后向安全顯得極為重要。
RFID安全認證協議面臨的常見攻擊類型有以下幾種:
(1)拒絕服務攻擊:攻擊者向服務器發送多個信號,以破壞RFID系統的可用性。
(2)去同步攻擊:破壞受害者Tag與后端數據庫之間的同步狀態,攻擊成功后,標簽不再被認證為有效。
(3)泄漏風險:攻擊者破解RFID系統中的通信密鑰。
(4)克隆攻擊:攻擊者用設備讀取標簽或讀取器信息,并偽造一個能通信的虛擬實體。
(5)可追蹤性攻擊:攻擊者追蹤標簽信息并找到其位置,對其隱私進行破解。
(6)中間人攻擊:攻擊者截獲Tag與閱讀器之間的消息,修改并返回。
(7)重放攻擊:攻擊者捕獲Tag并將其重新發送給讀取器,以與讀取器通信并獲取秘密信息。
基于RFID系統的用途及工作場合,RFID具有不同的大小、形狀及內部結構,具有多種劃分方法。按工作方式可劃分為主動式標簽、半主動式標簽與被動式標簽;按標簽的工作頻率大小可劃分為低頻(LF)、高頻(HF)、超高頻(UHF)和微波4種;按計算能力可分為超輕量級、輕量級、中量級和重量級[7]。不同量級的劃分是按標簽結構中存在的等效門電路GE(Gate Equivalents)的多少來確定的,理論上物理結構越復雜的標簽能承載的安全認證協議算法也就越復雜。不同量級的標簽采用的加密算法也相對比較固定[8]。超輕量級安全認證協議所采用的認證方法通常只涉及簡單的邏輯運算(如與、或、異或);輕量級安全認證協議通常采用PRNG(PseudoRandom Number Generator)算法及循環冗余碼CRC(Cyclic Redundancy Code);中量級安全認證協議則多用雜湊函數;采用RSA或橢圓曲線的算法常出現在重量級安全認證協議中。因此,本文計劃按量級分類的方法對RFID安全協議進行分類,具體分類如表1所示。

Table 1 Level classification of RFID security authentication protocol
本節對現有的RFID安全認證協議按密碼算法所需門電路量級進行劃分,并分別介紹了各量級下的經典安全認證協議與近年來改進的安全認證協議。
依據超輕量級安全認證協議的安全保障算法,本文將其大致分為3類:(1)基于T函數的超輕量RFID安全認證協議,此類安全認證協議通過T函數來保證協議安全,常用的T函數包括按位運算的AND、OR和XOR;(2)基于旋轉算子的超輕量RFID安全認證協議,采用旋轉算子與T函數進行數據加密;(3)其它類型的超輕量級安全認證協議,通常是由設計者提出新的運算法則,如置換、合并和分離等相結合。前期流行的RFID超輕量級安全協議包括HB協議簇、UMAP協議簇和SASI 協議。HB協議簇是基于LPN(Learning Parity with Noise)的安全認證協議[9],LPN問題是“矢量子集求和”難題,涉及的操作僅包含與或和異或;UMAP協議簇包括LMAP(Lightweight Mutual Authentication Protocol)[10]、EMAP(Efficient Mutual Authentication Protocol)[11]及MMAP (Minimalist Mutual Authentication Protocol)[12],這些安全認證協議為了適應超輕量級受限的門電路環境均使用逐位運算;SASI 協議主要通過左循環移位操作與異或操作實現信息交互。
盡管前期的研究在超輕量級物理環境的限制下,用極小的代價實現了部分保密需求,但已有大量研究表明,上述安全認證協議容易受到重放攻擊、去同步攻擊和完全泄漏攻擊[13 - 16]。表2對比了部分典型超輕量安全認證協議的安全性。Zhuang等人[17]構造了一個名為 FindIndex 的人工函數來分析以上典型協議保持數據完整性的能力,通過FindIndex 函數能發現消息中一個元素的某些位發生變化后其它位發生變化的可能性,從而證明了LMAP、MMAP 、EMAP 和David-Prasad SLMAP 等超輕量RFID安全認證協議都不能抵抗去同步攻擊。特別證明了攻擊者能夠以非常高的成功率破壞基于T函數的超輕量RFID安全認證協議中標簽和閱讀器之間的同步。

Table 2 Security comparison of some typical ultra-lightweight security authentication protocols
因此,近些年的研究多集中在改進與提升安全認證協議的安全性方面。Gao等人[18]設計了URAP(a new Ultra-lightweight RFID Authentication Protocol),通過閱讀器生成PRNG碼開啟認證,通過左旋和異或算法對后端服務器和需認證的標簽的靜態標識(ID)進行認證,能抵抗重放攻擊、去同步攻擊、中間人攻擊和泄漏攻擊,并通過GNY邏輯證明方法驗證了安全認證協議的安全性;Mujahid等人[19]通過重新定義一種只有左旋和異或構成的遞歸散列來抵抗去同步、重放和泄漏等攻擊。Zhong等人[20]使用新的密文引理和密文釋放引理改進了LoET (Logic of Events Theory) 邏輯系統,分析并證明了RCIA(Robust Confidentiality, Integrity, and Authentication)協議能夠滿足強認證特性,可防止重放攻擊。Luo等人[21]通過分析2種基于置換的安全認證協議RRAP(Reconstruction based RFID Authentication Protocol)[22]和RCIA存在的安全問題,指出當輸出的部分數據或全部數據確定時,攻擊者可以復原其他數據,據此在此類安全認證協議基礎上提出了新的置換方案CON(A,B),即根據長度為固定比特的字符串A與B的漢明權重進行分組并重新排列,此安全認證協議可抵抗重放攻擊、去同步攻擊、可追溯攻擊和泄漏攻擊。表3比較了以上部分安全認證協議的加密方式及存儲成本(其中L表示單次通信的消息長度,單位為bit)。

Table 3 Parameters comparison of some typical ultra-lightweight security authentication protocols
不同于超輕量級協議,多數輕量級安全認證協議是為了滿足ISO/IEC 18000(EPC C1Gen2)標準而提出的。EPC C1G2 (Class-1 Gen-2)類型安全認證協議多使用符合相關標準的簡單加密手段。2006年作為低成本輕量級UHF RFID標簽的ISO 18000-6標準修正案出版。新版本的標準于2013年獲得批準,具有一些可選的加密屬性,如隨機數生成器(PRNG)與循環冗余校驗(CRC)算法。最新的標準標簽使用 RNG生成16位偽隨機數(RN16)。
部分研究人員關注輕量級協議在滿足標準后的安全性。Zavvari等人[23]分析對比了符合EPC C1G2 (Class-1 Gen-2)標準的3組典型輕量級協議的安全性,得出了在符合輕量級標準下應遵循的安全標準。輕量級安全認證協議的另一個關注重點是PRNG的安全性。Vaudenay[24]提出了一種基于PRF的弱隱私安全認證協議,通過改進此安全認證協議可以提高協議的隱私性。Arslan等人[25]在文獻[24]的基礎上探討了RNG的隱私安全性并提出了改進方案。表4比較了部分輕量級安全認證協議的安全性。

Table 4 Security comparison of some lightweight security authentication protocols
針對輕量級安全認證協議的相關問題,眾多研究人員在EPC Class 1 Gen 2標準下提出了眾多輕量級安全認證協議。Cherneva等人[26]在借鑒《SDZ議定書》[27]部分構造思想的基礎上提出了SDGPP(Serial-Dependency Grouping-Proof Protocol),通過刪除外部可信的時間戳服務器,可防止一個被損害的標簽破壞整個系統。使用EPC為標簽指定固定時間間隔,消除了對特定讀取器的依賴,拓展了安全性與隱私性。Eslamnezhad等人[28]則關注安全認證協議的可追溯性攻擊問題,在Sundaresan 等人[29]研究的基礎上引入了2個計數參數來解決原安全認證協議易受可追溯性攻擊的問題。Xie等人[30]在PUF (Physical Unclonable Function)結構的基礎上,提出了一種基于雙PUF的輕量級雙向RFID 身份認證協議,實現了雙向認證功能。
中量級安全認證協議相較于前2種量級的安全認證協議,由于采用了部分經過輕量化的密碼算法且基于單向散列函數,安全性要高于前2種協議的,最明顯的特征是此類安全認證協議研究的重點是雙向認證。雖然部分研究人員將能單向認證的安全認證協議劃歸到輕量級安全認證協議中,主流觀點認為基于散列函數實現單向或雙向認證的協議是典型的中量級安全認證協議。比較經典的安全認證協議包括基于單向散列函數的Hash-Lock協議、改進的隨機Hash-Lock協議、Hash鏈協議和David數字圖書館協議[31 - 34]等。前期已有大量針對上述經典安全認證協議的安全性分析[35 - 37]。其面臨的主要安全威脅如表5所示。

Table 5 Security threats of typical mid-volume security authentication protocol
近年來,此類安全認證協議為基本模型的改進安全認證協議也不勝枚舉[28 - 35],多是對安全性進行加強,或突出其中某項安全屬性進行研究。Liu等人[38]在分析了典型中量級安全認證協議的安全問題后提出了改進安全認證協議,通過RFID標簽計算散列值,并將散列值分為2部分:左半部分用于驗證標簽的身份,右半部分用于驗證閱讀器的身份,這樣提高了安全性,減少了標簽的計算和存儲。Hosseinzadeh等人[39]在分析了Wang等人[40]的安全認證協議脆弱性的基礎上,提出了面對強攻擊者時分析閱讀器與后端服務器之間不安全信道的安全模型,并提出了改進安全認證協議ISMAP (stands for Improved Server-Mounted Authentication Protocol)。Mansoor等人[41]對Gope等人[35]的安全認證協議進行了密碼分析,證明了該安全認證協議在防碰撞、竊取驗證者和拒絕服務攻擊方面存在一些弱點,提出了一種僅使用輕量元素的改進方案來抵抗所有已知的攻擊。
重量級安全認證協議也被部分文獻命名為完備RFID安全認證協議,主要分為對稱加密算法和非對稱加密算法。為了實現高安全性,此類安全認證協議需要消耗大量門電路承載加密算法。考慮到RFID系統的物理局限性,其中比較有代表性的是基于對稱加密算法DES的“三通互相鑒別”協議和基于RSA算法的認證協議[42]。以上安全認證協議均能達到較高的安全性,但需要1萬門以上的邏輯門。為解決成本問題,基于橢圓曲線密碼ECC(Ellipse Curve Cryptography)算法的安全認證協議不斷被提出[43 - 55],并成為近幾年研究的主流。
不同研究人員利用ECC為RFID認證提供服務,并采用了不同的加密和認證方法。大多數研究表明,只使用一種ECC算法的安全認證協議只能提供單向認證,且整個系統容易受到攻擊。隨著第2個ECC算法的安全認證協議的加入,雙向認證達成,為系統整體提供了更好的安全性。2個ECC安全認證協議耦合的不同導致各個安全認證協議的效率與安全性有差異,表6簡單比較了部分重量級安全認證協議的通信成本。表6中顯示了每個安全認證協議的讀取器與標簽的標量乘法次數,并按每次標量乘法64 ms的計算成本計算了總時間。

Table 6 Comparison of communication cost of some heavy-lightweight security authentication protocols
隨著物聯網技術的不斷發展、RFID技術的不斷進步、密碼學不斷完善,研究重點也在不斷發生改變,從早期的幾個經典安全認證協議模型基礎上不斷改進發展到現在根據應用場景的不同,設計適應其應用場景的安全認證協議,RFID安全認證協議正在不斷完善與發展。近年已有研究人員將基于ECC算法的安全認證協議門電路控制在輕量級的水平。目前,在現有技術條件下,RFID安全認證協議主要有2個方向,一個是在前人研究基礎上針對部分安全性漏洞進行修補并進行安全性的提升,另一個是保障安全性的基礎上對現有協議的效率與通信開銷進行優化。
同時,有眾多研究人員將重心放在RFID安全認證協議的防碰撞性研究上[56 - 58],通常將防碰撞協議與安全協議作為單獨的2部分考慮,也有人提出防碰撞的安全認證協議[59],利用防碰撞協議的模型可以在判斷碰撞的同時嵌入認證協議,能同時實現門電路的優化與認證手段的革新。
引入區塊鏈技術也可能給RFID帶來的變革和影響[60 - 64],將區塊鏈的去中心化思想引入到基于散列的中量級安全認證協議中,將驗證計算轉移至閱讀器和區塊鏈節點中,可以有效降低標簽的計算成本。
本文梳理了RFID系統安全認證協議的結構、標準與分類,并根據其中加密算法所需的門電路的不同將安全認證協議劃分為4種量級,在列舉了每種量級經典協議的基礎上,分析了每種量級安全認證協議的典型模型、面臨問題和近期研究重點。
(1)超輕量級RFID安全認證協議在極其有限的硬件開銷下能進行基于一種或幾種特別安全需求的認證,不具備較高的安全性,但在實際應用中由于其輕量性,適用的場景多。
(2)輕量級RFID安全認證協議多數在標準范疇下進行討論,主要針對標準中的個別安全需求與計算開銷進行優化。
(3)中量級RFID安全認證協議的關注重點是如何提高安全認證協議的安全性與減輕開銷,以及在此量級下如何實現安全的雙向認證功能。
(4)重量級RFID安全認證協議是近幾年較為熱點的RFID安全認證協議研究方向。眾多研究人員將ECC輕量化作為研究重點,在保留較完備的安全性的前提下,本文比較了幾個重量級RFID安全認證協議的通信成本。
(5)部分研究人員在縱向比較各項安全認證協議時忽略了對同級甚至是采用同類型安全認證協議的性能對比,在不考慮開銷的情況下,加密機制比較完善的重量級安全認證協議與早期的超輕量級安全認證協議的安全性進行比較顯然不嚴謹。超輕量級RFID安全認證協議通常用異或、旋轉、移位和迭代次數計算,輕量級RFID安全認證協議通常使用隨機數和循環冗余次數計算,中量級RFID安全認證協議通常用單向哈希及哈希次數計算,重量級RFID安全認證協議通常用標量乘法次數計算。
因此,基于RFID安全認證協議的量級不同,分析了其采取的典型加密認證手段,闡明了后續研究需要關注的重點,如超輕量安全認證協議關注的重點是如何在有限門條件下盡可能提升安全性;輕量級安全認證協議關注PRNG的安全性及是否符合相應行業標準;中量級安全認證協議較多關注隱私性問題與雙向互通性;重量級安全認證協議重點在保證安全性的基礎上如何降低所需門電路的數量。盡管不同量級的RFID安全認證協議安全性存在差異,但根據不同的應用場景,每種安全認證協議都是該應用下的最優協議。