APP下载

可观测无关项的集成电路数字指纹

2016-05-05彭凯贝贾瑞清

关键词:数字水印集成电路

彭凯贝,马 飞,贾瑞清

(中国矿业大学(北京) 机电与信息学院,北京 100083)



可观测无关项的集成电路数字指纹

彭凯贝,马飞,贾瑞清

(中国矿业大学(北京) 机电与信息学院,北京 100083)

摘要:针对知识产权(IP)核会被伪造和非法复制的问题,提出了一种保护IP核设计所有权的集成电路(IC)指纹技术。该技术基于布尔运算理论,在不影响电路功能的前提下,通过改变部分集成电路版图连线,实现集成电路指纹的植入。设计者能清楚地识别出数字指纹,而破坏者无法抹除数字指纹。研究结果表明:该设计可以有效保护IC电路。

关键词:集成电路;硬件安全;数字水印;数字指纹

0引言

近年来,集成电路(integrate circuit,IC)芯片的设计方法发生了很大的改变,从对模块进行寄存器传输级编码设计到基于知识产权(intellectual property,IP)核可重用设计。这种方法的转变,可以有效地控制成本、缩短设计周期,还可以提高产品质量,但同时带来了版权保护问题和较大的安全风险。例如,非法开发商可以通过解剖芯片、非法复制版图的方法,获取IP核内容,伪造IP核并销售[1]。这种做法严重侵犯了设计者的权益,也给使用者带来了风险。如何对IC和IP核进行保护,成为集成电路设计中的一个具有挑战性的问题。

关于IC和IP核保护技术的研究发展迅速,例如,数字加密技术、物理不可克隆技术、数字水印技术和数字指纹技术等[2-3]。其中,数字指纹技术能够很好地解决侵权的问题。就像人的指纹一样,数字指纹技术使每一个芯片都有唯一的独特性[4]。在IC和IP核设计过程中,设计者可以在电路中植入特殊且不易被发现的设计特征,从而证明IC设计的所有权[3]。数字指纹技术有3个技术指标:功能不变、独特性和遗传性。

应用于IC领域的数字指纹技术是近几年新兴的研究领域。文献[5]通过电路故障脉冲来实现数字指纹。故障脉冲信号是一个不影响电路正常工作的临时不正确的信号,电路在不同温度下工作,能出现不同的临时故障脉冲信号,可以利用这些临时故障脉冲信号作为数字指纹。文献[6]利用电路中的路径延时作为数字指纹,可以防止硬件木马的插入。但文献[5-6]增加数字指纹的方法都是基于独立的电路,只针对IP核进行保护。如果破坏者非法复制电路,那么数字指纹会跟原有的电路不一样,从而无法证明设计的所有权。文献[7]利用超大规模集成电路计算机辅助设计工具来优化版图,并引用数字水印的植入方式在版图中植入数字指纹。文献[8]与文献[7]的设计理念大致相似,不同的是文献[8]设计出的数字指纹可以相互独立地分配给各个买家。

目前,大多数数字指纹技术都是利用电路的制程变异提取电路的独特性来设计数字指纹[9]。这种技术非常不稳定,因为这需要非常精确的测量来确定每个芯片的独特性,从而证明设计所有权。如果破坏者非法复制芯片,那么就会产生过程变异,抹去了原有芯片的特殊性,这样就无法证明设计所有权。本研究的目的是在集成电路版图中植入数字指纹,使设计者能清楚地识别出数字指纹并且使破坏者无法抹除数字指纹,同时使数字指纹不影响芯片的性能。

1基于可观测无关项的数字指纹设计

最新的数字指纹技术都是利用在电路设计或生产过程中的微小变化来识别电路,但是这种方法不够可靠,因为这种变异无法被精确地测量出来。同样,如果破坏者复制电路,原有电路的过程变化不再存在,违反了数字指纹的目的和要求。本文的数字指纹技术是利用逻辑电路中存在可观测无关项(observability don’t care,ODC)条件,改变芯片版图中的一小部分而且不影响电路的功能,芯片流片后仍然能够保留数字指纹。这样,无论是单个芯片还是芯片组都具有可精确测量的独特性,从而证明设计的原创性和设计所有权。

