汪鵬君,陳 佳,張躍軍,莊友誼,李樂薇,倪 力
(1.溫州大學 電氣與電子工程學院,浙江 溫州 325035;2.寧波大學 信息科學與工程學院,浙江 寧波 315211)
近年來,硬件安全已經(jīng)成為集成電路設計的一個重要指標。面對諸如版圖逆向工程、模型攻擊及測信道攻擊[1-4]等惡意攻擊方式的威脅,芯片設計者們在電路設計時必須考慮硬件安全。物理不可克隆函數(shù)(Physical Unclonable Function,PUF)作為一種安全原語,廣泛應用于設備防偽、用戶認證以及集成電路知識產(chǎn)權(Intellectual Property,IP)核保護等場合[5]。物理不可克隆函數(shù)將芯片制造過程中器件參數(shù)的固有隨機偏差轉化為電路級參數(shù)偏差,產(chǎn)生隨機數(shù)字特征。例如,仲裁器物理不可克隆函數(shù)(Arbiter PUF,APUF)[6]首先利用制造過程中器件閾值電壓變化來獲取電路延遲偏差,然后對延遲偏差進行仲裁,最終產(chǎn)生具有高安全性的數(shù)字密鑰。
物理不可克隆函數(shù)通常被設計為特定的硬件結構添加于目標電路或者利用現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)等實現(xiàn)[7-10]。例如,APUF[7]和環(huán)形振蕩器物理不可克隆函數(shù)(Ring Oscillator PUF,RO PUF)[8]。雖然研究者們對此類物理不可克隆函數(shù)不斷進行改進[11-14],其性能更加優(yōu)越,但仍然不可避免地占用較大的硅片面積。而對于開銷敏感的物聯(lián)網(wǎng)設備,此類物理不可克隆函數(shù)無法有效地應用,低成本物理不可克隆函數(shù)需求日益增長。靜態(tài)隨機存取存儲器(Static Random Access Memory,SRAM) 物理不可克隆函數(shù)[15]利用廣泛存在于電子設備的存儲器來實現(xiàn)物理不可克隆函數(shù)特征提取,無須消耗額外的硬件資源,成為近年來物理不可克隆函數(shù)的研究重點。該物理不可克隆函數(shù)通過提取SRAM單元內隨機上電狀態(tài)產(chǎn)生響應,但重復獲取響應依賴上電循環(huán)。在不允許頻繁斷電的場合,SRAM PUF的應用需要存儲響應,導致其安全性降低。DScanPUF[16]利用可測性設計(Design For Testability,DFT)結構中掃描鏈的延遲偏差特性產(chǎn)生物理不可克隆函數(shù)響應,并將該響應轉化為具有魯棒性的二進制簽名。該物理不可克隆函數(shù)面積開銷較之RO PUF約減少18%,易于集成到電路設計且不影響設計的可測性。但該物理不可克隆函數(shù)僅利用掃描鏈進行偏差數(shù)據(jù)提取,對時鐘頻率要求較高。Register PUF[17]利用建立時間違背時觸發(fā)器采樣數(shù)據(jù)的不確定性產(chǎn)生物理不可克隆函數(shù)數(shù)據(jù),解決存儲型物理不可克隆函數(shù)獲取響應的問題,但需要在原有掃描鏈結構加入數(shù)據(jù)選擇器,產(chǎn)生額外的成本。處理器物理不可克隆函數(shù)[18]則根據(jù)不同芯片在超頻狀態(tài)多次執(zhí)行指令的錯誤差異,設計編碼規(guī)則產(chǎn)生物理不可克隆函數(shù)響應。該物理不可克隆函數(shù)無需專用的硬件開銷,但要求精確的頻率變化和指令的多次重復運行,并且輸出響應位數(shù)較少。在此基礎上,同步物理不可克隆函數(shù)[19]利用固定頻率的反相器鏈延遲偏差引起的寄存器采樣數(shù)據(jù)差異來獲取物理不可克隆函數(shù)數(shù)據(jù),但需要額外配置反相器鏈及寄存器。
針對上述問題,筆者提出一種基于路徑敏化的軟物理不可克隆函數(shù)(Software PUF,SPUF)設計方案。不同于依賴額外電路作為隨機源的硬物理不可克隆函數(shù)設計,軟物理不可克隆函數(shù)[20]利用設備非正常工作的錯誤信息,提取硬件隨機工藝偏差,建立錯誤信息與硬件特征的響應關系。所提軟物理不可克隆函數(shù)方案先將電路固有時序路徑的延遲偏差與寄存器的亞穩(wěn)態(tài)相結合,獲取軟物理不可克隆函數(shù)的偏差數(shù)據(jù),增強設備的安全性;然后利用掃描鏈輸出偏差數(shù)據(jù),進一步避免專用面積開銷升高;最后通過統(tǒng)計不同超頻時鐘信號觸發(fā)下錯誤路徑條數(shù),得到二進制物理不可克隆函數(shù)響應并進行相關性能評估。
靜態(tài)時序分析是同步電路綜合和物理實現(xiàn)的主要考慮因素之一。在時序分析中,數(shù)據(jù)路徑延遲Tpath需滿足下面的不等式關系:
Tpath≤tclk+tskew-tsetup,
(1)
其中,Tpath由觸發(fā)器傳輸延遲tcq和觸發(fā)器間組合邏輯延遲tcomb組成;tclk為時鐘周期;tskew為時鐘信號傳播到觸發(fā)器時鐘輸入端的延遲差,即時鐘偏斜;tsetup為觸發(fā)器建立時間。當邊沿信號輸入時,若Tpath滿足此條件,則該路徑的后一級觸發(fā)器采樣到跳變后信號,數(shù)據(jù)傳輸成功。若Tpath不滿足式(1),而滿足式(2),則后一級觸發(fā)器采樣到跳變前信號,數(shù)據(jù)傳輸失敗。
Tpath≥tclk+tskew+thold,
(2)
其中,thold為觸發(fā)器保持時間。
若Tpath不滿足式(1)和式(2),則后一級觸發(fā)器進入亞穩(wěn)態(tài),受觸發(fā)器特性影響隨機輸出0或1。如圖1所示,根據(jù)路徑①(虛線路徑)的Tpath大小,采樣觸發(fā)器Q端輸出數(shù)據(jù)存在3種可能情況:低電平、高電平和亞穩(wěn)態(tài)。雖然Q端輸出可能出現(xiàn)亞穩(wěn)態(tài),但最終恢復到穩(wěn)定狀態(tài)。

