馮紫竹,趙毅強,劉長龍
(1.天津大學電子信息工程學院,天津300072;2.中國電子科技集團公司第五十四研究所,石家莊050081)
一種基于時序型硬件木馬的IP版權保護結構
馮紫竹1,趙毅強1,劉長龍2
(1.天津大學電子信息工程學院,天津300072;2.中國電子科技集團公司第五十四研究所,石家莊050081)
隨著IP核在SoC設計中的大量使用,其版權問題得到廣泛關注,通過植入硬件木馬實現IP核的版權保護是一個新的研究方向。針對其中植入木馬激活時間短的問題,提出一種改進結構,使IP核評估版本滿足有效期長度的要求。將時序型硬件木馬植入原始電路狀態機的冗余狀態中,選取電路中部分節點構成的序列作為木馬狀態的轉移條件,木馬激活后影響電路的正常功能,使IP核的使用受到限制。仿真結果表明,通過合理調整狀態數量及序列長度,能夠在優化電路面積的同時有效延長木馬的激活時間,當狀態數為3、序列長度為4時,該方法能夠在電路面積減少0.123%的基礎上使激活時間提高約120倍。
IP核;硬件木馬;激活時間;有效期;狀態機
為縮短集成電路設計周期,降低制造成本,許多IC設計公司使用第三方IP核進行產品設計[1]。在購買IP版權之前,通常IP開發商會為設計者提供一個評估版本來完成功能驗證,這會增加IP在未經授權情況下被非法使用的風險[2]。因此,在用于評估的IP核中通常會加入一些版權保護技術,常用方法主要有2種:(1)采用數字水印技術,即在IP核中插入一個很難移除的數字標記。當涉及侵權問題時,數字水印可以表明版權歸屬[3-4]。這是一種被動的保護技術,并不影響IP核被非法使用時的功能[5]。(2)在IP核中采用加密保護技術,只有通過特定平臺才能實現IP的仿真與綜合;通過提供IP核的功能模型實現仿真和驗證,但網表和版圖并不交付用戶。采用這種方法不能測試IP集成在芯片中的面積、功耗等信息以及與芯片中其他模塊的兼容性,具有一定局限性。
使用硬件木馬保護IP核的評估版本是IP核保護技術的一個新的發展方向[6],由于硬件木馬是潛伏在電路中的微小單元,并且對電路面積和功耗都影響很小,因此木馬在激活前不會影響IP核的正常功能[7-8]。通過在IP核中植入一段基于有限狀態機(Finite State Machine,FSM)的時序型硬件木馬,利用電路中的低翻轉概率節點作為木馬的激活條件,節點翻轉到指定值時木馬激活使 IP核的功能受限[6]。這種方法類似于給 IP核限定了一段“有效期”,IC設計者在有效期過后需要付費得到一個使木馬失效的序列才能繼續使用。在IP核中植入基于有限狀態機的硬件木馬,需要在電路中找到翻轉概率足夠低的節點,作為木馬狀態的觸發條件。但在一些電路中可能不存在翻轉概率足夠低的節點,例如一個AES算法電路,平均翻轉概率最低的節點在2 000多個時鐘內翻轉一次,而執行一次AES加密運算需要300多個時鐘周期,因此在木馬激活前電路平均只能進行7次正確運算,這對于評估一個IP核的性能顯然是不夠的。
本文對在IP核中植入硬件木馬的方法進行改進,將電路中的多個節點組成一個序列,指定一組序列值作為木馬的激活條件,以降低木馬的激活概率,且硬件木馬將不再作為一個獨立的狀態機植入IP核中,而是復用原始電路中某個狀態機的冗余狀態。
硬件木馬從電路結構上可以分為組合型和時序型2種[9],組合型硬件木馬是指木馬電路完全由組合邏輯組成;時序型硬件木馬是指木馬電路中包含寄存器等時序電路,時序型硬件木馬不同于組合型硬件木馬,其觸發結構不一定依賴于外部觸發信號,可以由木馬內部的計數器等結構直接觸發[10]。一般來說,隨著觸發序列長度的增加,時序型硬件木馬要比組合型硬件木馬更難檢測[11]。
一種典型的時序型硬件木馬使用有限狀態機(FSM)產生觸發條件,狀態機的狀態只能在一些極少滿足的條件下才會發生跳變并使木馬激活[12]。圖1是基于FSM的時序型硬件木馬,result是原始電路中的某個節點,將該節點與取反后的值作為多路選擇器的輸入信號,輸出信號result'取代result信號接回原始電路中。從ST0到STn-1是電路正常工作時FSM的狀態,STn是木馬的激活狀態,Pi為狀態機的狀態轉移條件,這些狀態轉移條件都是電路中一些翻轉概率較低的節點,也就是說,木馬被激活的概率是一個很小的值,這個值由電路中某些選定節點的翻轉概率來決定。