1.1逻辑电路可观测无关项

可观测无关项(ODC)是布尔运算理论中的一个概念[10]。当逻辑电路中存在可观测无关项条件时,改变输入端信号则观察不到电路最终输出端的变化。例如,3个与逻辑门(G1、G2和G3)组成一个逻辑电路,如图1所示。图1中,A、B、C和0为输入端;X、Y和Z为输出端。假设G2逻辑门中的一个输入端始终为0,那么其输出端Y也始终为0,导致G3逻辑门输出端Z也始终为0。也就是说,电路中的A、B和C这3个输入端信号无论输入什么值,其电路最终的输出端信号都为0,那么认为这样的逻辑电路中存在可观测无关项。在实际的集成电路中存在大量这样的可观测无关项,其可观测无关项可以被定义为布尔方程[11]:

(1)

图1    有可观测无关项条件的   简单逻辑电路图

图1的电路中,假设G3逻辑门的其中一个输入端信号为X,另一个为Y,其布尔方程为F(X)=XY。当X=1时,X′=0,F(X′)为X=0时的函数值,F(X)′和F(X′)′的值分别为F(X)和F(X′)值的反。当满足可观测无关项条件时,ODCX函数表示为G3逻辑门中的X信号被阻断,X的值不会对函数F(x)的值有任何影响。根据式(1)能得出ODCX=Y′。

1.2植入数字指纹的位置和方法

在逻辑电路中每个逻辑门用来确定逻辑关系,这样可以利用电路中逻辑关系产生可观测无关项条件。大多数ODC可以用于式(1),但并不是每个实际的可观测无关项条件都可以用于修改成为数字指纹。利用可观测无关项植入数字指纹需要以下条件:

(Ⅰ)电路中最终输出的逻辑门必须至少有两个输入信号。

(Ⅱ)电路最终输出的逻辑门必须至少有一个输入信号是其前一个逻辑门的扇出信号。

(Ⅲ)条件(Ⅱ)中的逻辑门必须有一门非零ODC(FODC(x)≠0)或单个输入门,例如反向器。

(Ⅳ)条件(Ⅰ)中的逻辑门必须有一个非零ODC的一个或多个输入信号。

条件(Ⅰ)是为了让原有电路有细微的改动(用于指纹识别的目的);条件(Ⅱ)保证了可观测无关项改变不会对电路的功能有所改变;条件(Ⅲ)和条件(Ⅳ)保证了可以在逻辑门中添加信号。每个存在ODC的门都应该满足以上4个条件,同样,根据以上4个条件可以定位一个ODC的位置,从而植入数字指纹。

当找到逻辑电路中存在ODC条件时,就可以修改逻辑电路从而植入数字指纹,如图2所示。例如,逻辑电路中存在2个与逻辑门G1和G2;3个输入信号A、B和X;1个输出信号Z,如图2a所示。G1为最终输出端的逻辑门,G2的输出信号只能是G1其中一个输入信号。此电路满足上述植入数字指纹条件,就可以把X信号添加到G2中,使G2改为三输入与门,如图2b所示。如果以上的修改不会影响电路最终输出的结果,那么信号X就可以被当作一个ODC触发。在G2逻辑门中如果增加一个ODC触发信号,就可以在电路中植入一个数字指纹作为1 bit。实际电路中会存在许多个ODC触发信号,如果一个电路中存在有n个ODC条件的输入信号,那么最大就有n2bit可以修改。

图2 利用可观测无关项条件修改前后的逻辑电路比较

植入数字指纹后就可以在版图上显示出不同种的电路,如果有nbit增加,那么就会有n2个不同的版图。此外,如果有k个逻辑门的输出仅为下一个逻辑门的输入,那么就会有2k个可植入的数字指纹。

1.3数字指纹安全性分析

当植入数字指纹的芯片被非版权所有者非法复制后,首先,可以通过数字指纹版图的独特性来验证设计者的所有权;然后,根据每块芯片具有不同的数字指纹特征来追查伪造芯片的来源,从而找出非版权所有者。设计方知道不同买家的芯片有不同的数字指纹,而所有买家并不知道芯片中植入了数字指纹,只有这样才能保障数字指纹的安全性。

