基于無源光學水印的硬件木馬檢測方法
【技術領域】
[0001]本發明涉及一種基于無源光學水印的硬件木馬檢測方法,尤其是一種不需要對電路進行任何電測試,并能克服電路受到工藝噪聲以及測量噪聲的影響,顯著降低硬件木馬的測試復雜度并提高檢測效率的硬件木馬檢測方法。
【背景技術】
[0002]集成電路在設計與制造過程中,往往會涉及到第三方的設計服務及IP(知識產權核)、EDA(電子設計自動化)軟件以及不受控的晶圓廠和封裝測試廠,在這些環節當中,芯片很有可能被人為的修改,比如惡意的增加,刪除或者改變芯片內部原來有電路結構,這類對電路的功能,性能,可靠性,安全性等會產生影響的惡意的電路修改即稱為硬件木馬。由于制造是目前制約我國集成電路發展的最大因素,絕大部分的集成電路都依賴國外的廠商制造,因此這一環節也是電路最容易遭到修改,被植入硬件木馬的環節。
[0003]針對硬件木馬的檢測已經有很多種的方法,目前研宄的最多的就是基于旁路分析的電測試,即是利用芯片工作時的側信道信息(如電磁輻射,電流或者電路延時等信息)來對木馬進行檢測。其原理是因為電路中植入的硬件木馬會對芯片的一些側信道信號,如電流,頻率或路徑延時產生影響,因此通過觀察芯片的側信道信號并與原始芯片的側信道信息作比較,進而檢測出芯片中是否有硬件木馬的存在。對電路進行基于側信道分析的硬件木馬檢測的最大優點是可以使硬件木馬不被觸發的情形下被檢測出來,但是其也有顯著的缺點,即當待測電路的總體規模很大,電路內部被植入的硬件木馬的規模很小,一些側信道信息,比如電流和路徑延時,其變化幅度極小。考慮到測量過程中引入的噪聲,以及芯片制造過程中由于工藝漂移帶來的噪聲,這種極小的側信道信號變化將無法被實際測量出來或者即使被測量出來也難以確定是由于硬件木馬引起的,還是由于測量噪聲,工藝漂移噪聲引起的。且基于旁路分析的測試需要進行極為復雜的電測試以及各種數字信號處理分析,因此檢測成本較高。且該測試方法屬于一種間接的測試方法,即無法最直觀的以肉眼來判斷電路內部是否含有硬件木馬。
[0004]基于光學的檢測方法已經有一些研宄成果,如將待測芯片去封裝,然后使用掃描電鏡等設備對電路一層一層的進行拍照,然后與原始電路的版圖作對比,從而判斷芯片中有無硬件木馬。此方法雖然最為直觀,但是屬于破壞性的檢測,即每檢測一顆芯片,該芯片就被破壞,無法繼續使用。且針對一批芯片中只有少數幾顆芯片含有硬有木馬的情況,這種破壞性檢測的方法有可能漏檢。
【發明內容】
[0005]本發明的目的在于克服現有技術中存在的不足,提供一種不需要進行電測試的基于無源光學水印的硬件木馬檢測方法。它是一種通過在電路設計階段植入一種無源光學水印,然后當電路制造完畢后,直接利用近紅外光線對實際電路進行拍照,通過對實際電路中無源光學水印的位置進行判斷,從而確定實際電路內部是否含有硬件木馬的方法,省去了傳統測試方法中復雜的步驟,并能克服工藝漂移噪聲,測量噪聲等,顯著降低測試復雜度并提高測試的準確度。本發明采用的技術方案是:
一種基于無源光學水印的硬件木馬檢測方法,包括下述步驟:
a)、在電路設計的過程中,在電路中插入一些用于后續修改電路使用的備用單元(spare cell);
b)、修改備用單元,向備用單元內部添加底層金屬,使得修改后的備用單元的金屬密度高于電路中其余的標準單元或者功能單元;
C)、將完成步驟b)后的電路進行仿真,得到電路在被近紅外光線照射后的反射頻譜圖,反射頻譜圖中有備用單元區域的圖案即為無源光學水印;
d)、當電路制造完畢后,利用近紅外光線將實際電路自底向上進行拍照,得到照片即可得到實際電路對近紅外光線的反射圖,反射圖中的水印即為實際的無源光學水印;
e)、將拍照獲得照片中實際的無源光學水印與仿真獲得的無源光學水印進行比較,若照片中的任一無源光學水印位置與仿真中所得到的無源光學水印位置相比,位置變化過大,超過位置變化上限值;或者仿真反射頻譜圖中的水印位置在照片中沒有找到,即水印消失;或者所拍的照片中出現了比仿真反射頻譜圖中更多的類似水印點,則認為實際電路中含有硬件木馬。
[0006]進一步地,
步驟a)中所述的備用單元包括與門,或門,非門,異或門或寄存器中的一種或多種的組合。便于以后電路發生問題需要進行修改時,不需要修改底層的多晶層而重新制作掩膜,可以直接在金屬層通過修改不同單元之間的連線,完成電路功能,性能,甚至可靠性方面的修復,從而顯著降低設計成本。
[0007]進一步地,
步驟a)中,插入備用單元時,按照以下規則之一進行:
al)、將電路按照一定的面積分成多個區域,在每個區域中植入備用單元;
a2)、將電路按照功能模塊分成多個區域,在每個區域中植入備用單元;
a3)、在電路中較難以觸發的電路節點周圍植入備用單元;
a4)、隨機地分布在電路內部。
[0008]進一步地,
步驟b)中對備用單元進行修改時,有如下要求:
bl)、向備用單元內部添加底層金屬,即I層金屬(Metal I);
b2)、添加的底層金屬以不超過目標制造工藝對應的設計規則中的規定的金屬密度上限為準;
進一步地,
步驟c)對電路進行仿真的場景為:用波長為I?2um的近紅外光光線,對底層金屬進行照射,根據底層金屬對光線的不同偏振情況,形成仿真的反射頻譜圖。由于修改后的備用單元底層金屬的密度顯著大于周邊其他的單元,因此其對近紅外光反射形成的圖案明顯區分于周邊的圖案,這些特殊的圖案即形成了無源光學水印。
[0009]進一步地,
步驟d)對實際電路進行近紅外光線拍照時,既可以拍攝整個實際電路的水印照片,也可以將實際電路分成多個區域,并對每個劃分后的區域進行拍照,得到每個區域的水印照片,從而提高水印照片的分辨率。
[0010]進一步地,
步驟e)中將拍照獲得照片中實際的無源光學水印與仿真獲得的無源光學水印進行比較,包括下述步驟:
el)、將仿真得到的無源光學水印與拍照獲得照片中實際的無源光學水印都坐標化,即在二維坐標軸上將所有的水印定位;
e2)、當比較仿真得到的無源光學水印與拍照獲得照片中實際的無源光學水印時,需要對每一對水印進行對比,且每對水印都需要比較兩者在X軸與Y軸上的坐標;
e3)、若仿真得到的無源光學水印與拍照獲得照片中實際的無源光學水印在X軸與Y軸上任一方向的坐標偏差都沒有超過相應方向上的位置變化上限值,則認為電路內部沒有被人為修改,認為實際電路內部不含有硬件木馬;若在X軸與Y軸上任一方向的坐標偏差超過相應方向的位置變化上限值,則認為電路內部結構已被修改,從而影響到了電路中水印的位置,即此認定實際電路內部含有硬件木馬。
[0011]本發明的優點在于:針對傳統方法在檢測硬件木馬時面臨著測試過程復雜,且容易受到工藝漂移器噪聲、測量噪聲的影響從而影響測試準確率的問題,本發明通過此基于無源光學水印的硬件木馬檢測方法,可以不需要進行任何電測試,并且能夠直觀快速地判斷電路內部是否含有硬件木馬。
【附圖說明】
[0012]圖1為本發明在一實施例中的流程示意圖。
[0013]圖2為電路經光學仿真后得到備用單元光反射強度顯著大于周邊功能單元的示意圖。
[0014]圖3為當芯片在制造完畢后進行封裝之前,用近紅外光線自底向上反向拍照后得到的水印位置與功能模塊位置示意圖。
[0015]圖4為實際水印與仿真水印位置發生改變時確定位置改變上限值的示意圖。
【具體實施方式】
[0016]下面結合具體附圖和實施例對本發明作進一步說明。
[0017]硬件木馬是由于電路在設計、制造等不可控環節中,被人為增加,刪除或者修改芯片內部原來有電路結構而形成的。
[0018]一般傳統的檢測硬件木馬的方法都是針對硬件木馬本身進行操作,比如將芯片去封裝后并逐層進行拍照,再與其原始版圖進行直接對比,此檢測方法是以破壞實際電路結構為前提的,很難推廣到實際應用中去。或者是采用邏輯測試與旁路分析的檢測方法,需要進行復雜的電測試與功能測試,且受限于各種噪聲的影響,其檢測分辨率,精度都有一定的局限性。
[0019]本發明的主要方法并不是直接去找硬件木馬本身,而是通過檢查電路內部一些標志的位置與原始版圖相比,其位置是否發生變化,從而來間接地判斷電路內部是否遭到過修改。
[0020]本發明提出的一種基于無源光學水印的硬件木馬檢測方法,即可以最直觀的通過光學的手段來判斷電路內部是否含有硬件木馬,又可以不進行復雜的電測試以及功能測試測試,且經過該方法檢測后的電路不會受到任何損壞,可以在檢測完畢后進行封裝,從而供客戶使用。
[0021]當原始電路被修改后,比如增加了一些邏輯單元,則電路的版圖需要重新進行布局布線,即修改后電路版圖中有些單元的位置與原始版圖相比會發生改變。由于電路中所含的普通功能單元數量極多,且整體電路的面積極大,而單個單元的面積極小,因此如果直接去找普通的用于實現電路功能的單元則極為困難,因為其和周邊相鄰的單元沒有明顯區分性。
[0022]因此需要在電路中插入一些特殊的,可以明顯與電路中其他普通功能單元進行明顯區分單元,形成一種特種的標志,這類特殊的標志即被稱為水印。
[0023]水印的種類有很多,如傳統的物理水印,即在電路中嵌入電路設計者、公司或者電路型號等標記,使得該電路無法被人盜用。
[0024]本發明中利用的是一種無源光學水印,即某種特殊的單元在被某種波長的光線照射后其反射頻譜系數顯著高于周邊的單元,使得這些特殊單元在經過此類波長照射后形成圖像中,形成明顯區分于周邊環境亮