圖1 基于FSM的時序硬件木馬結構
第2節中提到的方法將硬件木馬作為一個獨立的狀態機植入電路中,但植入一個新的狀態機會增加電路的面積和功耗;而且該方法假定電路中存在一些極難滿足的狀態轉移條件Pi,但在一些時鐘頻率較高的電路中可能不存在滿足要求的低翻轉概率節點,硬件木馬的激活時間不能達到設計要求。為延長激活周期,需要增加木馬狀態機的狀態數,就會帶來更大的電路面積開銷,并使木馬的可檢測性增強。
為減小因插入硬件木馬而帶來的面積開銷并降低木馬的可檢測性,本設計對原始方法進行改進,利用原始電路狀態機的冗余狀態取代插入新的狀態機來構造木馬電路。如圖2是一個包含n+3個狀態的FSM,其中,ST1,ST2和ST是這個FSM中的3個冗余狀態,這些沒有被用到的狀態被用來組建時序型硬件木馬。由于硬件木馬只改變了下一狀態邏輯,因此這種同原始電路共享時序單元的優勢可以縮小硬件木馬對電路面積和功耗的影響,從而躲避傳統木馬檢測技術的檢測。此外,通過復用原始電路中的組合邏輯可以進一步減少面積開銷。當電路中不存在低翻轉概率節點時,為延長硬件木馬的激活周期,滿足IP核試用期的時間要求,通過選取電路中的多個節點構造一個序列作為木馬狀態的轉移條件。

圖2 利用冗余狀態的硬件木馬狀態轉移圖
如圖3所示,狀態S0到Sn為原始狀態機正常工作時的狀態,狀態ST1,ST2和ST為狀態機的3個冗余狀態。設計中使用的硬件木馬電路復用原始狀態機中的3個冗余狀態,其中,ST為木馬的激活狀態。選取電路中4個節點構成一段序列,并指定3組序列值作為這3個冗余狀態的轉移條件,即圖3中的PT1{pT10,pT11,pT12,pT13},PT2{pT20,pT21,pT22,pT23}和PT{pT0,pT1,pT2,pT3}。電路在運行中依次滿足PT1,PT2和PT時,狀態機從Sn狀態順序經過ST1和ST2,跳到ST狀態,使木馬激活。否則,狀態機將返回初始狀態。原始狀態機每執行一次才會對硬件木馬的狀態轉移條件判斷一次,并且可以通過改變冗余狀態的數量和狀態轉移條件中的節點數來調整木馬的激活時間。

圖3 使用序列作為轉移條件的硬件木馬狀態轉移
對木馬的激活時間進行理論計算,假定選取原始狀態機中的M個冗余狀態S1,S2,…,SM植入木馬電路,每個冗余狀態使用電路中的N個節點T1,T2,…,Tn構成一段序列,每個節點翻轉到指定值的概率為p(i,j)(i=1,2,…,M,j=1,2,…,N)。木馬激活一次的概率理論上為:

若在電路的一個工作周期T0內,植入木馬的狀態機只執行一次,則木馬激活一次的時間為:

采用原始方法植入硬件木馬,木馬的狀態數與電路中節點數同為N,節點翻轉到指定值的概率為pi(i=1,2,…,N),由于木馬植入一個獨立的狀態機中,每個時鐘周期都要進行狀態轉移條件的判斷,木馬激活一次的時間為:

比較使用2種不同方法得到的木馬激活時間可知,原始方法中硬件木馬激活時間的計算以電路的時鐘周期Tclk為基礎,而改進方法中以整個電路的一個工作周期T0(T0?Tclk)為基礎。因此,節點的翻轉概率pi不需要太低就可以使木馬有足夠長的激活時間;同時可以根據需要改變M和N的值來調節木馬的激活時間以及電路面積的增加。
本文設計了一個AES加/解密算法電路,使用NOVAS公司的verdi軟件對電路中的所有節點在執行約2萬個時鐘周期(70次加/解密運算)后的翻轉概率進行統計,在全部節點中,翻轉概率最低的寄存器在2萬個周期內也翻轉了10次,即平均每執行7次加/解密運算木馬就要被激活1次,這對于評估一個IP顯然是不夠的。
對木馬的激活條件進行改進,將硬件木馬電路植入AES加/解密算法電路的一個有限狀態機中,選取電路中的節點構造一個序列,并設定幾組序列值作為木馬狀態的轉移條件。圖4為電路執行加/解密運算的仿真結果。

圖4 AES加/解密算法電路的仿真波形
對植入硬件木馬的電路進行仿真分析,在key信號和data_in信號的輸入端注入大量的隨機值。在執行5×107個時鐘周期后對木馬的激活次數進行統計。圖5為AES加/解密算法電路中木馬激活一次的仿真波形。與圖4進行對比,可以看出,在執行數據解密運算時,木馬被激活(trig= 1),輸出與加密前的信號值不同,解密后的值出現錯誤。

圖5 木馬被激活時的仿真波形
統計結果顯示,若在電路中選取4個節點插入控制輪密鑰加狀態機的3個冗余狀態中,則在5× 106個時鐘周期內,木馬一共激活5次,平均激活一次需要約106個時鐘周期,而執行一次AES加/解密運算需要333個時鐘周期,因此電路在木馬激活之前已經能夠進行約3 000次正確運算。另外,根據電路的不同功能,可以通過調整序列長度來改變木馬的激活時間。
分別使用原始方法和改進方法在AES加/解密運算電路中植入木馬電路,其中原始方法是將木馬作為一個獨立的狀態機植入電路中,且每個狀態選取電路中翻轉概率相對低的節點作為激活條件;改進方法將木馬植入原始電路狀態機的冗余狀態中,并采用多個節點組成的序列作為木馬狀態的激活條件,對2種方法進行仿真驗證,其電路特性如表1所示??梢钥闯?使用改進的方法在電路面積上有很大優化,并且激活時間成倍增加。例如改進方法中節點數為4、狀態數為3時,電路面積增長比原始方法中使用30個節點時要小0.123%,但激活時間卻是原始方法的120倍以上。而且由于使用節點數、狀態數都很少,其隱蔽性也比使用原始方法好。

