WO2012088856A1 - Rtl级ip核的保护方法 - Google Patents

Rtl级ip核的保护方法 Download PDF

Info

Publication number
WO2012088856A1
WO2012088856A1 PCT/CN2011/076361 CN2011076361W WO2012088856A1 WO 2012088856 A1 WO2012088856 A1 WO 2012088856A1 CN 2011076361 W CN2011076361 W CN 2011076361W WO 2012088856 A1 WO2012088856 A1 WO 2012088856A1
Authority
WO
WIPO (PCT)
Prior art keywords
rtl
core
code
state machine
rtl code
Prior art date
Application number
PCT/CN2011/076361
Other languages
English (en)
French (fr)
Inventor
李肯立
张智民
刘彦
唐卓
秦云川
肖德贵
Original Assignee
深圳市证通电子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳市证通电子股份有限公司 filed Critical 深圳市证通电子股份有限公司
Priority to US13/977,205 priority Critical patent/US20130346928A1/en
Publication of WO2012088856A1 publication Critical patent/WO2012088856A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Definitions

  • the present invention relates to integrated circuit design, and more particularly to a protection method using an IP core in chip design. Background technique
  • IP Intelligent Lectual Property Core
  • the IP core can be divided into: Process-independent VHDL (Very-High-Speed Integrated Circuit Hardware Description Language)
  • the program is called a soft core, which is usually expressed as RTL (Register-Transfer-Level register transfer stage).
  • RTL Register-Transfer-Level register transfer stage
  • the file of the code; the layout of the integrated circuit with specific circuit functions is called a hard core.
  • the authorization application subsystem includes: The IP provider uploads the encrypted IP core and its basic information to the transaction platform; the IP applicant finds the required IP, submits the application to the IP provider; the IP provider receives Authorization request, decide whether to approve the authorization; After the IP applicant is authorized, download the IP core file from the platform to decrypt it into a semi-encrypted state; the feedback supervision subsystem includes: the system obtains the IP usage and records the situation recorded in the authorization database.
  • the feedback supervision subsystem provides the public network with an interface for reporting illegal use; the feedback supervision subsystem Good for IP providers to make appropriate decisions about existing market conditions
  • IP core or chip with IP core for protection such as the IP core of the on-chip system that can realize data self-protection disclosed in Chinese Patent 200610072503. 5, involving data self-protection device in IP core, to solve existing IP core data
  • the IP core includes an IP core storage unit that stores data to be protected, and the IP core storage unit is connected to a processor of the system on a chip through a bus, and the IP core is further provided with a logic for generating the logic.
  • the logic control unit is connected to and controlled by the processor, and controls a corresponding logic control bit of the memory unit in the IP core through a logic control signal generated thereby, so that the storage unit in the IP core is Lock or unlock the state.
  • IP theft mainly includes two aspects: IP theft and reverse engineering.
  • IP core protection currently have the following three main directions.
  • IP core owners use the deterrent power of law to prevent the illegal use and dissemination of IP cores, such as patents, copyrights, and trade secrets.
  • IP core suppliers often use encryption technology to encrypt RTL-level IP cores to affect the readability of the code, so the encrypted code is difficult to reverse engineer.
  • IP encryption technology makes the system less flexible and the function is not easy to expand.
  • the encrypted code requires a specific operating platform, and can not effectively prevent IP core theft: In the modern large-scale SoC design, multiple IP cores are generally used, and at the same time, multiple IP cores can be customized. The requirements are often difficult to implement, and SoC developers also want the IP core to provide enough flexibility.
  • RTL-level IP cores Compared with solid IP cores and/or hard IP cores, RTL-level IP cores have better transparency and portability characteristics. Therefore, protecting RTL-level IP cores to prevent misappropriation and reverse engineering can be described as Difficult to add. Summary of the invention
  • the technical problem to be solved by the present invention is to overcome the deficiencies of the prior art described above, and to provide a protection method capable of effectively preventing the theft and reverse engineering of the RTL-level IP core.
  • the technical means adopted by the present invention to solve the above technical problem includes an RTL-level IP core protection method for converting an original RTL-level IP core into a target embedded with protection measures.
  • the method includes:
  • Step S1 constructing a mode controllable state machine for the original RTL level IP core, the state machine having a normal mode corresponding to the normal function of the IP core after inputting a correct preset key value And a fuzzy mode corresponding to the abnormal function of the IP core presented after inputting the wrong key value;
  • Step S2 modifying a data stream of the RTL code in the original RTL-level IP core to obtain a fuzzified RTL code of the IP core;
  • Step S3 combining the state machine and the obfuscated RTL code into the target RTL level IP core.
  • the state machine is constructed using a main register internal to the IP core.
  • the mode of operation of the state machine is determined by the value of the extension bit of the main register.
  • the key value is the input of the state machine. Only when the correct preset key value is input, the value of the extension bit of the main register is correct, the state machine can enter the normal mode, and after entering the normal mode, the main register is expanded. The value of the bit is always in the normal mode until the reset signal is valid. If the wrong key value is entered, the value of the main register extension bit is the value of the abnormal mode, and the state machine can only enter the fuzzy mode.
  • the method may further include the step of: parsing the RTL code of the original RTL level IP core and constructing an RTL code tree.
  • step S1 specifically includes: rewriting the code of the assignment statement associated with the main register according to the RTL code tree;
  • the process of modifying the branch of the RTL code tree specifically includes: before the selected assignment statement A control statement is added to conditionalize the execution of the assignment statement, and the state machine can select the correct branch in the obfuscated RTL code tree if and only if the set key value is correctly entered.
  • step S2 specifically includes: converting the blurred RTL code tree into an RTL code.
  • the process of converting the obfuscated RTL code tree into an RTL code is performed in a depth-first manner.
  • step S3 specifically includes: synthesizing the fuzzified RTL code, verifying the functional consistency of the code before and after the fuzzy, requiring the matching rate to meet the setting requirement, and then evaluating the effect of the blur by the area factor. , the qualified one is approved, and the obfuscated RTL code is recognized.
  • the RTL-level IP core protection method of the present invention can effectively prevent the RTL-level IP core from being stolen and reverse engineered by combining the key control and the fuzzy data flow means.
  • FIG. 1 is a flow chart of an embodiment of a method for protecting an RTL level IP core of the present invention.
  • FIG. 2 is a schematic diagram showing the operation of an embodiment of a method for protecting an RTL-class IP core according to the present invention. detailed description
  • the RTL-level IP core protection method of the present invention is based on a combination of key control and fuzzy data flow means, and includes: constructing a mode controllable state machine inside the RTL code, so that the IP core works in a normal mode and various camouflage Mode; enter the normal working mode by inputting the correct key key, which can prevent the illegal use of the IP core without authorization; realize the effect of fuzzy code by modifying the data flow of the RTL code, mainly including case, if, assign, etc.
  • the modification, and the interconnection between the modules, etc., to ensure the consistency of the function, get a ROR code with a more confusing structure, can effectively prevent the reverse engineering of the IP core, thereby significantly improving the protection of the code.
  • the method for protecting the RTL-level IP core of the present invention generally includes the following steps: Step SO: parse the RTL code and establish an RTL code tree; the so-called RTL code tree, that is, the top-level module from the RTL code is The root node, in terms of the hierarchy of the code, presents the RTL code as a tree.
  • Step SI Build an internal FSM (Finite State Machine).
  • the existing main register of the selected IP core is the control register of the FSM state, the control control bit width is extended, and the value of the extended bit is used to control the state transition of the FSM; and according to the RTL code tree, the relevant assignment statement in the control register, the code Perform corresponding rewriting.
  • the input and output signals related to the registers are modified to the corresponding widths except for the IP core input and output signals.
  • Step S2 Generate a fuzzy RTL code.
  • the blurred RTL code tree is obtained, and the blurred RTL code tree is converted into RTL code according to the depth priority method.
  • Step S3 Obtain the blurred RTL code, perform synthesis, and use Synopsys's Formality to verify the function consistency of the code before and after the blur. Because the matching rate is lower, the better the blur effect is, the matching rate should be Less than a set value. If the verification is acceptable, the area is evaluated by Cadence's Encounter RTL compiler supporting VHDL. If the area is within the acceptable range, the algorithm is completed, otherwise it returns to step Sl.
  • the method of the present invention mainly proposes an RTL-level code protection technology in the case where most commercial IP cores are distributed using RTL-level code forms, combining key technology and fuzzy data stream structure. .
  • the IP core can be well protected from being stolen. Only when the correct key information is given in advance, the system can enter the normal operation mode. At this time, the IP core and the initial IP core function are consistent, and the code description is unchanged; After the key Key, the IP core cannot work, and its function is basically different from that of the initial IP core. In most cases, the functions are completely different.
  • This protection method is simple to implement and can be protected against RTL-level code.
  • the method of the present invention does not require a specific platform and is suitable for SoC development.
  • FPGA system design and development of various HDLs systems have good versatility.
  • the key key is the input of the state machine. Only when the correct key key is input and the main register extension bit value is correct, the correct mode can be entered. After entering the normal mode, the value of the main register extension bit is always In positive The value of the normal mode until the reset signal is valid; in the fuzzy mode, the value of the main register extension bit is not possible to be normal.
  • the preset key keys are also different.
  • the IP cores with different degrees of ambiguity have different key keys.
  • the key key can be a sequence, so that the security is better.
  • the key key can also be a value, but the security is poor.
  • the method of the present invention analyzes the time complexity of the algorithm, and the reliability and robustness of the fuzzy strategy are reflected in the main register of the FSM and the number of control signals used. For example, consider a case where: In a mode controllable FSM, n state transition statements are implanted. In the present invention, after n is an extension register, corresponding to the inserted blocking and non-blocking assignment statements, The assignment statement for the fuzzy mode is generally greater than or equal to the number of key sequences, and the key sequence is often hidden in these assignment statements;
  • N is all blocking/non-blocking assignment statements, which is the sum of the fuzzy state and the normal blocking/non-blocking assignment statement.
  • the Mobf here indicates the degree of complexity. The smaller the number of calculations, the larger the Mobf is, and the more easily the explanation is. On the contrary, the more the number of calculations, the smaller the Mobf, and the more difficult it is to crack.
  • the fuzzy RTL code is based on the structure of the confusion.
  • One is the above Mobf element.
  • the other basis is to use Synopsys.
  • the company's Formality verifies the functional consistency of the code before and after the blur. The lower the match rate, the better the blur effect.
  • the present invention is different from the prior art in which a control module is added outside the IP core or inside the IP core. Plus, and the lock is implemented by extending the existing register (main register) of the IP core. In addition, the extension bit is used to determine whether the IP core outputs the correct value and maintains the mode in which the state machine is located, thereby making the attack It is harder to find this lock, it is harder to crack, and IP becomes safer.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

