指纹方法

文档序号:6548489阅读:377来源:国知局
指纹方法
【专利摘要】本发明属于IP芯核集成电路的IP保护【技术领域】,是对IP芯核进行数字指纹嵌入和验证的一种指纹方法。包括指纹嵌入部分和指纹验证部分。指纹嵌入部分包括:首先把版权信息加密后生成数字指纹,IP设计经过预处理后,完成数字指纹与网表单元的映射,将映射的网表单元固定,运行EDA电路划分工具,完成数字指纹的嵌入。指纹验证部分包括:在数字指纹系统数据库中,由IP的编号查找用户对应的数字指纹,并提取原始IP网表数据文件,生成当前用户经指纹保护的IP模块,并生成与待验证IP同一层次的IP模块,采用模糊匹配算法与存在版权纠纷的IP模块进行比对。该指纹方法效率高、费用低和开销低。
【专利说明】指纹方法
【技术领域】
[0001]本发明属于IP芯核集成电路的IP保护【技术领域】,是对IP芯核进行数字指纹嵌入和验证的一种指纹方法。
【背景技术】
[0002]随着半导体技术的飞速发展,超大规模集成电路(VLSI)系统高度的复杂化给芯片设计提出了新的要求,依靠传统的设计方法已无法满足当今芯片设计的需求。片上系统(SoC)设计作为新型高效的设计方法,解决了集成电路设计成本、性能和低电耗等问题。IP(Intellectual Property)复用在SoC设计中对解决设计层次、降低产品成本、缩短设计周期、降低市场风险起到了关键性的作用,但同时也暴露了很大的风险。随着近年来IP盗版在亚洲尤其是在中国的泛滥,IP的安全正在受到威胁,IP所有者和IP的用户正在受到侵犯,国民经济和社会发展受到阻碍。IP保护技术这一重要课题也因而受到人们的普遍关注并得到了飞快发展。
[0003]为了解决IP安全问题,在VLSI设计的各个层面出现了大量IP保护技术,如标签技术、指纹技术和数字水印技术等。标签技术如PUF (Physically Unclonable Function)通过在IP核内部设置“标签”存放版权信息,并通过外部“检测器”来检测标签的存在与否。数字水印技术把不可见的、难以除掉的代码永久地保存到设计中以到达IP保护目的。数字水印技术在VLSI设计的前端和后端过程都得到了长足的发展。
[0004]IP保护数字指纹技术由Lach等提出,以解决方案的划分为基础,把一个最初的解决方案划分成很多部分,为每一部分提供几种不同的实现形式,通过选择不同组合来生成一定数量的功能相同、结构不同的IP设计。Caldwell等提出一种基于递增迭代优化技术的IP数字指纹保护方法。相比较于Lach等的方法,此方案的实现开销更低,能更有效地抵抗共谋攻击。Qu将额外约束叠加到原始设计问题并产生大量带有指纹的IP设计。

【发明内容】