表1 使用2種方法激活木馬的電路特性對比
硬件木馬的出現給信息安全問題帶來了新的挑戰,芯片中一旦被植入硬件木馬,將會給安全性要求較高的應用(諸如通信和國家基礎設施等)帶來巨大威脅,但通過合理利用硬件木馬的特性,可以實現電路的自我保護功能。本文針對基于FSM的時序型硬件木馬開展研究,通過對硬件木馬的激活方式進行改進,并將其植入電路中,既能達到IP版權保護的作用,又能放寬對IC設計者的使用限制,具有實際而廣泛的應用價值。后期將繼續對該設計進行流片及測試工作,將木馬的實際激活時間與仿真時得到的數據進行比對,進一步驗證該方法的有效性。
[1] Tehranipoor M,Koushanfar F.A Survey of Hardware Trojan Taxonomy and Detection[J].IEEE Design& Test of Computers,2010,27(1):10-25.
[2] Karri R,Rajendran J,Rosenfeld K,et al.Trustworthy Hardware:Identifying and Classifying Hardware Trojans [J].Computer,2010,43(10):39-46.
[3] Torunoglu I,Charbon E.Watermarking-based Copyright Protection of Sequential Functions[J].IEEE Journal of Solid-state Circuits,2000,35(3):434-440.
[4] Oliveira A L.Techniques for the Creation of Digital Watermarks in Sequential Circuit Designs[J].IEEE Transactions on Computer-aided Design of Integrated Circuits and Systems,2001,20(9):1101-1117.
[5] Fan Yucheng,Tsao Henwai.Watermarking for Intellectual Property Protection[J].IEEE Electronics Letters, 2003,39(18):1316-1318.
[6] Narasimhan S,Chakraborty R S,Bhunia S.Hardware IP Protection During Evaluation Using Embedded Sequential Trojan[J].IEEE Design&Test of Computers,2012, 29(3):70-79.
[7] 縐 程,張 鵬,鄧高明,等.基于功率旁路泄露的硬件木馬設計[J].計算機工程,2011,37(11):135-137.
[8] Rad R,Plusquellic J,Tehranipoor M.A Sensitivity Analysis of Power Signal Methods for Detecting Hardware Trojans Under Real Process and Environmental Conditions[J].IEEE Transactions on Very Large Scale Integration Systems,2010,18(12):1735-1744.
[9] Chakraborty R S,S,Narasimhan S,Bhunia S.Hardware Trojan:Threats and Emerging Solutions[C]//Proc.of IEEE International High Level Design Validation and Test Workshop.San Francisco,USA:IEEE Computer Society,2009:166-171.
[10] Liu Huafeng,Luo Hongwei,Wang Liwei.Design of Hardware Trojan Horse Based on Counter[C]//Proc.of International Conference on Quality,Reliability,Risk, Maintenance,and Safety Engineering.Xi'an,China: [s.n.],2011:1007-1009.
[11] Salmani H,Tehranipoor M,Plusquellic J.A Novel Technique for Improving Hardware Trojan Detection and Reducing Trojan Activation Time[J].IEEE Transactions on Very Large Scale Integration Systems,2012,20(1): 112-125.
[12] Wang Xinmu,Narasimhan S,Krishna A,et al.Sequential HardwareTrojan:Side-channelAware Design and Placement[C]//Proc.of the 29th IEEE International Conferenceon ComputerDesign.Amherst,USA: [s.n.],2011:297-300.
編輯 任吉慧
A Sequential Hardware Trojan-based Framework for IP Copyright Protection
FENG Zi-zhu1,ZHAO Yi-qiang1,LIU Chang-long2
(1.School of Electronic Information Engineering,Tianjin University,Tianjin 300072,China;
2.The 54th Research Institute of China Electronics Technology Group Corporation,Shijiazhuang 050081,China)
With the widespread use of Intellectual Property(IP)in System-on-Chip(SoC)design,protection of hardware IP cores against piracy during evaluation becomes a major concern.Embedding a sequential hardware Trojan inside an IP is a new solution to protect the evaluation version of hardware IP.This paper proposes an advanced framework to lengthen the Trojan's activation time which is the decisive factor of the expiry date of an IP.The sequential Trojan is inserted in the unused states of a Finite State Machine(FSM)in the target circuit and some rare nodes making up a sequence can be chosen as Trojan trigger conditions,and the normal function of the IP core is disturbed when the Trojan is activated.Simulation results demonstrate that the improved framework can effectively lengthen the activation time of the inserted Trojan by 120 times and simultaneously reduce the design overhead by 0.123% when reasonably choosing the number of states as 3 and the length of sequence as 4.
IP core;hardware Trojan;activation time;expiry date;Finite State Machine(FSM)
1000-3428(2014)09-0019-04
A
TP407
10.3969/j.issn.1000-3428.2014.09.004
天津市自然科學基金資助重點項目(12JCZDJC20500)。
馮紫竹(1989-),女,碩士研究生,主研方向:信息安全,入侵檢測;趙毅強,教授;劉長龍,博士。
2013-09-02
2013-10-22E-mail:tcfzz@126.com