寇廣岳,魏國珩,平 源,劉 鵬
(1.海軍工程大學(xué)信息安全系,湖北 武漢 430000;2.許昌學(xué)院信息工程學(xué)院,河南 許昌 461000;3.海軍參謀部,北京 100000)
近些年,隨著物聯(lián)網(wǎng)技術(shù)的不斷成熟,基于物聯(lián)網(wǎng)技術(shù)的各項應(yīng)用不斷深入發(fā)展并應(yīng)用于實際,其中比較典型和成熟的是RFID(Radio Frequency Identification)技術(shù)。RFID 是一種采用射頻信號與空間耦合來達成無接觸信息傳遞從而實現(xiàn)目標(biāo)主體識別的技術(shù)。在物流、交通、身份識別、防偽、資產(chǎn)管理、食品、信息統(tǒng)計、查閱應(yīng)用和安全控制等領(lǐng)域應(yīng)用廣泛。IDTechEx的數(shù)據(jù)顯示:全球RFID市場預(yù)計在2021年價值116億美元,到2022年將達到122億美元[1]。
通常意義的RFID系統(tǒng)包含電子標(biāo)簽(Tag)、RFID標(biāo)簽讀寫器和后臺數(shù)據(jù)庫,如圖1所示。Tag主要用于存儲用戶信息,由天線和射頻芯片構(gòu)成,由于受制電子標(biāo)簽有限的物理結(jié)構(gòu),通常認為其運算能力較為有限,且易受到安全威脅。RFID標(biāo)簽讀寫器用于讀寫電子標(biāo)簽信息與防止碰撞等方面,理論上RFID標(biāo)簽讀寫器應(yīng)在物理層面具有較大的存儲空間與較強的計算能力。后臺數(shù)據(jù)庫主要存儲標(biāo)簽、讀寫器及其它信息,具有強大的數(shù)據(jù)處理與存儲能力。一般認為在RFID系統(tǒng)中,Tag與Tag讀寫器之間是不安全信道,Tag讀寫器與后臺數(shù)據(jù)庫之間是安全信道[2]。
Figure 1 Basic composition of RFID system圖1 RFID系統(tǒng)基本構(gòu)成
由于電子標(biāo)簽物理結(jié)構(gòu)的局限性,Tag由幾百門到幾千門電路構(gòu)成,通常Tag出于經(jīng)濟與輕量化考量不設(shè)微處理器,集成簽名或加密算法也不方便,因此,在RFID系統(tǒng)中提供安全認證協(xié)議十分困難。面對強大且具有針對性的攻擊者時,如何在有限的門電路上設(shè)計出高效、安全的RFID安全認證協(xié)議成為一項具有挑戰(zhàn)性的研究,也吸引了眾多密碼學(xué)家的關(guān)注。
本文將RFID安全認證協(xié)議中的代表性工作按所采用密碼算法的復(fù)雜程度分為超輕量級協(xié)議、輕量級協(xié)議、中量級協(xié)議和重量級協(xié)議,并進行了整理、分析與歸納。第2節(jié)簡要介紹了RFID安全認證協(xié)議的構(gòu)成和分類以及面臨的主要威脅;第3節(jié)對現(xiàn)有安全協(xié)議進行了劃分,并簡要介紹了每種類別下的經(jīng)典協(xié)議模型,針對近年的論文分類討論了其在面對安全威脅時的表現(xiàn);第4節(jié)對RFID安全協(xié)議的發(fā)展進行了預(yù)測與展望;第5節(jié)對全文進行總結(jié)。
現(xiàn)有安全認證協(xié)議研究中的一個重要指標(biāo)是要符合現(xiàn)有通行協(xié)議標(biāo)準(zhǔn)。ISO/IEC 18000標(biāo)準(zhǔn)[3]決定了RFID標(biāo)簽與RFID讀寫器之間的通訊規(guī)則,模型從上到下依次由物理層、通信層和應(yīng)用層構(gòu)成,如圖2所示。
Figure 2 Communication model of RFID system圖2 RFID系統(tǒng)的通信模型
此外,常用的RFID協(xié)議還包括廣泛應(yīng)用于身份證銀聯(lián)卡的ISO/IEC 14443[4]、讀寫距離可達1 m的ISO/IEC 15693[5]和NFC協(xié)議ISO 18092[6]。設(shè)計安全認證協(xié)議時要格外注意必須符合相關(guān)協(xié)議標(biāo)準(zhǔn)模型。
一個成熟且完善的RFID安全認證協(xié)議除了需要滿足ISO/IEC 18000標(biāo)準(zhǔn)模型外,最重要的是要具備應(yīng)對現(xiàn)有主流威脅的抵抗能力,即需要滿足一定的信息安全需求。本節(jié)對RFID安全認證協(xié)議面對的安全需求及主要威脅進行討論。
評估RFID系統(tǒng)及安全認證協(xié)議從以下幾個安全需求出發(fā):
(1)機密性:完善的RFID安全認證協(xié)議應(yīng)具備保護Tag中所包含的關(guān)鍵敏感信息的基本功能,并只對合法的讀寫器識別和解密。
(2)完整性:安全認證協(xié)議在通信過程中保持準(zhǔn)確,應(yīng)確保在傳輸過程中不會因誤碼或攻擊導(dǎo)致數(shù)據(jù)被篡改、添加、刪除。
(3)相互認證性:在通信雙方傳輸或交換秘密信息之前,需要在讀寫器上與Tag進行相互認證,讀寫器與Tag均需證明各自身份的合法性。
(4)用戶隱私性:RFID安全認證協(xié)議中的關(guān)鍵信息如標(biāo)簽身份、安全認證協(xié)議中關(guān)鍵字段等需要得到保護,以避免暴露其位置或被攻擊者跟蹤。
(5)前向與后向安全性:面對蓄意的攻擊,低成本標(biāo)簽即使采用安全認證協(xié)議也很難抵御強力破解。因此RFID系統(tǒng)中的前向與后向安全顯得極為重要。
RFID安全認證協(xié)議面臨的常見攻擊類型有以下幾種:
(1)拒絕服務(wù)攻擊:攻擊者向服務(wù)器發(fā)送多個信號,以破壞RFID系統(tǒng)的可用性。
(2)去同步攻擊:破壞受害者Tag與后端數(shù)據(jù)庫之間的同步狀態(tài),攻擊成功后,標(biāo)簽不再被認證為有效。
(3)泄漏風(fēng)險:攻擊者破解RFID系統(tǒng)中的通信密鑰。
(4)克隆攻擊:攻擊者用設(shè)備讀取標(biāo)簽或讀取器信息,并偽造一個能通信的虛擬實體。
(5)可追蹤性攻擊:攻擊者追蹤標(biāo)簽信息并找到其位置,對其隱私進行破解。
(6)中間人攻擊:攻擊者截獲Tag與閱讀器之間的消息,修改并返回。
(7)重放攻擊:攻擊者捕獲Tag并將其重新發(fā)送給讀取器,以與讀取器通信并獲取秘密信息。
基于RFID系統(tǒng)的用途及工作場合,RFID具有不同的大小、形狀及內(nèi)部結(jié)構(gòu),具有多種劃分方法。按工作方式可劃分為主動式標(biāo)簽、半主動式標(biāo)簽與被動式標(biāo)簽;按標(biāo)簽的工作頻率大小可劃分為低頻(LF)、高頻(HF)、超高頻(UHF)和微波4種;按計算能力可分為超輕量級、輕量級、中量級和重量級[7]。不同量級的劃分是按標(biāo)簽結(jié)構(gòu)中存在的等效門電路GE(Gate Equivalents)的多少來確定的,理論上物理結(jié)構(gòu)越復(fù)雜的標(biāo)簽?zāi)艹休d的安全認證協(xié)議算法也就越復(fù)雜。不同量級的標(biāo)簽采用的加密算法也相對比較固定[8]。超輕量級安全認證協(xié)議所采用的認證方法通常只涉及簡單的邏輯運算(如與、或、異或);輕量級安全認證協(xié)議通常采用PRNG(PseudoRandom Number Generator)算法及循環(huán)冗余碼CRC(Cyclic Redundancy Code);中量級安全認證協(xié)議則多用雜湊函數(shù);采用RSA或橢圓曲線的算法常出現(xiàn)在重量級安全認證協(xié)議中。因此,本文計劃按量級分類的方法對RFID安全協(xié)議進行分類,具體分類如表1所示。
Table 1 Level classification of RFID security authentication protocol
本節(jié)對現(xiàn)有的RFID安全認證協(xié)議按密碼算法所需門電路量級進行劃分,并分別介紹了各量級下的經(jīng)典安全認證協(xié)議與近年來改進的安全認證協(xié)議。
依據(jù)超輕量級安全認證協(xié)議的安全保障算法,本文將其大致分為3類:(1)基于T函數(shù)的超輕量RFID安全認證協(xié)議,此類安全認證協(xié)議通過T函數(shù)來保證協(xié)議安全,常用的T函數(shù)包括按位運算的AND、OR和XOR;(2)基于旋轉(zhuǎn)算子的超輕量RFID安全認證協(xié)議,采用旋轉(zhuǎn)算子與T函數(shù)進行數(shù)據(jù)加密;(3)其它類型的超輕量級安全認證協(xié)議,通常是由設(shè)計者提出新的運算法則,如置換、合并和分離等相結(jié)合。前期流行的RFID超輕量級安全協(xié)議包括HB協(xié)議簇、UMAP協(xié)議簇和SASI 協(xié)議。HB協(xié)議簇是基于LPN(Learning Parity with Noise)的安全認證協(xié)議[9],LPN問題是“矢量子集求和”難題,涉及的操作僅包含與或和異或;UMAP協(xié)議簇包括LMAP(Lightweight Mutual Authentication Protocol)[10]、EMAP(Efficient Mutual Authentication Protocol)[11]及MMAP (Minimalist Mutual Authentication Protocol)[12],這些安全認證協(xié)議為了適應(yīng)超輕量級受限的門電路環(huán)境均使用逐位運算;SASI 協(xié)議主要通過左循環(huán)移位操作與異或操作實現(xiàn)信息交互。
盡管前期的研究在超輕量級物理環(huán)境的限制下,用極小的代價實現(xiàn)了部分保密需求,但已有大量研究表明,上述安全認證協(xié)議容易受到重放攻擊、去同步攻擊和完全泄漏攻擊[13 - 16]。表2對比了部分典型超輕量安全認證協(xié)議的安全性。Zhuang等人[17]構(gòu)造了一個名為 FindIndex 的人工函數(shù)來分析以上典型協(xié)議保持數(shù)據(jù)完整性的能力,通過FindIndex 函數(shù)能發(fā)現(xiàn)消息中一個元素的某些位發(fā)生變化后其它位發(fā)生變化的可能性,從而證明了LMAP、MMAP 、EMAP 和David-Prasad SLMAP 等超輕量RFID安全認證協(xié)議都不能抵抗去同步攻擊。特別證明了攻擊者能夠以非常高的成功率破壞基于T函數(shù)的超輕量RFID安全認證協(xié)議中標(biāo)簽和閱讀器之間的同步。
Table 2 Security comparison of some typical ultra-lightweight security authentication protocols
因此,近些年的研究多集中在改進與提升安全認證協(xié)議的安全性方面。Gao等人[18]設(shè)計了URAP(a new Ultra-lightweight RFID Authentication Protocol),通過閱讀器生成PRNG碼開啟認證,通過左旋和異或算法對后端服務(wù)器和需認證的標(biāo)簽的靜態(tài)標(biāo)識(ID)進行認證,能抵抗重放攻擊、去同步攻擊、中間人攻擊和泄漏攻擊,并通過GNY邏輯證明方法驗證了安全認證協(xié)議的安全性;Mujahid等人[19]通過重新定義一種只有左旋和異或構(gòu)成的遞歸散列來抵抗去同步、重放和泄漏等攻擊。Zhong等人[20]使用新的密文引理和密文釋放引理改進了LoET (Logic of Events Theory) 邏輯系統(tǒng),分析并證明了RCIA(Robust Confidentiality, Integrity, and Authentication)協(xié)議能夠滿足強認證特性,可防止重放攻擊。Luo等人[21]通過分析2種基于置換的安全認證協(xié)議RRAP(Reconstruction based RFID Authentication Protocol)[22]和RCIA存在的安全問題,指出當(dāng)輸出的部分數(shù)據(jù)或全部數(shù)據(jù)確定時,攻擊者可以復(fù)原其他數(shù)據(jù),據(jù)此在此類安全認證協(xié)議基礎(chǔ)上提出了新的置換方案CON(A,B),即根據(jù)長度為固定比特的字符串A與B的漢明權(quán)重進行分組并重新排列,此安全認證協(xié)議可抵抗重放攻擊、去同步攻擊、可追溯攻擊和泄漏攻擊。表3比較了以上部分安全認證協(xié)議的加密方式及存儲成本(其中L表示單次通信的消息長度,單位為bit)。
Table 3 Parameters comparison of some typical ultra-lightweight security authentication protocols
不同于超輕量級協(xié)議,多數(shù)輕量級安全認證協(xié)議是為了滿足ISO/IEC 18000(EPC C1Gen2)標(biāo)準(zhǔn)而提出的。EPC C1G2 (Class-1 Gen-2)類型安全認證協(xié)議多使用符合相關(guān)標(biāo)準(zhǔn)的簡單加密手段。2006年作為低成本輕量級UHF RFID標(biāo)簽的ISO 18000-6標(biāo)準(zhǔn)修正案出版。新版本的標(biāo)準(zhǔn)于2013年獲得批準(zhǔn),具有一些可選的加密屬性,如隨機數(shù)生成器(PRNG)與循環(huán)冗余校驗(CRC)算法。最新的標(biāo)準(zhǔn)標(biāo)簽使用 RNG生成16位偽隨機數(shù)(RN16)。
部分研究人員關(guān)注輕量級協(xié)議在滿足標(biāo)準(zhǔn)后的安全性。Zavvari等人[23]分析對比了符合EPC C1G2 (Class-1 Gen-2)標(biāo)準(zhǔn)的3組典型輕量級協(xié)議的安全性,得出了在符合輕量級標(biāo)準(zhǔn)下應(yīng)遵循的安全標(biāo)準(zhǔn)。輕量級安全認證協(xié)議的另一個關(guān)注重點是PRNG的安全性。Vaudenay[24]提出了一種基于PRF的弱隱私安全認證協(xié)議,通過改進此安全認證協(xié)議可以提高協(xié)議的隱私性。Arslan等人[25]在文獻[24]的基礎(chǔ)上探討了RNG的隱私安全性并提出了改進方案。表4比較了部分輕量級安全認證協(xié)議的安全性。
Table 4 Security comparison of some lightweight security authentication protocols
針對輕量級安全認證協(xié)議的相關(guān)問題,眾多研究人員在EPC Class 1 Gen 2標(biāo)準(zhǔn)下提出了眾多輕量級安全認證協(xié)議。Cherneva等人[26]在借鑒《SDZ議定書》[27]部分構(gòu)造思想的基礎(chǔ)上提出了SDGPP(Serial-Dependency Grouping-Proof Protocol),通過刪除外部可信的時間戳服務(wù)器,可防止一個被損害的標(biāo)簽破壞整個系統(tǒng)。使用EPC為標(biāo)簽指定固定時間間隔,消除了對特定讀取器的依賴,拓展了安全性與隱私性。Eslamnezhad等人[28]則關(guān)注安全認證協(xié)議的可追溯性攻擊問題,在Sundaresan 等人[29]研究的基礎(chǔ)上引入了2個計數(shù)參數(shù)來解決原安全認證協(xié)議易受可追溯性攻擊的問題。Xie等人[30]在PUF (Physical Unclonable Function)結(jié)構(gòu)的基礎(chǔ)上,提出了一種基于雙PUF的輕量級雙向RFID 身份認證協(xié)議,實現(xiàn)了雙向認證功能。
中量級安全認證協(xié)議相較于前2種量級的安全認證協(xié)議,由于采用了部分經(jīng)過輕量化的密碼算法且基于單向散列函數(shù),安全性要高于前2種協(xié)議的,最明顯的特征是此類安全認證協(xié)議研究的重點是雙向認證。雖然部分研究人員將能單向認證的安全認證協(xié)議劃歸到輕量級安全認證協(xié)議中,主流觀點認為基于散列函數(shù)實現(xiàn)單向或雙向認證的協(xié)議是典型的中量級安全認證協(xié)議。比較經(jīng)典的安全認證協(xié)議包括基于單向散列函數(shù)的Hash-Lock協(xié)議、改進的隨機Hash-Lock協(xié)議、Hash鏈協(xié)議和David數(shù)字圖書館協(xié)議[31 - 34]等。前期已有大量針對上述經(jīng)典安全認證協(xié)議的安全性分析[35 - 37]。其面臨的主要安全威脅如表5所示。
Table 5 Security threats of typical mid-volume security authentication protocol
近年來,此類安全認證協(xié)議為基本模型的改進安全認證協(xié)議也不勝枚舉[28 - 35],多是對安全性進行加強,或突出其中某項安全屬性進行研究。Liu等人[38]在分析了典型中量級安全認證協(xié)議的安全問題后提出了改進安全認證協(xié)議,通過RFID標(biāo)簽計算散列值,并將散列值分為2部分:左半部分用于驗證標(biāo)簽的身份,右半部分用于驗證閱讀器的身份,這樣提高了安全性,減少了標(biāo)簽的計算和存儲。Hosseinzadeh等人[39]在分析了Wang等人[40]的安全認證協(xié)議脆弱性的基礎(chǔ)上,提出了面對強攻擊者時分析閱讀器與后端服務(wù)器之間不安全信道的安全模型,并提出了改進安全認證協(xié)議ISMAP (stands for Improved Server-Mounted Authentication Protocol)。Mansoor等人[41]對Gope等人[35]的安全認證協(xié)議進行了密碼分析,證明了該安全認證協(xié)議在防碰撞、竊取驗證者和拒絕服務(wù)攻擊方面存在一些弱點,提出了一種僅使用輕量元素的改進方案來抵抗所有已知的攻擊。
重量級安全認證協(xié)議也被部分文獻命名為完備RFID安全認證協(xié)議,主要分為對稱加密算法和非對稱加密算法。為了實現(xiàn)高安全性,此類安全認證協(xié)議需要消耗大量門電路承載加密算法。考慮到RFID系統(tǒng)的物理局限性,其中比較有代表性的是基于對稱加密算法DES的“三通互相鑒別”協(xié)議和基于RSA算法的認證協(xié)議[42]。以上安全認證協(xié)議均能達到較高的安全性,但需要1萬門以上的邏輯門。為解決成本問題,基于橢圓曲線密碼ECC(Ellipse Curve Cryptography)算法的安全認證協(xié)議不斷被提出[43 - 55],并成為近幾年研究的主流。
不同研究人員利用ECC為RFID認證提供服務(wù),并采用了不同的加密和認證方法。大多數(shù)研究表明,只使用一種ECC算法的安全認證協(xié)議只能提供單向認證,且整個系統(tǒng)容易受到攻擊。隨著第2個ECC算法的安全認證協(xié)議的加入,雙向認證達成,為系統(tǒng)整體提供了更好的安全性。2個ECC安全認證協(xié)議耦合的不同導(dǎo)致各個安全認證協(xié)議的效率與安全性有差異,表6簡單比較了部分重量級安全認證協(xié)議的通信成本。表6中顯示了每個安全認證協(xié)議的讀取器與標(biāo)簽的標(biāo)量乘法次數(shù),并按每次標(biāo)量乘法64 ms的計算成本計算了總時間。
Table 6 Comparison of communication cost of some heavy-lightweight security authentication protocols
隨著物聯(lián)網(wǎng)技術(shù)的不斷發(fā)展、RFID技術(shù)的不斷進步、密碼學(xué)不斷完善,研究重點也在不斷發(fā)生改變,從早期的幾個經(jīng)典安全認證協(xié)議模型基礎(chǔ)上不斷改進發(fā)展到現(xiàn)在根據(jù)應(yīng)用場景的不同,設(shè)計適應(yīng)其應(yīng)用場景的安全認證協(xié)議,RFID安全認證協(xié)議正在不斷完善與發(fā)展。近年已有研究人員將基于ECC算法的安全認證協(xié)議門電路控制在輕量級的水平。目前,在現(xiàn)有技術(shù)條件下,RFID安全認證協(xié)議主要有2個方向,一個是在前人研究基礎(chǔ)上針對部分安全性漏洞進行修補并進行安全性的提升,另一個是保障安全性的基礎(chǔ)上對現(xiàn)有協(xié)議的效率與通信開銷進行優(yōu)化。
同時,有眾多研究人員將重心放在RFID安全認證協(xié)議的防碰撞性研究上[56 - 58],通常將防碰撞協(xié)議與安全協(xié)議作為單獨的2部分考慮,也有人提出防碰撞的安全認證協(xié)議[59],利用防碰撞協(xié)議的模型可以在判斷碰撞的同時嵌入認證協(xié)議,能同時實現(xiàn)門電路的優(yōu)化與認證手段的革新。
引入?yún)^(qū)塊鏈技術(shù)也可能給RFID帶來的變革和影響[60 - 64],將區(qū)塊鏈的去中心化思想引入到基于散列的中量級安全認證協(xié)議中,將驗證計算轉(zhuǎn)移至閱讀器和區(qū)塊鏈節(jié)點中,可以有效降低標(biāo)簽的計算成本。
本文梳理了RFID系統(tǒng)安全認證協(xié)議的結(jié)構(gòu)、標(biāo)準(zhǔn)與分類,并根據(jù)其中加密算法所需的門電路的不同將安全認證協(xié)議劃分為4種量級,在列舉了每種量級經(jīng)典協(xié)議的基礎(chǔ)上,分析了每種量級安全認證協(xié)議的典型模型、面臨問題和近期研究重點。
(1)超輕量級RFID安全認證協(xié)議在極其有限的硬件開銷下能進行基于一種或幾種特別安全需求的認證,不具備較高的安全性,但在實際應(yīng)用中由于其輕量性,適用的場景多。
(2)輕量級RFID安全認證協(xié)議多數(shù)在標(biāo)準(zhǔn)范疇下進行討論,主要針對標(biāo)準(zhǔn)中的個別安全需求與計算開銷進行優(yōu)化。
(3)中量級RFID安全認證協(xié)議的關(guān)注重點是如何提高安全認證協(xié)議的安全性與減輕開銷,以及在此量級下如何實現(xiàn)安全的雙向認證功能。
(4)重量級RFID安全認證協(xié)議是近幾年較為熱點的RFID安全認證協(xié)議研究方向。眾多研究人員將ECC輕量化作為研究重點,在保留較完備的安全性的前提下,本文比較了幾個重量級RFID安全認證協(xié)議的通信成本。
(5)部分研究人員在縱向比較各項安全認證協(xié)議時忽略了對同級甚至是采用同類型安全認證協(xié)議的性能對比,在不考慮開銷的情況下,加密機制比較完善的重量級安全認證協(xié)議與早期的超輕量級安全認證協(xié)議的安全性進行比較顯然不嚴謹。超輕量級RFID安全認證協(xié)議通常用異或、旋轉(zhuǎn)、移位和迭代次數(shù)計算,輕量級RFID安全認證協(xié)議通常使用隨機數(shù)和循環(huán)冗余次數(shù)計算,中量級RFID安全認證協(xié)議通常用單向哈希及哈希次數(shù)計算,重量級RFID安全認證協(xié)議通常用標(biāo)量乘法次數(shù)計算。
因此,基于RFID安全認證協(xié)議的量級不同,分析了其采取的典型加密認證手段,闡明了后續(xù)研究需要關(guān)注的重點,如超輕量安全認證協(xié)議關(guān)注的重點是如何在有限門條件下盡可能提升安全性;輕量級安全認證協(xié)議關(guān)注PRNG的安全性及是否符合相應(yīng)行業(yè)標(biāo)準(zhǔn);中量級安全認證協(xié)議較多關(guān)注隱私性問題與雙向互通性;重量級安全認證協(xié)議重點在保證安全性的基礎(chǔ)上如何降低所需門電路的數(shù)量。盡管不同量級的RFID安全認證協(xié)議安全性存在差異,但根據(jù)不同的應(yīng)用場景,每種安全認證協(xié)議都是該應(yīng)用下的最優(yōu)協(xié)議。