摘要:隨著集成電路產(chǎn)業(yè)的迅速發(fā)展,集成電路設計的安全性越來越受重視,電路設計盜用等知識產(chǎn)權(IP)侵權行為嚴重損害了設計者和消費者的權益,阻礙了集成電路產(chǎn)業(yè)的發(fā)展。本文提出了一種有效保護IP核的方法,通過設計一個保護電路,控制功能電路運行結(jié)果的輸出,在消費者未取得合法授權時,功能電路無法正常工作,從而達到了保護電路的目的。本文將該保護方法運用在實際的電路上,進行仿真并驗證了該方法的有效性。本文網(wǎng)絡版地址:http://www.eepw.com.cn/article/266049.htm
關鍵詞:IP核;IP保護硬件鎖保護法;路徑延時
DOI: 10.3969/j.issn.1005-5517.2014.11.006
引言
隨著片上系統(tǒng)SoC的迅速發(fā)展,IP復用的知識產(chǎn)權保護問題日益嚴重,危害了設計者和消費者的權益[1-3]。為了有效地保護IP核,需要有切實有效的保護方案。本文提出一種積極的IP保護方法。它通過設計一個支路保護電路來鎖定需要保護的功能電路,用戶只有在獲得授權并得到正確的密鑰后,才能解鎖該電路,從而實現(xiàn)保護電路的功能。該方法的基本原理是比較功能電路和保護電路的路徑延時,如果二者相同,則功能電路的輸出結(jié)果可以正確輸出,否則結(jié)果將無法向下傳遞。和傳統(tǒng)的采用密碼算法對IP核進行加密的方法相比,本方法不僅可以防止IP核流通過程中的盜用,還可以防止IP核使用過程中的盜用。
1 背景技術
目前主流的IP核保護方法有加密保護法[4]、水印保護法[5]和基于硬件鎖的保護法[6]。加密保護法使用密碼學算法對IP核進行加密,可以防止IP核在流通過程被盜用。在合法用戶獲得密鑰解密IP核后,它就失去了保護。水印法[7]在電路中嵌入代表設計者信息的數(shù)字水印,通過提取該水印達到IP識別和追蹤的目的。水印法屬于被動IP保護法。基于硬件鎖的保護方法則是在芯片制造后,利用工藝偏差與邏輯功能的相互關聯(lián)來鎖定每一個芯片,沒有解鎖的密碼,芯片不能正常工作。該方法主要針對芯片的IP保護。
IP核根據(jù)設計的靈活性分為軟核、固核、硬核三大類,依次靈活度依次降低[8]。本文所要保護的是IP固核,固核指的是帶有平面規(guī)劃信息的網(wǎng)表,通常以RTL 代碼封裝和對應的具體工藝網(wǎng)表的混合形式提供。將RTL 描述結(jié)合具體標準單元庫進行綜合優(yōu)化設計,形成門級網(wǎng)表,再通過布局布線即可使用。固核兼具設計靈活性和性能可預見性是IP 核的主流形式之一。所以,IP固核的保護尤為重要。
本文采用的是硬件鎖保護方法,實現(xiàn)對IP固核的保護,保護電路加入了狀態(tài)機實現(xiàn)密鑰的檢測,只有在密鑰輸入正確的情況下,保護電路才會解鎖被保護電路。
2 實現(xiàn)方法
2.1 電路結(jié)構
如圖1所示,電路包括左右兩條數(shù)據(jù)路徑,右邊的數(shù)據(jù)路徑是待保護的電路,其輸入到運行結(jié)果需要經(jīng)過多個周期。左邊的部分則為添加的保護電路,控制右邊電路的輸出,達到輸出或者屏蔽的目的。該保護電路主要包括兩部分:一是移位寄存器,在功能電路的使能信號、輸出有效信號以及狀態(tài)機的輸出信號的聯(lián)合控制下進行移位操作;二是進行密碼檢測機,只有在用戶輸入的密碼完全正確的前提下,移位寄存器才能正常移位,進而達到解鎖功能電路的目的。
圖1中ce為整個電路的使能信號,data為功能電路的輸入數(shù)據(jù),out2為功能電路的運行結(jié)果,RDY信號為功能電路的輸出有效信息,即在經(jīng)過UPC的輸入輸出延遲后,out2輸出運行結(jié)果,同時RDY信號有效。R為移位寄存器的使能信號,移位寄存器的輸出接受狀態(tài)機的密碼檢測,如果密鑰匹配,則狀態(tài)機的輸出不影響移位操作。ce和RDY信號分別控制移位寄存器的開始移位操作和結(jié)束移位操作。
右邊的數(shù)據(jù)路徑在使能信號的驅(qū)動下是能正常工作的,其工作不受左邊保護支路的影響,左邊支路的保護作用主要體現(xiàn)在是否讓電路的運行結(jié)果正確輸出,這就涉及到左邊電路與右邊電路的路徑延時匹配問題。在下一節(jié)中介紹兩條路徑的匹配問題。

