董永興 徐金甫 李軍偉
(解放軍信息工程大學(xué) 河南 鄭州 450001)
當(dāng)今社會,傳統(tǒng)密碼安全手段受到新興攻擊技術(shù)的威脅越來越大。物理不可克隆函數(shù)(Physical Unclonable Function,PUF)因其不可克隆性和不可預(yù)測性等優(yōu)良特性,在信息安全領(lǐng)域具有十分巨大的應(yīng)用潛力[1-2]。目前大部分的物理不可克隆函數(shù)是基于現(xiàn)場可編程門陣列(FPGA)實現(xiàn)的。FPGA作為一種半定制電路,可根據(jù)用戶需求進(jìn)行編程與配置,具有靈活性高、可重復(fù)配置等優(yōu)點。但其應(yīng)用于PUF時,缺點也很明顯。尤其是對于延時類的PUF而言,電路的布局布線嚴(yán)重影響輸出結(jié)果,這導(dǎo)致電路的輸出結(jié)果出現(xiàn)一定的偏差。
為了解決這一問題,許多研究者采用專用集成電路(Application Specific Integrated Circuit,ASIC)設(shè)計PUF電路。針對ASIC電路設(shè)計成本高、周期長等特點,文獻(xiàn)[3-5]使用Monte Carlo仿真方法,模擬工藝和環(huán)境的變化,驗證所設(shè)計PUF的電路性能。
隨著對PUF研究的不斷深入,國內(nèi)外學(xué)者提出了多種針對PUF電路的攻擊技術(shù)[6-8]。文獻(xiàn)[6]采用機器學(xué)習(xí)的邏輯回歸(Logistic Regression, LR)和演化策略(Evolution Strategies, ES)對多種PUF電路成功攻擊并實現(xiàn)預(yù)測。文獻(xiàn)[7-8]從理論上描述了PUF激勵響應(yīng)行為,配合相應(yīng)的算法攻擊PUF。機器學(xué)習(xí)對PUF電路實現(xiàn)攻擊的主要原因是PUF電路的結(jié)構(gòu)相對固定,產(chǎn)生的大量激勵響應(yīng)對具有一定的線性特性,使得機器學(xué)習(xí)能夠預(yù)測延遲信息和生成信息之間的關(guān)系,從而實現(xiàn)對電路的攻擊。因此,增強電路的非線性特性成為研究重點關(guān)注的問題。
文獻(xiàn)[9]提出了一種利用門電路之間的延遲變量生成非線性毛刺波形的Glitch PUF架構(gòu)。通過對電路生成的毛刺信息進(jìn)行獲取、抖動校正、采樣等操作,實現(xiàn)毛刺信息與輸出信息的轉(zhuǎn)化。文獻(xiàn)[10]提出一種基于信號傳輸理論的Glitch PUF方案。該方案利用毛刺信號的非線性特性抵抗建模攻擊,采用多級延遲采樣電路實現(xiàn)輸出響應(yīng),并用Monte Carlo仿真驗證電路的性能。但為了保證性能,上述電路增加了輔助電路,增大了資源消耗。
在保證電路在具有良好非線性特性的同時令資源消耗較小是本文關(guān)注的重點。本文提出一種基于延時控制的Glitch PUF電路結(jié)構(gòu)(Delay Controlled Glitch PUF, DC-Glitch PUF)。通過提取組合邏輯電路門的傳輸延時,控制路徑延時差,采用T觸發(fā)器采樣電路輸出波形。利用延時模塊控制不同路徑的波形到達(dá)T觸發(fā)器的時間,使其達(dá)到良好的性能。在TSMC 65 nm CMOS工藝下,使用Monte Carlo仿真驗證電路的性能。
Glitch PUF首先由Anderson等[11]提出,該PUF基于FPGA實現(xiàn),電路利用傳輸路徑延時的不同產(chǎn)生毛刺,毛刺決定單元電路的輸出結(jié)果,輸入不同的激勵信號選擇不同單元電路“異或”輸出響應(yīng)。此結(jié)構(gòu)的問題在于單元電路是靜態(tài)輸出,不能完全保證信息的安全。因此,非線性毛刺的動態(tài)輸出是關(guān)鍵所在。Suzuki等[9]提出了一種新的Glitch PUF架構(gòu),通過隨機放置各種組合邏輯門,利用門延時和邏輯轉(zhuǎn)換延時的不同,產(chǎn)生不同寬度的毛刺,保證了毛刺產(chǎn)生與輸入數(shù)據(jù)的非線性。但為了有效采集信號,增加了抖動校正和資源消耗較大的采樣電路。針對Glitch PUF的性能和應(yīng)用場景而言,電路毛刺的產(chǎn)生和電路的輕量級屬性是非常重要的。
毛刺與Glitch PUF的性能密切相關(guān)。由于Glitch PUF依靠產(chǎn)生的毛刺信號決定電路的輸出結(jié)果,因此,毛刺信號的峰值、寬度與非線性特性是Glitch PUF電路架構(gòu)關(guān)注的重點。
組合邏輯電路的毛刺主要是由競爭冒險現(xiàn)象產(chǎn)生的。電路信號在傳輸過程中,通過門電路和電路連線時會有一定的延時,邏輯翻轉(zhuǎn)也需要一定的轉(zhuǎn)換時間。這使得電路信號在實際電路中傳輸時,到達(dá)邏輯門輸入端的時間不同,邏輯的變化也有先后,從而導(dǎo)致電路出現(xiàn)意想不到的尖峰信號,這就是毛刺信號,其產(chǎn)生往往具有非線性特性。
毛刺產(chǎn)生受諸多因素的影響,如溫度、電壓和噪聲等。在不考慮外界因素的影響下,電路本身的特性也會導(dǎo)致毛刺產(chǎn)生。
圖1 簡單電路競爭冒險現(xiàn)象
對于邏輯組合電路而言,電路信號輸入的順序和傳輸延時也會影響到電路的輸出。如圖2所示,信號C到達(dá)“與”門的時間不同會使得電路輸出結(jié)果不同。若C先于A、B到達(dá)“與”門,則電路出現(xiàn)狹窄的尖峰脈沖;反之,則電路輸出不會產(chǎn)生毛刺信號。因此,實際電路中延時對于毛刺的產(chǎn)生有非常重要的作用。
圖2 多輸入組合邏輯電路產(chǎn)生毛刺的情況
經(jīng)過前文分析,毛刺的產(chǎn)生與電路延時息息相關(guān)。由于傳輸路徑的脈沖過濾限制和邏輯門存在慣性延遲,導(dǎo)致產(chǎn)生的毛刺不一定能全部傳遞到輸出端。只有脈沖寬度大于慣性延遲的毛刺,才可以經(jīng)由邏輯門輸出。因此,為保證良好的電路性能,控制電路毛刺信號的產(chǎn)生是十分重要的。
以“異或”門為例,如圖3所示,w為輸入信號x1和x2的延時差寬度。當(dāng)w大于慣性延遲d時,產(chǎn)生的毛刺可以輸出;反之,輸出端不會輸出邏輯1。當(dāng)w=d時,毛刺波形有50%的概率輸出。
圖3 “異或”門的慣性延遲影響毛刺輸出
本文在毛刺產(chǎn)生模塊的路徑上增加延時調(diào)節(jié)模塊,用以改變毛刺的寬度,以期提高電路性能。如圖4所示,多路不同數(shù)量的緩沖器鏈連接到多路數(shù)據(jù)選擇器,選擇信號S通過數(shù)據(jù)選擇器選擇不同的延時路徑輸出波形。延時調(diào)節(jié)模塊不同路徑延時的大小不僅與緩沖器數(shù)量有關(guān),而且與器件參數(shù)有關(guān)。溝道長度和寬度的不同、閾值電壓的差別、金屬連線等都會使延時大小不同。因此,即使是相同的選擇信號,延時也存在差異,使得電路隨機性增加。
圖4 延時調(diào)節(jié)模塊
電路的邏輯會影響電路毛刺的產(chǎn)生。本文借鑒競爭冒險電路,采用“與非”門和“非或”門相結(jié)合,使用“異或”門輸出波形。如圖5所示,Delay單元為延時調(diào)節(jié)模塊。本文采用四級延遲,選擇信號S[1∶0]用于控制路徑的延時。x1、x2、x3、x4為輸入信號,Y為輸出。通過控制延遲調(diào)節(jié)模塊的選擇信號,使得不同路徑的延時不同,以此調(diào)節(jié)信號到達(dá)邏輯門的先后順序,控制毛刺信號的寬度。
圖5 毛刺產(chǎn)生模塊
為使得電路產(chǎn)生的毛刺寬度對延遲調(diào)節(jié)模塊更敏感,本文采用“異或”門樹網(wǎng)絡(luò),如圖6所示。電路增加了輸入信號的數(shù)量,增強了產(chǎn)生毛刺的非線性特性,增加其抗建模攻擊屬性。延遲調(diào)節(jié)模塊選擇不同的延遲大小,使得信號到達(dá)“異或”門的時間不同,對毛刺的產(chǎn)生和能否傳遞到輸出端有重要影響。
圖6 延時敏感型毛刺產(chǎn)生模塊
當(dāng)毛刺產(chǎn)生模塊輸出波形后,需要采樣電路將波形轉(zhuǎn)化為響應(yīng)比特位。如何在極短時間內(nèi)準(zhǔn)確采樣產(chǎn)生的脈沖信號并輸出響應(yīng)是Glitch PUF電路設(shè)計的關(guān)鍵。最普遍的思想就是提高時鐘采樣精度,使用多相位時鐘采集波形,但這樣做會使得電路資源消耗增大。
文獻(xiàn)[9]與文獻(xiàn)[10]采用了相同的采樣電路,如圖7所示。信號波形輸入后,通過緩沖器對波形延時傳遞,使用D觸發(fā)器采樣不同時刻的波形并輸出邏輯值。電路存在毛刺波形與無毛刺波形相比,輸出位bi會有所不同,如圖8所示。雖然這樣的采集方案減少了時鐘線的資源消耗,但為了保證有效的采樣精度,增加了緩沖器和D觸發(fā)器的數(shù)量,使電路資源消耗也增多。
圖7 延遲采樣電路
圖8 不同波形下的采樣結(jié)果
不同于文獻(xiàn)[9-10]提出的通過使用延時電路采樣信號波形的思想,本文提出利用波形產(chǎn)生毛刺數(shù)量的奇偶性來判決生成響應(yīng)值,使用T觸發(fā)器采樣毛刺產(chǎn)生模塊電路的輸出。
T觸發(fā)器輸入端置“1”,輸出波形連接至T觸發(fā)器時鐘端,Q端輸出,如圖9所示。當(dāng)波形有偶數(shù)個上升沿時,Q端輸出為“1”,反之,輸出為“0”。當(dāng)毛刺產(chǎn)生模塊輸出的毛刺信號過窄或峰值過低,不足以使得觸發(fā)器輸出翻轉(zhuǎn)時,電路輸出不變。在實際電路運行過程中,難免會出現(xiàn)錯誤翻轉(zhuǎn)的情況,T觸發(fā)器采樣使得電路錯誤翻轉(zhuǎn)次數(shù)為偶數(shù)次時,并不會改變電路的輸出,這增加了電路的魯棒性。
圖9 T觸發(fā)器采樣電路
Glitch PUF電路的架構(gòu)如圖10所示。通過控制單元發(fā)出的S[1∶0]控制毛刺產(chǎn)生模塊中延遲調(diào)節(jié)模塊的延遲大小,C通過數(shù)據(jù)選擇器選擇不同的毛刺波形輸入到采樣電路,采樣電路輸出單比特響應(yīng)。
圖10 電路架構(gòu)
為節(jié)約資源且增加電路的隨機性,本文在單比特響應(yīng)電路的基礎(chǔ)上,設(shè)計多比特Glitch PUF輸出電路結(jié)構(gòu),如圖11所示。每增加一個單比特響應(yīng)電路可增加一位輸出。采用循環(huán)輸入方式,將單比特電路不同的輸出結(jié)果經(jīng)由“異或”門輸出??稍诿總€輸出后接一個采樣T觸發(fā)器,有N個毛刺產(chǎn)生模塊,則可產(chǎn)生N比特不同的輸出。
圖11 多比特響應(yīng)電路結(jié)構(gòu)
不同于Anderson PUF的單元電路靜態(tài)輸出,本文提出的電路架構(gòu)可實現(xiàn)動態(tài)輸出。隨著輸入信號和控制信號的變化,輸出隨之改變,可增強電路的隨機性和安全性。
本文采用TSMC 65 nm CMOS工藝庫,使用Monte Carlo仿真驗證所設(shè)計的Glitch PUF電路性能。毛刺產(chǎn)生模塊的輸入采用偽隨機數(shù)發(fā)生器隨機生成xi,如圖12所示。通過設(shè)置不同的選擇信號S[1∶0],使得路徑延遲不同。圖13為一個毛刺產(chǎn)生模塊的輸出波形與采樣電路輸出波形。由實驗可知,在輸入xi不同時,電路會產(chǎn)生意想不到的尖峰脈沖,而這些尖峰脈沖的出現(xiàn),使得輸出結(jié)果出現(xiàn)變化。但并不是所有的尖峰脈沖都會引起輸出結(jié)果的改變,有些尖峰脈沖的寬度很小或者峰值很低,并不會引起結(jié)果的改變。
圖12 毛刺產(chǎn)生模塊的輸入
圖13 毛刺波形與采樣結(jié)果波形
本文在環(huán)境溫度為27 ℃時,對電路Monte Carlo仿真200次,毛刺波形如圖14所示??梢钥闯觯痰膶挾群头逯挡煌耆恢?。在仿真過程中,電路的采樣結(jié)果會隨著毛刺波形的改變而改變。
圖14 Monte Carlo仿真結(jié)果
電路不采用延遲模塊的結(jié)果顯示,有125次仿真結(jié)果使得采樣電路的輸出為邏輯0,這表示在實際電路制作過程中,所設(shè)計的毛刺產(chǎn)生模塊的唯一性為62.5%。多次實驗顯示,將兩條路徑的延遲差增大時,產(chǎn)生邏輯0數(shù)量減小,最小數(shù)目為103次,電路唯一性達(dá)到48.5%。
PUF電路在運行過程中會受到溫度變化的影響。為驗證電路的穩(wěn)定性,通過Parametric Analysis將仿真溫度區(qū)間設(shè)置為-40~85 ℃,每隔1 ℃仿真一次,共仿真126次。結(jié)果顯示,有18次仿真波形出現(xiàn)錯誤翻轉(zhuǎn),其中有7次波形翻轉(zhuǎn)了偶數(shù)次,導(dǎo)致輸出結(jié)果未發(fā)生變化。因此電路在溫度區(qū)間[-40,85]的穩(wěn)定性為91.3%。在溫度區(qū)間[-10,70]有3次波形發(fā)生翻轉(zhuǎn),電路的穩(wěn)定性為96.3%。
基于延時控制的Glitch PUF與其他相關(guān)論文結(jié)果對比如表1所示??梢钥闯?,基于延時控制的Glitch PUF的唯一性僅次于FRO PUF,但FRO PUF的唯一性僅是在27℃時測量,且采用了精細(xì)的延遲配置線來提升性能。在穩(wěn)定性方面,本文PUF與其他PUF基本持平,但其采樣的溫度范圍更大,更貼近電路的實際使用環(huán)境。因此,本文所設(shè)計的DC-Glitch PUF具有良好的唯一性和穩(wěn)定性,有較高的應(yīng)用價值。
表1 不同PUF性能對比
本文設(shè)計了一種基于延時控制的Glitch PUF電路。通過毛刺產(chǎn)生模塊、延時調(diào)節(jié)模塊、T觸發(fā)器采樣電路等,控制電路路徑延時,調(diào)節(jié)毛刺生成寬度,實現(xiàn)數(shù)據(jù)的比特輸出。在TSMC 65 nm CMOS工藝下,使用Cadence驗證設(shè)計的電路邏輯功能正確,Monte Carlo仿真結(jié)果顯示電路具有良好的唯一性和穩(wěn)定性?;谘訒r控制的Glitch PUF電路利用生成毛刺的非線性特性,可以抵御建模攻擊的威脅,可應(yīng)用于信息安全領(lǐng)域。