彭凱貝,馬 飛,賈瑞清
(中國礦業(yè)大學(xué)(北京) 機(jī)電與信息學(xué)院,北京 100083)
?
可觀測無關(guān)項(xiàng)的集成電路數(shù)字指紋
彭凱貝,馬飛,賈瑞清
(中國礦業(yè)大學(xué)(北京) 機(jī)電與信息學(xué)院,北京 100083)
摘要:針對知識產(chǎn)權(quán)(IP)核會被偽造和非法復(fù)制的問題,提出了一種保護(hù)IP核設(shè)計所有權(quán)的集成電路(IC)指紋技術(shù)。該技術(shù)基于布爾運(yùn)算理論,在不影響電路功能的前提下,通過改變部分集成電路版圖連線,實(shí)現(xiàn)集成電路指紋的植入。設(shè)計者能清楚地識別出數(shù)字指紋,而破壞者無法抹除數(shù)字指紋。研究結(jié)果表明:該設(shè)計可以有效保護(hù)IC電路。
關(guān)鍵詞:集成電路;硬件安全;數(shù)字水?。粩?shù)字指紋
0引言
近年來,集成電路(integrate circuit,IC)芯片的設(shè)計方法發(fā)生了很大的改變,從對模塊進(jìn)行寄存器傳輸級編碼設(shè)計到基于知識產(chǎn)權(quán)(intellectual property,IP)核可重用設(shè)計。這種方法的轉(zhuǎn)變,可以有效地控制成本、縮短設(shè)計周期,還可以提高產(chǎn)品質(zhì)量,但同時帶來了版權(quán)保護(hù)問題和較大的安全風(fēng)險。例如,非法開發(fā)商可以通過解剖芯片、非法復(fù)制版圖的方法,獲取IP核內(nèi)容,偽造IP核并銷售[1]。這種做法嚴(yán)重侵犯了設(shè)計者的權(quán)益,也給使用者帶來了風(fēng)險。如何對IC和IP核進(jìn)行保護(hù),成為集成電路設(shè)計中的一個具有挑戰(zhàn)性的問題。
關(guān)于IC和IP核保護(hù)技術(shù)的研究發(fā)展迅速,例如,數(shù)字加密技術(shù)、物理不可克隆技術(shù)、數(shù)字水印技術(shù)和數(shù)字指紋技術(shù)等[2-3]。其中,數(shù)字指紋技術(shù)能夠很好地解決侵權(quán)的問題。就像人的指紋一樣,數(shù)字指紋技術(shù)使每一個芯片都有唯一的獨(dú)特性[4]。在IC和IP核設(shè)計過程中,設(shè)計者可以在電路中植入特殊且不易被發(fā)現(xiàn)的設(shè)計特征,從而證明IC設(shè)計的所有權(quán)[3]。數(shù)字指紋技術(shù)有3個技術(shù)指標(biāo):功能不變、獨(dú)特性和遺傳性。
應(yīng)用于IC領(lǐng)域的數(shù)字指紋技術(shù)是近幾年新興的研究領(lǐng)域。文獻(xiàn)[5]通過電路故障脈沖來實(shí)現(xiàn)數(shù)字指紋。故障脈沖信號是一個不影響電路正常工作的臨時不正確的信號,電路在不同溫度下工作,能出現(xiàn)不同的臨時故障脈沖信號,可以利用這些臨時故障脈沖信號作為數(shù)字指紋。文獻(xiàn)[6]利用電路中的路徑延時作為數(shù)字指紋,可以防止硬件木馬的插入。但文獻(xiàn)[5-6]增加數(shù)字指紋的方法都是基于獨(dú)立的電路,只針對IP核進(jìn)行保護(hù)。如果破壞者非法復(fù)制電路,那么數(shù)字指紋會跟原有的電路不一樣,從而無法證明設(shè)計的所有權(quán)。文獻(xiàn)[7]利用超大規(guī)模集成電路計算機(jī)輔助設(shè)計工具來優(yōu)化版圖,并引用數(shù)字水印的植入方式在版圖中植入數(shù)字指紋。文獻(xiàn)[8]與文獻(xiàn)[7]的設(shè)計理念大致相似,不同的是文獻(xiàn)[8]設(shè)計出的數(shù)字指紋可以相互獨(dú)立地分配給各個買家。
目前,大多數(shù)數(shù)字指紋技術(shù)都是利用電路的制程變異提取電路的獨(dú)特性來設(shè)計數(shù)字指紋[9]。這種技術(shù)非常不穩(wěn)定,因?yàn)檫@需要非常精確的測量來確定每個芯片的獨(dú)特性,從而證明設(shè)計所有權(quán)。如果破壞者非法復(fù)制芯片,那么就會產(chǎn)生過程變異,抹去了原有芯片的特殊性,這樣就無法證明設(shè)計所有權(quán)。本研究的目的是在集成電路版圖中植入數(shù)字指紋,使設(shè)計者能清楚地識別出數(shù)字指紋并且使破壞者無法抹除數(shù)字指紋,同時使數(shù)字指紋不影響芯片的性能。
1基于可觀測無關(guān)項(xiàng)的數(shù)字指紋設(shè)計
最新的數(shù)字指紋技術(shù)都是利用在電路設(shè)計或生產(chǎn)過程中的微小變化來識別電路,但是這種方法不夠可靠,因?yàn)檫@種變異無法被精確地測量出來。同樣,如果破壞者復(fù)制電路,原有電路的過程變化不再存在,違反了數(shù)字指紋的目的和要求。本文的數(shù)字指紋技術(shù)是利用邏輯電路中存在可觀測無關(guān)項(xiàng)(observability don’t care,ODC)條件,改變芯片版圖中的一小部分而且不影響電路的功能,芯片流片后仍然能夠保留數(shù)字指紋。這樣,無論是單個芯片還是芯片組都具有可精確測量的獨(dú)特性,從而證明設(shè)計的原創(chuàng)性和設(shè)計所有權(quán)。
1.1邏輯電路可觀測無關(guān)項(xiàng)
可觀測無關(guān)項(xiàng)(ODC)是布爾運(yùn)算理論中的一個概念[10]。當(dāng)邏輯電路中存在可觀測無關(guān)項(xiàng)條件時,改變輸入端信號則觀察不到電路最終輸出端的變化。例如,3個與邏輯門(G1、G2和G3)組成一個邏輯電路,如圖1所示。圖1中,A、B、C和0為輸入端;X、Y和Z為輸出端。假設(shè)G2邏輯門中的一個輸入端始終為0,那么其輸出端Y也始終為0,導(dǎo)致G3邏輯門輸出端Z也始終為0。也就是說,電路中的A、B和C這3個輸入端信號無論輸入什么值,其電路最終的輸出端信號都為0,那么認(rèn)為這樣的邏輯電路中存在可觀測無關(guān)項(xiàng)。在實(shí)際的集成電路中存在大量這樣的可觀測無關(guān)項(xiàng),其可觀測無關(guān)項(xiàng)可以被定義為布爾方程[11]:
(1)
圖1 有可觀測無關(guān)項(xiàng)條件的 簡單邏輯電路圖
圖1的電路中,假設(shè)G3邏輯門的其中一個輸入端信號為X,另一個為Y,其布爾方程為F(X)=XY。當(dāng)X=1時,X′=0,F(xiàn)(X′)為X=0時的函數(shù)值,F(xiàn)(X)′和F(X′)′的值分別為F(X)和F(X′)值的反。當(dāng)滿足可觀測無關(guān)項(xiàng)條件時,ODCX函數(shù)表示為G3邏輯門中的X信號被阻斷,X的值不會對函數(shù)F(x)的值有任何影響。根據(jù)式(1)能得出ODCX=Y′。
1.2植入數(shù)字指紋的位置和方法
在邏輯電路中每個邏輯門用來確定邏輯關(guān)系,這樣可以利用電路中邏輯關(guān)系產(chǎn)生可觀測無關(guān)項(xiàng)條件。大多數(shù)ODC可以用于式(1),但并不是每個實(shí)際的可觀測無關(guān)項(xiàng)條件都可以用于修改成為數(shù)字指紋。利用可觀測無關(guān)項(xiàng)植入數(shù)字指紋需要以下條件:
(Ⅰ)電路中最終輸出的邏輯門必須至少有兩個輸入信號。
(Ⅱ)電路最終輸出的邏輯門必須至少有一個輸入信號是其前一個邏輯門的扇出信號。
(Ⅲ)條件(Ⅱ)中的邏輯門必須有一門非零ODC(FODC(x)≠0)或單個輸入門,例如反向器。
(Ⅳ)條件(Ⅰ)中的邏輯門必須有一個非零ODC的一個或多個輸入信號。
條件(Ⅰ)是為了讓原有電路有細(xì)微的改動(用于指紋識別的目的);條件(Ⅱ)保證了可觀測無關(guān)項(xiàng)改變不會對電路的功能有所改變;條件(Ⅲ)和條件(Ⅳ)保證了可以在邏輯門中添加信號。每個存在ODC的門都應(yīng)該滿足以上4個條件,同樣,根據(jù)以上4個條件可以定位一個ODC的位置,從而植入數(shù)字指紋。
當(dāng)找到邏輯電路中存在ODC條件時,就可以修改邏輯電路從而植入數(shù)字指紋,如圖2所示。例如,邏輯電路中存在2個與邏輯門G1和G2;3個輸入信號A、B和X;1個輸出信號Z,如圖2a所示。G1為最終輸出端的邏輯門,G2的輸出信號只能是G1其中一個輸入信號。此電路滿足上述植入數(shù)字指紋條件,就可以把X信號添加到G2中,使G2改為三輸入與門,如圖2b所示。如果以上的修改不會影響電路最終輸出的結(jié)果,那么信號X就可以被當(dāng)作一個ODC觸發(fā)。在G2邏輯門中如果增加一個ODC觸發(fā)信號,就可以在電路中植入一個數(shù)字指紋作為1 bit。實(shí)際電路中會存在許多個ODC觸發(fā)信號,如果一個電路中存在有n個ODC條件的輸入信號,那么最大就有n2bit可以修改。
圖2 利用可觀測無關(guān)項(xiàng)條件修改前后的邏輯電路比較
植入數(shù)字指紋后就可以在版圖上顯示出不同種的電路,如果有nbit增加,那么就會有n2個不同的版圖。此外,如果有k個邏輯門的輸出僅為下一個邏輯門的輸入,那么就會有2k個可植入的數(shù)字指紋。
1.3數(shù)字指紋安全性分析
當(dāng)植入數(shù)字指紋的芯片被非版權(quán)所有者非法復(fù)制后,首先,可以通過數(shù)字指紋版圖的獨(dú)特性來驗(yàn)證設(shè)計者的所有權(quán);然后,根據(jù)每塊芯片具有不同的數(shù)字指紋特征來追查偽造芯片的來源,從而找出非版權(quán)所有者。設(shè)計方知道不同買家的芯片有不同的數(shù)字指紋,而所有買家并不知道芯片中植入了數(shù)字指紋,只有這樣才能保障數(shù)字指紋的安全性。
如果非版權(quán)所有者想通過解剖芯片來找出數(shù)字指紋是極其困難的,因?yàn)榉前鏅?quán)所有者沒有不帶數(shù)字指紋的原始版圖,很難找到植入指紋的位置。假設(shè)一個芯片有10萬個邏輯門,40萬條信號線,每條信號線都有獨(dú)有的坐標(biāo)和線型,從中選出20個帶有ODC條件的邏輯門進(jìn)行修改,通過這些信號線組成了特殊的數(shù)字指紋。在不知道植入信息的情況下,從任意一塊芯片中提取相同指紋的概率為:
P=[(2×405)16]-1≈0。
經(jīng)分析,破解帶數(shù)字指紋信息的芯片難度極高,提取相同數(shù)字指紋的概率幾乎為0。從安全性考慮,本文提出的基于ODC的數(shù)字指紋方法是可靠的。
2實(shí)驗(yàn)
圖3 植入數(shù)字指紋的程序
本實(shí)驗(yàn)用Microelectronics Center of North Carolina (MCNC)和ISCAS85基準(zhǔn)電路作為實(shí)驗(yàn)電路[11],用Visual C++搭建植入數(shù)字指紋的電路平臺,該平臺可讀寫電路并植入數(shù)字指紋。電路植入數(shù)字指紋后,用Cadence公司的RTL compiler軟件對電路進(jìn)行綜合,最后得出電路的傳輸時延、功耗和版圖面積。
根據(jù)上述數(shù)字指紋的定義和植入的準(zhǔn)則,采用Visual C++語言編寫植入數(shù)字指紋的程序,如圖3所示。此程序功能為:可以讀寫電路的寄存器傳輸級(register transfer level,RTL)描述;識別邏輯電路結(jié)構(gòu);存儲邏輯門的種類和電路的輸入輸出信號;確定植入數(shù)字指紋的位置及找到有ODC條件的邏輯門位置;統(tǒng)計電路可植入數(shù)字指紋的最大數(shù)量;根據(jù)上述植入數(shù)字指紋的條件,修改電路;輸出植入數(shù)字指紋電路的RTL描述。
植入數(shù)字指紋之后,用RTL compiler軟件分別對原有實(shí)驗(yàn)電路和植入數(shù)字指紋后的實(shí)驗(yàn)電路進(jìn)行邏輯優(yōu)化,并記錄兩者的版圖面積、傳輸時延和電路功耗。表1是植入原電路與植入數(shù)字指紋后電路的性能比較。
從表1的性能比較結(jié)果可以看出:邏輯門數(shù)量多的電路版圖面積增加不大,而邏輯門數(shù)量小的電路版圖面積增加較大,例如C432電路。這是因?yàn)樵谛‰娐分泻苄〉母淖兙蜁ζ浒鎴D面積產(chǎn)生很大的影響。由于大多數(shù)數(shù)字指紋的植入位置都不是在電路關(guān)鍵路徑上,所以對延時增加的影響不大,最大的延時增加只有17.01%。
表1 原電路與植入數(shù)字指紋后電路的性能比較
3結(jié)束語
本研究利用電路存在的可觀測無關(guān)項(xiàng)條件,在電路中植入了數(shù)字指紋來確保每個電路的唯一性,保護(hù)IC設(shè)計方的權(quán)益。電路中的數(shù)字指紋很難被發(fā)現(xiàn)和篡改,確保了數(shù)字指紋有很強(qiáng)的魯棒性。數(shù)字指紋的植入對原有電路造成的影響并不大,而且可以通過控制植入數(shù)字指紋的數(shù)量來減少對原有電路版圖面積、延時和功率的影響。數(shù)字指紋植入技術(shù)還有很大的研究空間,最重要的就是如何在真正的IC生產(chǎn)過程中加入數(shù)字指紋。其中,有可能的設(shè)想是在電路版圖有空間的地方植入數(shù)字指紋。
參考文獻(xiàn):
[1]徐陽揚(yáng),周端,王國平.數(shù)字水印技術(shù)在IP核知識產(chǎn)權(quán)保護(hù)中的應(yīng)用[J].計算機(jī)工程,2003,22(29):195-197.
[2]李東曉,鄭偉,張明.IP芯核水印技術(shù)研究進(jìn)展[J].電路與系統(tǒng)學(xué)報,2007,12(4):85-92.
[3]ABDEL-HAMID A T,TAHAR S,ABOULHAMID E M.A survey on IP watermarking techniques[J].Design automation for embedded system,2004,9(3):211-220.
[4]MOHANTY S P,KOUGIANOSE,RANGANATHAN N.VLSI architecture and chip for combined invisible robust and fragile watermarking[J].Computers & digital techniques,IET,2007,1(5):600-611.
[5]PATEL H J,CROUCH J W,KIM Y C,et al.Creating a unique digital fingerprint using existing combinational logic[C]//Proceedings of ISCAS.2009:2693-2696.
[6]JIN Y,MAKRIS Y.Hardware Trojan detection using path delay fingerprinting[C]// International Workshop on Hardware-Oriented Security and Trust.2008:51-57.
[7]KAHNG A B,KIROVSKI D.Copy detection for intellectual property protection of VLSI design[C]// Proceedings of IEEE/ACM International Conference on Computer-Aided Design.San Jose,CA,Nov,1998:600-604.
[8]CALDWELL A E,CHOI H J,KAHNG A B,et al.Effective iterative techniques for fingerprinting design IP[J].Computer-aided design of integrated circuits and systems,2004,23:208-215.
[9]聶廷元,劉海濤,周立儉,等.FPGA IP核數(shù)字水印保護(hù)與檢測技術(shù)[J].半導(dǎo)體技術(shù),2012,37(8):585-589.
[10]徐拾義.可信計算系統(tǒng)設(shè)計和分析[M].北京:清華大學(xué)出版社,2006.
[11]LIANG W,SUN X,XIA Z,et al.A chaotic IP watermarking in physical layout level based on FPGA[J].Radio engineering,2011:118-125.
中圖分類號:TN43
文獻(xiàn)標(biāo)志碼:A
收稿日期:2015-10-21
作者簡介:彭凱貝(1988-),男,北京人,博士生;賈瑞清(1958-),男,北京人,教授,博士,博士生導(dǎo)師,主要研究方向?yàn)闄C(jī)電一體化和SOC設(shè)計.
基金項(xiàng)目:國家自然科學(xué)基金項(xiàng)目(61471362)
文章編號:1672-6871(2016)03-0038-04
DOI:10.15926/j.cnki.issn1672-6871.2016.03.009