圖1 路徑延遲與建立、保持時間關系
采用TSMC 65 nm工藝,分別對單個與非門和路徑①組合邏輯電路進行1 000次蒙特卡羅仿真,統(tǒng)計的延遲分布如圖2所示。由圖2可知,與非門的延遲時間服從均值為27.29 ps、標準差為2.77 ps的正態(tài)分布,不同與非門之間存在明顯的延遲偏差。同時,多個門電路的累計延遲也服從正態(tài)分布,導致相同芯片同一時序路徑間不可避免地存在延遲差異。若在一定程度上超頻,由于存在隨機延遲偏差,則路徑中傳播的邊沿信號可能位于不同的延遲區(qū)間,一部分路徑中信號傳輸失敗,而另一部分路徑傳輸成功,從而產(chǎn)生芯片間的隨機特征差異。

圖2 路徑延遲的蒙特卡羅仿真
若不添加額外電路開銷,則芯片的隨機偏差體現(xiàn)在時序路徑的延遲方面。為選擇產(chǎn)生偏差數(shù)據(jù)的時序路徑,使給定的激勵產(chǎn)生對應的響應,需要施加合適的輸入進行路徑敏化。路徑敏化[21]是指通過改變電路輸入使信號跳變在路徑中傳播,即路徑被輸入信號敏化。如圖1所示,令組合邏輯輸入向量為Vi(A,B,C),當電路輸入使V1(0,1,0)變化至V2(0,0,0)時,下降沿脈沖信號經(jīng)過G2、G3和G4傳播至D端,輸出上升沿脈沖信號,路徑①被敏化;當電路輸入使V3(0,1,0)變化至V4(1,1,0)時,上升沿脈沖信號經(jīng)過G1和G4傳播至D端,路徑②被敏化。因此,不同的電路輸入組合敏化不同的路徑。由路徑延遲關系可知,在一定周期的時鐘輸入和不同數(shù)據(jù)輸入信號組合下,數(shù)據(jù)傳輸失敗的路徑條數(shù)不同。本設計利用寄存器輸出亞穩(wěn)態(tài)與路徑延遲偏差兩種隨機源,將時鐘信號和數(shù)據(jù)信號作為物理不可克隆函數(shù)激勵,錯誤路徑條數(shù)的二進制碼作為響應,建立物理不可克隆函數(shù)的激勵響應關系。
仲裁器物理不可克隆函數(shù)利用路徑延遲偏差來獲取物理不可克隆函數(shù)響應,其結構如圖3所示。該物理不可克隆函數(shù)主要包括多個開關模塊級聯(lián)組成的延遲鏈以及一個仲裁器,其中每個開關模塊由一位激勵控制,末端級聯(lián)一個D觸發(fā)器(D Flip-Flop,DFF)作為仲裁器。通過改變激勵選取不同的兩條路徑,使同時發(fā)起的邊沿信號到達仲裁器輸入端的時間不同,從而輸出一位物理不可克隆函數(shù)響應。與APUF不同,路徑敏化通過對邏輯門施加非控制值,使邊沿信號在邏輯門中傳播,選取偏差數(shù)據(jù)產(chǎn)生路徑。如圖3所示,令Mn和Mn+1分別為1和0,使與門和或門的其中一個輸入變?yōu)榉强刂浦担线呇匦盘杺鞑ブ劣|發(fā)器D端。通過路徑敏化復用電路固有結構,避免物理不可克隆函數(shù)偏差數(shù)據(jù)產(chǎn)生的面積開銷上升。此外,APUF的延遲與輸出響應存在線性關系,容易受機器學習攻擊。而路徑敏化方法選取路徑的復雜程度更高,可增強物理不可克隆函數(shù)響應的安全性能。