[0005]本发明的目的是为解决IP保护与验证问题,提供一种高效率、低费用和低开销的数字指纹方法。
[0006]本发明为解决技术问题所采用的技术方案是:
本发明所述的一种指纹方法,首先对IP芯核进行数字指纹嵌入,包括顺序执行以下步
骤:
(A)生成特定用户的IP版权信息;
(B)生成数字指纹,利用加密算法加密上述特定用户的IP版权信息生成数字指纹;
(C)拆分数字指纹,把数字指纹按一定大小顺序分组,得到若干数字指纹块;
(D)数字指纹块与网表单元的映射,顺序以数字指纹块为输入,采用混合同余法生成范围在网表数据文件中的网表单元总数以内的随机数,选定单元序号为该随机数的网表单元与所述数字指纹匹配; (E)网表单元的处理,将上一步骤映射的网表单元移动到固定电路分区;
(F)循环执行过程(D)?(E),直至所有的指纹信息的数字指纹块全部完成映射;
(G)数字指纹的嵌入保护;运行EDA电路划分工具,输出带有该特定用户数字指纹信息的IP芯核的网表数据文件,用于生成用户所需要的IP模块。
[0007]上述指纹方法,在数字指纹块与网表单元的映射之前,利用post script对IP设计网表数据文件中的数据预处理,至少提取并保留网表单元序号、分区号、权重、节点信息,得到简化的网表文件;随后进行的数字指纹块与网表单元的映射是针对简化的网表数据文件进行的。
[0008]上述指纹方法,在网表单元处理之前,根据网表数据文件中的网表单元所在线网的单元数目判断是否对该单元进行指纹保护,如该线网的单元数目大于特定值,则该网表单元不做处理,如该线网的单元数目小于等于特定值则进入网表单元处理步骤。
[0009]上述任意一项所述的指纹方法,输出带有该特定用户数字指纹信息的IP芯核的网表数据文件之后,至少将所述网表数据文件、IP版权信息、加密密钥以及数字指纹,委托可信任的第三方权威机构保存。
[0010]采用上述技术方案后,该指纹方法提出了基于FPGA保护的多层次的指纹保护系统,首先在网表层嵌入指纹,然后在二进制流层嵌入相同的指纹,在VLSI设计前端过程对电路网表文件进行操作,通过单元固定嵌入数字指纹。该方法嵌入的数字指纹具有安全性高、使用便利、资源开销低、抗共谋攻击等特点。与接近的【背景技术】相比较,本发明所述的数字指纹方法具有以下优点:(一)具有透明性。此方法可对任意集成电路的网表数据文件(cdl, spice, aucdl等格式)进行数字指纹操作。可以对不同设计方法、不同工艺下所有种类的IP进行数字指纹保护,具有普遍性与透明性。(二)本发明在VLSI物理设计前端过程操作网表文件,可根据用户需求运行EDA工具生成各种形式的IP模块,提高了数字指纹IP保护的便利性和安全性。(三)本发明提出的IP保护数字指纹可适用于ASIC模块和FPGA模块,发生版权纠纷时明确IP所有者与IP用户的责任。(四)本发明利用模糊匹配算法对存在版权纠纷的IP模块进行分析比对,提高了 IP验证的准确度。(五)本发明利用真随机数和多种加密算法生成数字指纹,提高了数字指纹系统的安全性。
【专利附图】

