石朝陽(yáng),鄒雪城,明瑞華,劉政林
(華中科技大學(xué)光學(xué)與電子信息學(xué)院,湖北 武漢 430074)
一種基于密鑰的硬件木馬預(yù)防方法研究
石朝陽(yáng),鄒雪城,明瑞華,劉政林
(華中科技大學(xué)光學(xué)與電子信息學(xué)院,湖北武漢430074)
硬件木馬因其巨大的潛在威脅而受到學(xué)術(shù)界和工業(yè)界越來(lái)越廣泛的關(guān)注。當(dāng)前主流的集成電路設(shè)計(jì)制作的各個(gè)環(huán)節(jié)都存在著植入硬件木馬的可能性?;谟布抉R的插入設(shè)計(jì)考慮,提出一種基于密鑰的硬件木馬預(yù)防方法。通過(guò)在電路中增加初始序列(密鑰)、迷惑電路和冗余電路,隱藏有正確功能的原始電路,以預(yù)防在設(shè)計(jì)及后續(xù)環(huán)節(jié)中可能被植入的硬件木馬。基于大量測(cè)試矢量激勵(lì)的實(shí)驗(yàn)表明,優(yōu)化的預(yù)防電路在沒(méi)有太多的額外的電路資源開(kāi)銷(xiāo)的情況下能有效保護(hù)電路不被硬件木馬破壞,而且不影響正常的功能。
硬件木馬;防御;迷惑電路;密鑰
在過(guò)去幾十年里,集成電路已經(jīng)滲透到人類(lèi)社會(huì)活動(dòng)現(xiàn)代科技的各個(gè)領(lǐng)域,包括在金融、軍事、工業(yè)、交通等關(guān)乎國(guó)家命脈的領(lǐng)域,因此確保集成電路的安全性與可靠性變得尤為重要。如何確保集成電路中不含硬件木馬是一個(gè)非常困難的問(wèn)題[1]。隨著電路節(jié)點(diǎn)數(shù)目成指數(shù)增長(zhǎng),并且ASIC的門(mén)電路規(guī)模越來(lái)越大,這使得無(wú)論是窮舉測(cè)試還是形式驗(yàn)證都逐漸失效。傳統(tǒng)的集成電路測(cè)試和驗(yàn)證的主要目標(biāo)是檢測(cè)集成電路的實(shí)際運(yùn)行狀態(tài)和預(yù)期的是否一致。一般情況下,很難檢測(cè)到電路是否增加了額外的功能單元,而且隨著電路的門(mén)規(guī)模越來(lái)越大,創(chuàng)建足夠小并且高故障覆蓋率的測(cè)試向量集愈加困難。如果在測(cè)試階段,硬件木馬沒(méi)有被激活,木馬就幾乎不會(huì)被檢測(cè)到。至今還沒(méi)有一種方法可以檢測(cè)出所有的硬件木馬。雖然目前已經(jīng)有了多種多樣的檢測(cè)技術(shù),但是這些檢測(cè)方法只能檢測(cè)出已知的一種或者一類(lèi)硬件木馬。硬件木馬設(shè)計(jì)者會(huì)避開(kāi)已有的木馬檢測(cè)機(jī)制,設(shè)計(jì)出用目前檢測(cè)方法不能檢測(cè)出來(lái)的硬件木馬。因此對(duì)硬件木馬的預(yù)防就很有必要。Potkonjak等人在硬件木馬防御方面做出了有意義的研究[2]——可以使用不可信的EDA工具設(shè)計(jì)出可信的集成電路。他主要是通過(guò)在任意時(shí)刻都充分利用所有的硬件資源,從而使木馬由于缺少硬件資源而無(wú)法植入,片上的硬件資源要全部被用來(lái)實(shí)現(xiàn)集成電路的正確功能。Baumgarten等人提出了通過(guò)使用可重構(gòu)邏輯防御木馬的攻擊[3]。Makris等人在一定程度上解決了關(guān)于集成電路制造過(guò)程中的不可信問(wèn)題[4],他們提出了一個(gè)系統(tǒng),IP消費(fèi)者提供硬件規(guī)格和與安全相關(guān)的屬性。IP消費(fèi)者和IP制造商必須都同意把這些屬性轉(zhuǎn)化為用定理證明語(yǔ)言編寫(xiě)的形式數(shù)學(xué)編碼。
基于Baumgarten等人提出的電路模糊技術(shù)的思想,本文提出了一種基于密鑰的電路預(yù)防技術(shù),在電路設(shè)計(jì)階段考慮到木馬一般是在受到一些罕見(jiàn)狀態(tài)觸發(fā)后才會(huì)激活起來(lái),通過(guò)加入迷惑電路模塊[5],或者增加電路的狀態(tài)轉(zhuǎn)移圖的復(fù)雜度,隱藏電路相關(guān)信息,使入侵者無(wú)法正確分析出正常電路信息,從而進(jìn)行錯(cuò)誤的植入,把木馬植入到迷惑電路,插入的木馬電路無(wú)法正常工作,從而達(dá)到預(yù)防木馬保護(hù)電路的目的。
硬件木馬的組成包括觸發(fā)模塊和有效載荷兩部分,觸發(fā)模塊通過(guò)巧妙設(shè)置觸發(fā)條件來(lái)激活木馬電路,而有效載荷是木馬觸發(fā)后發(fā)揮攻擊功能的電路模塊[6]。圖1所示為一個(gè)簡(jiǎn)單的組合電路硬件木馬示例,示例中木馬侵入了正常電路的ER節(jié)點(diǎn),將觸發(fā)模塊的輸出與原始的ER模塊輸入進(jìn)行異或操作,異或結(jié)果ER*取代了原始的ER。一般情況下,ER*的值和ER的值是一樣的,由正常電路F(x1,x2,…,xn)決定,這時(shí)硬件木馬是潛伏的并不會(huì)改變?cè)茧娐返墓δ?。?dāng)節(jié)點(diǎn)[a,b,c,d,e,f]的值為101011時(shí),木馬的Payload部分起作用,篡改ER值為ER*值,影響了電路的正常功能,對(duì)電路造成了影響。本例子所給的硬件木馬觸發(fā)條件非常簡(jiǎn)單,節(jié)點(diǎn)[a,b,c,d,e,f]的值只有64種排列組合情況,在常規(guī)的功能驗(yàn)證測(cè)試過(guò)程中,可以比較容易地遍歷到節(jié)點(diǎn)[a,b,c,d,e,f]的101011這個(gè)值,從而發(fā)現(xiàn)木馬。實(shí)際的硬件木馬設(shè)計(jì)過(guò)程中,會(huì)更加注意木馬的隱藏性,避免在常規(guī)的功能驗(yàn)證過(guò)程中硬件木馬就被發(fā)現(xiàn)。
圖1 硬件木馬設(shè)計(jì)示例
2.1增加迷惑電路和密鑰
考慮到第1節(jié)中提到的硬件木馬的觸發(fā)設(shè)計(jì)機(jī)制,硬件木馬設(shè)計(jì)者喜歡使用一些低翻轉(zhuǎn)概率的信號(hào)作為觸發(fā)條件,因此在所設(shè)計(jì)的正常電路的基礎(chǔ)上,增加了迷惑電路模塊和初始序列模塊來(lái)預(yù)防硬件木馬[7]。如圖2所示。同時(shí),增加迷惑電路模塊中低概率能到達(dá)的狀態(tài),而在正常電路模塊里增加了不影響正常功能的測(cè)試過(guò)程中可以到達(dá)的實(shí)際正常功能不會(huì)到達(dá)的冗余狀態(tài)。
如圖2所示,在測(cè)試階段,不用正確的初始序列(K1,K2,K3),則狀態(tài)轉(zhuǎn)移進(jìn)入迷惑電路模塊。攻擊者在分析電路的時(shí)候,由于電路大部分情況都在迷惑電路中運(yùn)轉(zhuǎn),攻擊者就有很大的可能性將木馬插入到迷惑電路中的罕見(jiàn)狀態(tài)里,如圖2中木馬1所示。由于狀態(tài)轉(zhuǎn)移的條件使然,迷惑電路的每個(gè)狀態(tài)都會(huì)到達(dá)。所以木馬在測(cè)試階段就會(huì)激發(fā)。不過(guò),由在正常使用過(guò)程中,并不會(huì)進(jìn)入迷惑電路,所以被攻擊者插入到迷惑電路中的硬件木馬并不會(huì)起作用。
圖2 含有迷惑電路和初始序列的電路模塊
2.2增加正常電路模塊狀態(tài)轉(zhuǎn)移的復(fù)雜度
考慮到攻擊者在電路分析過(guò)程中仍然會(huì)有一定可能性將硬件木馬插入到圖3中正常電路的狀態(tài)(0~5)中,為此,在正常電路中也額外增加了冗余狀態(tài)(6~9),如圖3所示。而冗余狀態(tài)不影響正常功能,且在測(cè)試過(guò)程中可以到達(dá)但實(shí)際正常功能不會(huì)到達(dá)。
圖3 在正常電路中增加冗余狀態(tài)
在正常使用時(shí),通過(guò)正確的初始序列,狀態(tài)轉(zhuǎn)移進(jìn)入正確電路模塊。但是,冗余狀態(tài)在測(cè)試過(guò)程中相比正常電路也是一種罕見(jiàn)到達(dá)的狀態(tài),所以冗余電路也會(huì)受到攻擊者的“青睞”從而將木馬插入到冗余狀態(tài)中。如圖3中的冗余狀態(tài)(6~9),只有在狀態(tài)1的情況下,有著合適的條件(精心設(shè)計(jì)的條件,測(cè)試的時(shí)候滿足,正常電路運(yùn)轉(zhuǎn)時(shí)永遠(yuǎn)不滿足),才進(jìn)入冗余狀態(tài)6,從而經(jīng)過(guò)其他冗余狀態(tài)(7~9)。如果到達(dá)狀態(tài)1,一直都不出現(xiàn)合適的狀態(tài)轉(zhuǎn)移條件,那么即使在狀態(tài)(6~9)中被插入了木馬2,木馬2也不會(huì)在芯片正常使用的時(shí)候被激活。
加入迷惑電路模塊和初始序列模塊,還有冗余狀態(tài)后,電路能夠從那些不能到達(dá)的狀態(tài)或者一定到達(dá)的狀態(tài)獲得益處。如果根據(jù)下面的步驟,不能到達(dá)的狀態(tài)的獲取趨向最優(yōu)。首先,從所給的電路可以得S個(gè)狀態(tài)元素,則枚舉出2S種所有可能的狀態(tài)。然后,這些狀態(tài)經(jīng)過(guò)軟件進(jìn)行調(diào)整[8]。調(diào)整后的狀態(tài)就是失效的,這就組成了一系列的不能到達(dá)的狀態(tài)。
3.1測(cè)試流程
以下是測(cè)試的步驟:
已知輸入:正常電路的網(wǎng)表,全部電路的網(wǎng)表,面積增量閾值,電路的狀態(tài)數(shù)量,初始化序列的長(zhǎng)度;
(1)假設(shè)額外增加的狀態(tài)元素為N,正常電路的狀態(tài)元素為S,其中S是從電路隨機(jī)選取的;
(2)通過(guò)調(diào)整狀態(tài)序列,找出正常電路中不能到達(dá)的狀態(tài);
(3)對(duì)額外添加的狀態(tài)元素進(jìn)行加密,讓其變得復(fù)雜;
(4)產(chǎn)生額外電路的隨機(jī)轉(zhuǎn)換狀態(tài)圖;
(5)產(chǎn)生長(zhǎng)度為K的初始化序列;
(6)產(chǎn)生整個(gè)電路的寄存器級(jí)電路,產(chǎn)生正常電路的寄存器級(jí)電路;
(7)得出面積的增量;
(8)回到步驟1,將N減1,S減1,直到面積增量小于面積增量閾值,滿足條件。
以上步驟能夠通過(guò)仿真工具自動(dòng)完成。測(cè)試電路和激勵(lì)都可以用狀態(tài)機(jī)代碼自動(dòng)生成器來(lái)實(shí)現(xiàn)[9]。在大量的隨機(jī)測(cè)試矢量激勵(lì)的條件下,利用仿真工具統(tǒng)計(jì)電路中間節(jié)點(diǎn)信號(hào)的翻轉(zhuǎn)概率。
3.2結(jié)果分析
如圖4所示,設(shè)置N=100,S的值在0~N中變化(S均分到迷惑電路和冗余電路),密鑰為3位初始序列,通過(guò)modelsim代碼覆蓋率[10]的功能,分別得到測(cè)試電路迷惑模塊(迷惑電路+冗余電路)和正常電路模塊的信號(hào)翻轉(zhuǎn)覆蓋率Toggle比值,以評(píng)估預(yù)防電路的效果。迷惑模塊和正常電路的硬件開(kāi)銷(xiāo)通過(guò)QuartusⅡ軟件綜合后的compilation report獲得。圖4中硬件開(kāi)銷(xiāo)單位LE為L(zhǎng)ogic Element的縮寫(xiě)。由圖4可看出,在S=60左右時(shí),迷惑模塊的硬件開(kāi)銷(xiāo)已經(jīng)堪比正常電路的開(kāi)銷(xiāo),并且隨著S的繼續(xù)增大,迷惑模塊的硬件開(kāi)銷(xiāo)會(huì)繼續(xù)增大,但是實(shí)際上是有硬件開(kāi)銷(xiāo)增量(面積增量開(kāi)銷(xiāo))的限制。而Toggle比值大概在S=47時(shí)達(dá)到1,并且隨著S的繼續(xù)增大,Toggle比值也會(huì)繼續(xù)增大,要想迷惑模塊能夠有效起到迷惑作用,顯然在仿真的時(shí)候宏觀上迷惑電路的活躍度(即Toggle統(tǒng)計(jì)值)不能大于正常電路的活躍度。由圖4可知迷惑功能的最具效率值和硬件開(kāi)銷(xiāo)增量不是在一個(gè)點(diǎn)達(dá)到最優(yōu)的,在有面積增量開(kāi)銷(xiāo)的限制條件下,需要在兩者之間權(quán)衡,以取得一個(gè)最優(yōu)的N值。另外從圖4也可看出,在S>47時(shí),迷惑/正常Toggle比值大于1,此時(shí)迷惑電路吸引木馬的能力下降,但是冗余/正常Toggle比值仍然遠(yuǎn)小于1,冗余電路吸引木馬的能力依然很強(qiáng)。綜上,在面積開(kāi)銷(xiāo)限制的條件下,迷惑電路和冗余電路迷惑木馬的能力還是可以預(yù)見(jiàn)的。
圖4 測(cè)試結(jié)果
如果在龐大的集成電路芯片中,不可信賴(lài)的制造廠商已經(jīng)植入具有嚴(yán)重安全威脅的木馬。傳統(tǒng)的邏輯測(cè)試和檢測(cè)應(yīng)用技術(shù)也不能完全檢測(cè)所以木馬,保證芯片的安全。但提出利用少有的迷惑電路設(shè)計(jì)方法卻達(dá)到有效保護(hù)電路避免被木馬侵害的目的。迷惑設(shè)計(jì)使得攻擊者很難去分析電路的功能,導(dǎo)致木馬的植入失效。實(shí)驗(yàn)結(jié)果也充分驗(yàn)證了本方法的可行性和有效性。當(dāng)然,硬件木馬有很多種,本方法做RTL級(jí)硬件木馬預(yù)防的研究有一定局限性,并不能預(yù)防所有的硬件木馬,更全面的硬件木馬預(yù)防技術(shù)仍然需要進(jìn)一步研究。
[1]MIRON A,PAUL B,KUMAR D K,et al.Rccongurable design-for-debug in-frastructure for SoCs[J].IEEE electron device letters,2009,21(3):123-126.
[2]POTKONJAK M.Synthesis of trustable ICS using untrusted cad tools[C]//proceedings of the 47th Design Automation Conference. Austin TX,USA:ACM Press,2010:633-634.
[3]BAUMGARTEN A,STE ff EN M,CLAUSMAN M,et al.A case study in hardware Trojan design and implementation[J].International journal of information security,2011,10(1):1-14.
[4]LOVE E,JIN Y,MAKRIS Y.Enhancing security via provably trustworthy hardware intellectual property[C]//IEEE International Symposium on Hardware-Oriented Security and Trust. San Diego,CA,USA:IEEE,2011:12-17.
[5]CHAKRABORTY R S,BHUNIA S.Security against hardware Trojan through a novel application of design obfuscation[C]// IEEE/ACM International Conference on Computer-aided Design.San Jose,CA,USA:ACM Press,2009:113-116.
[6]WOLFF F,PAPACHRISTOU C,BHUNIA S,et al.Towards Trojan-free trusted ICs:problem analysis and detection scheme[C]//Design,Automation and Test in Europe(DATE`2008). Dresden,Germany:German Press,2008:1362-1365.
[7]XAKELLIS M G,NAJM F N.Statistical estimation of the switching activity in digital circuitsy[C]//31st Design Automation Conference.Austin TX,USA:ACM Press,1994:728-733.
[8]BRUNVAND Erik.數(shù)字VLSI芯片設(shè)計(jì):使用Cadence和SynopsysCAD工具[M].周潤(rùn)德,譯.北京:電子工業(yè)出版社,2009.
[9]詹璨銘,李廣軍,閻波,等.一種自動(dòng)生成狀態(tài)機(jī)RTL代碼的方法[J].微電子學(xué)與計(jì)算機(jī),2008,25(7):157-159.
[10]于斌,米秀杰.ModelSim電子系統(tǒng)分析及仿真[M].北京:電子工業(yè)出版社,2011.
Hardware Trojan prevention method based on secret key
SHI Zhaoyang,ZOU Xuecheng,MING Ruihua,LIU Zhenglin
(School of Optical and Electronic Information,Huazhong University of Science and Technology,Wuhan 430074,China)
Hardware Trojans draw more and more attention of the academia and industrial community because of its huge potential threat in recent years.Trojans may be inserted in all the current main IC design process.Considering the Trojans inserting mechanism,a hardware Trojan prevention method based on secret keys is proposed,which is realized by adding initial sequence(secret keys),confusing circuit and redundant circuit,and hiding the original circuit with correct function.The result based on a large number of test vectors shows that the optimized prevention circuit can effectively prevent the normal circuit to be attacked by the Trojans in the case of not spending more extra circuit resources.
hardware Trojan;prevention;confusing circuit;secret key
TN495-34;TN918
A
1004-373X(2016)20-0001-03
10.16652/j.issn.1004-373x.2016.20.001
2016-01-30
國(guó)家自然科學(xué)基金資助項(xiàng)目(61376026)
石朝陽(yáng)(1991—),男,湖北黃石人,在讀碩士研究生。研究方向?yàn)槌笠?guī)模集成電路設(shè)計(jì)與驗(yàn)證。