2.2 路徑的匹配
功能電路在經(jīng)過一定的輸入輸出延時后,運行結(jié)果將在out2管腳顯示,如果在此刻及以后的時間內(nèi),保護電路的輸出管腳mux(即選擇器的選擇端)輸出值1,那么經(jīng)過圖中的選擇器后,功能電路運行結(jié)果out2將在out端口可用。
保護電路和功能電路共用使能信號ce,假如移位寄存器中存入正確的密鑰,則在狀態(tài)機的控制下,移位寄存器正常移位。每個周期移動一位,直到UPC電路的輸出有效信號RDY經(jīng)過n周期后有效,移位終止。此時,fsm_out 輸出仍為高電平,若此時SRL的輸出out1為高電平1,那么經(jīng)過“與”門操作后,將實現(xiàn)解鎖的目的,即初始值的n-bit對應為解鎖位,n對應于功能電路的延遲周期。如果SRL中的初始值輸入錯誤,則狀態(tài)機輸出fsm_out為低電平0,移位寄存器停止移位,電路被鎖定。
由此可見,只有在移位寄存器的初始值輸入正確的情況下,兩條路徑的延時才能匹配,達到解鎖的目的,否則,電路將被鎖死。對于n比特的初始值,猜出正確序列的可能性為1/(2n),故n越大越有利于提高該保護方法的可靠性。
3 實驗結(jié)果
為了驗證該保護方法的有效性和可靠性,本文將引入圖2所示三個電路進行驗證,不同電路具有不同的輸入-輸出延遲周期。實驗過程如下:
首先,三個電路都執(zhí)行32位的浮點運算,包括浮點乘法器和浮點加法器。實驗選用的FPGA器件是xc5vlx220,設計的工具包括Xilinx ISE, Modelsim 以及功耗分析器[9]。選用FPGA中的LUT來實現(xiàn)移位寄存器,原因在于,電路的保護應盡量節(jié)約成本,且保護電路的加入應不影響原始電路的速度,相比于其他移位寄存器電路實現(xiàn)方式來說,用LUT實現(xiàn)移位寄存器能有效地節(jié)省資源,且增加的額外功耗較小。在Xinlix FPGA內(nèi)部,有兩種類型的LUT,分別為4-input LUT和6-input LUT,可以分別用來作為16位和32位的移位寄存器。還可以對LUT級聯(lián)來實現(xiàn)更多位移位寄存器。
(1)設置浮點乘法器的延遲為5,浮點加法器的延遲為10,則上面三個電路的輸入-輸出延遲分別為15, 25和35。 此時未添加保護電路,對設計進行綜合、布局布線,并記錄其面積、頻率以及功耗等設計性能參數(shù)。
(2)為三個電路添加保護電路,并在綜合和布局布線后利用Modelsim進行時序仿真,記錄設計的面積、運行速度和功耗。
圖3為圖2中電路( a ) D e s i g n 1的仿真結(jié)果,密鑰為16’b1010010001000001,out1輸出正好為密鑰值,說明密鑰輸入正確,從圖中可以看出RDY有效以后功能電路的輸出結(jié)果out2傳遞到電路的輸出端口out。說明電路成功被解鎖。
但若在移位寄存器SRL初始化時輸入16’b10101xxxxxxxxxxx,其仿真結(jié)果如圖4所示,狀態(tài)機檢測到第五位密碼輸入錯誤,輸出fsm_out為0,并終止移位寄存器的移位操作。最終導致功能電路的輸出結(jié)果不會傳遞out端口,從而達到了保護目的。
接下來討論加入保護電路對功能電路帶來的影響,表格1中 Design1_ p,Design2_p,Design3_p依次對應于圖2中的三個電路加保護電路后所得到的設計,表中對比了加入保護電路后的設計,相比于未加保護電路時在資源消耗、電路的運行速度以及功耗方面的差異。由數(shù)據(jù)可知,由保護電路引起的額外資源消耗和功耗很少,且隨著功能電路路徑延時的增大,由保護電路引起的額外資源消耗所占的比例更小。實驗結(jié)果還表明電路的運行速度在有些情況下有所加快,是由于保護電路的加入,使得原本分散的LUT有向Slice中聚集的趨勢,從而提高了電路的運行速度。
表中的最后列為1 / l a t e n c y(latency為功能電路的路徑延時)的值,其值的大小表示盜用者猜中密鑰的概率,該值越小,說明密鑰的安全性越高,再次證明了功能電路的延遲越大越適合采用該保護方法。但是在實際的功能電路設計時,并非延遲越大越好,還應當考慮路徑延遲對功能電路面積、速度以及功耗等因素的影響,所以應該在一定范圍內(nèi)選擇適當?shù)难舆t來完成功能電路的設計。