一种RTL级IP核的保护方法,用以将一原始RTL级IP核转换成内嵌有保护措施的一目标RTL级IP核,该方法包括:步骤S1、针对该原始RTL级IP核,构建一个模式可控制的状态机,该状态机具有在输入一正确的预设密钥值后呈现的、对应于该IP核的正常功能的一个正常模式和在输入错误的密钥值后呈现的、对应于该IP核的非正常功能的模糊模式;步骤S2、对该原始RTL级IP核中的RTL代码的数据流进行修改,得到该IP核的模糊化的RTL代码;以及步骤S3、将该状态机和该模糊化的RTL代码组合成该目标RTL级IP核。通过将密钥控制与模糊数据流手段相结合,可以有效地防止RTL级IP核被盗用以及反向工程。

Description

RTL级 IP核的保护方法
技术领域
本发明涉及集成电路设计, 尤其涉及在芯片设计中采用 IP 核的保护方 法。 背景技术
从 20 世纪 90 年代至今, IC 设计能力正在发生一次质的飞跃, 即由 ASIC (Appl ication Specific Integrated Circuits , 专用集成电路), 设计 方法向 SoC ( System on a Chip, 系统级芯片) 设计方法转变。 SoC设计方法 使 IC 设计开始进一步分工细化。 IP ( Intel lectual Property) 核是具有知 识产权的集成电路芯核的简称, 其作用是把一组拥有知识产权的电路设计集 合在一起, 构成芯片的基本单位, 以供设计时搭积木之用。
IP 核可以分为: 与工艺无关的 VHDL ( Very-High-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核中插入难以移除 "数字水印" ( digital watermark ) 或者 "认证签名" ( authentication signature ) 目前被广泛的研究。
然而水印技术仅仅证明了 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代码树。
在本发明中,步骤 S1具体包括:根据该 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代码以一棵 结构树的形式表现出来。 步骤 SI :构建内部 FSM (有限状态机)。选定 IP核已有的主寄存器为 FSM 状态的控制寄存器, 扩展控制寄存器位宽, 以扩展位的值来控制 FSM的状态 转移; 并按照 RTL代码树, 在控制寄存器的相关赋值语句, 对代码进行对应 改写。
同时将与寄存器相关的输入输出信号, 除了 IP核输入输出信号之外,修 改成相应的宽度。
修改 RTL代码树的分支。在一些较为重要的赋值语句前,加入控制语句, 比如增加判断条件, 使得语句的执行具有条件性, 只有在正确的输入事先给 定的密钥 key, 才能进入到正确的执行语句, 即修改 RTL代码树的分支。
步骤 S2 : 生成模糊的 RTL代码。 得到模糊后的 RTL代码树, 按照深度优 先的方式, 将模糊后的 RTL代码树转化为 RTL代码。
步骤 S3 : 得到模糊后的 RTL 代码, 进行综合, 利用 Synopsys 公司的 Formal ity对模糊前后的代码进行功能一致性的验证, 由于存在匹配率越低、 说明模糊效果越好的关系, 匹配率应该在小于一设定值。 验证合格的, 再通 过 Cadence公司的支持 VHDL的 Encounter RTL 编译器对其面积进行评估, 如果这个面积在可接受的范围内, 即完成算法, 否则返回到步骤 Sl。
本发明方法,如图 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中, 植入了 n个状态转移语句, 在本发 明中, n 为扩展寄存器后, 对应插入的阻塞和非阻塞赋值语句, 为模糊模式 时的赋值语句, 一般大于或等于 key序列的数目, 密钥 key序列也往往隐藏 在这些赋值语句中;
并且有 N个阻塞 /非阻塞赋值, 在本发明中, N是所有的阻塞 /非阻塞赋 值语句, 是模糊态和正常态的阻塞 /非阻塞赋值语句之和。
那么, 对于攻击者而言, 首先必须正确地找到植入到 FSM中的状态转移 语句, 这个过程有 £f 种可能性。 其次, 对于每种的选择, 具有 K !种可能 ί~Τ k
(以使得初始的密钥 key序列正确)。 因此, 攻击者必须尝试
Figure imgf000008_0001
能性。 同时, 攻击者必须找出模式的控制信号, 设 M是整个 IP核的所有赋值 语句, 包括阻塞、 非阻塞及数据流赋值, 设 m为修改信号池的大小, 攻击者 必须正确地从 M个信号中选出 m个修改信号, gp iM)种可能。 将这两种因素 m 联合起来, 得到下面的表达式
Figure imgf000008_0002
这里的 Mobf表示复杂程度, 计算次数越少, 则 Mobf越大, 说明越易破 解, 相反, 计算次数越多, 则 Mobf越小, 说明越难破解。
可见,设计目标是以 Mobf 越小越好。比如,在一段 RTL代码中,取 N=30, M=100, 参数 n=3, m=20, 那么 Mobf =7. 36 X 10— 26 。 换句话说, 攻击者要完成 反向工程, 必须尝试 1027种可能。 而实际的 RTL代码中, n和 M的值往往都是 比较大的, 从而, 使得反向工程难度更大。
需要说明的是, 模糊后的 RTL代码是否结构比较混乱的判断依据, 一个 是上述的 Mobf 这个元素, 其值越小, 说明破解次数要越多, 模糊也就好些; 另一个依据则是利用 Synopsys公司的 Formal ity对模糊前后的代码进行功 能一致性的验证, 匹配率越低, 说明模糊效果越好。
与现有技术相比,本发明虽然也是给 IP核上锁,但是不同于现有技术的 在 IP核外部或者在 IP核内部的头部加一个控制模块的方式,本发明是在 IP 核内部加, 并且这把锁是通过扩展 IP核本身已有的寄存器(主寄存器)实现 的, 另外,通过扩展位来判断 IP核是否输出正确的值以及保持状态机所处的 模式, 从而, 令攻击者更难找到这把锁的, 破解起来更难, IP因而也就变得 更加安全些。
以上仅为本发明的较佳可行实施例, 并非限制本发明的保护范围, 故凡 运用本发明说明书及附图内容所做出的等效结构变化, 均包含在本发明的保 护范围内。