【附图说明】
[0011]图1是本发明中数字指纹的嵌入以及备案保存过程的流程图。
[0012]图2是本发明中利用数字指纹方法实施IP保护和验证的流程图。
[0013]图3是本发明中数字指纹产生方法的流程图。
[0014]图4是本发明中IP数字指纹化的流程图。
[0015]图5是本发明中线网指纹化无向图的生成示意图。
[0016]图6是本发明中IP验证的流程图。
【具体实施方式】
[0017]如图1所示,本发明所述的一种指纹方法首先对IP芯核进行数字指纹嵌入,包括顺序执行以下步骤:
(A)生成特定用户的IP版权信息; (B)生成数字指纹,利用加密算法加密上述特定用户的IP版权信息生成数字指纹;
(C)拆分数字指纹,把数字指纹按一定大小顺序分组,得到若干数字指纹块;
(D)数字指纹块与网表单元的映射,顺序以数字指纹块为输入,采用混合同余法生成范围在网表数据文件中的网表单元总数以内的随机数,选定单元序号为该随机数的网表单元与所述数字指纹匹配;
(E)网表单元的处理,将上一步骤映射的网表单元移动到固定电路分区;
(F)循环执行过程(D)?(E),直至所有的指纹信息的数字指纹块全部完成映射;
(G)数字指纹的嵌入保护;运行EDA电路划分工具,输出带有该特定用户数字指纹信息的IP芯核的网表数据文件。
[0018]其中,在数字指纹块与网表单元的映射之前,利用post script对IP设计网表数据文件中的数据预处理,至少提取并保留网表单元序号、分区号、权重、节点信息,得到简化的网表文件;随后进行的数字指纹块与网表单元的映射是针对简化的网表数据文件进行的。经过预处理的网表文件信息量大为减少,有利于提高运行效率,降低运行成本。
[0019]另外,还可以在网表单元处理之前,根据网表数据文件中的网表单元所在线网的单元数目判断是否对该单元进行指纹保护,如该线网的单元数目大于特定值,则该网表单元不做处理,如该线网的单元数目小于等于特定值则进入网表单元处理步骤。这样也可以减小系统运行负担,提闻运行效率。
[0020]另外,为便于日后出现知识产权纠纷时比对指纹特征,在生成并输出带有该特定用户数字指纹信息的IP芯核的网表数据文件之后,至少将所述网表数据文件、IP版权信息、加密密钥以及数字指纹,委托可信任的第三方权威机构保存。
[0021]实施例1:
本发明提供了保护IP的数字指纹方法,在IP发布前通过如上所述步骤嵌入IP所有者和IP用户信息联合生成的数字指纹。在发生侵权纠纷后,通过先前保存在第三方权威机构数据库中的数据生成IP模块样本,利用模糊匹配算法与被控侵权方提供的目标IP模块进行比对,通过比对不仅可以判断IP的合法性,在IP模块侵权的情况下还可以分清侵权责任方。IP所有者指的是拥有IP产权的企业、团体及个人。IP用户指的是任何购买使用IP的企业、团体或个人。
[0022]本发明实施IP保护的另一个前提是必须有一个可信任的第三方权威机构,负责保存和记录数字指纹信息以及受保护的IP。任何IP发布前,必须到第三方进行申请和登记。登记内容包括IP设计网表文件、IP版权信息、加密密钥、IP数字指纹以及IP数字指纹保护过程中产生的其它相关信息等。第三方同时负责IP数字指纹的嵌入、验证以及版权裁
定等工作。
[0023]本发明在VLSI设计前端过程对电路网表文件进行操作,通过指纹映射与单元固定嵌入数字指纹,运行EDA工具生成各种形式的IP。该方法嵌入的数字指纹具有安全性高、验证准确、使用便利、资源开销低、抗共谋攻击等特点。
[0024]下面根据附图对本发明的【具体实施方式】具体说明。
[0025]图1是本发明中数字指纹的嵌入以及备案保存过程的流程图。图2是本发明中利用数字指纹方法实施IP保护和验证的流程图。
[0026]如图1、图2所示,数字指纹的嵌入流程如下: (I)首先采集IP所有者和IP用户的相关识别数据信息,如公司名称、组织机构代码、自然人的姓名等具有识别意义的字符生成针对该特定用户的IP版权信息;该IP版权信息内含IP所有者和IP用户共同的识别信息,若IP模块遭到非法复制或篡改,IP验证器可明确是哪位用户或提供商进行了 IP非法行为。
[0027](2)利用真随机数发生器生成数据加密密钥Key,利用单向hash算法MD5处理版权信息文件生成16进制数序列,再经过RC4算法加密生成所需数字指纹。当然,也可以采用其他加密算法生成数字指纹,其目的是将可识别的数据加密形成未经解密不可识别的数据,避免非授权用户使用。
[0028](3)数字指纹生成以后即可进入IP数字指纹保护阶段,将数字指纹经过指纹嵌入器处理后嵌入受保护的IP。
[0029](4)为便于日后出现知识产权纠纷时比对指纹特征,在IP数字指纹保护完成之后,将产生的网表数据文件、IP版权信息、加密密钥以及数字指纹,委托可信任的第三方权威机构保存。第三方可根据 申请人:提供的上述数据,加入时间戳,并生成数字指纹。若IP模块遭到非法复制或篡改,便可使用IP验证器鉴别是哪位用户或提供商进行了 IP非法行为。若非法IP模块与标准IP模块(指的是从数据库提取并指纹化的IP模块)完全匹配,则断定版权侵犯人为IP用户。否则,IP所有者应为IP侵权负责。
[0030]数字指纹的验证就是根据第三方保存的数字指纹信息对存在版权纠纷的IP模块进行合法性验证。当IP用户或IP所有者需要确认存在纠纷的IP是否合法时,提出验证申请,第三方权威机构利用本发明的IP工具从信息库提取数字指纹,生成指纹保护的IP模块,完成与存在版权纠纷的IP模块的模糊匹配比对,验证该IP的合法性。或者,当IP利用的任何一方对某一正在使用的IP产生质疑时,可向第三方权威机构提出验证申请,根据验证结果,进行IP合法性的权威裁定。
[0031]图4给出了数字指纹生成的过程。根据IP所有者和IP用户提交的IP版权信息生成版权信息文件,第三方权威机构进行信息检查,使用MD5散列算法进行处理减少信息冗余。利用真随机数发生器产生加密私用密钥Key,利用RC4加密算法对版权信息文本文件加密生成数字指纹,增强系统安全性。
[0032]图5给出了本发明中数字指纹方法的嵌入流程。一个以网表形式存在的IP,在经过本发明提供的工具进行数字指纹保护后,可继续进行后续的设计制作流程。
[0033]过程开始,首先根据用户提供的IP网表文件格式进行初始化,利用post script对IP设计网表数据文件中的数据预处理,至少提取并保留网表单元序号、分区号、权重、节点信息,得到简化的网表文件;随后进行的数字指纹块与网表单元的映射是针对简化的网表数据文件进行的。使网表形式的数据更易于处理;数据准备完成之后,将先前生成的数字指纹拆分成若干块,每一数字指纹块采用混合同余法生成随机数,将此随机数定义为将要进行数字指纹化的电路单元编号,完成一个数字指纹块与电路单元的映射,多次循环执行映射过程,直到所有数字指纹块全部完成映射。
[0034]图5为单元固定的示例图,其中带剖面线的单元4为映射的单元,被随机固定在PI分区。首先判断单元所在线网中引脚的数目是否小于某一极限值η (如η〈7),如果符合条件,则将该单元固定于某一随机分区,继续下一个数字指纹块的映射处理。如果数字指纹全部嵌入成功,返回受保护IP的线网数据文件,以上生成的信息纳入数据库保管。[0035]图6给出了本发明中数字指纹方法的验证流程。过程开始IP所有者或用户需提交将要验证IP产品相关信息(包括IP编号、数据文件等)。根据IP编号从数字指纹系统数据库查找用户对应的数字指纹,并提取原始未经数字指纹化的IP网表数据文件。按照数字指纹嵌入步骤,生成当前用户经指纹保护的IP模块,并运行EDA工具生成与待验证IP同一层次的IP模块,采用模糊匹配算法与存在版权纠纷的IP模块进行比对,完成IP的验证。根据IP判定结果以及判定过程所产生的各种数据撰写验证报告并存档。
[0036]当然,本发明中网表数据文件的简化处理过程提供了一个更优化的实施例,在其他实施例中也可以不经简化处理直接对网表数据文件的电路单元经行映射。
[0037]另外,在网表单元处理之前,根据网表数据文件中的网表单元所在线网的单元数目判断是否对该单元进行指纹保护,也是为提高效率采取的措施,并非必须的步骤,在其他实施例中也可以不经判断,对所有网表单元进行指纹保护。
【权利要求】
1.一种指纹方法,其特征在于:对IP芯核进行数字指纹嵌入,包括顺序执行以下步骤: (A)生成特定用户的IP版权信息; (B)生成数字指纹,利用加密算法加密上述特定用户的IP版权信息生成数字指纹; (C)拆分数字指纹,把数字指纹按一定大小顺序分组,得到若干数字指纹块; (D)数字指纹块与网表单元的映射,顺序以数字指纹块为输入,采用混合同余法生成范围在网表数据文件中的网表单元总数以内的随机数,选定单元序号为该随机数的网表单元与所述数字指纹匹配; (E)网表单元的处理,将上一步骤映射的网表单元移动到固定电路分区; (F)循环执行过程(D)?(E),直至所有的指纹信息的数字指纹块全部完成映射; (G)数字指纹的嵌入保护;运行EDA电路划分工具,输出带有该特定用户数字指纹信息的IP芯核的网表数据文件。
2.根据权利要求1所述的指纹方法,其特征在于:在数字指纹块与网表单元的映射之前,利用post script对IP设计网表数据文件中的数据预处理,至少提取并保留网表单元序号、分区号、权重、节点信息,得到简化的网表文件;随后进行的数字指纹块与网表单元的映射是针对简化的网表数据文件进行的。
3.根据权利要求1或2所述的指纹方法,其特征在于:在网表单元处理之前,根据网表数据文件中的网表单元所在线网的单元数目判断是否对该单元进行指纹保护,如该线网的单元数目大于特定值,则该网表单元不做处理,如该线网的单元数目小于等于特定值则进入网表单元处理步骤。
4.根据权利要求1-3任意一项所述的指纹方法,其特征在于:输出带有该特定用户数字指纹信息的IP芯核的网表数据文件之后,至少将所述网表数据文件、IP版权信息、加密密钥以及数字指纹,委托可信任的第三方权威机构保存。
【文档编号】G06F21/16GK103984886SQ201410241695
【公开日】2014年8月13日 申请日期:2014年6月3日 优先权日:2014年6月3日
【发明者】聂廷远 申请人:青岛理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1