4 總結(jié)
本文提出了一種基于路徑延時匹配的IP固核的保護方法,即設計旁路保護電路,通過輸入密鑰以及密鑰檢測機制來達到與被保護電路的數(shù)據(jù)路徑相匹配,實現(xiàn)硬件電路的保護,只有消費者取得合法授權時,功能電路才能正常工作。該保護方法需要的額外開支少,不影響電路的速度,而且可靠性高。與現(xiàn)有的IP保護方法能很好地融合在一起,共同為集成電路產(chǎn)業(yè)的發(fā)展做貢獻。
參考文獻:
[1] D. Saha and S. Sur-Kolay, “SoC: a real platform for IP reuse, IP infringement, and IP protection,” VLSI Des., vol. 2011, pp. 5:1–5:10, Jan. 2011.
[2] 邢強, 駱麗. 集成電路設計中 IP 核的保護措施[J]. 中國集成電路, 2006, 6: 022.
[3] Biggs J, Gibbons A. 實現(xiàn)基于 IP 核技術的 SoC 設計[J]. 電子產(chǎn)品世界, 2002, 17: 012.
[4] 張修麗. AES 加密 IP 的優(yōu)化設計及旁路攻擊研究[D]. 上海交通大學, 2010.
[5] A. Abdel-Hamid, S. Tahar, and E. Aboulhamid, “A survey on IP watermarking techniques,” Design Automation for Embedded Systems, vol. 9, no. 3, 2004.
[6] F. Koushanfar, “Hardware metering: A survey,” in Introduction to Hardware Security and Trust. Springer, 2012, pp. 103–122.
[7] 苗勝, 戴冠中, 慕德俊, 等. 基于 FPGA 的 IP 核水印保護方法[J].微電子學與計算機, 2007, 24(3): 30-33.
[8] 潘中平. 我國商用 IP 核的現(xiàn)狀和發(fā)展對策[J]. 中國集成電路, 2002, 4: 016.
[9] http://www.xilinx.com, “Xilinx power estimator user guide,” accessed 2009.