王小驥,楊 競,劉 瑤,張 娟,劉 賀
(中國電子科技集團公司第三十研究所,四川 成都 610041)
射頻識別(Radio Frequency Identification,RFID)技術(shù)[1]是一種利用無線射頻信號近距離、非接觸式識別目標(biāo)和交換數(shù)據(jù)的雙向通信傳輸技術(shù),是物聯(lián)網(wǎng)感知層最具代表性的通信技術(shù)之一,已廣泛應(yīng)用于物流倉儲、交通管理、工業(yè)/辦公自動化、身份識別等領(lǐng)域。
RFID系統(tǒng)一般由電子標(biāo)簽、閱讀器和后臺服務(wù)器等組成[2]。RFID系統(tǒng)的基本工作原理為閱讀器通過天線發(fā)送特定頻率的射頻信號及能量,驅(qū)動無源電子標(biāo)簽工作并讀取其信息,或由有源電子標(biāo)簽主動發(fā)送特定頻率的射頻信號,閱讀器讀取其信息,再將信息轉(zhuǎn)發(fā)給后臺服務(wù)器進行處理,實現(xiàn)對電子標(biāo)簽的認(rèn)證、讀寫和管理等功能。
由于電子標(biāo)簽與閱讀器之間以開放的無線信道傳輸信息,以及電子標(biāo)簽一般存在電路結(jié)構(gòu)簡單、存儲容量小、處理能力弱等固有缺陷,RFID系統(tǒng)的信息易被非法竊取、偽造和篡改,電子標(biāo)簽易被捕獲、分析和復(fù)制。遭受主動和被動攻擊的RFID系統(tǒng)所面臨的安全問題主要有隱私和認(rèn)證兩個方面:在隱私方面,需要對標(biāo)簽信息傳輸進行安全保護;在認(rèn)證方面,需要閱讀器與電子標(biāo)簽互相認(rèn)證,確保兩者的合法性[3-6]。當(dāng)前,研究學(xué)者已提出了一些RFID標(biāo)簽安全與隱私保護機制,大體可以分為兩類:一類是通過Kill命令(Kill標(biāo)簽)、靜電屏蔽(法拉第籠)、阻塞標(biāo)簽法及主動干擾等物理方法保障RFID系統(tǒng)自身安全;另一類是通過設(shè)計安全協(xié)議確保RFID系統(tǒng)信息傳輸?shù)臋C密性、完整性和可認(rèn)證性。
本文主要通過設(shè)計安全協(xié)議,實現(xiàn)RFID系統(tǒng)信息傳輸?shù)陌踩?。一般來說,RFID安全協(xié)議應(yīng)考慮其實用性和易用性,具有的特點如下文所述。
(1)為適應(yīng)低成本和低功耗的RFID電子標(biāo)簽,RFID安全協(xié)議需要進行輕量化設(shè)計,降低協(xié)議使用上的開銷,即使用盡量少的運行資源、計算資源和存儲資源。
(2)為防止假冒閱讀器讀取電子標(biāo)簽的信息,以及假冒電子標(biāo)簽通過閱讀器欺騙后臺服務(wù)器,RFID安全協(xié)議需要確保電子標(biāo)簽與閱讀器雙向認(rèn)證的合法性。
(3)為防止RFID系統(tǒng)傳輸?shù)男畔⒈桓`取、偽造和篡改,RFID安全協(xié)議需要對其進行機密性、完整性保護。
結(jié)合RFID系統(tǒng)安全需求和特點,本文提出一種輕量級RFID安全認(rèn)證協(xié)議,通過隨機數(shù)、PUF技術(shù)、輕量級雜湊函數(shù)(Lightweight Hash,LHash)和輕量級分組算法MIBS[7],來實現(xiàn)RFID系統(tǒng)信息傳輸?shù)臋C密性、完整性、新鮮性和可認(rèn)證性。
RFID系統(tǒng)目前存在設(shè)備資源和計算能力有限、開放環(huán)境下無線通信易被攻擊、電子標(biāo)簽自身脆弱性等風(fēng)險,本節(jié)針對RFID系統(tǒng)存在的安全風(fēng)險進行分析并推導(dǎo)出安全目標(biāo)。
典型的RFID系統(tǒng)一般由電子標(biāo)簽、閱讀器和后臺服務(wù)器(含數(shù)據(jù)管理系統(tǒng))3部分組成,如圖1所示。
(1)電子標(biāo)簽:又稱為射頻標(biāo)簽、應(yīng)答器、數(shù)據(jù)載體等,通常由射頻接口、編解碼電路及微處理器芯片等組成,每個電子標(biāo)簽具有唯一的序列號(即電子編碼),附著在實物上識別目標(biāo)對象,大容量的電子標(biāo)簽具有用戶可寫入數(shù)據(jù)的存儲空間。按驅(qū)動電子標(biāo)簽的工作能量來源劃分,電子標(biāo)簽主要有無源標(biāo)簽(也稱為被動標(biāo)簽)和有源標(biāo)簽(也稱為主動標(biāo)簽)兩種,無源標(biāo)簽由閱讀器的發(fā)射電磁波提供工作電源及能量,而有源標(biāo)簽由內(nèi)置電池提供工作電源及能量。
(2)閱讀器:又稱為讀寫器、掃描器等,通常由天線、射頻接口模塊、收發(fā)模塊及控制模塊等功能模塊組成,閱讀器通過天線與電子標(biāo)簽進行無線通信,實現(xiàn)對電子標(biāo)簽的識別碼讀取、內(nèi)部數(shù)據(jù)讀寫等操作。
(3)后臺服務(wù)器(含數(shù)據(jù)管理系統(tǒng)):一般為一套含有RFID數(shù)據(jù)管理系統(tǒng)的后臺服務(wù)器,可采用RS232、RS485、RJ45等有線接口或Wi-Fi、藍牙、GPRS等無線接口與閱讀器相連,后臺服務(wù)器通過閱讀器從電子標(biāo)簽中獲取其內(nèi)部信息,對獲取的信息數(shù)據(jù)進行后臺處理,實現(xiàn)對電子標(biāo)簽的認(rèn)證和信息讀寫等操作。
與傳統(tǒng)網(wǎng)絡(luò)相比,RFID系統(tǒng)面臨的安全風(fēng)險更加嚴(yán)峻,這主要是RFID產(chǎn)品有限的處理能力和安全措施等自身屬性造成的安全缺陷引起的[8],RFID系統(tǒng)主要面臨以下安全風(fēng)險。
(1)假冒的閱讀器非法訪問電子標(biāo)簽的風(fēng)險。電子標(biāo)簽自身采取的安全防護措施較弱,非法用戶可以使用假冒的閱讀器與電子標(biāo)簽進行通信,從而讀取或修改電子標(biāo)簽內(nèi)部存儲的信息。
(2)無線通信鏈路傳輸信息的安全問題。RFID采用近距離無線通信技術(shù),無線信道具有開放性的特點,電子標(biāo)簽與閱讀器之間傳輸?shù)男畔⒁妆还粽邔嵤﹤陕?、篡改、重放等攻擊?/p>
(3)電子標(biāo)簽自身的安全風(fēng)險。電子標(biāo)簽一般受限于成本、功耗和體積等因素,存在電路結(jié)構(gòu)相對簡單、存儲容量有限、計算處理能力較弱等固有缺陷,攻擊者可以實現(xiàn)對電子標(biāo)簽的捕獲和分析,并非法復(fù)制電子標(biāo)簽,還可以利用假冒電子標(biāo)簽欺騙合法閱讀器使其提供虛假信息。
RFID系統(tǒng)的安全目標(biāo)主要包括RFID信息的機密性、完整性和可認(rèn)證性等。
(1)機密性:電子標(biāo)簽與閱讀器之間傳輸?shù)男畔⒔?jīng)加密處理,不會被泄露給非授權(quán)用戶或?qū)嶓w,信息只能被授權(quán)用戶使用。
(2)完整性:電子標(biāo)簽與閱讀器之間傳輸?shù)男畔⒔?jīng)完整性校驗處理,確保接收的信息和發(fā)送的信息是一致的,未受到主動攻擊者的復(fù)制、插入、修改、刪除、亂序、偽造等攻擊行為。
(3)可認(rèn)證性:電子標(biāo)簽與閱讀器之間進行互相認(rèn)證,驗證雙方身份的合法、真實可信。
本協(xié)議綜合運用隨機數(shù)、PUF技術(shù)、輕量級的雜湊函數(shù)和分組算法對RFID系統(tǒng)信息進行機密性、完整性和新鮮性保護,設(shè)計科學(xué)合理的協(xié)議交互處理流程,既可抵抗RFID系統(tǒng)信息遭受竊聽、偽造、篡改和重放等傳統(tǒng)攻擊,又可抵抗電子標(biāo)簽被物理克隆攻擊。
Srini-Devadas等人[9]提出物理不可克隆函數(shù)(Physical Unclonable Function,PUF)技術(shù),是一種“芯片數(shù)字指紋”,可用來標(biāo)識芯片的身份。PUF是將一個激勵輸入一個芯片實體,基于芯片內(nèi)部物理構(gòu)造的隨機差異性,輸出唯一的響應(yīng)。一個理想的PUF應(yīng)具備魯棒性、可計算性、唯一性和不可克隆性。PUF的電路結(jié)構(gòu)相對簡單,可在極小開銷的條件下嵌入芯片中,作為RFID電子標(biāo)簽的“指紋”。
(1)輕量級雜湊函數(shù)LHash:是一個低功耗的輕量級雜湊函數(shù),具有靈活可調(diào)的參數(shù)[10],具有占用資源少、運算速度快等優(yōu)點,比較適用于低成本、資源受限的RFID系統(tǒng)。
(2)輕量級分組算法MIBS:MIBS是一個輕量級分組密碼算法,具有占用資源少、運算速度快等優(yōu)點,主要適用于RFID、無線傳感技術(shù)等資源和計算能力有限的設(shè)備和環(huán)境中[11]。
本協(xié)議使用的主要符號及說明如表1所示。
表1 協(xié)議中的主要符號及說明
(1)電子標(biāo)簽應(yīng)內(nèi)置PUF模塊(對輸入相同的激勵能產(chǎn)生相同的響應(yīng)),具有產(chǎn)生隨機數(shù)、存儲并運行輕量級密碼算法的能力。電子標(biāo)簽需要存儲本輪密鑰(Kn)和電子標(biāo)簽本輪ID(IDn)。
(2)閱讀器應(yīng)具有產(chǎn)生隨機數(shù)的能力。
(3)后臺服務(wù)器應(yīng)具有產(chǎn)生隨機數(shù)、存儲并運行輕量級密碼算法的能力。后臺服務(wù)器可產(chǎn)生、編配電子標(biāo)簽ID和對應(yīng)密鑰K,將電子標(biāo)簽的PUF信息、本輪密鑰(Kn)、上輪密鑰(Kn-1)、電子標(biāo)簽本輪ID(IDn)及雜湊值LH(IDn)、電子標(biāo)簽上輪ID(IDn-1)及雜湊值LH(IDn-1)等信息進行本地存儲,并確保PUF信息和電子標(biāo)簽中的PUF信息相同。
閱讀器、電子標(biāo)簽和后臺服務(wù)器之間的協(xié)議交互流程和協(xié)議交互處理流程分別如圖2、圖3所示。
(1)閱讀器將本地產(chǎn)生的隨機數(shù)R1和認(rèn)證請求AQ命令發(fā)送給電子標(biāo)簽。
(2)電子標(biāo)簽接收到閱讀器發(fā)送的隨機數(shù)R1和認(rèn)證請求AQ命令后,本地產(chǎn)生隨機數(shù)R2,使用R1和本輪密鑰Kn,運行輕量級分組算法LB,加密得到電子標(biāo)簽ID雜湊值的密文CLH(IDn)=LB_EKn(R1,LH(IDn))、隨機數(shù)R2的密文CR2=LB_EKn(PUF(R1),R2);運行輕量級的雜湊函數(shù),產(chǎn)生PUF信息的雜湊值H=LH(PUF(R1⊕R2)⊕Kn),截取雜湊值H的高位部分、低位部分分別作為HM、HL,將CLH(IDn)||CR2||HM發(fā)送給閱讀器,將HL保存于本地。
(3)閱讀器收到電子標(biāo)簽ID雜湊值的密文、隨機數(shù)R2的密文和PUF信息的雜湊值CLH(IDn)||CR2||HM后,將隨機數(shù)R1附在其后,組成CLH(IDn)||CR2||HM||R1,轉(zhuǎn)發(fā)給后臺服務(wù)器。
(4)后臺服務(wù)器收到CLH(IDn)||CR2||HM||R1后:
①運行輕量級分組算法LB,解密得到LH(IDn)=LB_DKn(R1,CLH(IDn)),若在本地未檢索到LH(IDn),則終止通信;否則,從本地獲取該電子標(biāo)簽對應(yīng)的PUF信息和本輪密鑰Kn,運行輕量級分組算法LB,解密得到R2=LB_DKn(PUF(R1),CR2)。
②運行輕量級雜湊函數(shù)LH,得到雜湊值H'=LH(PUF(R1⊕R2)⊕Kn),截取雜湊值H'的高位部分、低位部分分別作為H'M、H'L,將H'M與HM進行比較,若不相等,則終止通信;否則,通過電子標(biāo)簽認(rèn)證。
③產(chǎn)生隨機數(shù)R3,使用PUF(R1⊕R2)和本輪密鑰Kn,運行輕量級分組算法LB,加密得到隨機數(shù)R3的密文CR3=LB_EKn(PUF(R1⊕R2),R3),將H'L||CR3發(fā)送給閱讀器。
④后臺服務(wù)器計算更新下輪電子標(biāo)簽IDn+1=IDn⊕R2⊕R3、下輪密鑰Kn+1=Kn⊕R2⊕R3,并將上輪認(rèn)證信息更新為本輪的認(rèn)證信息。
(5)閱讀器收到PUF信息的雜湊值、隨機數(shù)R3的密文H'L||CR3后,轉(zhuǎn)發(fā)給電子標(biāo)簽。
(6)電子標(biāo)簽將收到的H'L和本地存儲的HL進行比較,若兩者相等,則電子標(biāo)簽對后臺服務(wù)器的認(rèn)證通過;否則,終止通信,電子標(biāo)簽對后臺服務(wù)器認(rèn)證通過后,運行輕量級分組算法LB,解密得到R3=LB_DKn(PUF(R1⊕R2),CR3),計算更新下輪電子標(biāo)簽ID:IDn+1=IDn⊕R2⊕R3、下輪密鑰Kn+1=Kn⊕R2⊕R3,結(jié)束本次認(rèn)證過程。
本節(jié)對RFID安全認(rèn)證協(xié)議主要從機密性、完整性和新鮮性等方面進行安全性分析。
(1)機密性:電子標(biāo)簽、閱讀器與后臺服務(wù)器之間傳輸?shù)碾娮訕?biāo)簽ID、隨機數(shù)、PUF信息等認(rèn)證信息,均采用輕量級分組算法進行加密處理,確保了認(rèn)證信息的機密性,可防止非授權(quán)用戶知悉敏感信息,抵抗攻擊者的竊聽攻擊。
(2)完整性:在電子標(biāo)簽與閱讀器認(rèn)證的過程中,先采用輕量級雜湊函數(shù)對電子標(biāo)簽ID計算雜湊值,再對雜湊值采用輕量級分組算法進行加密處理,確保電子標(biāo)簽ID的完整性;先將PUF信息與密鑰異或后,再采用輕量級雜湊函數(shù)對異或值計算雜湊值,確保PUF信息的完整性;對電子標(biāo)簽ID、PUF信息等重要信息進行完整性保護,可抵抗攻擊者對重要信息的篡改攻擊。
(3)新鮮性:在電子標(biāo)簽與閱讀器認(rèn)證的過程中,閱讀器、電子標(biāo)簽、后臺服務(wù)器分別在本地實時產(chǎn)生隨機數(shù),采用隨機數(shù)來確保信息的新鮮性,且通過隨機數(shù)更新電子標(biāo)簽和密鑰等信息,可抵抗攻擊者對認(rèn)證信息的重放攻擊。
由于電子標(biāo)簽受限于成本低和計算處理能力弱等因素,以及電子標(biāo)簽與閱讀器之間信息傳輸?shù)拈_放性,導(dǎo)致RFID系統(tǒng)易遭受傳統(tǒng)攻擊和物理克隆攻擊。針對這些攻擊,本文采用隨機數(shù)、輕量級雜湊函數(shù)、輕量級分組算法和PUF函數(shù)技術(shù)等密碼原語,使用較少的計算處理和存儲資源,提出了一種基于PUF的輕量級RFID安全認(rèn)證協(xié)議,可抵抗竊聽、篡改、假冒、重放和物理克隆等多種攻擊方式。