保护您的 IP 核 - 第一部分 软IP核,第三章:硬件设计的混淆
结构或布局级硬件 (IP) 混淆
结构混淆是在不干扰功能行为的情况下通过架构转换隐藏集成电路 (IC) 身份的过程。换句话说,结构混淆以一种对对手来说变得不明显的方式来转换 IC 的电路。结构混淆旨在以这样一种方式转换电路结构,使其在门级/RT级进行重大修改。执行结构混淆以增加针对逆向工程 (RE) 攻击的复杂性,即它使基于 RE 的攻击难以启动(使其非常耗时)。结构混淆不通过应用密钥序列(例如功能混淆)来使用加密或逻辑锁定。这种类型的混淆对数据流图表示执行某些高级转换,以将其转换为反映 RTL 或门级不明显架构的未知形式。由于结构混淆导致的门级变化更不明显的是对手的电路结构。因此,更强大的是混淆,从而提高了对 RE 攻击的安全性。
结构混淆可以应用在数字信号处理 (DSP) IP核/多媒体IP核/IP 核的上下文中,这些内核通常在机构上很复杂,具有超过 30K-50K 的逻辑门,以及组合/顺序电路。在 DSP IP核的上下文中,已经使用编译器驱动的转换成功地执行了结构混淆,例如循环折叠、循环展开、循环移位、循环压缩、冗余操作删除、逻辑转换、资源转换、树高转换、循环不变代码运动等. 几乎所有这些高级转换 (HLT) 都可能具有显着转换 DSP/多媒体IP 核的电路结构同时保留原始功能的能力。例如,灰度JPEG CODEC等多媒体核心对树高变换的应用可能会导致超过10,000个门的变换。这使得由此产生的门架构对对手来说非常不明显。
从攻击者的角度来看,结构混淆可以被认为是一种被动模型。
结构混淆提供了一种有效保护片上系统 (SoC) 中使用的知识产权 (IP) 核内容的方法。
基于算法转换的结构混淆
- 多阶段HLT(高层转换)驱动的结构混淆方法论
- 基于循环的高级转换,以提高混淆复杂度。
这种新颖的结构混淆方法是专门为在架构综合设计阶段保护数字信号处理器 (DSP) IP 核而开发的。混淆方法专门针对保护涉及复杂循环的 IP 核。
算法合成期间的多阶段 HLT(高级转换)驱动结构混淆方法是通过五种不同的基于编译器的 HLT 技术实现的。它们是 (1) 冗余操作消除 (ROE) (2) 逻辑变换 (LT) (3) 树高变换 (THT) (4) 循环展开 (LU) (5) 循环不变代码运动 (LICM)。这些中的每一个都可以产生伪装的功能等效设计。这种方法以基于循环的 CDFG 形式获取应用程序的输入,并应用上述每个 HLT 对其进行模糊处理。
此外,通过使用多阶段算法转换和粒子群优化 (PSO) 驱动设计空间探索 (DSE) 生成低成本的模糊设计。它以基于循环的 CDFG、模块库、PSO 的终止标准、控制参数(如惯性权重、社会因素、认知因素等)和用户给定的区域延迟约束的形式接受应用程序的混淆设计作为输入和生成一个低成本优化的混淆 IP 设计作为输出,它满足用户给定的区域延迟约束。
上述方法通过在算法综合期间对对手进行逻辑元素的转换和随机放置来隐藏应用程序 (IP) 的功能。算法综合的输出是可重用 IP 内核的结构模糊 RTL 描述(数据路径和控制器设计)。
说明:
本文是由 陈明华 编写的“硅半导体 IP – 不仅仅是设计”一书(原文英文)“第 17 部分: IP 核保护”的一部分。此次发表的中文由英文机器翻译过来。您还可以在他的网站上找到更多信息。