圖3 路徑選取方式比較
路徑敏化可以將信號跳變在時序路徑中傳播,而路徑延遲偏差可以產(chǎn)生物理不可克隆函數(shù)特征數(shù)據(jù)。為直觀地呈現(xiàn)這些特征數(shù)據(jù),采用掃描鏈結構進行偏差數(shù)據(jù)提取。該結構作為電路設計引入的標準DFT組件,用于提高電路內部節(jié)點的可控性和可觀察性。
偏差數(shù)據(jù)提取結構如圖4所示,可分為組合邏輯電路和掃描鏈兩部分。其中,組合邏輯為電路固有資源,PI和PO為電路輸入和輸出端。掃描鏈由掃描觸發(fā)器(Scan Flip-Flop,SFF)構成,SFF中包括一個DFF和一個二輸入選擇器。SI、SE分別為掃描數(shù)據(jù)端和測試控制端。SFF的輸出端直接連入下一個SFF的SI端,使該觸發(fā)器在實現(xiàn)原本的功能外,還可以構成移位寄存器。電路正常工作時的數(shù)據(jù)流向如實線箭頭所示,通過特定輸入激勵敏化組合邏輯路徑。當電路處于掃描模式時,數(shù)據(jù)流向如虛線箭頭所示,通過掃描鏈將存儲值逐位移出。

