加速硬件木馬觸發(fā)的電路安全可測性設(shè)計方法及對硬件木馬的檢測方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種能加速硬件木馬觸發(fā)的電路安全可測性設(shè)計方法,尤其是一種通過在電路設(shè)計階段添加額外電路從而使得硬件木馬更容易觸發(fā)的設(shè)計方法與檢測流程,尤其適合檢測需要較長時間才會觸發(fā)的硬件木馬。
【背景技術(shù)】
[0002]隨著集成電路產(chǎn)業(yè)朝著全球合作的趨勢發(fā)展,在集成電路產(chǎn)業(yè)鏈環(huán)節(jié)上,有越來越多的第三方參與,使得集成電路在設(shè)計與制造過程中不受控的因素越來越多,由此引發(fā)了對集成電路安全性的擔(dān)憂。由于第三方不受控環(huán)節(jié)的參與,集成電路在設(shè)計與制造過程中很容易遭到惡意修改,并被植入硬件木馬。這些硬件木馬有的會改變電路的功能,降低電路的性能,縮短電路的壽命,甚至有的會泄露電路內(nèi)部的機密信息,從而嚴重影響集成電路以及使用該集成電路的信息化設(shè)備的安全性,如斯諾登棱鏡門事件。
[0003]目前國內(nèi)外已經(jīng)有很多針對集成電路內(nèi)可能含有的硬件木馬的檢測方法的研宄。目前的硬件木馬檢測方法中研宄最多的是基于旁路分析的檢測技術(shù)以及基于邏輯測試的檢測技術(shù)?;谂月贩治龅臋z測主要是利用芯片工作時的旁路信息(如電磁輻射,電流或者電路延時等信息)來對硬件木馬進行檢測。其原理是因為電路中植入的硬件木馬會對芯片的旁路信號,如電流,頻率或路徑延時產(chǎn)生影響,因此通過觀察芯片的旁路信號并與原始芯片的旁路信息作比較,進而檢測出芯片中是否有硬件木馬的存在?;谶壿嫓y試的硬件木馬檢測,主要是通過功能與結(jié)果測試的方法,即產(chǎn)生各種各樣的測試向量,通過觀測測試向量的輸出是否滿足預(yù)期值來判斷電路內(nèi)部是否含有硬件木馬。
[0004]上述兩類方法能夠在一定程度上,對某一類特定的硬件木馬進行檢測,但都依賴于需要觸發(fā)硬件木馬或者需要硬件木馬一直處于工作狀態(tài)從而影響電路功耗與頻率關(guān)系,以及路徑延遲等信息。但對于較長時間才會觸發(fā)的硬件木馬,上述兩類方法較難進行有效的檢測。
【發(fā)明內(nèi)容】
[0005]基于此,本發(fā)明提供一種加速硬件木馬觸發(fā)的電路安全可測性設(shè)計方法,包括以下步驟:
a)、完成原始電路的功能設(shè)計與驗證,
b)、選擇一個高于正常工作時的時鐘頻率作為安全性測試模式下的時鐘頻率;
c)、通過配置一個內(nèi)部寄存器來選擇電路的正常工作模式還是安全性測試模式,且該寄存器應(yīng)為用戶不可見;
d)、完成兩種時鐘頻率下的邏輯綜合,掃描鏈插入,布局布線以及靜態(tài)時序分析等設(shè)計工作,并保證兩種頻率下的電路功能與時序都完全正確;
e)、將功能測試的向量用于安全性測試模式,保證電路在安全性測試模式下,功能測試向量也能通過。
[0006]進一步地,步驟b)在選擇一個高于正常工作時的時鐘頻率作為安全性測試模式下的時鐘頻率時,可以有以下規(guī)則:
bl)、根據(jù)想比正常工作時鐘頻率提高的數(shù)量,確定安全性測試模式下的時鐘頻率;b2)、根據(jù)在使用的制造工藝條件下,電路邏輯結(jié)構(gòu)能夠達到的最大頻率來確定安全性測試模式下的時鐘頻率;
b3)、根據(jù)能夠允許的電路面積上限,確定安全性測試模式下的時鐘頻率。
[0007]進一步地,根據(jù)上述任一項電路安全可測性設(shè)計方法的對硬件木馬的檢測方法,包括下述步驟:
fl)、將電路或根據(jù)設(shè)計的電路制作的芯片配置到安全性測試模式下,添加測試激勵,以安全性測試模式下的時鐘頻率進行多次重復(fù)測試;每次測試持續(xù)一個足夠時間段;
f2)、若電路或根據(jù)設(shè)計的電路制作的芯片的輸出響應(yīng)與預(yù)期不符,且每次測試時的不符結(jié)果都相同,則認為電路內(nèi)部含有硬件木馬,且該硬件木馬的植入水平較高,能滿足安全性測試模式下的時序要求;
f3)、若電路或根據(jù)設(shè)計的電路制作的芯片的輸出響應(yīng)與預(yù)期不符,且每次測試時的不符結(jié)果會變化,則也認為電路內(nèi)部含有硬件木馬,且該硬件木馬的植入水平較低,植入過程中破壞了安全性測試模式下的時序要求,造成安全性測試模式下數(shù)據(jù)有時序問題。
[0008]本發(fā)明的技術(shù)效果在于:
電路中的被植入了觸發(fā)時間較長的硬件木馬后,能夠通過本發(fā)明,加快硬件木馬的觸發(fā)速度,從而被檢測出來。
【附圖說明】
[0009]圖1為本發(fā)明的一實施例中的流程示意圖。
[0010]圖2為本發(fā)明的一實施例中同步計數(shù)器型硬件木馬改變CPU內(nèi)核電路節(jié)點邏輯值的示意圖。
【具體實施方式】
[0011]下面結(jié)合具體附圖和實施例對本發(fā)明作進一步說明。
[0012]可測性設(shè)計(DFT,Design for Testability)是在集成電路設(shè)計中非常重要的一環(huán),主要用于檢測芯片在制造過程中是否存在制造缺陷,從而影響到電路的功能,以及成品率。且人們已經(jīng)研發(fā)了多種DFT技術(shù)來更有效的檢測芯片制造中的缺陷。
[0013]但是,對于集成電路內(nèi)是否存在硬件木馬的安全性檢測,目前尚沒有一個如DFT這樣的通用,標準流程。
[0014]當前的針對硬件木馬檢測的技術(shù)如邏輯測試,都需要電路內(nèi)部的硬件木馬觸發(fā),并改變電路內(nèi)部節(jié)點的邏輯值,這樣才能通過觀察輸出來判斷電路內(nèi)部是否含有硬件木馬。但是硬件木馬的觸發(fā)條件眾多,如時序型觸發(fā),即完全依賴電路內(nèi)部的時鐘,當電路運行到某一時間點時,硬件木馬觸發(fā),造成功能性故障。
[0015]這種時序型的硬件木馬,可以靈巧的設(shè)計置觸發(fā)時間,從而避開常規(guī)的各種檢測,從而進入供應(yīng)鏈,進入各種信息化設(shè)備中,造成潛在的威脅。
[0016]邏輯測試是硬件木馬檢測的一種重要手段,通過對電路施加不同的測試激勵,觀穿過輸出響應(yīng)來判斷電路內(nèi)部是否正常工作。
[0017]邏輯測試方法簡單,自動化程度高,適合大規(guī)模的集成電路測試,效率高。
[0018]但是通過邏輯測試來進行硬件木馬的檢測,必須找到硬件木馬的觸發(fā)條件。如果有一類硬件木馬的需要運行后一年才會觸發(fā),那么目前常規(guī)的各種測試方法都無法將其進行檢測。
[0019]針對這類完全由運行時間控制的硬件木馬,其唯一的方法,就是要加速其運行時間,使之提前觸發(fā),從而被測試人員檢測出來。
[0020]本發(fā)明針對上述情況,提出