CN103226674B - 一种基于fpga技术的可恢复双重芯核水印认证方法 - Google Patents

一种基于fpga技术的可恢复双重芯核水印认证方法 Download PDF

Info

Publication number
CN103226674B
CN103226674B CN201310193749.8A CN201310193749A CN103226674B CN 103226674 B CN103226674 B CN 103226674B CN 201310193749 A CN201310193749 A CN 201310193749A CN 103226674 B CN103226674 B CN 103226674B
Authority
CN
China
Prior art keywords
watermark
information
value
recovery
embedded
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201310193749.8A
Other languages
English (en)
Other versions
CN103226674A (zh
Inventor
张大方
梁伟
尤志强
呼彦吉
黎文伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan University
Original Assignee
Hunan University
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 Hunan University filed Critical Hunan University
Priority to CN201310193749.8A priority Critical patent/CN103226674B/zh
Publication of CN103226674A publication Critical patent/CN103226674A/zh
Application granted granted Critical
Publication of CN103226674B publication Critical patent/CN103226674B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种基于FPGA技术的可恢复双重芯核水印认证方法,首先采用一种门限秘密共享方案将待恢复的水印信息作为恢复因子;然后,通过构造特殊表达式组合的形式来压缩水印的预处理信息,并建立恢复因子与待恢复水印信息之间的映射关系;其次,在FPGA设计的bitfile自约束文件中通过插入未用LUT的冗余属性标识符来嵌入自恢复水印信息。通过实验测试与结果表明:本发明的方法可在水印受到一定程度的移除攻击后仍能有效地恢复出原始水印信息。同时,该方法也具有资源开销小、水印嵌入信息容量大以及鲁棒性强等优点。

Description

一种基于FPGA技术的可恢复双重芯核水印认证方法
技术领域
本发明涉及一种水印认证方法,特别是一种基于FPGA技术的可恢复双重芯核水印认证方法。
背景技术
随着半导体制造工艺在全球的飞速发展,超大规模集成电路(VLSI)单个芯片上晶体管的数量增长能力到2015年可达到千亿数量级。然而,每12个月芯片制造能力提高约58%,设计能力却只能提高21%,导致芯片制造能力与设计能力的差距越来越大,原有的垂直型芯片设计模式已无法满足当今芯片设计的需求。数字IP复用技术以特定宿主载体的形式传播,很容易被非法用户得到并对其进行复制篡改据为己用,这样很容易给IP设计企业带来了巨大的损失。因此,为了能在VLSI设计过程中解决芯核(IP)产品在设计层次、降低产品成本、缩短设计周期和降低市场风险等问题,建立一种新型高效芯核水印技术已势在必行。
芯核水印技术与多媒体数字水印的最大区别在于载体数据的不同。IP水印技术的相关特点主要包括以下几点:
(1)透明性:芯核的设计和验证过程是相当复杂的任务,经过验证的芯核在功能与时序方面要求比较严格。芯核水印的嵌入不仅需要保证对芯核的功能行为没有任何附加影响,而且还需要有较强的不可见性。
(2)安全性:芯核水印必须以隐蔽的方式嵌入到芯核设计,不容易被非法的用户轻易发现和实施各种非法攻击。因而,芯核水印算法在设计时需要考虑如何在不破坏电路正常功能行为的前提下,具有一定的抵抗非法攻击的能力。
(3)可靠性:可靠性是评价芯核水印算法好坏的一个重要指标。可信度主要包括两个方面:一是鲁棒性,用来衡量芯核水印的抗攻击能力和带水印的芯核设计中包含多少不可检测水印;二是虚警率,是指在一个无水印的芯核设计中碰巧带有水印的概率。
(4)性能开销:在芯核设计中添加水印信息是保证芯核安全性和竞争力的一项补充性措施。但是,这种措施对芯核设计的性能有一定的影响,甚至水印嵌入过程引起的高开销可能成为水印算法的最大缺陷。因而,对于芯核水印来说,需要比较水印前后芯核设计在面积、延时等方面的实际开销。
近年来,在芯核版权保护技术中,数字IP水印技术得到了广泛的发展和关注,主要研究工作集中在基于FPGA技术的IP水印研究和基于FSM技术的IP水印研究等领域,J.Lach等人首先提出由约束生成器将待嵌入水印映射为一组附加的约束条件,利用NP问题求解中的3元可满足性问题在物理级中嵌入水印。为了能够有效地解决众多IP水印技术在水印存在的安全性较弱的问题,研究者提出了基于FPGA的可见IP水印隐藏技术、IP水印技术验证平台,并分析了现有IP水印平台在IP水印安全评估过程中的作用。在物理级IP水印的后布局布线图中,A.E.Caldwell等人在文献中提出了基于生物特征的指纹认证水印方法,该方法通过指纹的难伪造特点来对提升芯核水印的安全性能;A.K.Jain和J.Zhang等人在文献中提出在隐藏的bitfile文件中LUT的内容中嵌入带有水印信息的方法,这种方法具有较高的低开销性能。D.Saha等人通过在FPGA设计中嵌入一些设计者的签名信息,然后提出一种零知识协议对SOC设计过程中的版权归属进行验证。Castillo等人利用FPGA的特殊内部结构,在未用的查找表和已用查找表的空隙中写入水印数据。其主要的硬件开销是要增加水印提取的逻辑,在检测到特定的输入序列后,此逻辑将顺次给出水印的存放地址,并路由水印数据到输出端口。Ziener等人提出可以在电源引脚进行嵌入和检测水印信息的方法,这种方法在基于FPGA芯核水印中是首次出现。然而,通过这种方式进行水印提取的开销也相对较大。V.I.Mebin Jose等人提出在芯核设计的行为层嵌入水印生成电路以及测试电路,由此来证明芯核设计的版权归属。采用这种方法进行版权验证时,不需要额外的提取工具,并且当芯片封装之后仍能检测水印。但是,由于生成电路和测试电路的嵌入,从而导致硬件开销非常大。R.S.Chakraborty等人提出对设计的网表层进行模糊处理来达到保护IP版权的目的。这种方法尽管在一定的延时条件下具有较小的面积和功耗开销,但是它的鲁棒性能较差,在一定的非法攻击下,它的安全性不能得到有效的保护。
在上述水印安全保护方案中,尽管研究者提出了很多有效的水印方案,但是这些方案大多还不具备自恢复的功能,水印信息一旦遭到破坏,便不能进行有效恢复。
发明内容
本发明所要解决的技术问题是,针对现有技术不足,提供一种基于FPGA技术的可恢复双重芯核水印认证方法,不仅能使IP版权用户针对非法攻击者的破坏侵权行为进行有效的取证,还能有效地遏制版权盗用者的侵权行为。
为解决上述技术问题,本发明所采用的技术方案是:一种基于FPGA技术的可恢复双重芯核水印认证方法,该方法依次包括水印嵌入、水印提取、水印恢复三个部分:
所述水印嵌入步骤如下:
1)利用广度搜索算法对CLB进行查找,对CLB中的slice通过深度搜索算法进行查找,通过判别slice中F和G的值来判别LUT查找表是否已用,F或G的值为0表示F或G对应的LUT查找表未使用,否则说明该LUT查找表已被使用,并对FPGA中未使用的LUT查找表的坐标信息进行统计;
2)将统计后的未用LUT查找表坐标信息和待嵌入水印信息S=S0S1S2Si、S'=S'0S1'S'2…S'n以S或S′的16位二进制信息对应一个LUT查找表坐标,依照这样的规则建立一个可相互映射的索引表δ;其中S为第一重水印,S′为第二重水印;
3)根据S=S0S1S2…Sn,选择数对(k,m)且满足k≤m,构造一个k-1次多项式f1(x)=a0+a1x+...+ak-1xk-1,x的值为0,1,…,m,a1,a2,…,ak-1是随机选取的系数,其中a0=S,Hk=f1(ik),ik依次取[0,m]之间的整数,计算得到第一重水印的恢复信息H={Hk|k=1,2,...,m},根据S'=S'0S1'S'2…S'n再构造一个k-1次多项式f2(x)=b0+b1x+...+bk-1xk-1,b1,b2,…,bk-1是随机选取的系数,计算得到第二重水印的恢复信息H'={H'k|k=1,2,...,m},H'k由H'k=f2(ik)计算得到,此时b0=S',保存H和H',作为水印恢复时的参数;
4)从第一重水印S=S0S1S2…Sn中读取4位16进制的组合逻辑信息,利用组合逻辑匹配的方法,根据位置参数值μ和第二重水印的恢复信息H'={H'k|k=1,2,...,m}的值,对待嵌入的第一重水印信息和第二重水印的恢复信息H'进行线性转换,达到压缩的效果,其中线性转换模型为A×B+C,(A,B)表示水印嵌入位置的坐标,即位置参数表示的信息,C表示在(A,B)坐标位置处嵌入的相应比特信息,将线性转换后的bit信息以16位为一组嵌入到(A,B)对应的CLB中的LUT查找表中,即改变bitfile自约束文件中对应位置的值,此值也就是索引表δ的冗余信息,为了保证水印的安全,对嵌入的bit信息进行加密,加密的私钥为key,私钥key对应的自恢复阀值为H'k;从第二重水印S'=S'0S1'S'2…S'n中读取4位16进制的组合逻辑信息,利用组合逻辑匹配的方法,根据位置参数值μ和第一重水印的恢复信息H={Hk|k=1,2,...,m}的值,将线性转换后的bit信息以16位为一组嵌入到(A,B)对应的CLB中的LUT查找表中,即改变bitfile自约束文件中对应位置的值,此值也就是索引表δ的冗余信息,为了保证水印的安全,对嵌入的bit信息进行加密,加密的私钥为key',私钥key'对应的自恢复阀值为Hk;其中μ为索引表δ中冗余属性标识符位置参数值;
5)根据每一个LUT查找表实现任意4位16进制的组合逻辑信息,依此类推,直至bit信息全部嵌入到冗余属性标识符中;
所述水印提取步骤如下:
1)提取冗余属性标志信息:若水印未被破坏,利用私钥key和key',根据IP水印嵌入时版权所有者保留的水印位置信息找出未用bitfile自约束文件中所有新插入的冗余属性标识符信息;
2)重构索引表δ和冗余组合表达式的映射关系:根据水印嵌入未用LUT查找表后的冗余属性标识符位置参数值μ计算出索引表δ和冗余组合表达式,即水印嵌入时的线性转换模型A×B+C的映射关系,从而求出在索引表δ中A×B+C中C的值对应的LUT查找表位置;
3)提取水印:根据映射关系与冗余组合表达式中C的值将储存在相应的LUT查找表中的规则,得到含有实现数字IP水印信息的冗余属性标识符位置信息,从而提取出水印信息;
所述水印恢复的步骤如下:
1)从SS1或SS2中提取出关联水印信息P1或P2,其中SS1或SS2包含部分未被破坏的水印信息和可能受损的水印恢复信息H'或H;其中SS1表示水印嵌入步骤4)、5)中最终嵌入的第一重水印信息,SS2表示水印嵌入步骤4)、5)中最终嵌入的第二重水印信息;P1用于恢复第二重水印的受损因子H1',P2用于恢复第一重水印的受损因子H1
2)对关联水印信息P1或P2重新编码,P1编码后的关联水印信息P1'={H'k1|k1=1,2,…},其中H'k1是通过提取水印得到的水印恢复信息;P2编码后的关联水印信息P2'={Hk2|k2=1,2,…},其中Hk2也是通过提取水印方法得到的水印恢复信息;
3)利用重新编码得到的关联水印信息P1'、P2'和嵌入时选取的数对(k,m),对受损水印信息进行重构处理,将重新编码后产生的关联水印信息P1'、P2'当成秘密信息重构的子密钥,构造多项式hj即水印恢复信息H'j(或Hj)的值,ij是H'j(或Hj)对应的f1(ij)或f2(ij)中ij的值,il是H'j或Hj对应的f1(il)或f2(il)中il的值。计算得出水印的实体信息a0=f(0)或b0=f(0),根据水印嵌入时a0=S、b0=S',恢复出第一重水印信息和第二重水印信息。
以下介绍双重芯核水印压缩预处理、门限方案原理以及双重水印的映射关系等关键技术。
门限方案原理:
在双重水印的隐秘内容自恢复方案中,设{(x1,y1),...,(xk,yk)}是双重水印S中的k个信息内容所构成的集合,其中xi=(i=1,...k)均不相同,那么在信息内容集合上存在唯一的k-1次多项式f(xi)可构造出这k个信息的内容。
f(x)=a0+a1x+...+ak-1xk-1………………(1)
若把隐秘信息s取作f(0),即a0,n个子秘密信息取作f(xi)(i=1,...,k),那么利用其中的任意k个子秘密信息就可以重构f(x)从而便可得到隐秘信息s(即a0)。其求解可用以下方程组表示:
{ a 0 + a 1 ( x 1 ) + ... + a k - 1 ( x 1 ) k - 1 = f ( x 1 ) a 0 + a 1 ( x 2 ) + ... + a k - 1 ( x 2 ) k - 1 = f ( x 2 ) . . . a 0 + a 1 ( x k ) + ... + a k - 1 ( x ) k - 1 = f ( x k ) ... ( 2 )
当双重水印的任意部分的内容受到非法攻击者的破坏后,便可通过公式(2)中以上方程组来重构出原方程f(x)水印实体的信息,进而令x=0,则可解得a0=f(0)即s=f(0)。
另外,μ表示在载体f(x)中未用LUT上的冗余属性标识符位置参数值,ρi为k个子秘密信息的平均自恢复阀值,其计算关系如公式(3)所示。
ρ i = μ 1 - μ f ′ ( x i ) f ( x i ) ... ( 3 )
映射关系:
映射关系的确定是可恢复双重芯核水印算法中很重要的一个环节,算法的映射关系能够将密钥分割中多个子密钥信息之间建立特殊的联系。从图4中可以看出:我们可以通过部分密钥信息的映射函数关系重构出水印的原始信息。基本映射思路如下:将双重水印中的加密后的二进制水印分组信息Si Si′看成是门限方案中的秘密s(a0);根据门限方案原理,由Si、Si′可以分别计算出其子密钥Hi、Hi',然后根据各自的子密钥与另一重水印信息进行主从函数映射F;最终可由映射关系得到两个新的双重IP水印关联信息Sk、Sk′。由于Sk中含有Si′的子密钥Hi',而Sk′中又含有Si的子密钥Hi,所以,可由Sk′来恢复Si,Sk来恢复Si′。通过门限方案与双重水印之间的主从映射函数F,可以建立可恢复双重水印的基本关联模型。
与现有技术相比,本发明所具有的有益效果为:本发明从IP水印受到了一定程度的非法攻击破坏的角度出发,提出了一种基于FPGA技术的自恢复双重IP水印认证方法,该方法能使IP版权用户针对非法攻击者的破坏侵权行为进行有效的取证,更加有利于证明芯核拥有者的版权,同时也能有效地遏制版权盗用者的侵权行为;充分利用了双重水印特有的信息量大、稳健性好的优点,通过压缩预处理改善了以往IP核水印的稳健性,降低了水印嵌入的开销;本发明方法的水印自恢复效果较好,具有广阔的应用前景。
附图说明
图1为本发明一实施例水印嵌入流程图;
图2为本发明一实施例水印提取流程图;
图3为本发明一实施例水印恢复流程图;
图4(a)为本发明一实施例方法与文献[1]和[2]的方法虚警变化率比较图;图4(a)为本发明一实施例方法与文献[1]和[2]的方法漏警变化率比较图;
图5为本发明一实施例实验效果图;其中图5(a)原始IP布局布线图;图5(b)嵌入水印布局布线图;图5(c)恢复出水印后布局布线图;
图6为水印恢复前后的功能仿真比较图;图6(a)为原始DES载体功能仿真波形图;图6(b)为水印恢复后DES载体的功能仿真波形图;
图7为水印容量评估结果图。
具体实施方式
本发明的数字双重IP水印的嵌入方法主要是通过在bitfile自约束文件中添加一组附加的约束条件,对待嵌水印的空闲LUT的位置进行限定,使其尽可能的在已用的LUT附近,从而避免因水印在嵌入过程中空闲LUT之间的连线过长,导致资源占用和路径延时过高等问题的出现。
整个双重芯核水印的组合逻辑匹配嵌入工作是在FPGA设计过程中进行的,我们先利用搜索算法对FPGA中未用LUT查找表的坐标信息进行统计;并将统计后的未用LUT内容和待嵌入水印信息S=S0S1S2Si建立一种可相互映射的索引表δ,其中μ为索引表δ中冗余属性标识符位置参数值;其次,从S=S0S1S2…Si中读取4位16进制的组合逻辑信息,利用组合逻辑匹配的方法,我们可以根据位置参数值μ和水印自恢复信息ρ={ρi|i=0,1,2,...}的值,将压缩处理后的bit信息交叉地嵌入到索引表δ的冗余属性标识符中,其中ρi为相对应的自恢复阀值。最后,根据每一个4输入的LUT可实现任意4变量的16进制的组合逻辑信息,依次类推,直至信息全部嵌入到冗余属性标识符中为止。
双重IP水印嵌入:
数字双重IP水印的嵌入方法是通过在bitfile自约束文件中添加一组附加的约束条件,对待嵌水印的空闲LUT的位置进行限定,使其尽可能的在已用的LUT附近,从而避免因水印在嵌入过程中空闲LUT之间的连线过长,导致资源占用和路径延时过高等问题的出现。如图1所示,具体嵌入步骤如下:
1.统计FPGA设计中的未用LUT位置信息
整个双重芯核水印的组合逻辑匹配嵌入工作是在FPGA设计过程中进行的,我们先利用搜索算法对FPGA中未用LUT查找表的坐标信息进行统计。
2.建立可相互映射的索引表δ
将统计后的未用LUT内容和待嵌入水印信息S=S0S1S2…Sn(第一重水印)和S'=S'0S1'S'2…S'n(第二重水印)建立一种可相互映射的索引表δ,其中μ为索引表δ中冗余属性标识符位置参数值。
3.交叉嵌入自恢复信息到索引表δ的冗余属性标识符μ中
依据S=S0S1S2···Sn计算得到第一重水印的恢复信息H={Hi|i=0,1,2,...,m},同样依据S'=S'0S1'S'2…S'n可以计算得到第二重水印的恢复信息H'={Hi'|i=0,1,2,...,m},保存H和H',作为水印恢复时的参数。从第一重水印S=S0S1S2…Sn中读取4位16进制的组合逻辑信息,利用组合逻辑匹配的方法,我们可以根据位置参数值μ和第二重水印的恢复信息H={Hi|i=0,1,2,...,m}的值,将压缩处理后的bit信息嵌入到索引表δ的冗余属性标识符中,为了保证水印的安全对嵌入的信息进行加密,加密的私钥为key,私钥key对应的自恢复阀值为Hi',利用同样的方法可以嵌入第二重水印S'=S'0S1'S'2…S'n,此时的恢复信息为Hi,私钥为key'。
4.将水印嵌入LUT
根据每一个4输入的LUT可实现任意4变量的16进制的组合逻辑信息,依次类推,直至信息全部嵌入到冗余属性标识符中为止。
双重水印提取:
当IP核版权所有者怀疑其IP核可能被盗用时,便可申请由中立的第三方组织按以下步骤从FPGA中提取出原始用户的版权信息,从而可以很容易对IP核的所有者的版权信息进行有效的提取。
在私钥key和key'的作用下,我们可以根据IP水印嵌入时版权所有者保留的水印位置信息找出未用LUT中所有新插入的冗余属性标识符信息;然后,按照水印嵌入未用LUT资源后的冗余属性标识符位置参数值μ便可计算出索引表δ和冗余组合表达式的映射关系;其次,根据映射关系与表达式特定的规则,我们便可得到含有水印位的实现数字IP水印信息的冗余属性标识符位置信息,从而可以成功提取出水印信息。
如图2所示,提取步骤如下:
1.提取冗余属性标志信息
若水印未被破坏,利用私钥key和key'可以根据IP水印嵌入时版权所有者保留的水印位置信息找出未用bitfile自约束文件中所有新插入的冗余属性标识符信息;
2.重构索引表δ和冗余组合表达式的映射关系
按照水印嵌入未用LUT资源后的冗余属性标识符位置参数值μ可计算出索引表δ和冗余组合表达式的映射关系;
3.提取水印
根据映射关系与表达式特定的规则,我们便可得到含有可以实现数字IP水印信息的冗余属性标识符位置信息,从而可以成功提取出水印信息。
双重IP水印恢复:
传统的芯核水印信息一旦受到非法攻击者的恶意破坏,其恢复的可能性非常小,此时直接对水印进行提取不能提取出完整的S=S0S1S2…Sn和S'=S'0S1'S'2…S'n,从而给芯核水印的版权信息认证带来了很大的困难。本发明的方法可以通过其恢复机制对被非法攻击者恶意篡改后的水印信息进行有效的认证。本发明的双重水印认证方法主要依靠秘密分割中的重构密钥特性来实现的。当发生版权纠纷时,版权拥有者可先通过算法提取出受损IP中的水印信息C1,C2,然后通过恢复这些受损的水印信息来对双重水印的原始水印信息进行版权认证,即:C1′←E-1(F(x),k)→C2'。这里有两种认证情况:
(1)若有C1'=C1或者C2′=C2,则可证明自己拥有该IP核的版权。
(2)如果C1'≠C1且C2'≠C2,则不能证明版权的所有问题。
由于双重水印之间存在映射关系,它们具有相互关联性,本发明设计的映射函数F=a0+a1x+...+ak-1xk-1以利用门限方案原理来达到相互恢复的效果。在水印的相互恢复中,还存在两种恢复情况:
(1)当双重IP水印中一部分水印信息C1被破坏时,可由S1(包含了部分水印信息C2和同样受损的恢复因子k)恢复出受损的水印信息C1,即C1=E-1(F(x2),k),其中F(x2)为水印自恢复信息k的主映射函数、k为自恢复因子;
(2)当另一部分水印信息C2被破坏时,则可由S2(包含了部分水印信息C1和同样受损的恢复因子k')恢复出C2的信息,即C2=E-1(F(x1),k'),其中F(x2)为水印自恢复信息k'的主映射函数。
当水印信息被非法攻击进行恶意篡改后,我们可以利用上面介绍的双重水印恢复机制来尝试受损水印的恢复。以第一重水印恢复为例,第二重水印的恢复与第一重水印的恢复方法一致。如图3所示,具体步骤如下:
1.提取关联信息
从含有关联冗余信息流的S1中提取出关联水印信息P。
2.对关联信息编码
关联水印信息P进行重新编码,编码后的关联水印信息为P'={f(xi)|i=1,2,...,m}。
3.水印恢复
通过重新编码得到的关联水印信息P′和嵌入时保存的第一重水印的自恢复阀值对受损水印信息进行重构处理,同时,还需将重新编码后产生的关联水印信息P'当成秘密信息重构的子密钥,通过重构方程f(x)中水印实体的信息,则可恢复出第一重水印信息S=S0S1S2…Sn
以下通过实验分析本发明方法的性能
实验所采用芯核主要以Xilinx开源芯核作为测试电路,使用的测试平台为XC2V3000FPGA、测试实验环境为Xilinx ISE等综合工具。仿真实验在Intel Pentium Dual-Core CPU 2.0GHZ处理器和2GB内存的计算机上进行。
一、算法安全性能分析
在可恢复双重IP水印的抗攻击性能方面,我们重点评估了水印在FPGA器件的末用LUT中虚警和漏警两种安全性能,虚警是指实际上没有遭受恶意攻击的IP载体而被误认为遭受到恶意攻击的情况,漏警是指当可恢复信息遭受到恶意攻击后,我们的算法没有在IP载体中检测出可恢复信息受到异常攻击的情况。
通过本发明的自恢复方法,我们可以防止非法攻击者利用删除、逆向重构等攻击方法来破坏或纂改原始水印信息。本发明的方法与文献[1]和文献[2]中水印的安全性比较主要体现在漏警概率和虚警概率的分析上。其中pc虚警概率,pm为漏警概率,实验中本发明主要选择去除攻击作为主要的攻击方法,去除攻击主要是利用某些特殊手段直接去除水印的一种攻击方法。
在非法去除攻击方法的实验环境下,根据本发明算法的思想,我们首先由文中的版权信息经过一系列步骤转换成待嵌入的水印片段,然后对水印片段信息进行虚警和漏警实验分析。在实验测试过程中,我们设m为待嵌水印片段的数目,n为所有未用查找表的数目,α为所有可恢复片段信息的数目,从n个未用位置选取α个水印片段信息和β个实际可恢复片段信息的概率分别为假设所选择的位置恰好包含待嵌入水印片段的概率为p0,而所选择的位置恰没有包含待嵌入水印片段的概率假设为p1,本发明的算法与文献[1]和文献[2]中的方法在文献[3]中计算方法的基础上,即可分别得出可恢复双重IP水印中虚警概率和漏警概率的计算公式:
P c = 1 C n α ( P 0 ) m 0 ( P l ) ( m - m 0 ) ... ( 4 )
P m = 1 C n β ( P 0 ) m 0 ( P l ) ( m - m 0 ) ... ( 5 )
根据上式(4)、(5)中的计算方法,我们从图4(a)和图4(b)中可知,本发明的方法与文献[1]和文献[2]中的方法在移除攻击的情况下,我们的方法相对于其他两种方法在虚警率和漏警率方面均具有一定的优势。
在自恢复双重IP水印算法的安全分析过程中,双重水印自恢复过程的计算复杂度为O(k2),时间计算复杂度为O(k+2),相比文献[1]中数字水印嵌入时的时间复杂度O2(k+2),本发明的算法在双重水印自恢复过程中,水印的自恢复计算复杂度并不是很高,同时水印嵌入时的时间复杂度方面也具有较好的优势。
二、实验效果分析
本实验以DES芯核载体为例,通过物理布局效果图来体现芯核水印嵌入前后以及水印自恢复前后芯核面积开销的变化情况。在实验中我们首先对其DES载体进行编译、综合、布局布线,最终得到了图5(a)的原始DES载体物理布局效果图,其次利用我们的方法分别将512比特的双重水印信息分别嵌入原始的DES载体中,最终得到了图5(b)中的嵌入水印后的物理布局效果图。当芯核水印受到一定程度的非法移除攻击算法的破坏下,我们可以通过本发明的方法将受损的水印信息从DES载体中自恢复出来,其恢复出来后的效果如图5(c)所示。
从物理布局效果图5(a)、图5(b)、图5(c)中可以看出:图5(b)中嵌入512比特的水印信息后生成的布局图比图5(a)中的原始载体布局图纹理丰富、布线面积有所增大,当芯核水印信息受到非法移除攻击后,芯核水印受损程度为20%时,我们尝试着用本发明的方法进行恢复处理,并将水印恢复处理后芯核再次进行物理布局,其效果图如图5(c)所示,从图中可以看出它相对于图5(a)和图5(b)的变化并不明显。因此,我们的方法在芯核载体中进行水印信息恢复时,并不会给芯核带来较大的额外面积开销。
为了能够更进一步验证本发明的方法不会给系统带来新的故障问题,在第三方仿真工具Modelsim6.2SE平台上,我们将水印恢复后的DES芯核载体在水印恢复前后的电路功能进行了功能仿真。仿真的步骤为:首先采用VHDL语言对芯核水印的测试行为进行描述,其次在ISE平台上完成调试编译,仿真和综合布线的工作,最后将综合布线结果载入FPGA上进行功能验证。从图6中的功能仿真的结果可以看出:在确定其初始密钥key,数据输入输出信号imsg0和odata以及时钟CLK的信号驱动下,DES载体在整个水印恢复前后,其功能仿真在一定延时条件下完全一致,从而可知对于水印恢复前后,本发明的方法对DES芯核电路的性能影响是很小的。
三、水印嵌入容量
本发明的双重IP水印容量指标可以通过水印嵌入比来进行衡量。水印嵌入比是指表示相同数量的版权信息需要的最小水印信息量与最大水印信息量的比值。水印嵌入比越小时,在相同性能影响的情况下嵌入的水印容量就越大,水印的可信度也越大。通过分析和计算本发明算法和文献[1]和文献[2]中算法的实际水印嵌入量,我们可以对本发明算法的水印容量进行评估,在图7中,文献[1]和文献[2]的水印嵌入比分别为1/4和1/2;而本发明的算法实际嵌入量与版权信息数量的嵌入比值为1/8。嵌入比越小,水印容量越大。这是由于为了降低水印嵌入时自恢复片段带来的额外开销,我们将隐秘信息进行了分组、压缩等预处理过程,最终通过表达式组合的形式压缩了实际水印嵌入的容量。因此,本发明的方法在较小的水印开销下,能够嵌入与其它方法相当的实际水印容量。
四、水印自恢复能力评估
本发明采用了非法移除攻击的算法对水印进行攻击实验测试,根据水印信息移除和破坏程度的不同,我们在实验中嵌入的水印容量为512bit,将%R和%T分别表示水印恢复后资源以及延时的变化率。索引表中冗余属性标识符的最佳位置参数值μ设定为0.5,由公式(3)可求知,在损坏程度为10%、20%、40%下的水印自恢复阀值分别为ρ=1,ρ=0.945,ρ=0.721.
表1本发明提出的方法在移除攻击下的自恢复性能比较表
在有效的非法移除攻击下,我们以水印恢复程度为70%做为水印恢复合格的标准,从表1中的自恢复性能实验比较表可得知:随着水印损坏程度的增加,水印自恢复时将导致CLB资源占用率、水印恢复后资源变化率以及延时变化率出现一定程度的增加,但是,当水印的损坏程度达到40%的时候,部分芯核的水印自恢复性能将降到最低值,水印恢复后资源变化率以及延时变化率也将会变到最大,这是由于水印恢复过程中本发明的芯核水印方法是通过在索引表δ的冗余属性标识符中进行添加标示的。而冗余属性标识符的设计需要许多未用LUT的水印嵌入点,如果水印嵌入的容量越大,那么未用LUT资源的需求就会越多。当水印在自恢复过程中水印恢复的程度越大,那么将会使得受损水印程度较大的芯核电路在恢复时需要占用的额外资源开销将会变大。因此,在非法移除的攻击下,水印损坏程度在40%以内,我们的方法仍然能够较好的恢复出大部分受损水印信息。
本发明从水印受到攻击损坏后的角度出发,分析了数字IP水印信息受损后的隐秘内容自恢复问题,提出了一种基于隐秘内容信息自恢复机制的数字IP水印方法,该方法主要是采用门限方案的密钥重组思想来实现水印信息的自恢复,这种算法充分利用了双重水印特有的信息量大、稳健性好的优点。通过压缩预处理改善了以往IP核水印的稳健性和降低了水印嵌入开销。实验分析表明:本发明的方法并不会带来较大的硬件开销,水印的自恢复效果较好,具有广阔的应用前景。
本发明所用到的参考文献:
[1]A.B.Kahng,J.Lach,H.Mangione-Smith,S.Mantik,I.L.Markov,M.Potkonjak,P.Tucker,H.Wang,and G.Wolfe,“Constraint-based watermarking techniques for design IP protection,”IEEE transactions on computer-aided design and integrated circuitssystem,vol.20,no.10,pp.1236-1251,2001.
[2]E.Castillo,U.Meyer-Baese,A.Garcia,L.Parrilla,and A.Lloris,"IPPHDL:Efficient Intellectual Property Protection Scheme for IPCores,"Very Large Scale Integration(VLSI)Systems,IEEE Transactionson,vol.15,pp.578-591,2007.
[3]Jiliang Zhang,Yaping Lin,Qiang Wu,“Watermarking FPGA Bitfile for Intellectual Property Protection”,Radioengineering,2012,vol.21,no 2,pp.764-771.

Claims (1)

1.一种基于FPGA技术的可恢复双重芯核水印认证方法,其特征在于,该方法依次包括水印嵌入、水印提取、水印恢复三个部分:
所述水印嵌入步骤如下:
1)利用广度搜索算法对CLB进行查找,对CLB中的slice通过深度搜索算法进行查找,通过判别slice中F和G的值来判别LUT查找表是否已用,F或G的值为0表示F或G对应的LUT查找表未使用,否则说明该LUT查找表已被使用,并对FPGA中未使用的LUT查找表的坐标信息进行统计;
2)将统计后的未用LUT查找表坐标信息和待嵌入水印信息S=S0S1S2Si、S'=S'0S1'S'2…S'n以S或S′的16位二进制信息对应一个LUT查找表坐标,依照这样的规则建立一个可相互映射的索引表δ;其中S为第一重水印,S′为第二重水印;
3)根据S=S0S1S2…Sn,选择数对(k,m)且满足k≤m,构造一个k-1次多项式f1(x)=a0+a1x+...+ak-1xk-1,x的值为0,1,…,m,2≤k≤m,a1,a2,…,ak-1是随机选取的系数,其中a0=SHk=f1(ik),ik依次取[0,m]之间的整数,计算得到第一重水印的恢复信息H={Hk|k=1,2,...,m},根据已选定的数对(k,m)和S'=S'0S′1S'2…S'n再构造一个k-1次多项式f2(x)=b0+b1x+...+bk-1xk-1,b1,b2,…,bk-1是随机选取的系数,计算得到第二重水印的恢复信息H'={H'k|k=1,2,...,m},H'k由H'k=f2(ik)计算得到,此时b0=S',保存H和H',作为水印恢复时的参数;
4)从第一重水印S=S0S1S2…Sn中读取4位16进制的组合逻辑信息,利用组合逻辑匹配的方法,根据位置参数值μ和第二重水印的恢复信息H'={H'k|k=1,2,...,m}的值,对待嵌入的第一重水印信息和第二重水印的恢复信息H'进行线性转换,达到压缩的效果,其中线性转换模型为A×B+C,(A,B)表示水印嵌入位置的坐标,即位置参数表示的信息,C表示在(A,B)坐标位置处嵌入的相应比特信息,将线性转换后的bit信息以16位为一组嵌入到(A,B)对应的CLB中的LUT查找表中,即改变bitfile自约束文件中对应位置的值,此值也就是索引表δ的冗余信息,为了保证水印的安全,对嵌入的bit信息进行加密,加密的私钥为key,私钥key对应的自恢复阀值为H'k;从第二重水印S'=S'0S′1S'2…S'n中读取4位16进制的组合逻辑信息,利用组合逻辑匹配的方法,根据位置参数值μ和第一重水印的恢复信息H={Hk|k=1,2,...,m}的值,将线性转换后的bit信息以16位为一组嵌入到(A,B)对应的CLB中的LUT查找表中,即改变bitfile自约束文件中对应位置的值,此值也就是索引表δ的冗余信息,为了保证水印的安全,对嵌入的bit信息进行加密,加密的私钥为key',私钥key'对应的自恢复阀值为Hk;其中μ为索引表δ中冗余属性标识符位置参数值;
5)根据每一个LUT查找表实现任意4位16进制的组合逻辑信息,依此类推,直至bit信息全部嵌入到冗余属性标识符中;
所述水印提取步骤如下:
1)提取冗余属性标志信息:若水印未被破坏,利用私钥key和key',根据IP水印嵌入时版权所有者保留的水印位置信息找出未用bitfile自约束文件中所有新插入的冗余属性标识符信息;
2)重构索引表δ和冗余组合表达式的映射关系:根据水印嵌入未用LUT查找表后的冗余属性标识符位置参数值μ计算出索引表δ和冗余组合表达式,即水印嵌入时的线性转换模型A×B+C的映射关系,从而求出在索引表δ中A×B+C中C的值对应的LUT查找表位置;
3)提取水印:根据映射关系与冗余组合表达式中C的值将储存在相应的LUT查找表中的规则,得到含有实现数字IP水印信息的冗余属性标识符位置信息,从而提取出水印信息;
所述水印恢复的步骤如下:
1)从SS1或SS2中提取出关联水印信息P1或P2,而SS1或SS2包含部分未被破坏的水印信息和可能受损的水印恢复信息H'或H;其中SS1表示水印嵌入步骤4)、5)中最终嵌入的第一重水印信息,SS2表示水印嵌入步骤4)、5)中最终嵌入的第二重水印信息;P1用于恢复第二重水印的受损因子H1',P2用于恢复第一重水印的受损因子H1
2)对关联水印信息P1或P2重新编码,P1编码后的关联水印信息P1′={H'k1|k1=1,2,…},其中H'k1是通过提取水印得到的水印恢复信息;P2编码后的关联水印信息P2'={Hk2|k2=1,2,…},其中Hk2也是通过提取水印方法得到的水印恢复信息;
3)利用重新编码得到的关联水印信息P1'、P2'和嵌入时选取的数对(k,m),对受损水印信息进行重构处理,将重新编码后产生的关联水印信息P1'、P2'当成秘密信息重构的子密钥,构造多项式hj即水印恢复信息H'j或Hj的值,ij是H'j或Hj对应的f1(ij)或f2(ij)中ij的值,il是H'j或Hj对应的f1(il)或f2(il)中il的值;计算得出水印的实体信息a0=f1(0)或b0=f2(0),根据水印嵌入时a0=S、b0=S',恢复出第一重水印信息和第二重水印信息。
CN201310193749.8A 2013-05-23 2013-05-23 一种基于fpga技术的可恢复双重芯核水印认证方法 Active CN103226674B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310193749.8A CN103226674B (zh) 2013-05-23 2013-05-23 一种基于fpga技术的可恢复双重芯核水印认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310193749.8A CN103226674B (zh) 2013-05-23 2013-05-23 一种基于fpga技术的可恢复双重芯核水印认证方法