如果非版权所有者想通过解剖芯片来找出数字指纹是极其困难的,因为非版权所有者没有不带数字指纹的原始版图,很难找到植入指纹的位置。假设一个芯片有10万个逻辑门,40万条信号线,每条信号线都有独有的坐标和线型,从中选出20个带有ODC条件的逻辑门进行修改,通过这些信号线组成了特殊的数字指纹。在不知道植入信息的情况下,从任意一块芯片中提取相同指纹的概率为:

P=[(2×405)16]-1≈0。

经分析,破解带数字指纹信息的芯片难度极高,提取相同数字指纹的概率几乎为0。从安全性考虑,本文提出的基于ODC的数字指纹方法是可靠的。

2实验

图3 植入数字指纹的程序

本实验用Microelectronics Center of North Carolina (MCNC)和ISCAS85基准电路作为实验电路[11],用Visual C++搭建植入数字指纹的电路平台,该平台可读写电路并植入数字指纹。电路植入数字指纹后,用Cadence公司的RTL compiler软件对电路进行综合,最后得出电路的传输时延、功耗和版图面积。

根据上述数字指纹的定义和植入的准则,采用Visual C++语言编写植入数字指纹的程序,如图3所示。此程序功能为:可以读写电路的寄存器传输级(register transfer level,RTL)描述;识别逻辑电路结构;存储逻辑门的种类和电路的输入输出信号;确定植入数字指纹的位置及找到有ODC条件的逻辑门位置;统计电路可植入数字指纹的最大数量;根据上述植入数字指纹的条件,修改电路;输出植入数字指纹电路的RTL描述。

植入数字指纹之后,用RTL compiler软件分别对原有实验电路和植入数字指纹后的实验电路进行逻辑优化,并记录两者的版图面积、传输时延和电路功耗。表1是植入原电路与植入数字指纹后电路的性能比较。

从表1的性能比较结果可以看出:逻辑门数量多的电路版图面积增加不大,而逻辑门数量小的电路版图面积增加较大,例如C432电路。这是因为在小电路中很小的改变就会对其版图面积产生很大的影响。由于大多数数字指纹的植入位置都不是在电路关键路径上,所以对延时增加的影响不大,最大的延时增加只有17.01%。

表1 原电路与植入数字指纹后电路的性能比较

3结束语

本研究利用电路存在的可观测无关项条件,在电路中植入了数字指纹来确保每个电路的唯一性,保护IC设计方的权益。电路中的数字指纹很难被发现和篡改,确保了数字指纹有很强的鲁棒性。数字指纹的植入对原有电路造成的影响并不大,而且可以通过控制植入数字指纹的数量来减少对原有电路版图面积、延时和功率的影响。数字指纹植入技术还有很大的研究空间,最重要的就是如何在真正的IC生产过程中加入数字指纹。其中,有可能的设想是在电路版图有空间的地方植入数字指纹。

参考文献:

[1]徐阳扬,周端,王国平.数字水印技术在IP核知识产权保护中的应用[J].计算机工程,2003,22(29):195-197.

[2]李东晓,郑伟,张明.IP芯核水印技术研究进展[J].电路与系统学报,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核数字水印保护与检测技术[J].半导体技术,2012,37(8):585-589.

[10]徐拾义.可信计算系统设计和分析[M].北京:清华大学出版社,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

文献标志码:A

收稿日期:2015-10-21

作者简介:彭凯贝(1988-),男,北京人,博士生;贾瑞清(1958-),男,北京人,教授,博士,博士生导师,主要研究方向为机电一体化和SOC设计.

基金项目:国家自然科学基金项目(61471362)

文章编号:1672-6871(2016)03-0038-04

DOI:10.15926/j.cnki.issn1672-6871.2016.03.009

猜你喜欢

数字水印集成电路
基于遗传优化的自然语言文本数字水印方法
基于网屏编码的数字水印技术
集成电路测试领域的关键技术
塑封集成电路扫描声学显微镜分析
一种巨胎成型机用过、欠压保护电路
混合集成电路激光调阻技术
人工智能与集成电路的关系探讨
基于FPGA的数字水印提取系统设计研究
一种用数字集成电路FPGA实现的伪速率调制器
基于数字水印的人脸与声纹融合识别算法