• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種基于密鑰的硬件木馬預防方法研究

      2016-04-12 00:00:00石朝陽鄒雪城明瑞華劉政林
      現(xiàn)代電子技術 2016年20期

      摘 要: 硬件木馬因其巨大的潛在威脅而受到學術界和工業(yè)界越來越廣泛的關注。當前主流的集成電路設計制作的各個環(huán)節(jié)都存在著植入硬件木馬的可能性?;谟布抉R的插入設計考慮,提出一種基于密鑰的硬件木馬預防方法。通過在電路中增加初始序列(密鑰)、迷惑電路和冗余電路,隱藏有正確功能的原始電路,以預防在設計及后續(xù)環(huán)節(jié)中可能被植入的硬件木馬?;诖罅繙y試矢量激勵的實驗表明,優(yōu)化的預防電路在沒有太多的額外的電路資源開銷的情況下能有效保護電路不被硬件木馬破壞,而且不影響正常的功能。

      關鍵詞: 硬件木馬; 防御; 迷惑電路; 密鑰

      中圖分類號: TN495?34; TN918 文獻標識碼: A 文章編號: 1004?373X(2016)20?0001?03

      Abstract: 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.

      Keywords: hardware Trojan; prevention; confusing circuit; secret key

      0 引 言

      在過去幾十年里,集成電路已經(jīng)滲透到人類社會活動現(xiàn)代科技的各個領域,包括在金融、軍事、工業(yè)、交通等關乎國家命脈的領域,因此確保集成電路的安全性與可靠性變得尤為重要。如何確保集成電路中不含硬件木馬是一個非常困難的問題[1]。隨著電路節(jié)點數(shù)目成指數(shù)增長,并且ASIC的門電路規(guī)模越來越大,這使得無論是窮舉測試還是形式驗證都逐漸失效。傳統(tǒng)的集成電路測試和驗證的主要目標是檢測集成電路的實際運行狀態(tài)和預期的是否一致。一般情況下,很難檢測到電路是否增加了額外的功能單元,而且隨著電路的門規(guī)模越來越大,創(chuàng)建足夠小并且高故障覆蓋率的測試向量集愈加困難。如果在測試階段,硬件木馬沒有被激活,木馬就幾乎不會被檢測到。至今還沒有一種方法可以檢測出所有的硬件木馬。雖然目前已經(jīng)有了多種多樣的檢測技術,但是這些檢測方法只能檢測出已知的一種或者一類硬件木馬。硬件木馬設計者會避開已有的木馬檢測機制,設計出用目前檢測方法不能檢測出來的硬件木馬。因此對硬件木馬的預防就很有必要。Potkonjak等人在硬件木馬防御方面做出了有意義的研究[2]——可以使用不可信的EDA工具設計出可信的集成電路。他主要是通過在任意時刻都充分利用所有的硬件資源,從而使木馬由于缺少硬件資源而無法植入,片上的硬件資源要全部被用來實現(xiàn)集成電路的正確功能。Baumgarten等人提出了通過使用可重構邏輯防御木馬的攻擊[3]。Makris等人在一定程度上解決了關于集成電路制造過程中的不可信問題[4],他們提出了一個系統(tǒng),IP消費者提供硬件規(guī)格和與安全相關的屬性。IP消費者和IP制造商必須都同意把這些屬性轉化為用定理證明語言編寫的形式數(shù)學編碼。

      基于Baumgarten等人提出的電路模糊技術的思想,本文提出了一種基于密鑰的電路預防技術,在電路設計階段考慮到木馬一般是在受到一些罕見狀態(tài)觸發(fā)后才會激活起來,通過加入迷惑電路模塊[5],或者增加電路的狀態(tài)轉移圖的復雜度,隱藏電路相關信息,使入侵者無法正確分析出正常電路信息,從而進行錯誤的植入,把木馬植入到迷惑電路,插入的木馬電路無法正常工作,從而達到預防木馬保護電路的目的。

      1 硬件木馬的隱藏插入設計原理

      硬件木馬的組成包括觸發(fā)模塊和有效載荷兩部分,觸發(fā)模塊通過巧妙設置觸發(fā)條件來激活木馬電路,而有效載荷是木馬觸發(fā)后發(fā)揮攻擊功能的電路模塊[6]。圖1所示為一個簡單的組合電路硬件木馬示例,示例中木馬侵入了正常電路的ER節(jié)點,將觸發(fā)模塊的輸出與原始的ER模塊輸入進行異或操作,異或結果ER*取代了原始的ER。一般情況下,ER*的值和ER的值是一樣的,由正常電路F(x1,x2,…,xn)決定,這時硬件木馬是潛伏的并不會改變原始電路的功能。當節(jié)點[a,b,c,d,e,f]的值為101011時,木馬的Payload部分起作用,篡改ER值為ER*值,影響了電路的正常功能,對電路造成了影響。本例子所給的硬件木馬觸發(fā)條件非常簡單,節(jié)點[a,b,c,d,e,f]的值只有64種排列組合情況,在常規(guī)的功能驗證測試過程中,可以比較容易地遍歷到節(jié)點[a,b,c,d,e,f]的101011這個值,從而發(fā)現(xiàn)木馬。實際的硬件木馬設計過程中,會更加注意木馬的隱藏性,避免在常規(guī)的功能驗證過程中硬件木馬就被發(fā)現(xiàn)。

      2 基于密鑰的硬件木馬預防機制

      2.1 增加迷惑電路和密鑰

      考慮到第1節(jié)中提到的硬件木馬的觸發(fā)設計機制,硬件木馬設計者喜歡使用一些低翻轉概率的信號作為觸發(fā)條件,因此在所設計的正常電路的基礎上,增加了迷惑電路模塊和初始序列模塊來預防硬件木馬[7]。如圖2所示。同時,增加迷惑電路模塊中低概率能到達的狀態(tài),而在正常電路模塊里增加了不影響正常功能的測試過程中可以到達的實際正常功能不會到達的冗余狀態(tài)。

      如圖2所示,在測試階段,不用正確的初始序列(K1,K2,K3),則狀態(tài)轉移進入迷惑電路模塊。攻擊者在分析電路的時候,由于電路大部分情況都在迷惑電路中運轉,攻擊者就有很大的可能性將木馬插入到迷惑電路中的罕見狀態(tài)里,如圖2中木馬1所示。由于狀態(tài)轉移的條件使然,迷惑電路的每個狀態(tài)都會到達。所以木馬在測試階段就會激發(fā)。不過,由在正常使用過程中,并不會進入迷惑電路,所以被攻擊者插入到迷惑電路中的硬件木馬并不會起作用。

      2.2 增加正常電路模塊狀態(tài)轉移的復雜度

      考慮到攻擊者在電路分析過程中仍然會有一定可能性將硬件木馬插入到圖3中正常電路的狀態(tài)(0~5)中,為此,在正常電路中也額外增加了冗余狀態(tài)(6~9),如圖3所示。而冗余狀態(tài)不影響正常功能,且在測試過程中可以到達但實際正常功能不會到達。

      在正常使用時,通過正確的初始序列,狀態(tài)轉移進入正確電路模塊。但是,冗余狀態(tài)在測試過程中相比正常電路也是一種罕見到達的狀態(tài),所以冗余電路也會受到攻擊者的“青睞”從而將木馬插入到冗余狀態(tài)中。如圖3中的冗余狀態(tài)(6~9),只有在狀態(tài)1的情況下,有著合適的條件(精心設計的條件,測試的時候滿足,正常電路運轉時永遠不滿足),才進入冗余狀態(tài)6,從而經(jīng)過其他冗余狀態(tài)(7~9)。如果到達狀態(tài)1,一直都不出現(xiàn)合適的狀態(tài)轉移條件,那么即使在狀態(tài)(6~9)中被插入了木馬2,木馬2也不會在芯片正常使用的時候被激活。

      加入迷惑電路模塊和初始序列模塊,還有冗余狀態(tài)后,電路能夠從那些不能到達的狀態(tài)或者一定到達的狀態(tài)獲得益處。如果根據(jù)下面的步驟,不能到達的狀態(tài)的獲取趨向最優(yōu)。首先,從所給的電路可以得S個狀態(tài)元素,則枚舉出2S 種所有可能的狀態(tài)。然后,這些狀態(tài)經(jīng)過軟件進行調整[8]。調整后的狀態(tài)就是失效的,這就組成了一系列的不能到達的狀態(tài)。

      3 實驗驗證

      3.1 測試流程

      以下是測試的步驟:

      已知輸入:正常電路的網(wǎng)表,全部電路的網(wǎng)表,面積增量閾值,電路的狀態(tài)數(shù)量,初始化序列的長度;

      (1) 假設額外增加的狀態(tài)元素為N,正常電路的狀態(tài)元素為S,其中S是從電路隨機選取的;

      (2) 通過調整狀態(tài)序列,找出正常電路中不能到達的狀態(tài);

      (3) 對額外添加的狀態(tài)元素進行加密,讓其變得復雜;

      (4) 產(chǎn)生額外電路的隨機轉換狀態(tài)圖;

      (5) 產(chǎn)生長度為K的初始化序列;

      (6) 產(chǎn)生整個電路的寄存器級電路,產(chǎn)生正常電路的寄存器級電路;

      (7) 得出面積的增量;

      (8) 回到步驟1,將N減1,S減1,直到面積增量小于面積增量閾值,滿足條件。

      以上步驟能夠通過仿真工具自動完成。測試電路和激勵都可以用狀態(tài)機代碼自動生成器來實現(xiàn)[9]。在大量的隨機測試矢量激勵的條件下,利用仿真工具統(tǒng)計電路中間節(jié)點信號的翻轉概率。

      3.2 結果分析

      如圖4所示,設置N=100,S的值在0~N中變化(S均分到迷惑電路和冗余電路),密鑰為3位初始序列,通過modelsim代碼覆蓋率[10]的功能,分別得到測試電路迷惑模塊(迷惑電路+冗余電路)和正常電路模塊的信號翻轉覆蓋率Toggle比值,以評估預防電路的效果。迷惑模塊和正常電路的硬件開銷通過Quartus Ⅱ軟件綜合后的compilation report獲得。圖4中硬件開銷單位LE為Logic Element的縮寫。由圖4可看出,在S=60左右時,迷惑模塊的硬件開銷已經(jīng)堪比正常電路的開銷,并且隨著S的繼續(xù)增大,迷惑模塊的硬件開銷會繼續(xù)增大,但是實際上是有硬件開銷增量(面積增量開銷)的限制。而Toggle比值大概在S=47時達到1,并且隨著S的繼續(xù)增大,Toggle比值也會繼續(xù)增大,要想迷惑模塊能夠有效起到迷惑作用,顯然在仿真的時候宏觀上迷惑電路的活躍度(即Toggle統(tǒng)計值)不能大于正常電路的活躍度。由圖4可知迷惑功能的最具效率值和硬件開銷增量不是在一個點達到最優(yōu)的,在有面積增量開銷的限制條件下,需要在兩者之間權衡,以取得一個最優(yōu)的N值。另外從圖4也可看出,在S>47時,迷惑/正常Toggle比值大于1,此時迷惑電路吸引木馬的能力下降,但是冗余/正常Toggle比值仍然遠小于1,冗余電路吸引木馬的能力依然很強。綜上,在面積開銷限制的條件下,迷惑電路和冗余電路迷惑木馬的能力還是可以預見的。

      4 結 論

      如果在龐大的集成電路芯片中,不可信賴的制造廠商已經(jīng)植入具有嚴重安全威脅的木馬。傳統(tǒng)的邏輯測試和檢測應用技術也不能完全檢測所以木馬,保證芯片的安全。但提出利用少有的迷惑電路設計方法卻達到有效保護電路避免被木馬侵害的目的。迷惑設計使得攻擊者很難去分析電路的功能,導致木馬的植入失效。實驗結果也充分驗證了本方法的可行性和有效性。當然,硬件木馬有很多種,本方法做RTL級硬件木馬預防的研究有一定局限性,并不能預防所有的硬件木馬,更全面的硬件木馬預防技術仍然需要進一步研究。

      參考文獻

      [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?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 芯片設計:使用Cadence和SynopsysCAD工具[M].周潤德,譯.北京:電子工業(yè)出版社,2009.

      [9] 詹璨銘,李廣軍,閻波,等.一種自動生成狀態(tài)機RTL代碼的方法[J].微電子學與計算機,2008,25(7):157?159.

      [10] 于斌,米秀杰.ModelSim電子系統(tǒng)分析及仿真[M].北京:電子工業(yè)出版社,2011.

      建阳市| 长沙市| 金秀| 承德市| 青龙| 额尔古纳市| 慈利县| 梁河县| 忻城县| 子长县| 临城县| 林甸县| 射阳县| 清流县| 金乡县| 石首市| 安乡县| 乡宁县| 昔阳县| 柯坪县| 白水县| 神农架林区| 灵寿县| 柏乡县| 应城市| 广德县| 沭阳县| 韶山市| 轮台县| 枣强县| 遵义县| 梅河口市| 汪清县| 中方县| 怀远县| 太白县| 宾阳县| 寿光市| 巴林右旗| 垣曲县| 靖边县|