Publications (2)

Publication Number Publication Date
CN103226674A CN103226674A (zh) 2013-07-31
CN103226674B true CN103226674B (zh) 2015-09-23

Family

ID=48837118

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310193749.8A Active CN103226674B (zh) 2013-05-23 2013-05-23 一种基于fpga技术的可恢复双重芯核水印认证方法

Country Status (1)

Country Link
CN (1) CN103226674B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105337942A (zh) * 2014-08-07 2016-02-17 联想(北京)有限公司 一种信息处理方法及电子设备
CN106021465A (zh) * 2016-05-17 2016-10-12 浪潮集团有限公司 一种FPGA bitfile的压缩方法
CN107463474A (zh) * 2017-09-22 2017-12-12 成都旋极历通信息技术有限公司 一种高速可重构测试平台
CN109840401A (zh) * 2018-11-12 2019-06-04 中国银联股份有限公司 针对数据文本的水印嵌入方法
CN109785217B (zh) * 2018-12-25 2023-05-09 湖南大学 基于fpga技术的差错控制芯核水印方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101408923A (zh) * 2007-11-16 2009-04-15 清华大学 利用数字水印技术进行ip核版权确认的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101408923A (zh) * 2007-11-16 2009-04-15 清华大学 利用数字水印技术进行ip核版权确认的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"A DFA-based Distributed IP Watermarking Method Using Data Compression Technique";Jianbo Xu等;《Journal of Convergence Information Technology》;20110831;第6卷(第8期);152-160 *
"An FPGA-based Distributed IP Watermarking Method";Jing Long等;《2011 International Conference on Electronic&Mechanical Engineering and Information Technology》;20110814;1715-1717 *
"Constraint-Based Watermarking Techniques for Design IP Protection";Andrew B. Kahng等;《IEEE TRANSACTIONS ON COMPUTFR-ATDED DESIGN OF INTEGRATED CTRCUITS AND SYSTEMS》;20011031;第20卷(第10期);1236-1252 *