圖4 偏差數(shù)據(jù)提取結構
基于上述結構,偏差數(shù)據(jù)提取可分為兩個階段。如圖5所示,當SE為低電平時,DFF的D端與Q端分別連接組合邏輯電路,此時觸發(fā)器起到存儲電路內部節(jié)點的作用,電路處于正常工作模式。在該階段內,PI端輸入信號先敏化所選路徑,使信號跳變在各路徑中傳播;然后通過時鐘邊沿觸發(fā),路徑的后一級DFF對數(shù)據(jù)進行采樣;最終各條路徑傳播的信號都存儲到DFF中。當時鐘信號的周期減小至電路出現(xiàn)時序違例時,部分路徑數(shù)據(jù)傳輸失敗,導致DFF存儲錯誤數(shù)據(jù)。當SE切換為高電平時,SI端與觸發(fā)器D端相連,使各DFF級聯(lián)構成移位寄存器,將存儲的內部信號串行輸出。通過上述兩個階段,電路輸出包含錯誤信號的數(shù)據(jù),錯誤路徑條數(shù)可以通過將該數(shù)據(jù)與正常頻率時鐘信號觸發(fā)的輸出數(shù)據(jù)進行異或得到。

圖5 偏差數(shù)據(jù)提取過程
物理不可克隆函數(shù)響應產(chǎn)生時序如圖6所示,采用多個測試激勵敏化多條路徑獲取響應。

圖6 物理不可克隆函數(shù)響應產(chǎn)生時序
響應產(chǎn)生過程分為3個階段,按照先后順序分別為觸發(fā)器狀態(tài)初始化、偏差數(shù)據(jù)產(chǎn)生以及響應輸出。以敏化單條路徑為例,響應數(shù)據(jù)產(chǎn)生具體過程如下所述:首先在正常時鐘信號觸發(fā)下將SE置為高電平,SI端輸入信號經(jīng)過多個周期的移位置入到各個觸發(fā)器;然后將SE置為低電平并減小時鐘信號的周期長度,同時在電路PI端輸入激勵信號敏化所選路徑,使前一級觸發(fā)器Q0端產(chǎn)生上邊沿信號并傳播至下一級觸發(fā)器D1端。在實際電路中,信號的傳播存在延遲。由于集成電路制造過程中的隨機工藝偏差導致路徑延遲在一定范圍內變化,使路徑輸出結果產(chǎn)生差異。若忽略時鐘偏斜等因素,則路徑輸出結果如下:
(3)
分析圖6中“偏差產(chǎn)生”的原因,當信號變化經(jīng)過Tpath傳播到D1端的時刻,位于建立時間和保持時間范圍外時,Q1根據(jù)邊沿信號具體延遲情況輸出1或0,即路徑傳輸數(shù)據(jù)成功或失??;當該時刻位于建立時間和保持時間范圍內時,Q1受觸發(fā)器內部器件參數(shù)偏差影響隨機輸出0或1。最后,SE切換為高電平,若干個周期后Q1端信號通過移位寄存器輸出。
在偏差產(chǎn)生階段,時鐘信號的周期需要小于關鍵路徑延遲時間。在合適的時鐘信號觸發(fā)下,多組測試激勵被輸入到電路PI端以敏化多條路徑。該階段結束后各觸發(fā)器先儲存路徑輸出結果,然后在響應輸出階段得到一串二進制數(shù)據(jù),最后將該數(shù)據(jù)與正常工作時鐘信號觸發(fā)下的輸出進行異或得到響應數(shù)據(jù)。處理器物理不可克隆函數(shù)通過設置指令錯誤閾值,并進行特定編碼產(chǎn)生響應。由于響應中0和1的比例具有一定程度的偏向性以及測試芯片數(shù)過少,該物理不可克隆函數(shù)的惟一性較低。同步物理不可克隆函數(shù)根據(jù)固定時鐘觸發(fā)后延遲鏈中信號傳播成功或失敗,分別輸出1或0。同樣,由于工藝偏差影響的延遲波動范圍有限以及不恰當?shù)捻憫幋a方式,導致同步物理不可克隆函數(shù)的響應具有較強偏向性,因此該物理不可克隆函數(shù)惟一性也較低。本設計由于路徑延遲受工藝偏差影響有限且未參考文獻[16]設計專用測量時鐘產(chǎn)生電路,響應輸出階段的錯誤比特數(shù)目無法在0至總比特數(shù)范圍內變化。二進制輸出數(shù)據(jù)的異或結果同樣具有較強的0偏向性,不適合直接作為最終響應。鑒于此,筆者在偏差產(chǎn)生階段先進行了多次時鐘信號激勵,然后采集各個時鐘信號觸發(fā)的路徑輸出并進行錯誤路徑統(tǒng)計。最終的物理不可克隆函數(shù)響應由錯誤路徑條數(shù)的二進制碼組成,具體方式如下:首先敏化2n條路徑,在m個不同時鐘信號觸發(fā)下依次統(tǒng)計錯誤路徑條數(shù)Ei,i=1,2,…,m;然后將錯誤路徑數(shù)轉化為n位二進制數(shù)Bi;最后將各個二進制數(shù)拼接為物理不可克隆函數(shù)響應B1B2…Bm。通過這種響應提取方式,各個時鐘信號觸發(fā)下錯誤路徑條數(shù)的二進制碼隨機組合,物理不可克隆函數(shù)激勵響應空間增大。采用錯誤路徑條數(shù)的二進制碼作為物理不可克隆函數(shù)響應,在錯誤路徑條數(shù)變化受限的條件下提高了響應翻轉比特數(shù),可以在一定程度上減弱數(shù)據(jù)的偏向性。此外,筆者提出的響應提取方式通過組合多個時鐘采樣頻率的錯誤路徑條數(shù)擴展響應位數(shù),進一步提高了響應的隨機性。
采用TSMC 65 nm CMOS工藝來實現(xiàn)軟物理不可克隆函數(shù),并對其進行性能評估。選擇ISCAS-89系列的s400電路作為軟物理不可克隆函數(shù)硬件載體,利用Design Compiler工具添加掃描鏈,其中SFF數(shù)量共計21個。路徑敏化的物理不可克隆函數(shù)激勵由自動測試向量生成(Automatic Test Pattern Generation,ATPG)工具TetraMAX產(chǎn)生,路徑條數(shù)選擇為128,電路網(wǎng)表及路徑延遲分布如圖7所示。最后利用Hspice工具分別施加8個不同時鐘信號進行仿真,并統(tǒng)計錯誤路徑條數(shù)。

