Rtl级ip核的保护方法

文档序号:6341273阅读:519来源:国知局
专利名称:Rtl级ip核的保护方法
技术领域
本发明涉及集成电路设计,尤其涉及在芯片设计中采用IP核的保护方法。
背景技术
从20世纪90年代至今,IC设计能力正在发生一次质的飞跃,即由 ASIC (Application Specific Integrated Circuits,专用集成电路),设计方法向 SoC (System on a Chip,系统级芯片)设计方法转变。SoC设计方法使IC设计开始进一步分工细化。IPantellectual Property)核是具有知识产权的集成电路芯核的简称,其作用是把一组拥有知识产权的电路设计集合在一起,构成芯片的基本单位,以供设计时搭积木 Z用οIP 核可以分为与工艺无关的 VHDL(Very-Hi gh-Speed Integrated Circuit Hardware Description Language甚高速集成电路硬件描述语言)程序称为软核,其通常表现为RTL(Register-Transfer-Level寄存器转移级)代码的文件;具有特定电路功能的集成电路版图称为硬核。由于IP核的应用和交易日益频繁,出现了一些必要的技术手段来保证IP核交易的正常进行,如中国专利200810102069. X所公开的一种为集成电路IP市场服务的交易平台,包括授权申请和反馈监督两个子系统;授权申请子系统包括IP提供者将加密的IP核及其基本信息上传至交易平台;IP申请者查找所需IP,向IP提供者提交申请;IP提供者收到授权请求,决定是否同意授权;IP申请者获得授权后,从平台下载IP核文件将其解密成半加密状态使用;反馈监督子系统包括系统获得IP使用情况并和授权数据库中记录的情况进行比对;将与授权数据库的信息不符的IP使用情况生成非法使用IP报告;将非法使用IP报告返回给IP提供者;反馈监督子系统向公众网提供了举报非法使用的接口 ;反馈监督子系统有益于IP提供商对现有市场状况做出相应的决策。为了防止IP核的非法使用,也相应地出现了一些必要的技术手段来对IP核或具有IP核的芯片进行保护,如中国专利200610072503. 5所公开的一种可实现数据自保护的片上系统的IP核,涉及IP核内数据自保护装置,为解决现有IP核数据保护性不强而提出, 该IP核包括有存储欲保护数据的IP核内存储单元,该IP核内存储单元通过总线连接于片上系统的处理器,所述IP核内还设置有用于生成逻辑控制信号的逻辑控制单元,该逻辑控制单元连接并受控于所述处理器,并通过其生成的逻辑控制信号控制IP核内存储单元的相应逻辑控制位,使所述IP核内存储单元处于锁定或解锁定状态。对IP核的非法使用,主要包括两个方面IP盗用和反向工程。针对这两种方式, 有关IP核保护的方法目前主要有以下三种方向。第一种威慑(Deterrent) IP核拥有者通过法律的威慑力来阻止IP核的非法使用和传播,如专利(Patents)、版权(Copyrights)和商业秘密(Trade Secrets)等。第二种认证技术(Authentication based)在IP核中插入难以移除“数字水 ep" (digital watermark)(authentication signature)目 Τ ^Γδ白勺ff九。然而水印技术仅仅证明了 IP核的拥有关系,但是却不能防止IP核被盗用;而且目前大部分商用的IP核,都是以RTL代码文件的形式发放的。第三种基于模糊技术IP核供应商往往采用加密技术对RTL级IP核进行加密,来影响代码的可读性,所以经过加密后的代码,很难被反向工程。但是针对IP的加密技术的使用使得系统的灵活性较差,功能不易进行扩展。此外,一般来说加密后的代码需要特定的运行平台,亦不能有效的防止IP核的盗用在现代大型SoC设计中一般使用多个IP核,而同时满足多个IP核的定制化运行平台的要求通常难以实现,并且SoC开发者也希望IP核提供足够的灵活性。另外,软件模糊也是一种保护IP核不被反向工程的手段。然而,软件保护的方法不能直接应用到IP核,因为软件模糊要求一些不同的约束,比如代码大小,执行时间等。与固IP核和/或硬IP核相比,RTL级的IP核具有较好的透明性及可携带性的特点,因此,对RTL级的IP核进行保护以防止盗用和反向工程可谓是难上加难。

发明内容
本发明要解决的技术问题在于克服上述现有技术的不足,而提出一种能够有效地防止RTL级IP核被盗用以及反向工程的保护方法。本发明解决上述技术问题所采用的技术手段包括,提出一种RTL级IP核的保护方法,用以将一原始RTL级IP核转换成内嵌有保护措施的一目标RTL级IP核,该方法包括步骤Sl、针对该原始RTL级IP核,构建一个模式可控制的状态机,该状态机具有在输入一正确的预设密钥值后呈现的、对应于该IP核的正常功能的一个正常模式和在输入错误的密钥值后呈现的、对应于该IP核的非正常功能的模糊模式;步骤S2、对该原始RTL级IP核中的RTL代码的数据流进行修改,得到该IP核的模糊化的RTL代码;以及步骤S3、将该状态机和该模糊化的RTL代码组合成该目标RTL级IP核。在本发明中,该状态机是利用IP核内部的主寄存器构造的。该状态机的工作模式是由该主寄存器的扩展位的值决定的。该密钥值为该状态机的输入,只有在输入正确的预设密钥值,该主寄存器的扩展位的值正确,该状态机才能进入正常模式,进入到正常模式后,该主寄存器扩展位的值一直处于正常模式的值,直到复位信号有效为止;如果输入了错误的密钥值,该主寄存器扩展位的值为非正常模式的值,该状态机只能进入模糊模式。在本发明中,该方法还可包括步骤SO 解析该原始RTL级IP核的RTL代码并构成一 RTL代码树。在本发明中,步骤Sl具体包括根据该RTL代码树对与该主寄存器相关的赋值语句的代码进行改写;将除了 IP核输入输出信号之外的、与该主寄存器相关的输入输出信号修改成与该主寄存器的位宽相当;修改该RTL代码树的分支,得到模糊后的RTL代码树。所述的修改该RTL代码树的分支的过程具体包括在选定的赋值语句前加入控制语句,以使赋值语句的执行具有条件性,当且仅当正确地输入设定的密钥值,该状态机才能在该模糊后的RTL代码树中选择出的正确分支。在本发明中,步骤S2具体包括将该模糊后的RTL代码树转化为RTL代码。所述的将该模糊后的RTL代码树转化为RTL代码的过程是按照深度优先的方式进行的。在本发明中,步骤S3具体包括对该模糊化的RTL代码进行综合,对模糊前后的代码进行功能一致性的验证,要求匹配率达到设定要求,再通过面积因素对模糊的效果进行评估,评估合格的,认可该模糊化的RTL代码。与现有技术相比,本发明的RTL级IP核的保护方法,通过将密钥控制与模糊数据流手段相结合,可以有效地防止RTL级IP核被盗用以及反向工程。


图1是本发明的RTL级IP核的保护方法实施例的流程图。图2是本发明的RTL级IP核的保护方法实施例的工作原理图。
具体实施例方式为了进一步说明本发明的原理和结构,现结合附图对本发明的优选实施例进行详细说明。本发明的RTL级IP核的保护方法,基于密钥控制与模糊数据流手段相结合,其包括在RTL代码内部构建一个模式可控制的状态机,使得IP核工作在正常模式和多种伪装模式;通过输入正确的密钥key进入到正常工作的模式,这样可以防止IP核不被授权的非法使用;通过修改RTL代码的数据流实现模糊代码的效果,主要包括case、if、assign等语句的修改,以及模块间建立互联等,从而保证功能一致性的前提下,得到一个结构比较混乱的RTL代码,可以有效的防止IP核的反向工程,从而显著的提高了代码的保护能力。本发明的RTL级IP核的保护方法,如图1所示,大致包括以下步骤步骤SO 解析RTL代码并建立一棵RTL代码树;所谓RTL代码树,即从RTL代码的最顶层模块为根节点,按照代码的层次结构,将RTL代码以一棵结构树的形式表现出来。步骤Sl 构建内部FSM(有限状态机)。选定IP核已有的主寄存器为FSM状态的控制寄存器,扩展控制寄存器位宽,以扩展位的值来控制FSM的状态转移;并按照RTL代码树,在控制寄存器的相关赋值语句,对代码进行对应改写。同时将与寄存器相关的输入输出信号,除了 IP核输入输出信号之外,修改成相应的宽度。修改RTL代码树的分支。在一些较为重要的赋值语句前,加入控制语句,比如增加判断条件,使得语句的执行具有条件性,只有在正确的输入事先给定的密钥key,才能进入到正确的执行语句,即修改RTL代码树的分支。步骤S2 生成模糊的RTL代码。得到模糊后的RTL代码树,按照深度优先的方式, 将模糊后的RTL代码树转化为RTL代码。步骤S3 得到模糊后的RTL代码,进行综合,利用Synopsys公司的formality对模糊前后的代码进行功能一致性的验证,由于存在匹配率越低、说明模糊效果越好的关系,匹配率应该在小于一设定值。验证合格的,再通过Cadence公司的支持VHDL的Encounter RTL编译器对其面积进行评估,如果这个面积在可接受的范围内,即完成算法,否则返回到步骤Si。本发明方法,如图2所示,主要针对大部分的商业IP核是使用RTL级代码形式发布的情况下,结合密钥技术与模糊数据流结构的方式提出了一种RTL级代码保护的技术。 通过模式状态机控制方式,可以很好地防止IP核被盗用。只有在正确的输入事先给定的密钥key信息的情况下,系统才能进入到正常运行的模式中,这时该IP核和初始IP核功能一致,代码描述是未曾改变的;输入错误的密钥Key后,IP核不能工作了,其功能与初始IP 核的功能基本上不相同,大部分情况下功能是完全不相同的。该种保护方法实现简单,可针对RTL级的代码进行保护。通过模糊RTL代码的数据流,打乱数据结构,使得程序结构混乱而难以厘清,从而可有效地防止系统的代码被反向工程;另外,本发明方法不需要特定的平台,适用于SoC开发、FPGA系统设计以及各种HDLs系统开发,具有较好的通用性。需要说明的是,密钥key是状态机的输入,只有输入正确的密钥key,主寄存器扩展位值正确,才能进入到正确的模式,进入到正常模式后,主寄存器扩展位的值就一直处于正常模式的值,直到复位(reset)信号有效;在模糊模式中,主寄存器扩展位的值是不可能为正常值的。对于不同的IP核,所预设的密钥key也不同,不同模糊程度的IP核,对应的密钥key也不同,优选地,密钥key可以是一个序列,这样安全性比较好。密钥key也可以是一个数值,但安全性较差。本发明方法,从算法的时间复杂度来分析,模糊策略的可靠性与健壮性体现在FSM 的主寄存器以及控制信号的使用数量上。举例来说,可以考虑这样一种情况在一个模式可控的FSM中,植入了 η个状态转移语句,在本发明中,η为扩展寄存器后,对应插入的阻塞和非阻塞赋值语句,为模糊模式时的赋值语句,一般大于或等于key序列的数目,密钥key序列也往往隐藏在这些赋值语句中;并且有N个阻塞/非阻塞赋值,在本发明中,N是所有的阻塞/非阻塞赋值语句, 是模糊态和正常态的阻塞/非阻塞赋值语句之和。那么,对于攻击者而言,首先必须正确地找到植入到FSM中的状态转移语句,这个广N、
种可能性。其次,对于每种的选择,具有K !种可能(以使得初始的密钥key
过程有
权利要求
1.一种RTL级IP核的保护方法,用以将一原始RTL级IP核转换成内嵌有保护措施的一目标RTL级IP核,其特征在于,该方法包括步骤Sl、针对该原始RTL级IP核,构建一个模式可控制的状态机,该状态机具有在输入一正确的预设密钥值后呈现的、对应于该IP核的正常功能的一个正常模式和在输入错误的密钥值后呈现的、对应于该IP核的非正常功能的模糊模式;步骤S2、对该原始RTL级IP核中的RTL代码的数据流进行修改,得到该IP核的模糊化的RTL代码;以及步骤S3、将该状态机和该模糊化的RTL代码组合成该目标RTL级IP核。
2.依据权利要求1所述的保护方法,其特征在于,该状态机是利用IP核内部的主寄存器构造的。
3.依据权利要求2所述的保护方法,其特征在于,该状态机的工作模式是由该主寄存器的扩展位的值决定的。
4.依据权利要求3所述的保护方法,其特征在于,该密钥值为该状态机的输入,只有在输入正确的预设密钥值,该主寄存器的扩展位的值正确,该状态机才能进入正常模式,进入到正常模式后,该主寄存器扩展位的值一直处于正常模式的值,直到复位信号有效为止;如果输入了错误的密钥值,该主寄存器扩展位的值为非正常模式的值,该状态机只能进入模糊模式。
5.依据权利要求1至4任一所述的保护方法,其特征在于,该方法还包括步骤SO解析该原始RTL级IP核的RTL代码并构成一 RTL代码树。
6.依据权利要求5所述的保护方法,其特征在于,步骤Sl具体包括根据该RTL代码树对与该主寄存器相关的赋值语句的代码进行改写;将除了 IP核输入输出信号之外的、与该主寄存器相关的输入输出信号修改成与该主寄存器的位宽相当;修改该RTL代码树的分支,得到模糊后的RTL代码树。
7.依据权利要求6所述的保护方法,其特征在于,所述的修改该RTL代码树的分支的过程具体包括在选定的赋值语句前加入控制语句,以使赋值语句的执行具有条件性,当且仅当正确地输入设定的密钥值,该状态机才能在该模糊后的RTL代码树中选择出的正确分支。
8.依据权利要求6所述的保护方法,其特征在于,步骤S2具体包括将该模糊后的RTL 代码树转化为RTL代码。
9.依据权利要求8所述的保护方法,其特征在于,所述的将该模糊后的RTL代码树转化为RTL代码的过程是按照深度优先的方式进行的。
10.依据权利要求1所述的保护方法,其特征在于,步骤S3具体包括对该模糊化的 RTL代码进行综合,对模糊前后的代码进行功能一致性的验证,要求匹配率达到设定要求, 再通过面积因素对模糊的效果进行评估,评估合格的,认可该模糊化的RTL代码。
全文摘要
一种RTL级IP核的保护方法,用以将一原始RTL级IP核转换成内嵌有保护措施的一目标RTL级IP核,该方法包括步骤S1、针对该原始RTL级IP核,构建一个模式可控制的状态机,该状态机具有在输入一正确的预设密钥值后呈现的、对应于该IP核的正常功能的一个正常模式和在输入错误的密钥值后呈现的、对应于该IP核的非正常功能的模糊模式;步骤S2、对该原始RTL级IP核中的RTL代码的数据流进行修改,得到该IP核的模糊化的RTL代码;以及步骤S3、将该状态机和该模糊化的RTL代码组合成该目标RTL级IP核。通过将密钥控制与模糊数据流手段相结合,可以有效地防止RTL级IP核被盗用以及反向工程。
文档编号G06F21/75GK102542191SQ20101062215
公开日2012年7月4日 申请日期2010年12月31日 优先权日2010年12月31日
发明者刘彦, 唐卓, 张智民, 李肯立, 秦云川, 肖德贵 申请人:深圳市证通电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1