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

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

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

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

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

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

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

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

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

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

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

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

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