圖7 電路網(wǎng)表與路徑延遲分布
芯片特征的惟一性[22]由漢明距離(Hamming Distance,HD)來衡量,即通過統(tǒng)計任意兩個物理不可克隆函數(shù)響應之間不同比特個數(shù)占總比特數(shù)百分比的方式衡量,理想情況下占比為50%。k個物理不可克隆函數(shù)的唯一性計算方式如下:
(4)
其中,Ri和Rj表示第i和第j個物理不可克隆函數(shù)在相同激勵下的輸出響應,n代表響應位數(shù),DH(Ri,Rj)為輸出響應之間的漢明距離。
如圖8所示,統(tǒng)計50次蒙特卡羅仿真輸出響應的漢明距離及其出現(xiàn)頻率,所得結果服從數(shù)學期望μ=0.475 8,標準差σ=0.080 4的正態(tài)分布。通過式(4)計算,可得惟一性為47.58%,表明該物理不可克隆函數(shù)可以提供惟一性較高的簽名來識別每個芯片。

圖8 物理不可克隆函數(shù)響應漢明距離分布
隨機性按物理不可克隆函數(shù)輸出邏輯1的概率計算。在理想情況下,邏輯0和1概率均為50%,經(jīng)過統(tǒng)計得到輸出響應中1的概率為49.68%。信息熵[23]是一個用來衡量比特流隨機性的指標,可按下式計算:

(5)
其中,p(r)為響應中0或1的概率。依據(jù)式(5)計算出物理不可克隆函數(shù)響應的熵值分布如圖9所示。由圖可知,各組響應信息熵最低為0.977,表明所提基于路徑敏化的軟物理不可克隆函數(shù)輸出響應具有較高的隨機性。

圖9 物理不可克隆函數(shù)的響應熵值分布

表1 不同算法對不同類型 PUF的預測準確率 %
機器學習攻擊是針對強物理不可克隆函數(shù)的有效攻擊方式之一。攻擊者首先收集一定數(shù)量的物理不可克隆函數(shù)激勵響應對(Challenge Response Pair,CRP),然后得到激勵響應集合訓練預測模型,最后通過預測模型獲取完整的物理不可克隆函數(shù)激勵響應對。筆者采用文獻[24-25]中的邏輯回歸(Logistic Regression,LR)和多層感知機(MultiLayer Perceptron,MLP)算法對物理不可克隆函數(shù)抗建模能力進行測試與評估,訓練集選擇為CRP集合的80%。因所采用的s400測試電路規(guī)模受限,選擇s9234電路進行仿真,收集1 000組CRP,并將測試結果與APUF、XOR APUF進行對比。如表1所示,兩種算法對文中軟物理不可克隆函數(shù)的預測準確率均低于APUF和XOR APUF,表明結合延遲型和存儲型兩種隨機源產(chǎn)生響應,可在一定程度上增加機器學習建模的難度。通過文獻[16]可知,物理不可克隆函數(shù)可以通過增加信息熵和減少訓練集大小的方式抵抗機器學習攻擊,因此最直接且簡單的方法為增加物理不可克隆函數(shù)的CRP數(shù)目。但是,APUF或XOR APUF采用該方法將增大面積開銷和制造成本。筆者所提軟物理不可克隆函數(shù)可通過敏化更多的路徑獲得大量的激勵響應對,由于路徑是電路的固有資源,不會增加制造成本。因此,該物理不可克隆函數(shù)具有抵抗機器學習攻擊的能力。
筆者所提軟物理不可克隆函數(shù)與不同類型的物理不可克隆函數(shù)性能比較如表2所示。
由表2可知,基于路徑敏化的軟物理不可克隆函數(shù)與文獻[12]相比,惟一性較低,因為APUF通過比較對稱路徑的延遲產(chǎn)生一位響應,不具備明顯的數(shù)據(jù)偏向性。與文獻[16]相比,所提的軟物理不可克隆函數(shù)的惟一性也較低,因為DScanPUF通過設計專用的測量時鐘產(chǎn)生電路,提高了響應的惟一性。與文獻[17]相比,二者惟一性和隨機性水平相同,但APUF、DScanPUF和Register PUF需要額外的偏差產(chǎn)生電路,增加了硬件開銷。與文獻[18-19]相比,由于本研究在前者的基礎上對響應產(chǎn)生方案進行了改進,所提軟物理不可克隆函數(shù)具有較高的惟一性。

表2 不同類型PUF性能對比
利用路徑延遲偏差引起的觸發(fā)器采樣異常,筆者提出一種多熵源軟物理不可克隆函數(shù)設計方案。該方案在超頻下通過輸入激勵敏化電路固有路徑,產(chǎn)生反映芯片特征的隨機序列。由于所提物理不可克隆函數(shù)設計采用普遍存在于大規(guī)模集成電路設計中的掃描鏈結構,因此無須額外電路設計便可獲取物理不可克隆函數(shù)數(shù)據(jù)。同時,該物理不可克隆函數(shù)結合延遲型和存儲型兩種隨機熵源,大大增加了物理不可克隆函數(shù)電路的安全性,可為極端資源受限系統(tǒng)的高安全性問題提供解決途徑,為物聯(lián)網(wǎng)的發(fā)展提供安全保障。