基于有源光學(xué)水印的硬件木馬檢測(cè)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于有源光學(xué)水印的硬件木馬檢測(cè)方法,尤其是一種不需要對(duì)電路進(jìn)行復(fù)雜測(cè)試并能克服電路受到工藝噪聲以及測(cè)量噪聲的影響,尤其適合對(duì)硬件木馬進(jìn)行低復(fù)雜度的檢測(cè)方法。
【背景技術(shù)】
[0002]集成電路在設(shè)計(jì)與制造過(guò)程中,往往會(huì)涉及到第三方的設(shè)計(jì)服務(wù)及IP(知識(shí)產(chǎn)權(quán)核)、EDA(電子設(shè)計(jì)自動(dòng)化)軟件以及不受控的晶圓廠和封裝測(cè)試廠,在這些環(huán)節(jié)當(dāng)中,芯片很有可能被人為的修改,比如惡意的增加,刪除或者改變芯片內(nèi)部原來(lái)有電路結(jié)構(gòu),這類(lèi)對(duì)電路的功能,性能,可靠性,安全性等會(huì)產(chǎn)生影響的惡意的電路修改即稱為硬件木馬。由于制造是目前制約我國(guó)集成電路發(fā)展的最大因素,絕大部分的集成電路都依賴國(guó)外的廠商制造,因此這一環(huán)節(jié)也是電路最容易遭到修改,被植入硬件木馬的環(huán)節(jié)。針對(duì)硬件木馬的檢測(cè)已經(jīng)有很多種的方法,且主要分成兩大類(lèi),即破壞性與非破壞性檢測(cè)。
[0003]破壞性檢測(cè)即是將待測(cè)芯片去封裝,然后使用掃描電鏡等設(shè)備對(duì)電路一層一層的進(jìn)行拍照,然后與原始電路的版圖作對(duì)比,從而判斷芯片中有無(wú)硬件木馬。此方法雖然最為直觀,但只適用于規(guī)模較小的電路,因?yàn)殡S著電路規(guī)模的增大,其難度與耗費(fèi)時(shí)間也會(huì)顯著增加,且針對(duì)一批芯片中只有少數(shù)幾顆芯片含有硬有木馬的情況,這種破壞性檢測(cè)的方法有可能漏檢。
[0004]非破壞性測(cè)試主要包括邏輯測(cè)試與旁路分析測(cè)試。
[0005]邏輯測(cè)試即是在芯片測(cè)試過(guò)程中,輸入不同的測(cè)試向量,觀察輸出的結(jié)果是否匹配,此方法的缺陷是難以產(chǎn)生覆蓋率到達(dá)100%的測(cè)試向量,或者即使產(chǎn)生了 100%覆蓋率的測(cè)試向量,其測(cè)試時(shí)間也極長(zhǎng)。
[0006]旁路分析測(cè)試即是利用芯片工作時(shí)的側(cè)信道信息(如電磁輻射,電流或者電路延時(shí)等信息)來(lái)對(duì)木馬進(jìn)行檢測(cè)。其原理是因?yàn)殡娐分兄踩氲挠布抉R會(huì)對(duì)芯片的一些側(cè)信道信號(hào),如電流,頻率或路徑延時(shí)產(chǎn)生影響,因此通過(guò)觀察芯片的側(cè)信道信號(hào)并與原始芯片的側(cè)信道信息作比較,進(jìn)而檢測(cè)出芯片中是否有硬件木馬的存在。對(duì)電路進(jìn)行基于側(cè)信道分析的硬件木馬檢測(cè)的最大優(yōu)點(diǎn)是可以使硬件木馬不被觸發(fā)的情形下被檢測(cè)出來(lái),但是其也有顯著的缺點(diǎn),即當(dāng)待測(cè)電路的總體規(guī)模很大,電路內(nèi)部被植入的硬件木馬的規(guī)模很小,一些側(cè)信道信息,比如電流和路徑延時(shí),其變化幅度極小??紤]到測(cè)量過(guò)程中引入的噪聲,以及芯片制造過(guò)程中由于工藝漂移帶來(lái)的噪聲,這種極小的側(cè)信道信號(hào)變化將無(wú)法被實(shí)際測(cè)量出來(lái)或者即使被測(cè)量出來(lái)也難以確定是由于硬件木馬引起的,還是由于測(cè)量噪聲,工藝漂移噪聲引起的。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的在于克服現(xiàn)有技術(shù)中存在的不足,提供一種低復(fù)雜度硬件木馬檢測(cè)方法,它是一種通過(guò)在電路設(shè)計(jì)階段植入一種有源光學(xué)水印,然后當(dāng)電路制造完畢后,給電路供電并對(duì)電路拍照,通過(guò)對(duì)電路中有源光學(xué)水印的位置進(jìn)行判斷,從而確定電路內(nèi)部是否含有硬件木馬的方法,省去了傳統(tǒng)測(cè)試方法中復(fù)雜的步驟,并能克服工藝漂移噪聲,測(cè)量噪聲等,顯著降低測(cè)試復(fù)雜度并提高測(cè)試的準(zhǔn)確度。本發(fā)明采用的技術(shù)方案是:
一種基于有源光學(xué)水印的硬件木馬檢測(cè)方法,包括下述步驟:
a)、在原始電路中插入不影響電路功能的一些單元,且一旦電路供電后,這些單元的溫度明顯高于其相鄰周邊區(qū)域,這些插入的單元即被稱為有源光學(xué)水??;
b)、在電路中插入步驟a)中所述的有源光學(xué)水印時(shí),必須按照一定的規(guī)則在電路上進(jìn)行;
C)、將完成步驟b)后的電路進(jìn)行仿真,得到電路的熱分布圖;
d)、當(dāng)電路制造完畢后,直接對(duì)裸芯片進(jìn)行上電測(cè)試,并對(duì)電路用紅外線成像方法進(jìn)行拍照;
e)、將所拍的照片中的水印與仿真得到熱分布圖中的水印進(jìn)行比較,若照片中的任一水印位置與仿真中所得到的水印位置相比,其位置的變化過(guò)大,超過(guò)位置變化上限值;或者仿真圖中的水印位置在照片中沒(méi)有找到,即水印消失;或者所拍的照片中出現(xiàn)了比仿真熱分布圖中更多的類(lèi)似水印點(diǎn),則認(rèn)為該電路中含有硬件木馬。
[0008]具體地,步驟a)在原始電路中植入的單元,包括下列幾類(lèi)中之一: al)、標(biāo)準(zhǔn)單元庫(kù)中所含的任意標(biāo)準(zhǔn)單元;
a2)、定制的電路單元; a3)、二極管、三極管、電阻; a4)、各種傳感器電路; a5)、各種電路模塊。
[0009]進(jìn)一步地,步驟b)對(duì)電路植入有源光學(xué)水印時(shí),可以按照以下的規(guī)則之一進(jìn)行: bl)、將電路按照一定的面積分成多個(gè)區(qū)域,在每個(gè)區(qū)域中植入水?。?br> b2)、將電路按照功能模塊分成多個(gè)區(qū)域,在每個(gè)區(qū)域中植入水?。? b3)、在電路中較難以觸發(fā)的電路節(jié)點(diǎn)周?chē)踩胨 ?br>[0010]進(jìn)一步地,步驟c)對(duì)電路進(jìn)行仿真時(shí)得到電路的熱分布圖時(shí),可以采用以下兩種方式之一:
Cl)、添加激勵(lì),在電路進(jìn)行正常工作時(shí)進(jìn)行仿真,從而到電路的熱分布圖; c2)、不添加任何激勵(lì),只保持電路的供電,進(jìn)行仿真,從而得到電路的熱分布圖。
[0011]更進(jìn)一步地,當(dāng)仿真添加激勵(lì)時(shí),步驟d)中將制造完畢的電路添加步驟c)中所用的激勵(lì)進(jìn)行測(cè)試;當(dāng)仿真不添加激勵(lì)時(shí),步驟d)中將制造完畢的電路僅上電進(jìn)行測(cè)試。
[0012]進(jìn)一步地,步驟d)對(duì)電路進(jìn)行紅外線拍照時(shí),既可以拍攝整個(gè)電路的水印照片,也可以將電路分成多個(gè)區(qū)域,并對(duì)每個(gè)劃分后的區(qū)域進(jìn)行拍照,得到每個(gè)區(qū)域的水印照片,從而提高水印照片的分辨率。
[0013]進(jìn)一步地,步驟e)將仿真得到的水印與實(shí)際拍照所得的水印進(jìn)行比較時(shí),需要如下步驟:
el)、將仿真得到的水印與實(shí)際拍照所得的水印都坐標(biāo)化,即在二維坐標(biāo)軸上將所有的水印定位;
e2)、當(dāng)比較仿真得到的水印與實(shí)際拍照所得的水印時(shí),需要對(duì)每一對(duì)水印進(jìn)行對(duì)比,且每對(duì)水印都需要比較兩者在X軸與Y軸上的坐標(biāo);
e3)、若仿真得到的水印與實(shí)際拍照所得的水印在X軸與Y軸上任一方向的坐標(biāo)偏差沒(méi)有超過(guò)相應(yīng)方向上的位置變化上限值,則認(rèn)為電路內(nèi)部沒(méi)有被人為修改,即認(rèn)為電路內(nèi)部不含有硬件木馬;若在X軸與Y軸上任一方向的坐標(biāo)偏差超過(guò)相應(yīng)方向的位置變化上限值,則認(rèn)為電路內(nèi)部結(jié)構(gòu)已被修改,從而影響到了電路中水印的位置,即此認(rèn)定電路內(nèi)部含有硬件木馬。
[0014]若仿真圖中的水印在實(shí)際的照片中沒(méi)有被找到,即水印出現(xiàn)了消失的情況,則也認(rèn)定電路遭到了修改,電路內(nèi)部含有硬件木馬。
[0015]若在實(shí)際的照片中出現(xiàn)了比仿真圖片中更多的類(lèi)似水印點(diǎn),則也認(rèn)定電路遭到了修改,電路內(nèi)部含有硬件木馬。
[0016]本發(fā)明的優(yōu)點(diǎn)在于:針對(duì)傳統(tǒng)方法在檢測(cè)硬件木馬時(shí)面臨著測(cè)試過(guò)程復(fù)雜,且容易受到工藝漂移器噪聲、測(cè)量噪聲的影響從而影響測(cè)試準(zhǔn)確率的問(wèn)題。通過(guò)此方法,可以顯著降低測(cè)試復(fù)雜度,減少各種噪聲的影響,從而高效的,準(zhǔn)確的,更直觀的檢測(cè)出電路內(nèi)部可能含有的硬件木馬。
【附圖說(shuō)明】
[0017]圖1為本發(fā)明在一實(shí)施例中的流程示意圖。
[0018]圖2為電路仿真后得到的熱分布圖中功能模塊與水印位置示意圖。
[0019]圖3為當(dāng)芯片在制造完畢后經(jīng)過(guò)測(cè)試拍照得到的熱分布圖中功能模塊與水印位置的示意圖。
[0020]圖4為實(shí)際水印與仿真水印位置發(fā)生改變時(shí)確定位置改變上限值的示意圖。
【具體實(shí)施方式】
[0021]下面結(jié)合具體附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
[0022]硬件木馬是由于電路在設(shè)計(jì)、制造等不可控環(huán)節(jié)中,被人為增加,刪除或者修改芯片內(nèi)部原來(lái)有電路結(jié)構(gòu)而形成的。
[0023]傳統(tǒng)的檢測(cè)方法如將電路封裝去除并逐層拍照,并與原始電路版圖進(jìn)行對(duì)比;或者是邏輯測(cè)試與旁路分析等方法都是檢測(cè)硬件木馬本身。
[0024]本發(fā)明專利的主要方法并不是直接去找硬件木馬本身,而是通過(guò)檢查電路內(nèi)部一些標(biāo)志的位置與原始版圖相比,是否發(fā)生位置變化,從而來(lái)間接地判斷電路內(nèi)部是否遭到過(guò)修改。
[0025]當(dāng)原始電路被修改后,比如增加了一些邏輯,則電路的版圖需要重新進(jìn)行布局布線,即電路版圖中有些單元的位置與原始版圖相比會(huì)發(fā)生改變。
[0026]由于電路中所含的普通功能單元數(shù)量極多,且整體電路的面積極大,而單個(gè)單元的面積極小,因此如果直接去找普通的用于實(shí)現(xiàn)電路功能的單元?jiǎng)t極為困難,因?yàn)槠浜椭苓呄噜彽膯卧獩](méi)有明顯區(qū)分性。
[0027]因此需要在電路中插入一些特殊的,可以明顯與電路中其他普通功能單元進(jìn)行明顯區(qū)分單元,形成一種特種的標(biāo)志,這類(lèi)特殊的標(biāo)志即被稱為水印。
[0028]水印的種類(lèi)有很多,如傳統(tǒng)的物理水印,即在電路中嵌入電路設(shè)計(jì)者、公司或者電路型號(hào)等標(biāo)記,使得該電路無(wú)法被人盜用。
[0029]本發(fā)明中利用的是一種有源光學(xué)水印,即某種特殊的單元在通電以后,其溫度將明顯高于周邊相鄰單元,從而能被紅外線照相機(jī)等光學(xué)儀器分辨出來(lái),這些特殊單元在經(jīng)熱能敏感的光學(xué)儀器采集到的圖像中會(huì)形成明顯區(qū)分與周邊環(huán)境的亮點(diǎn),這每一個(gè)亮點(diǎn),即構(gòu)成了該電路的有源光學(xué)水印。
[0030]通過(guò)對(duì)上述光學(xué)水印在電路中所處的位置進(jìn)行分析與判斷,即可確定電路在制造過(guò)程中內(nèi)部的單元有沒(méi)有被移動(dòng)位置過(guò),從而判斷電路是否被修改過(guò)。
[0031]下面結(jié)合具體附圖