打印
[modelsim]

基于FPGA的IP核水印保护方法

[复制链接]
1353|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gaochy1126|  楼主 | 2012-10-7 16:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在数字电路设计领域中,FPGA可作为一种原型工具.用以解决在ASIC设计中,因重复设计而引起的一次性开支(Non Recuuring Engineering,NRE)过高.以及上市时间(Time To Market,TIM)过长等问题。
在大规模FPGA的设计中,基于可复用IP核的设计方法越来越为设计者所接受。然而,如何保证FPGA设计中的IP核不被非法扩散,却又成为人们极为关注的问题。因此提出了一种基于FPGA的IP核保护方法,通过这种方法,可以将用户的身份信息作为水印嵌人到FPGA中,从而达到标识IP核拥有者身份的目的。
嵌入原理
大多数基于SRAM工艺的FPGA中。都包含有可编程逻辑单元(Configurable Logic Block,CLB)、输人输出单元(Input/Output Block。IOB)和可编程布线资源(Configurable Routing Resource,CRR),其中CLB通常由触发器(Flip Flop,FF)和查找表(LookUp Table,LUT)构成。文中的设计实现过程,采用XILINX公司SpartanlI系列的XC2SIO0—5PQ2O8C芯片[1]作为验证平台.它包含有6OO个CLB.每个CLB由2个SLICE组成,每个SLICE中包含2个4输人的LUT。
对大多数基于FPGA的设计而言.都含有大量的空闲LUT。每一个n输人的LUT,其本质上是一个2"xl的RAM。可以实现一个n变量的任意组合逻辑。因此,可以通过预先定义的编码规则,将用户的个人信息编码为相应的组合逻辑.然后将该组合逻辑作为水印信息嵌人到空闲的LUT中.借此标识设计者对该设计的所有权。
3 水印信息的嵌入及提取
3.1 生成水印信息
待嵌人的水印信息按以下步骤生成:
① 准备原始用户信息MSG;
② 准备用于加密MSG的密钥KEY;
③ 用“0”对MSG进行补位,使其满足加密算法对长度的需求;
④ 对MSG进行散列运算,得到Ⅳ ;
⑤ 以Ⅳ 为初始向量,KEY为密钥,用指定加密算法对MSG进行CBC模式的加密运算.加密结果WM就是待嵌人的水印信息。
3.2 分组水印信息
在以往的嵌入方法中,每一个未用的LUT位只能嵌入一位水印信息[3】.为了提高信息的嵌入量,以及嵌入信息的隐蔽性,文中以组为单位进行水印信息的嵌入。组的划分过程如下:

3.3 生成嵌入位置
水印信息的嵌入位置按以下步骤生成:

相关帖子

沙发
gaochy1126|  楼主 | 2012-10-7 16:10 | 只看该作者
3.4 嵌入分组信息
在XC2S100—5PQ208C中.由于每个SLICE中包含有两个4输入的LUT,因此可嵌入两个水印信息分组,每个分组的嵌入方法如下:

3.5 隐藏嵌入位置
通过以上几个步骤,水印信息已经嵌入到FPGA中,但是由于嵌入位置之间,以及嵌入位置和原始设计之间没有任何物理连接。因此入侵者很容易找到嵌入位置。虽然入侵者不能由嵌入位置获得原始的水印信息。但可以在不影响设计正确性的前提下对水印信息进行破坏。
为了对嵌入位置进行隐藏。可以在保持原始设计布局布线的基础上,在嵌入位置内部,以及嵌入位置和原始设计之间进行互连,这样,既不影响原始设计的功能和性能。又可以进一步增强水印嵌入位置的隐蔽性。
3.6 提取嵌入信息
当IP核拥有者怀疑其IP核被盗用时。可申请由中立的第三方组织按如下步骤从Ⅱ.GA中提取原始用户信息,以对IP核的所有权进行验证:

4 性能分析及实验数据
通过各项指标的分析,对上述的水印保护方法的性能进行评价。
4.1 额外开销
额外开销指由于在原始设计中嵌入水印信息而引入的开销[41。它可以分为因嵌入水印信息而额外占用的物理资源开销:水印信息嵌入过程中所需要的额外设计开销。
在文中所提出的IP保护方法中.物理开销主要指因嵌入水印信息而增加的Slice数。图1为在ITC99的b05设计中.嵌入不同长度水印信息而引起的shce增加率。由图可知,当嵌入的水印信息量增多时.Sbce的增加率也会随之增大;此外,Slice的增加率还与原始设计所占用的Slice数目有关。图2显示了在ITC99的多个不同设计中.嵌入相同水印信息而引起的Slice增加率。由图可知。Slice的增加率随原始设计Slice占有数的增加而降低。

设计开销主要是指因嵌入水印信息而引起的设计时间的增加。由信息的嵌入过程可知,因信息嵌入而引起的设计开销非常小.图3所示的实验结果也验证了这一点。

4.2 可检测性
可检测性指从已嵌入水印信息的设计中提取水印信息的能力。
3.6节中已经提出了与文中水印信息嵌入方法相对应的检测方法,只要拥有原始用户信息MSG、加密MSG的密钥KEY和生成嵌入位置的种子SEED,则可_以从FPGA中提取嵌入的水印信息。并完成对设计所有者身份的验证。
4.3 对性能的影响
这一指标表明了由于水印信息的嵌入而对原始系统性能所造成的影响。
由水印信息的嵌入过程可知.水印信息的嵌入不会改变原始设计的布局布线。因此。理论上不会对原始设计的性能造成任何影响.相关的实验结果如表l所示。

4.4 安全性
安全性指已嵌入信息的设计对各种试图破坏水印信息行为的抵抗能力。
对于文中所提出的设计方法.已经在嵌入位置内部、嵌入位置和原始设计之间进行互连。以隐藏嵌入位置,提高设计的安全性。图4(b)为在b14中嵌人l 024位水印信息后的布局布线图。

5 结束语
在基于FPGA的IP设计中.如何保证所设计的IP不被非法扩散成为人们日益关注的问题。文中所提出的IP保护方法.能在不影响系统原始性能的基础上,利用空闲资源嵌入水印信息,以达到表征IP设计者所有权的目的。通过多项实验,证明这种IP保护方法在额外开销、可检测性以及对系统性能影响等方面均具有良好的特性。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1061

主题

11320

帖子

26

粉丝