Claims

权 利 要 求
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所述的保护方法, 其特征在于, 步骤 S1具体包括: 根 据该 RTL代码树对与该主寄存器相关的赋值语句的代码进行改写;
将除了 IP核输入输出信号之外的、与该主寄存器相关的输入输出信号修 改成与该主寄存器的位宽相当;
修改该 RTL代码树的分支, 得到模糊后的 RTL代码树。
7.依据权利要求 6所述的保护方法, 其特征在于, 所述的修改该 RTL代 码树的分支的过程具体包括: 在选定的赋值语句前加入控制语句, 以使赋值 语句的执行具有条件性, 当且仅当正确地输入设定的密钥值, 该状态机才能 在该模糊后的 RTL代码树中选择出的正确分支。
8.依据权利要求 6所述的保护方法, 其特征在于, 步骤 S2具体包括: 将 该模糊后的 RTL代码树转化为 RTL代码。
9.依据权利要求 8所述的保护方法, 其特征在于, 所述的将该模糊后的 RTL代码树转化为 RTL代码的过程是按照深度优先的方式进行的。
10.依据权利要求 1所述的保护方法, 其特征在于, 步骤 S3具体包括: 对该模糊化的 RTL代码进行综合,对模糊前后的代码进行功能一致性的验证, 要求匹配率达到设定要求, 再通过面积因素对模糊的效果进行评估, 评估合 格的, 认可该模糊化的 RTL代码。
PCT/CN2011/076361 2010-12-31 2011-06-25 Rtl级ip核的保护方法 WO2012088856A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/977,205 US20130346928A1 (en) 2010-12-31 2011-06-25 Method for protecting rtl ip core

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201010622157.X 2010-12-31
CN201010622157.XA CN102542191B (zh) 2010-12-31 2010-12-31 Rtl级ip核的保护方法