Also Published As

Publication number Publication date
CN103226674A (zh) 2013-07-31

Similar Documents

Publication Publication Date Title
Hu et al. An overview of hardware security and trust: Threats, countermeasures, and design tools
Shafieinejad et al. On the robustness of backdoor-based watermarking in deep neural networks
CN103226674B (zh) 一种基于fpga技术的可恢复双重芯核水印认证方法
CN103646195B (zh) 一种面向版权保护的数据库水印方法
CN106023056A (zh) 基于dwt和主成分分析压缩的零水印嵌入、提取方法及装置
Tayan et al. A hybrid digital-signature and zero-watermarking approach for authentication and protection of sensitive electronic documents
Li et al. Tamper detection and self-recovery of biometric images using salient region-based authentication watermarking scheme
Schmid et al. Netlist-level IP protection by watermarking for LUT-based FPGAs
CN109785217B (zh) 基于fpga技术的差错控制芯核水印方法
CN104050400B (zh) 一种基于控制符编码隐写的网页链接保护方法
Liang et al. A chaotic IP watermarking in physical layout level based on FPGA
Sengupta et al. Contact-less palmprint biometric for securing DSP coprocessors used in CE systems
Li et al. Design of anti-key leakage camouflage gate circuit for reverse engineering based on dummy vias
CN103886540B (zh) 椭圆型图形特征的数字指纹嵌入与检测方法
Long et al. A robust low-overhead watermarking for field authentication of intellectual property cores
Rathor et al. Exploring handwritten signature image features for hardware security
WO2023129762A2 (en) A design automation methodology based on graph neural networks to model integrated circuits and mitigate hardware security threats
Xu et al. A DFA-based distributed IP watermarking method using data compression technique
Yuan et al. Robust zero‐watermarking algorithm based on discrete wavelet transform and daisy descriptors for encrypted medical image
Liu et al. A robust error control coding-based watermarking algorithm for FPGA IP protection
Liang et al. A Digital IP Watermarking Scheme of Based on Self-Recovery Secret Information
CN109933962A (zh) 基于考拉兹猜想的软件水印方法
Tehranipoor et al. Hardware IP watermarking
Sengupta et al. Secure FFT IP using C way Partitioning based Obfuscation and Fingerprint
Zhang et al. Protecting the Ownership of Deep Learning Models with An End-to-End Watermarking Framework

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant