陳飛鴻,張 鋒,陳軍寧,吳秀龍
1.安徽大學 電子信息工程學院,合肥230601
2.中國科學院微電子研究所 微電子器件與集成技術(shù)重點實驗室,北京100029
隨著射頻識別(Radio Frequency Identification,RFID)技術(shù)的廣泛應(yīng)用,閱讀器與電子標簽之間的信道安全越來越受到重視。由于閱讀器與標簽之間的通信通過無線空中接口實現(xiàn),在通信過程中,攻擊者可以輕松監(jiān)視、攔截和偽造所有信息。為了保護無線通信過程中的信息安全,近年來基于密碼學的低成本RFID 安全保護技術(shù)得到了廣泛的發(fā)展。例如,Tewari 等人[1]提出一種超輕量級RFID 認證協(xié)議,僅使用異或、移位、循環(huán)等操作實現(xiàn)對隱私數(shù)據(jù)的加密。Sohrabi-Bonab等人[2]提出一種基于CRC的RFID安全認證協(xié)議,將CRC函數(shù)和偽隨機數(shù)發(fā)生器(Pseudo Random Number Generator,PRNG)相結(jié)合并保障了協(xié)議的安全性;此外,采用PRNG的方案中比較典型的,還包括Pang等[3]提出的基于EPCGen2標準的輕量級RFID 認證協(xié)議等。但是經(jīng)過分析發(fā)現(xiàn),目前大多數(shù)傳統(tǒng)RFID 認證協(xié)議雖然加密方法各有不同,但一般通信雙方都需要將密鑰存儲在非易失性存儲器中,這使得標簽遭受著物理攻擊、克隆攻擊等威脅。
所幸,物理不可克隆函數(shù)(Physical Unclonable Function,PUF)的實現(xiàn)為低成本的無源RFID 系統(tǒng)設(shè)計開辟了新的方向。PUF的不可克隆、不可預(yù)測等安全屬性提供了傳統(tǒng)密鑰所無法代替的優(yōu)勢。為了將PUF 應(yīng)用在RFID 領(lǐng)域,研究學者們引入了各種密碼學的算法。例如,Gope等人[4]在提出的協(xié)議中將單向散列函數(shù)與PUF相結(jié)合,使用單向散列函數(shù)來加密交互消息并更新存儲的私密信息。HE 等人[5]提出了一種采用對稱加密算法的RFID 認證協(xié)議,利用線性反饋移位寄存器(Linear Feedback Shift Register,LFSR)實現(xiàn)了信息的雙向加密認證,極大地降低了電路成本。但徐旭光等人[6]指出了該協(xié)議存在一些安全漏洞并提出了改進的新協(xié)議。Xu 等人[7]基于PUF 提出一種超輕量級的抗去同步化協(xié)議,僅使用移位、異或和與邏輯等運算便可完成完整的認證過程。Majzoobi 等人[8]提出了一種通過機器學習構(gòu)建標簽PUF 模型的RFID 防偽新思路,而Xie等人[9]在Majzoobi 等人的基礎(chǔ)上對協(xié)議進行了完善。此外,鑒于此前的一些協(xié)議顯然過于理想而不具備實用性,因此一些學者們提出了可運行于實際噪聲環(huán)境下的RFID認證協(xié)議[10-11]。
多年來,基于PUF 的RFID 產(chǎn)品在實際中應(yīng)用并不廣泛。一方面從成本、安全性能、穩(wěn)定性等方面綜合來考慮,研究人員們難以找到一個較合適的應(yīng)用方案;另一方面,目前已被報道的PUF主要有基于仲裁器的PUF、基于SRAM 的PUF 和基于環(huán)形振蕩器的PUF 等,而根據(jù)研究表明,這些PUF 在工作時對環(huán)境變化較為敏感[12]。這使得PUF在實際應(yīng)用時缺乏可靠性,雖然使用輔助數(shù)據(jù)等手段可以解決該問題,但也容易因此而泄漏安全信息。因此,開發(fā)穩(wěn)定性更高的PUF電路和更安全的認證算法是一個非常重要的研究課題。近年來,已報道的基于阻變存儲器(Resistive Random Access Memory,RRAM)的PUF則在片間漢明距離(inter-chip Hamming Distance,inter-HD)、片內(nèi)漢明距離(intra-chip Hamming Distance,intra-HD)、抗機器學習攻擊等多方面特性上體現(xiàn)出良好的指標[13-16]。
在上述研究的基礎(chǔ)上,本文基于RRAM 的存儲機理,提出了一種新型的PUF電路結(jié)構(gòu)和基于該結(jié)構(gòu)的輕量級RFID 認證協(xié)議。協(xié)議借助特殊的RRAM PUF 模型和多級響應(yīng)計算機制完成閱讀器與標簽間的認證信息加密,在認證過程中標簽端僅消耗少量的計算資源;采用了實時共享密鑰異或的方法快速計算出標簽的唯一識別號,實現(xiàn)了閱讀器對標簽的快速檢索;通過獨特的糾錯處理方法,使得在不泄露認證信息的前提下實現(xiàn)對PUF 響應(yīng)的糾錯,提高了協(xié)議認證過程中的可靠性。最后,本文根據(jù)形式化分析、邏輯綜合和仿真證明了協(xié)議在安全性、穩(wěn)定性、低成本等多方面的優(yōu)勢。
圖1 PUF電路的詳細結(jié)構(gòu)
傳統(tǒng)基于RRAM 的典型PUF 結(jié)構(gòu)[13-14]如圖1(a)和(b)所示。不同于其他類型的PUF利用制造過程中引入的細微差異而輸出不可預(yù)測的響應(yīng),RRAM通過其擦寫后形成的單元隨機電阻分布來實現(xiàn)PUF的功能。
其物理機制通常歸因于RRAM 單元兩個金屬電極之間含氧空位構(gòu)成的導(dǎo)電絲的形成和斷裂。由于含氧空位每次產(chǎn)生和消失具有隨機性,所以在不同RRAM單元的相同擦寫周期甚至同一RRAM單元的不同擦寫周期內(nèi),導(dǎo)電絲的尺寸存在不可避免的變化[15],進而RRAM單元之間形成隨機的電阻分布,此時若設(shè)置一個合適的參考電流,便籍此可以輸出PUF響應(yīng)。
圖1(a)結(jié)構(gòu)的PUF 在工作時,將PUF 挑戰(zhàn)輸入作為相關(guān)譯碼器的地址并選中1個RRAM單元,隨后將該單元的讀出電流IR與參考電流IREF進行比較,通過靈敏放大器(Sense Amplifier,SA)便可以輸出1 位的PUF響應(yīng),當需要產(chǎn)生多位的PUF響應(yīng)時則需要重復(fù)多次操作。該結(jié)構(gòu)受到RRAM 單元數(shù)量的限制,只能產(chǎn)生有限的挑戰(zhàn)響應(yīng)對(Challenge Response Pairs,CRPs),并且工作效率低下,是一點典型的弱PUF,無法直接應(yīng)用于身份認證等場景。與圖1(a)結(jié)構(gòu)不同的是,圖1(b)中的方案根據(jù)挑戰(zhàn)位選中兩個RRAM 單元,隨后將兩個單元的阻值比較結(jié)果作為PUF響應(yīng)的輸出,由于響應(yīng)計算方式的差異,該方案構(gòu)成了一種強PUF 電路,但當需要產(chǎn)生多位響應(yīng)時同樣要重復(fù)多次讀操作,工作效率仍然較低。
為了提高PUF 電路的計算效率并擴展挑戰(zhàn)響應(yīng)空間,本文提出了一種基于RRAM的新型PUF電路,如圖1(c)所示。在m行×n列RRAM陣列及其外圍電路的基礎(chǔ)上,增加了n個異或門和n個D 觸發(fā)器,將RRAM擦寫后單元內(nèi)部電阻的隨機變化作為PUF 熵源。在工作時,首先由邏輯控制模塊對m位PUF 挑戰(zhàn)輸入進行逐位判斷,若當前位表現(xiàn)為“1”則控制字線譯碼器選中相應(yīng)行n個RRAM 單元,通過n個SA 讀出n位數(shù)據(jù)S0,S1,…,Sn-1作為中間變量,然后將中間變量與觸發(fā)器組中保存的原有數(shù)據(jù)執(zhí)行異或運算并將運算結(jié)果重新保存于觸發(fā)器組中;若PUF挑戰(zhàn)當前位表現(xiàn)為“0”,則不執(zhí)行任何操作,當前判斷位指針增1。重復(fù)上述步驟m次后,取Q0,Q1,…,Qn-1為PUF響應(yīng)輸出。
對該PUF 結(jié)構(gòu)進行分析可知,由于RRAM 陣列共有m行,因此PUF挑戰(zhàn)的輸入位長度規(guī)定為m,相對于文獻[13-14],這極大地減少了PUF 對挑戰(zhàn)位數(shù)目的需求,降低了數(shù)據(jù)在無線傳輸過程中的誤碼率。另一方面,由于PUF 響應(yīng)每一位的輸出是由相應(yīng)列若干個RRAM 單元讀出結(jié)果互相異或計算得到的,而這些RRAM 單元是由m位挑戰(zhàn)輸入來選中的,因此該結(jié)構(gòu)PUF可基于m位的挑戰(zhàn)輸入生成2m個CRPs,極大地擴展了挑戰(zhàn)響應(yīng)空間。此外該方案中對RRAM的讀取次數(shù)實際等于挑戰(zhàn)中“1”的個數(shù),這也顯著地減少了計算次數(shù),提高了工作效率。同時為了降低多次讀取造成的PUF 輸出誤碼率,一種分離電阻的操作將被采用,將在下節(jié)注冊階段中詳細介紹。
相對于其他類型的PUF,RRAM 具有單元面積小、功耗低,可建模性等優(yōu)點,非常適合集成于低成本、低功耗的RFID芯片中。基于RRAM PUF和其可建模特性,本文提出了一種輕量級的RFID認證協(xié)議。該協(xié)議不僅可應(yīng)用于包含RRAM PUF的RFID系統(tǒng)中,在其他包含可靠PUF模型的RFID系統(tǒng)中同樣適用。
協(xié)議由注冊階段和認證階段兩部分組成,協(xié)議所涉及的運算符號說明如表1所示。
表1 協(xié)議符號說明
首先由注冊方對標簽中的RRAM PUF 進行配置,步驟如圖2所示。
圖2 RRAM PUF配置流程
(1)對新制備的RRAM 執(zhí)行初始化激活(forming)操作,使得所有RRAM存儲單元內(nèi)部形成穩(wěn)定的導(dǎo)電通路,此時RRAM 單元器件呈現(xiàn)低電阻狀態(tài)(Low Resistance State,LRS)。
(2)通常RRAM 在高電阻狀態(tài)(High Resistance State,HRS)下呈現(xiàn)更加離散的阻值分布,因此隨后對所有RRAM 單元施加一次相同脈沖寬度的復(fù)位(reset)電壓,使得RRAM 單元內(nèi)部導(dǎo)電細絲斷裂并轉(zhuǎn)變?yōu)镠RS。以不同RRAM存儲單元首次reset后形成的電阻差異作為PUF的熵源。
(3)完成上述步驟后,設(shè)置合適的參考電流IREF,使得讀出數(shù)據(jù)“1”的RRAM 單元占總單元數(shù)目的50%左右。隨后對讀出數(shù)據(jù)為“1”的RRAM 單元施加置位(set)電壓,使得單元轉(zhuǎn)變?yōu)榈碗娮锠顟B(tài)(Low Resistance State,LRS);對讀出數(shù)據(jù)為“0”的RRAM單元施加reset 電壓,使得單元固定為HRS,上述分離電阻的步驟可提高數(shù)據(jù)輸出的穩(wěn)定性。
(4)直到所有RRAM 單元均可正常讀出穩(wěn)定的數(shù)據(jù)后結(jié)束配置。
(5)配置完成后讀出每個RRAM 單元存儲的數(shù)據(jù)和對應(yīng)的地址,并保存于合法的后臺數(shù)據(jù)庫中,記為RRAM PUF 模型RS。由于RRAM 的非易失特性,RS擁有與對應(yīng)標簽PUF模塊相同的行為特性,給定一個隨機挑戰(zhàn),數(shù)據(jù)庫可以根據(jù)RS 計算出與標簽PUF 相同的響應(yīng)(考慮到intra-HD 的影響,可能會存在可控范圍內(nèi)的偏差)。區(qū)別是標簽通過SA 讀取RRAM 單元,然后經(jīng)過邏輯計算得到PUF響應(yīng),而數(shù)據(jù)庫直接讀取非易失性存儲器中保存的RS,然后通過與標簽相同的邏輯計算得到數(shù)據(jù)庫端的PUF響應(yīng)。
配置完成后注冊方為每個標簽生成一個唯一識別號ID、隨機密鑰K和隨機數(shù)種子N,并發(fā)送給每個合法的標簽與后臺數(shù)據(jù)庫,同時數(shù)據(jù)庫對實時共享密鑰Knew、Kold和異常攻擊標識S進行初始化,即:
最終后臺數(shù)據(jù)庫為每個合法的標簽保存信息組<ID,Knew,Kold,RS,S >。而標簽將信息組<ID,K,N >保存于自身非易失性存儲器中。
圖3 基于RRAM PUF的RFID認證協(xié)議
協(xié)議認證過程如圖3所示,本文提出的協(xié)議致力于解決閱讀器與標簽間的無線信道安全問題,且由于閱讀器與后臺數(shù)據(jù)庫擁有足夠的計算與存儲資源,故此處假設(shè)閱讀器與后臺數(shù)據(jù)庫之間進行的是足夠安全的有線通信。協(xié)議詳細認證步驟如下:
(1)閱讀器發(fā)送認證請求req至天線磁場范圍內(nèi)所有標簽,標簽收到認證請求后,讀取非易失性存儲器中保存的ID、K,并計算加密后的標簽識別號:
然后將ID_s發(fā)送給閱讀器。
(2)閱讀器接收到ID_s后,在后臺數(shù)據(jù)庫對每個標簽信息組<ID,Knew,S >進行檢索,若標簽信息組滿足條件:
則視為成功識別到該標簽。若不滿足條件,則數(shù)據(jù)庫進入下一輪檢索,即對每個標簽信息組<ID,Kold,S >進行計算,若滿足條件:
則同樣視為成功識別到標簽,且該標簽上輪認證通信過程中受到攻擊或出現(xiàn)中斷,隨后數(shù)據(jù)庫發(fā)送檢索通過標識ACK1至閱讀器,協(xié)議進入下一步驟。若以上兩輪皆未檢索到合法標簽信息組,則數(shù)據(jù)庫發(fā)送檢索未通過標識NAK1至閱讀器,閱讀器不再響應(yīng)標簽并中止協(xié)議。
(3)閱讀器產(chǎn)生一個隨機數(shù)c0∈{0,1}l并發(fā)送給標簽,其中l(wèi)為隨機數(shù)和PUF響應(yīng)的位長。為了防止受到重放攻擊,此處的c0相對于同一標簽的不同認證周期中應(yīng)避免出現(xiàn)重復(fù)的數(shù)。基于閱讀器充足的計算資源,c0可由真隨機數(shù)發(fā)生器或PUF產(chǎn)生。
(4)標簽收到c0后,讀取隨機數(shù)種子N并生成標簽本地隨機數(shù)n,為了降低標簽計算成本,此處n采用標簽PUF的多級響應(yīng)生成:
然后計算標簽端的一級認證響應(yīng)a和二級認證響應(yīng)x,并使用糾錯編碼算法產(chǎn)生a的糾錯校驗碼,如下:
最后將r0=n||x||h發(fā)送給閱讀器。此外更新隨機數(shù)種子N=n并重新寫入非易失性存儲器中。
(5)閱讀器在收到r0后,首先將n||c0轉(zhuǎn)發(fā)至后臺數(shù)據(jù)庫,根據(jù)后端數(shù)據(jù)庫中存儲的PUF模型RS可計算得到a′,隨后閱讀器根據(jù)a′和校驗碼h通過糾錯譯碼算法恢復(fù)出閱讀器端的一級認證響應(yīng)a″:
若無線傳輸過程中沒有出現(xiàn)誤碼,此處a″==a。隨后計算閱讀器端的二級認證響應(yīng)x′:
where and denote absorbed and emitted photons, respectively, means phonon (heat) generation, eand h imply electron and hole, respectively, H and Fe represent hydrogen and iron, respectively.
并計算x′和x的漢明距離,即可完成對標簽的合法性判斷,判斷規(guī)則為:
此處k為注冊方指定的誤差參數(shù),可根據(jù)所采用PUF的平均intra-HD確定。如果標簽通過合法性認證,則閱讀器生成一個隨機數(shù)n′∈{0,1}l,并轉(zhuǎn)發(fā)至數(shù)據(jù)庫計算:
最后將c1=n′||y發(fā)送給標簽。如果標簽未通過認證,則協(xié)議終止,閱讀器不再發(fā)送信息。
(6)標簽計算:
如果閱讀器通過認證,標簽更新密鑰K=K⊕a并將其寫入非易失性存儲器中,隨后標簽計算:
并將z′發(fā)送至閱讀器,這里z′作為二次認證的確認信號。如果閱讀器未通過認證,則標簽停止響應(yīng)并終止協(xié)議。
(7)閱讀器在收到二次認證確認信號z′后,對z′進行驗證:
若認證成功,則閱讀器向后臺數(shù)據(jù)庫返回認證成功標識ACK2,數(shù)據(jù)庫更新S=0;否則閱讀器向后臺數(shù)據(jù)庫返回標識NAK2,數(shù)據(jù)庫更新S=1。最后數(shù)據(jù)庫更新實時共享密鑰Kold=ID_s⊕ID,Knew=ID_s⊕ID⊕a″并將其保存。
BAN邏輯[17]是一種基于信念的模態(tài)邏輯,它開創(chuàng)了認證協(xié)議形式化分析的先河,BAN 邏輯通過將協(xié)議轉(zhuǎn)化為理想化的形式,再根據(jù)合理的假設(shè)和邏輯推理規(guī)則來驗證協(xié)議是否能夠完成預(yù)期的目標。本文應(yīng)用了其形式化分析方法對協(xié)議的安全性與合理性進行了證明。出于簡便性的目的,此處將閱讀器與后臺數(shù)據(jù)庫統(tǒng)稱為閱讀器,證明過程如下:
對協(xié)議分析可知,合法的閱讀器(R)與標簽(T)共享相同的PUF,并利用各自的PUF 運算實現(xiàn)雙方認證信息的加密,因此設(shè)定閱讀器與標簽分別共享密鑰Kab1和Kab2。而閱讀器與標簽在認證過程中實際驗證的分別是一級認證響應(yīng)a與a″,因此本文需要證明的目標是閱讀器相信與標簽共享信息a,標簽相信與閱讀器共享信息a″。在PUF 與糾錯算法可靠情況下,若協(xié)議滿足上述兩個目標,則將滿足希望得到的安全性需求。
本文用到的BAN邏輯推理規(guī)則如下所示。
本文協(xié)議的BAN邏輯形式化分析步驟如下。
(1)協(xié)議描述(此處省略了檢索標簽的過程)
(5)協(xié)議分析
由接收消息規(guī)則R4和協(xié)議注釋M2可得:
再由公式(20)、假設(shè)A1和消息含義規(guī)則R1可推斷得到:
最后結(jié)合公式(24)和假設(shè)A8,由管轄規(guī)則R3可證得目標:
綜上所述,協(xié)議可滿足預(yù)期目標①,而預(yù)期目標②的證明與上述過程類似,此處不再贅述。
基于PUF 的RFID 認證協(xié)議的可靠性主要體現(xiàn)在PUF 的錯誤接受率和錯誤拒絕率上[18]。一方面這可以歸因于PUF 的inter-HD 和intra-HD,根據(jù)近年來的相關(guān)研究表明,RRAM PUF 在這方面有著較好的表現(xiàn)[13-16]。另一方面,由公式(8)~(11)可知,標簽發(fā)送的x是經(jīng)PF1(a)與一級認證響應(yīng)a異或后的密文,并且a經(jīng)過了糾錯處理。根據(jù)PUF的不可克隆性和雪崩效應(yīng),第三方只有在擁有匹配的PUF 模型RS的條件下才能計算得到a′,進而通過糾錯譯碼算法恢復(fù)出正確的認證響應(yīng)a″,因此在認證公式(13)中閱讀器通過認證接受錯誤的PUF的概率為:
而糾錯碼的使用使得協(xié)議可以抵抗一定程度的PUF 誤碼率,保證了閱讀器不會拒絕正確的PUF。
詳細分析了該協(xié)議對于當前幾種主流攻擊手段的抵御能力,如下所示。
3.3.1 物理攻擊
假設(shè)攻擊者可以通過侵入式手段訪問標簽存儲器并獲得ID、K、N等信息。對協(xié)議分析可知,一方面密鑰K只起到加密標簽ID的作用,無法決定標簽在認證中的響應(yīng)信息。另一方面雖然N是標簽的隨機數(shù)種子,但由公式(6)~(9)和PUF的物理不可克隆性可知,只有當攻擊者得到對應(yīng)標簽的PUF 模型后才能計算得到n和后續(xù)的認證響應(yīng)信息a、x、h等。因此,攻擊者無法利用對標簽進行物理攻擊得到的信息對認證過程產(chǎn)生任何影響。
3.3.2 重放攻擊
首先以標簽為被攻擊對象進行分析,由認證步驟(4)可以得知,標簽每次認證結(jié)束后都會更新隨機數(shù)種子N,因此每次認證時標簽都會生成不一樣的本地隨機數(shù)n,而基于n產(chǎn)生的a、x、h自然也是不同的。因此,即使攻擊者利用竊聽攻擊獲得了同一標簽之前的認證交互信息,也無法對該標簽實施重放攻擊。
然后以閱讀器為被攻擊對象進行分析,為了抵御攻擊者重放以前的認證消息以達到欺騙閱讀器的目的,關(guān)鍵在于對同一標簽的不同認證周期內(nèi)閱讀器不會發(fā)送相同的激勵c0。在認證步驟(3)中指出,通過在閱讀器端集成一個真隨機數(shù)發(fā)生器或PUF 模塊即可達到這一目的,所以針對閱讀器的重放攻擊也是無效的。
3.3.3 去同步攻擊
去同步攻擊是指攻擊者阻斷閱讀器到后臺數(shù)據(jù)庫或標簽間的消息通道,從而使得標簽和后臺數(shù)據(jù)庫的秘密共享信息不同步的一種拒絕服務(wù)攻擊形式[19]。在本文提出的協(xié)議中,由認證步驟(6)和(7)可知,在雙向認證通過后,標簽會率先完成實時共享密鑰K的更新,并發(fā)送二次認證確認信號z′。隨后閱讀器對密鑰Knew、Kold進行更新,同時對z′進行驗證,如果z′有效,則會置異常攻擊標識S=0,此后閱讀器可通過公式(4)再次對該標簽完成識別;如果z′無效,則認定為協(xié)議遭受了去同步攻擊,置異常攻擊標識S=1,此后閱讀器可通過公式(5)再次對該標簽完成識別。因此去同步攻擊對本協(xié)議是無效的。
3.3.4 追蹤攻擊
追蹤攻擊是目前大多數(shù)無源RFID標簽所面臨的威脅,攻擊者通過標簽的唯一識別號等信息對標簽進行跟蹤,從而獲得標簽持有者的位置等隱私信息,也可以對跟蹤的指定標簽進行多次的竊聽,進而從這些信息中尋求破解的可能性。
當前大多數(shù)認證協(xié)議中標簽的唯一識別號都是以明文或簡易加密形式進行發(fā)送的,也就是說攻擊者可以很容易獲得這些一成不變的標簽識別號,并對標簽實施追蹤攻擊。
基于該問題,本文提出的協(xié)議用如下方法解決:首先使用實時共享密鑰K對標簽的ID進行加密處理;其次在每輪認證結(jié)束后,數(shù)據(jù)庫和標簽端分別使用a″和a對密鑰K進行了更新,這阻止了攻擊者對標簽的追蹤威脅;最后,在認證步驟(4)、(5)中,協(xié)議使用特殊的糾錯處理保證了a″和a的一致性,避免了誤碼率對密鑰更新產(chǎn)生的影響。
3.3.5 機器學習攻擊
目前大多數(shù)強PUF 電路是通過重復(fù)的硬件單元產(chǎn)生大量的CRPs,而攻擊者可以通過機器學習推斷它們的相關(guān)性并創(chuàng)建PUF 的近似模型。在傳統(tǒng)的加密方法中,一般使用單向散列函數(shù)對PUF響應(yīng)進行加密以避免攻擊者得到完整的CRPs,然而即便是簡化后的單向散列函數(shù),也需要至少1 700 個門電路來實現(xiàn)[20]。本文提出的協(xié)議借助于標簽的PUF 模塊生成的多級認證響應(yīng)完成a的加密傳輸。根據(jù)公式(8)可得:
而攻擊者可以獲得的信息僅僅是x、h和隨機數(shù)n。此外與傳統(tǒng)糾錯算法不同的是,在攻擊者缺少標簽唯一PUF 模型的前提下此處的校驗碼h并不會泄露安全信息。攻擊者無法根據(jù)n計算得到a′,進而無法根據(jù)譯碼算法恢復(fù)出與a相等的a″,即完整的CRPs只能于合法的數(shù)據(jù)庫中計算得到,協(xié)議完全可以抵抗機器學習攻擊。
在此之前,一些基于PUF 的RFID 認證協(xié)議中的加密方法主要集中于對稱加密算法、安全哈希函數(shù)等方向,對其中的一些典型協(xié)議進行了分析對比。
文獻[4]提出的協(xié)議在標簽中保存了備用的識別號PIDs,因此即使協(xié)議受到了去同步攻擊,下輪認證中閱讀器仍可以檢索到標簽,并在檢索后刪除使用過的PID。但該協(xié)議并沒有考慮到標簽的存儲資源是有限的,而且檢索方法效率較低,不具備實用性,因此該協(xié)議事實上并不能抵擋去同步攻擊。文獻[6]利用LFSR 和實時更新的共享PUF 密鑰實現(xiàn)閱讀器與標簽間的數(shù)據(jù)雙向加解密,是一種輕量級的對稱加密方案,該文獻指出其協(xié)議可以抵擋追蹤攻擊、去同步攻擊的影響,但對協(xié)議分析后發(fā)現(xiàn),若認證失敗,仍可能導(dǎo)致閱讀器與標簽存儲的密鑰信息出現(xiàn)不同步。文獻[7]提出的協(xié)議中,標簽于存儲器中保存一個PUF 挑戰(zhàn),并且在每輪認證結(jié)束后使用對應(yīng)的PUF響應(yīng)來更新保存的挑戰(zhàn),這使得攻擊者可以通過多次侵入式攻擊獲得標簽PUF 的CRPs,進而創(chuàng)建機器學習模型。
將本文協(xié)議的安全性能與上述文獻中的方案做了對比,如表2 所示(其中√表示具備該安全屬性,×表示不具備該安全屬性)。通過上節(jié)的分析和表2 可以表明,與同類方案相比,本文提出的協(xié)議在安全性方面具有較好的優(yōu)勢。
表2 協(xié)議安全屬性對比
在此前的很多相關(guān)文獻中,研究人員們一般使用軟件對協(xié)議進行仿真并計算性能,這種方式存在比較大的誤差,且無法得到RFID 協(xié)議映射到電路中的真實延時數(shù)據(jù)。為了更進一步對協(xié)議的計算效率與計算開銷進行比較,使用Verilog RTL 構(gòu)建了文獻[4,6-7]和本文協(xié)議的邏輯部分。并以Intel 公司的Cyclone V SE 5CSXFC6D6F31C6N器件為設(shè)計平臺,使用Quartus Prime 對所構(gòu)建的模塊進行了物理綜合,將協(xié)議的邏輯計算部分轉(zhuǎn)化為實際的數(shù)字電路。隨后,統(tǒng)計了各協(xié)議中組合邏輯電路的關(guān)鍵路徑延時和消耗資源數(shù),如表3所示(其中關(guān)鍵路徑指設(shè)計中從輸入到輸出經(jīng)過的延時最長的邏輯路徑,ALMs是Intel FPGA器件的實現(xiàn)邏輯單元)。
表3 協(xié)議計算延時與資源消耗對比
由于哈希函數(shù)的使用,導(dǎo)致文獻[4]的協(xié)議消耗了較多的資源數(shù)目,且關(guān)鍵路徑延時較高,無法適用于低成本RFID標簽。另一方面,文獻[6]和[7]的協(xié)議都是采用異或、移位等簡單邏輯操作完成協(xié)議的構(gòu)建,因此消耗的邏輯資源數(shù)目較少且關(guān)鍵路徑的延時較小。其中文獻[6]由于使用了大量的中間變量,因此消耗的邏輯資源數(shù)目要高于文獻[7]。本文協(xié)議在標簽端對PUF模塊的多次合理運用,極大地降低了邏輯資源的消耗,此外相較于其他文獻,本文協(xié)議在標簽端擁有最小的延時。而閱讀器端由于添加了糾錯譯碼器,一方面耗費了較多的邏輯資源,但另一方面提高了協(xié)議的可靠性,使其能夠在實際噪聲環(huán)境下工作。目前的商用閱讀器一般具有足夠的計算與存儲資源,因此本文協(xié)議完全滿足了低成本RFID標簽的硬件需求。
此外,基于國際近場通信標準ISO/IEC 14443A 在180 nm 互補金屬氧化物半導(dǎo)體(Complementary Metal Oxide Semiconductor,CMOS)工藝下完成了一種RFID標簽數(shù)字基帶和相應(yīng)測試平臺的設(shè)計,整體結(jié)構(gòu)如圖4所示。
圖4 標簽數(shù)字基帶與測試平臺
設(shè)計完成的數(shù)字基帶具有解碼、編碼、防沖突、雙向認證和讀/寫等完整的RFID功能,將本文提出的協(xié)議應(yīng)用在了認證功能上,此外使用RTL 構(gòu)建了RRAM PUF的行為級模塊,并將BCH(75,31,2)碼作為糾錯算法加入認證協(xié)議中。
根據(jù)仿真平臺和測試向量集,本文采用Mentor 公司的Modelsim仿真工具重點對數(shù)字基帶的認證功能部分進行了驗證。標簽數(shù)字基帶在收到認證請求后,首先讀取隨機數(shù)密鑰種子N,然后經(jīng)PUF 模塊生成隨機數(shù)n、加密的認證響應(yīng)x和BCH 校驗碼h,并發(fā)送給測試平臺。測試平臺依據(jù)RS 和h使用BCH 譯碼算法完成對認證響應(yīng)a的提取并糾錯,隨后生成n′和y并發(fā)送給標簽。部分仿真波形如圖5所示。
除了仿真外,在設(shè)計中使用了Synopsys 公司的Design Compile 工具對標簽的數(shù)字基帶進行了整體的物理綜合,此外對BCH編碼器部分進行了單獨綜合。綜合后電路面積報告如表4所示,可以看到標簽端計算復(fù)雜度最高的糾錯編碼器面積僅消耗了4 643.654 434 μm2,約465等效門電路。設(shè)計完全符合了低成本的需求。
表4 面積報告
圖5 仿真波形圖
本文首先分析了當前一些RFID 認證協(xié)議和PUF應(yīng)用領(lǐng)域的存在的問題,然后基于RRAM的存儲機理,提出了一種新型的PUF 電路結(jié)構(gòu)。與已知結(jié)構(gòu)相比,該結(jié)構(gòu)極大地擴展了挑戰(zhàn)響應(yīng)空間并提高了計算效率?;赗RAM PUF 本文提出了一種輕量級RFID 認證協(xié)議。該協(xié)議使用多級PUF 運算和漢明距離驗證方式實現(xiàn)了數(shù)據(jù)的加密傳輸,減小了標簽計算量。同時結(jié)合RRAM PUF 的建模和特殊糾錯算法提高了協(xié)議的認證可靠性。分析表明,本文提出的協(xié)議可以抵御各種已知的攻擊方式并且具有較高的可靠性。與相關(guān)協(xié)議對比,該協(xié)議擁有更高的安全性和更低的計算開銷。最后,使用RTL 構(gòu)建了RRAM PUF 的行為級模型并將協(xié)議應(yīng)用到了標簽數(shù)字基帶中,完成了設(shè)計與仿真。此外RRAM PUF 還具有可重構(gòu)性的優(yōu)點,這將是今后研究的重點。