Publications (1)

Publication Number Publication Date
WO2012088856A1 true WO2012088856A1 (zh) 2012-07-05

Family

ID=46349060

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/076361 WO2012088856A1 (zh) 2010-12-31 2011-06-25 Rtl级ip核的保护方法

Country Status (3)

Country Link
US (1) US20130346928A1 (zh)
CN (1) CN102542191B (zh)
WO (1) WO2012088856A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110148077A (zh) * 2018-02-12 2019-08-20 幻视互动(北京)科技有限公司 一种加速elbp-ip核的方法及mr智能眼镜

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014080248A1 (en) * 2012-11-23 2014-05-30 Freescale Semiconductor, Inc. System on chip
CN104580069B (zh) * 2013-10-12 2017-09-12 中国移动通信集团公司 一种基于nls负逻辑系统的安全防御方法、设备和系统
US9390292B2 (en) 2013-12-30 2016-07-12 Wisconsin Alumni Research Foundation Encrypted digital circuit description allowing circuit simulation
CN104615952A (zh) * 2014-12-22 2015-05-13 天津大学 基于路径延时的ip硬核知识产权保护方法及装置
US9569601B2 (en) 2015-05-19 2017-02-14 Anvaya Solutions, Inc. System and method for authenticating and enabling functioning of a manufactured electronic device
US10032016B2 (en) 2015-05-19 2018-07-24 Anvaya Solutions, Inc. System and method to cause an obfuscated non-functional device to transition to a starting functional state using a specified number of cycles
US9813395B2 (en) 2015-05-19 2017-11-07 Anvaya Solutions, Inc. System and method for authenticating and enabling an electronic device in an electronic system
CN106709116B (zh) * 2015-11-17 2019-12-10 深圳市博巨兴微电子科技有限公司 一种生成rtl级ip核方法及装置
CN105701294B (zh) * 2016-01-13 2018-12-25 盛科网络(苏州)有限公司 实现芯片复杂工程修改的方法及系统
US9960910B2 (en) 2016-02-25 2018-05-01 Wisconsin Alumni Research Foundation Encrypted digital circuit description allowing signal delay simulation
GB201609781D0 (en) * 2016-06-03 2016-07-20 Irdeto Bv Secured chip
US11611429B2 (en) 2016-06-14 2023-03-21 University Of Florida Research Foundation, Incorporated Comprehensive framework for protecting intellectual property in the semiconductor industry
CN108737273B (zh) * 2018-05-10 2021-03-23 新华三技术有限公司 一种报文处理方法和装置
CN109946595B (zh) * 2019-03-25 2022-01-04 中国科学院微电子研究所 一种扫描测试执行方法、装置及系统
CN110110362B (zh) * 2019-03-29 2023-05-02 深圳市酷童小样科技有限公司 一种使用嵌入式命令设计芯片的方法
CN111880768B (zh) * 2020-07-23 2023-07-14 北京计算机技术及应用研究所 一种ip核代码级安全需求描述方法
CN114650246A (zh) * 2020-12-18 2022-06-21 中国移动通信有限公司研究院 Ip核调用的检测方法、装置及设备
CN113420311A (zh) * 2021-07-01 2021-09-21 湖南国科微电子股份有限公司 一种rtl文件加密方法、装置、电子设备及存储介质
CN115016997B (zh) * 2022-08-08 2022-11-18 南京芯驰半导体科技有限公司 慢时钟域lockstep模块中寄存器的快速诊断系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940009697B1 (ko) * 1992-01-07 1994-10-15 주식회사건인 Fpga의 복사방지회로
CN101055609A (zh) * 2006-04-11 2007-10-17 大唐移动通信设备有限公司 可实现数据自保护的片上系统的ip核
CN101246576A (zh) * 2008-03-17 2008-08-20 清华大学 一种为集成电路ip市场服务的交易平台

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625780B1 (en) * 2000-02-28 2003-09-23 Cadence Design Systems, Inc. Watermarking based protection of virtual component blocks
US7409652B1 (en) * 2004-06-04 2008-08-05 Altera Corporation Debuggable opaque IP
TW200719661A (en) * 2005-11-04 2007-05-16 Univ Nat Taiwan Digital rights management framework(DRM) for SOC IP
US7941769B1 (en) * 2007-03-28 2011-05-10 Guoan Hu Method and apparatus for integrated circuits design security
US8176448B2 (en) * 2009-06-05 2012-05-08 Empire Technology Development Llc Method for N-variant integrated circuit (IC) design, and IC having N-variant circuits implemented therein
WO2011047062A1 (en) * 2009-10-13 2011-04-21 Tiger's Lair Inc. Protecting electronic systems from counterfeiting and reverse-engineering
US8402401B2 (en) * 2009-11-09 2013-03-19 Case Western University Protection of intellectual property cores through a design flow
US8581618B1 (en) * 2012-02-14 2013-11-12 Social Silicon, Inc. Apparatus for controlling the usability of intellectual property within a programmable device and method of using

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940009697B1 (ko) * 1992-01-07 1994-10-15 주식회사건인 Fpga의 복사방지회로
CN101055609A (zh) * 2006-04-11 2007-10-17 大唐移动通信设备有限公司 可实现数据自保护的片上系统的ip核
CN101246576A (zh) * 2008-03-17 2008-08-20 清华大学 一种为集成电路ip市场服务的交易平台

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110148077A (zh) * 2018-02-12 2019-08-20 幻视互动(北京)科技有限公司 一种加速elbp-ip核的方法及mr智能眼镜
CN110148077B (zh) * 2018-02-12 2023-08-29 江苏洪旭德生科技有限公司 一种加速elbp-ip核的方法及mr智能眼镜

