王力緯 羅宏偉 姚若河
(1.華南理工大學(xué)電子與信息學(xué)院,廣東廣州510640; 2.工業(yè)和信息化部電子第五研究所電子元器件可靠性物理及其應(yīng)用技術(shù)重點實驗室,廣東廣州510610)
對于應(yīng)用于航空電子、金融、交通等安全敏感系統(tǒng)中的集成電路(IC)芯片,需要特別關(guān)注其可靠性、安全性和可信度.但集成電路產(chǎn)業(yè)的全球化趨勢,使得IC芯片的設(shè)計與制造過程相分離,導(dǎo)致IC芯片在外包制造過程中存在風(fēng)險:部分不可信的制造商可能更改IC芯片的原始設(shè)計(如修改掩模板),嵌入所謂的硬件木馬(Hardware Trojan)電路;這些電路能在特定的觸發(fā)條件下被激活,從而泄漏芯片內(nèi)部的敏感信息或擾亂芯片的原始功能,使整個系統(tǒng)失效.由于硬件木馬的潛在危害巨大,而且采用傳統(tǒng)的測試技術(shù)難以檢測,因此,硬件木馬被認(rèn)為是對集成電路安全性的一個重大威脅[1-3].
近年來,人們對硬件木馬進(jìn)行了大量研究,取得了許多成果.文獻(xiàn)[4]從硬件木馬的物理特征、激活機制和激活后的行為3個方面對硬件木馬進(jìn)行了分類.文獻(xiàn)[5]在此基礎(chǔ)上進(jìn)行了擴充,提出了一種更完善的分類方法.文獻(xiàn)[6]基于硬件木馬的觸發(fā)機制和載荷類型提出了不同的分類方法.
對于現(xiàn)有的多種不同類型的硬件木馬[7],目前還缺少評估各種木馬檢測方法有效性的準(zhǔn)則.用于檢測木馬的旁路信號包括時序信號和功耗信號.文獻(xiàn)[8]中提出了采用電路的功耗信號來檢測硬件木馬的方法.此外,通過測量芯片電源端的瞬態(tài)電流信號,再對這些信號進(jìn)行電流集成化分析[9]或基于區(qū)域的分析[10],可以有效地檢測出小規(guī)模的硬件木馬.文獻(xiàn)[11]中提出了一種基于時延的物理不可克隆功能(PUF)的電路結(jié)構(gòu),該結(jié)構(gòu)能在芯片的測試階段輔助檢測硬件木馬.文獻(xiàn)[12]中提出了一種基于全芯片的路徑時延信息的指紋生成新方法,該方法通過分析硬件木馬對芯片時延信息的影響,從而發(fā)現(xiàn)那些面積很小的硬件木馬電路結(jié)構(gòu).
盡管已經(jīng)有了上述諸多研究成果,但在硬件木馬檢測領(lǐng)域仍然存在改進(jìn)的空間.首先,現(xiàn)有的絕大多數(shù)關(guān)于硬件木馬檢測的研究成果都采用不可綜合的電路作為基準(zhǔn)電路,如ISCAS’85、ISCAS’89和MCNC’91等.這些基準(zhǔn)電路最初用于評價測試向量檢測芯片缺陷的能力,不適合用于驗證硬件木馬的檢測方法,因此那些具有特定功能的可綜合電路,如加密電路(DES、AES、RSA等)將是更好的選擇.其次,現(xiàn)有的絕大多數(shù)檢測方法都是采用仿真結(jié)果進(jìn)行驗證,而硬件木馬是對原始芯片設(shè)計的硬件進(jìn)行的修改,因此檢測方法的硬件驗證(在FPGA或ASIC上的實測驗證)是極為必要的.為此,文中提出了一種基于旁路分析的硬件木馬檢測方法,并在FPGA芯片上將一個可綜合的64位DES加密電路作為基準(zhǔn)電路加以實現(xiàn),最終完成該木馬檢測方法的硬件驗證.
硬件木馬的激活條件常被稱為木馬的“觸發(fā)”部分,原始設(shè)計中由于硬件木馬被激活而受到影響的那部分電路或功能則被稱為木馬的“載荷”部分.一種典型的時序觸發(fā)型硬件木馬的電路結(jié)構(gòu)[6]如圖1所示.原始設(shè)計中邏輯節(jié)點(ER)與被修改后的邏輯節(jié)點(ER*)是直接相連的,但由于被嵌入了硬件木馬,導(dǎo)致實際上它們之間的連接存在一個異或門.該硬件木馬的“觸發(fā)”部分是一個K位的同步計數(shù)器,當(dāng)計數(shù)器的值被計滿時,通過木馬的“載荷”部分(一個異或門)將ER處的邏輯值反向形成ER*,從而引發(fā)了一個錯誤操作.由于這種木馬結(jié)構(gòu)典型、實現(xiàn)簡便,因此文中采用這種硬件木馬電路進(jìn)行實驗.
圖1 一種典型的時序觸發(fā)型硬件木馬的電路結(jié)構(gòu)[6]Fig.1 Circuit structure of a typical sequentially-triggered hardware Trojan
從現(xiàn)有的研究成果來看,旁路分析技術(shù)因其具有的非破壞性、較高的檢測分辨率和低實施成本而被認(rèn)為是目前最具前景的硬件木馬檢測技術(shù),文中提出的硬件木馬檢測方法也是基于旁路分析的.旁路分析是指對集成電路芯片的旁路信號進(jìn)行分析.旁路信號是與芯片管腳上的輸入/輸出信號相對的一個概念,后者被稱為主信號.常見的旁路信號包括芯片的功耗、電路的時序(延遲)信息、電磁輻射信號、熱信號、瞬態(tài)電源電流等,文中選擇旁路信號中的功耗信息作為分析的對象.
文中基于旁路分析的硬件木馬檢測方法的基本原理是:當(dāng)電路處于工作狀態(tài)時,任何電路結(jié)構(gòu)都會消耗能量,芯片中嵌入的硬件木馬也不例外.因此,有木馬的芯片與無木馬的芯片在相同輸入測試向量的激勵下,雖然運行的操作是一樣的,但硬件木馬的存在會導(dǎo)致它們功耗的瞬態(tài)變化有細(xì)微的差別.木馬電路的規(guī)模越大,這種差別就越大.因此,通過比較待測芯片與無木馬芯片之間的功耗瞬態(tài)變化,就能判斷待測芯片中是否存在硬件木馬.
文中檢測方法基于如下假設(shè):能獲得N個已確認(rèn)無硬件木馬存在的集成電路芯片.在該假設(shè)下,文中研究的硬件木馬檢測問題可描述為:給定N個無硬件木馬的集成電路芯片(I1,I2,…,IN)及一個可疑的芯片IN+1,如何判斷芯片IN+1中是否包含硬件木馬?
為了解決這個問題,首先需要對芯片的功耗進(jìn)行分析.以無硬件木馬的集成電路芯片Ik(k=1,2,…,N)為例,在其執(zhí)行運算操作C時,可以進(jìn)行一次芯片瞬時功耗的測量M.這次功耗測量過程所獲得的功耗rk(t;Ik;C;M)可分解為3個部分:
式中:t為時間;P(t;C)為平均功耗,它是對所有無木馬的集成電路芯片Ik(k=1,2,…,N)都多次執(zhí)行運算操作C,并多次測量瞬時功耗信息,再對所有這些測量值取平均而得到的;v(t;Ik;C)為工藝噪聲,由于芯片制造過程中工藝參數(shù)存在一定程度上的波動,導(dǎo)致即使是同一批次的芯片,在執(zhí)行相同運行操作時,其功耗也會存在細(xì)微的差別,這一差別可用v(t;Ik;C)來表征,它是與芯片Ik及芯片所執(zhí)行的運算操作C相關(guān)的;n(t;M)為測量噪聲,僅與時間和測量次數(shù)相關(guān).
假如芯片IN+1中被嵌入了硬件木馬,那么它的功耗可表征為
一般來說,測量噪聲n(t;M)是一個隨機噪聲,它隨著每一次測量過程而發(fā)生變化.由于功耗各組成部分中僅有測量噪聲n(t;M)與測量次數(shù)相關(guān),因此,可以通過對同一個芯片進(jìn)行多次功耗測量再取平均來消除該測量噪聲.工藝噪聲v(t;Ik;C)本質(zhì)上是不同芯片所體現(xiàn)出來的功耗差異,因此可以通過對N個無木馬芯片的功耗測量數(shù)據(jù)取平均來消除.根據(jù)式(1),通過上述兩次平均運算,從無硬件木馬的集成電路芯片Ik(k=1,2,…,N)的功耗測量數(shù)據(jù)中消除工藝噪聲和測量噪聲后,可得到最終的平均功耗P(t;C).根據(jù)式(1)和(2),由于平均功耗是無木馬芯片和有木馬芯片的功耗測量數(shù)據(jù)的共同部分,因此也可以把它從所有功耗測量結(jié)果中減去,從而得到
故文中研究的硬件木馬檢測問題可看成是一個信號特征化的問題:根據(jù)式(3),計算出所有無木馬芯片的rk(t;Ik;C)后,對其進(jìn)行特征化,得到工藝噪聲v(t;Ik;C)的特征;然后根據(jù)式(4)計算出可疑芯片的rN+1(t;IN+1;C),并將其特征與工藝噪聲v(t;Ik;C)的特征進(jìn)行比較,檢查兩者的特征是否一致.如果特征一致,則表明芯片IN+1中不存在硬件木馬;反之,則表明芯片IN+1中存在硬件木馬.
綜上所述,在可獲得N個無硬件木馬的集成電路芯片(I1,I2,…,IN)及一個可疑芯片IN+1的前提下,基于旁路分析的硬件木馬檢測方法的步驟如下:
(1)對每個無硬件木馬的集成電路芯片(I1,I2,…,IN)施加測試向量VT,使芯片執(zhí)行運算操作C,測量收集芯片的瞬時功耗信息L次,采集得到無硬件木馬芯片的L×N條功耗曲線;
(2)對可疑芯片IN+1施加測試向量VT,使它執(zhí)行與無木馬芯片相同的運算操作C,測量收集其瞬時功耗信息L次,采集得到可疑芯片的L條功耗曲線;
(3)計算每個芯片的L條功耗曲線的平均值,以消除測量噪聲的影響;
(4)為消除工藝噪聲,計算步驟(3)中得到的N條無硬件木馬芯片的平均功耗曲線的平均值,得到P(t;C);
(5)根據(jù)式(3)、(4)計算各個芯片的功耗;
(6)利用奇異值分解算法[13]對無木馬芯片(I1,I2,…,IN)的功耗波形數(shù)據(jù)進(jìn)行分析,獲得子空間S,并將這些功耗波形數(shù)據(jù)投影到該子空間上;
(7)將可疑芯片IN+1的功耗波形數(shù)據(jù)投影到子空間S上;
(8)比較步驟(6)和(7)中得到的投影值的特征,如果兩者的特征一致,則表明可疑芯片IN+1中不存在硬件木馬,反之則存在硬件木馬.
為驗證所提出的硬件木馬檢測方法的有效性,文中搭建了一個FPGA實驗平臺,其原理框圖如圖2所示.該平臺中的FPGA芯片選用Xilinx公司的Spartan-3E XC3S500E系列FPGA芯片(采用90nm CMOS工藝制造),用于模擬真實的ASIC器件.
圖2 FPGA實驗平臺的原理框圖Fig.2 Principal block diagram of FPGA experimental platform
如圖2所示,該實驗平臺中有兩塊FPGA芯片: (1)待測FPGA,用于模擬無硬件木馬和有硬件木馬的芯片;(2)測試圖形生成FPGA,主要負(fù)責(zé)給待測FPGA施加測試向量,并對待測FPGA的響應(yīng)信號進(jìn)行校驗.直流穩(wěn)壓電源通過精密電阻給待測FPGA的內(nèi)核電源端提供電壓.示波器用于測量精密電阻兩端的壓降,通過計算可得到待測FPGA芯片的瞬時功耗情況.在計算機上用Matlab編程實現(xiàn)相關(guān)信號處理算法,用于檢測硬件木馬.
在實驗中,采用64位DES加密電路作為基準(zhǔn)電路,并設(shè)計兩種不同面積的硬件木馬電路(其電路結(jié)構(gòu)如圖1所示).表1給出了基準(zhǔn)電路與兩種硬件木馬電路在FPGA芯片中的邏輯利用情況,可以看出,木馬電路1和2的面積分別為64位DES加密電路面積的7.8%和1.3%.
表1 基準(zhǔn)電路與兩種硬件木馬電路的邏輯利用率比較Table 1 Comparision of logic utilization among benchmark circuit and two hardware Trojan circuits
為了對工藝噪聲進(jìn)行建模,共使用20塊同型號的待測FPGA芯片進(jìn)行實驗,將3種電路(64位DES加密電路、嵌入了硬件木馬1的64位DES加密電路、嵌入了硬件木馬2的64位DES加密電路)實現(xiàn)在每塊待測FPGA芯片上.對每一塊待測FPGA芯片上實現(xiàn)的每一種電路,采樣100條功耗曲線,每條功耗曲線共采樣10000個點,然后利用文中檢測方法對這些功耗曲線進(jìn)行處理與分析,最終得到3種電路的功耗曲線在子空間上的投影值,如圖3所示.從圖3可以看出,隨著特征向量的增大,基準(zhǔn)電路的投影值的均值和方差越來越趨近于0,但嵌入了硬件木馬電路的投影值的均值并未趨近于0,且投影值的變化較為劇烈(即方差較大),這表明有硬件木馬的FPGA芯片和無硬件木馬的FPGA芯片,其功耗曲線在子空間上投影值的特征是很不相同的,這與文獻(xiàn)[8]中的描述相符.
從每條功耗曲線中截取了2000個連續(xù)采樣點進(jìn)行分析,結(jié)果表明,基準(zhǔn)電路與嵌入了硬件木馬1的電路相比,其功耗曲線的投影值在特征向量4、7、8、10、和14處具有完全不同的特性,如圖3(a)所示,這有助于檢測出硬件木馬1.同樣截取了每條功耗曲線的2000個連續(xù)采樣點進(jìn)行分析,由于硬件木馬2的面積比硬件木馬1小,導(dǎo)致了基準(zhǔn)電路與嵌入了硬件木馬2的電路相比,其功耗曲線的投影值的差別并不如圖3(a)中那么大.可以預(yù)見,當(dāng)硬件木馬的面積越來越小并達(dá)到某個臨界值后,就不能區(qū)分兩個投影值的差別了.在圖3(b)中,雖然硬件木馬2的面積只占原始設(shè)計電路的1.3%,但仍然可以發(fā)現(xiàn),有木馬電路和無木馬電路的功耗曲線投影值在特征向量4、8和10處具有不同的特性,從而有助于把存在硬件木馬2的芯片從無木馬的芯片中區(qū)分開來.
圖3 兩種硬件木馬電路的檢測實驗結(jié)果Fig.3 Experimental detection results of two hardware Trojan circuits
文中提出了一種基于旁路分析的硬件木馬檢測方法,該方法具有非破壞性、實施開銷小等優(yōu)點.為驗證該方法的有效性,在基于90 nm工藝的FPGA芯片上搭建了一個實驗平臺,對該硬件木馬檢測方法進(jìn)行了硬件驗證.實驗結(jié)果表明,即使在測量噪聲和工藝噪聲較大的環(huán)境中,利用文中檢測方法對FPGA芯片的功耗測量數(shù)據(jù)進(jìn)行統(tǒng)計分析后,其硬件木馬的檢測分辨率也能達(dá)到10-2,即能檢測出芯片中面積比原始設(shè)計電路小2個數(shù)量級的硬件木馬.為繼續(xù)提高硬件木馬檢測的分辨率,今后將研究開發(fā)定制化的測試向量,以便最大可能地激活硬件木馬,輔助木馬電路的檢測;同時探討比文中采用的奇異值分解算法更適用的信號處理技術(shù),并評估這些技術(shù)應(yīng)用于硬件木馬檢測時的效率.
[1] DARPA.Trust in integrated circuits-proposer information pamphlet[EB/OL].(2007-07-24)[2011-08-11].http:∥www.darpa.mil/MTO/solicitations/baa07-24/index.html.
[2] Defense Science Board.High performance microchip supply[EB/OL].(2005-02-21)[2011-08-11].http:∥www.acq.osd.mil/dsb/reports/2005-02-HPMS_Report_ Final.pdf.
[3] Adee S.The hunt for the kill switch[J].IEEE Spectrum,2008,45(5):34-39.
[4] Wang X,Tehranipoor M,Plusquellic J.Detecting malicious inclusions in secure hardware:challenges and solutions[C]∥Proceedings of IEEE International Workshop on Hardware-Oriented Security and Trust.Anaheim:IEEE,2008:15-19.
[5] Tehranipoor M,Koushanfar F.A survey of hardware Trojan taxonomy and detection[J].IEEE Design and Test of Computers,2010,2(1):10-25.
[6] Chakraborty R,Narasimhan S,Bhunia S.Hardware Trojan:threats and emerging solutions[C]∥Proceedings of IEEE International High Level Design Validation and Test Workshop.San Francisco:IEEE,2009:166-171.
[7] Jin Y,Kupp N,Makris Y.Experiences in hardware Trojan design and implementation[C]∥Proceedings of IEEE International Workshop on Hardware-Oriented Security and Trust.Francisco:IEEE,2009:50-57.
[8] Agrawal D.Trojan detection using IC fingerprinting[C]∥Proceedings of IEEE Symposium on Security and Privacy.Berkeley:IEEE,2007:296-310.
[9] Wang Xiaoxiao,Salmani H,Tehranipoor M,et al.Hardware Trojan detection and isolation using current integration and localized current analysis[C]∥Proceedings of IEEE International Symposium on Defect and Fault Tolerance of VLSI Systems.Boston:IEEE,2008:87-95.
[10] Rad R M,Wang Xiaoxiao,Tehranipoor M,et al.Power supply signal calibration techniques for improving detection resolution to hardware Trojans[C]∥Proceedings of IEEE/ACM International Conference on Computer-Aided Design.San Jose:IEEE,2008:632-639.
[11] Li J,Lach J.At-speed delay characterization for IC authentication and Trojan horse detection[C]∥Proceedings of IEEE International Workshop on Hardware-Oriented Security and Trust.Anaheim:IEEE,2008:8-14.
[12] Jin Y,Makris Y.Hardware Trojan detection using path delay fingerprint[C]∥Proceedings of IEEE International Workshop on Hardware-Oriented Security and Trust.Anaheim:IEEE,2008:51-57.
[13] Theodoridis S,Koutroumbas K.Pattern recognition[M].4th ed.San Diego:Elsevier,2009:335-341.