Also Published As

Publication number Publication date
CN102542191B (zh) 2014-12-17
CN102542191A (zh) 2012-07-04
US20130346928A1 (en) 2013-12-26

Similar Documents

Publication Publication Date Title
WO2012088856A1 (zh) Rtl级ip核的保护方法
Fyrbiak et al. On the difficulty of FSM-based hardware obfuscation
US8732468B2 (en) Protecting hardware circuit design by secret sharing
Pilato et al. TAO: Techniques for algorithm-level obfuscation during high-level synthesis
Rostami et al. A primer on hardware security: Models, methods, and metrics
US8402401B2 (en) Protection of intellectual property cores through a design flow
Chakraborty et al. HARPOON: An obfuscation-based SoC design methodology for hardware protection
Rajendran et al. Fault analysis-based logic encryption
US8966660B2 (en) Methods and systems of digital rights management for integrated circuits
Li et al. Structural transformation for best-possible obfuscation of sequential circuits
US20100284539A1 (en) Methods for Protecting Against Piracy of Integrated Circuits
Zhang et al. Reconfigurable binding against FPGA replay attacks
Chang et al. Synthesis-for-testability watermarking for field authentication of VLSI intellectual property
Alkabani et al. Active control and digital rights management of integrated circuit IP cores
WO2017218631A2 (en) A comprehensive framework for protecting intellectual property in the semiconductor industry
Muttaki et al. HLock: Locking IPs at the high-level language
Chang et al. Hardware IP watermarking and fingerprinting
Anandakumar et al. Rethinking watermark: Providing proof of IP ownership in modern socs
Šišejković et al. A unifying logic encryption security metric
Koushanfar Active hardware metering by finite state machine obfuscation
Roy et al. Protecting bus-based hardware IP by secret sharing
Pilato et al. High-level synthesis of benevolent Trojans
Mohammad et al. Required policies and properties of the security engine of an SoC
Chaurasia et al. Symmetrical Protection of Ownership Right's for IP Buyer and IP Vendor using Facial Biometric Pairing
Bloom et al. Fab forensics: Increasing trust in IC fabrication

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11853014

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13977205

Country of ref document: US

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205N DATED 06/09/2013)

122 Ep: pct application non-entry in european phase

Ref document number: 11853014

Country of ref document: EP

Kind code of ref document: A1