首页 / 专利库 / 版权及相关权 / 版权所有者 / 一种基于FPGA技术的可恢复双重芯核水印认证方法

一种基于FPGA技术的可恢复双重芯核印认证方法

阅读:145发布:2020-08-31

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

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)=k-1
a0+a1x+...+ak-1x ,x的值为0,1,…,m,2≤k≤m,a1,a2,…,ak-1是随机选取的系数,其中a0=S,Hk=f1(ik),ik依次取[0,m]之间的整数,计算得到第一重水印的恢复信息H={Hk|k=1,2,...,m},根据已选定的数对(k,m)和S'=S'0S′1S'2…S'n再构造一个k-1次多项k-1
式f2(x)=b0+b1x+...+bk-1x ,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',恢复出第一重水印信息和第二重水印信息。

说明书全文

一种基于FPGA技术的可恢复双重芯核印认证方法

技术领域

[0001] 本发明涉及一种水印认证方法,特别是一种基于FPGA技术的可恢复双重芯核水印认证方法。

背景技术

[0002] 随着半导体制造工艺在全球的飞速发展,超大规模集成电路(VLSI)单个芯片上晶体管的数量增长能到2015年可达到千亿数量级。然而,每12个月芯片制造能力提高约58%,设计能力却只能提高21%,导致芯片制造能力与设计能力的差距越来越大,原有的垂直型芯片设计模式已无法满足当今芯片设计的需求。数字IP复用技术以特定宿主载体的形式传播,很容易被非法用户得到并对其进行复制篡改据为己用,这样很容易给IP设计企业带来了巨大的损失。因此,为了能在VLSI设计过程中解决芯核(IP)产品在设计层次、降低产品成本、缩短设计周期和降低市场险等问题,建立一种新型高效芯核水印技术已势在必行。
[0003] 芯核水印技术与多媒体数字水印的最大区别在于载体数据的不同。IP水印技术的相关特点主要包括以下几点:
[0004] (1)透明性:芯核的设计和验证过程是相当复杂的任务,经过验证的芯核在功能与时序方面要求比较严格。芯核水印的嵌入不仅需要保证对芯核的功能行为没有任何附加影响,而且还需要有较强的不可见性。
[0005] (2)安全性:芯核水印必须以隐蔽的方式嵌入到芯核设计,不容易被非法的用户轻易发现和实施各种非法攻击。因而,芯核水印算法在设计时需要考虑如何在不破坏电路正常功能行为的前提下,具有一定的抵抗非法攻击的能力。
[0006] (3)可靠性:可靠性是评价芯核水印算法好坏的一个重要指标。可信度主要包括两个方面:一是鲁棒性,用来衡量芯核水印的抗攻击能力和带水印的芯核设计中包含多少不可检测水印;二是虚警率,是指在一个无水印的芯核设计中碰巧带有水印的概率。
[0007] (4)性能开销:在芯核设计中添加水印信息是保证芯核安全性和竞争力的一项补充性措施。但是,这种措施对芯核设计的性能有一定的影响,甚至水印嵌入过程引起的高开销可能成为水印算法的最大缺陷。因而,对于芯核水印来说,需要比较水印前后芯核设计在面积、延时等方面的实际开销。
[0008] 近年来,在芯核版权保护技术中,数字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版权的目的。这种方法尽管在一定的延时条件下具有较小的面积和功耗开销,但是它的鲁棒性能较差,在一定的非法攻击下,它的安全性不能得到有效的保护。
[0009] 在上述水印安全保护方案中,尽管研究者提出了很多有效的水印方案,但是这些方案大多还不具备自恢复的功能,水印信息一旦遭到破坏,便不能进行有效恢复。

发明内容

[0010] 本发明所要解决的技术问题是,针对现有技术不足,提供一种基于FPGA技术的可恢复双重芯核水印认证方法,不仅能使IP版权用户针对非法攻击者的破坏侵权行为进行有效的取证,还能有效地遏制版权盗用者的侵权行为。
[0011] 为解决上述技术问题,本发明所采用的技术方案是:一种基于FPGA技术的可恢复双重芯核水印认证方法,该方法依次包括水印嵌入、水印提取、水印恢复三个部分:
[0012] 所述水印嵌入步骤如下:
[0013] 1)利用广度搜索算法对CLB进行查找,对CLB中的slice通过深度搜索算法进行查找,通过判别slice中F和G的值来判别LUT查找表是否已用,F或G的值为0表示F或G对应的LUT查找表未使用,否则说明该LUT查找表已被使用,并对FPGA中未使用的LUT查找表的坐标信息进行统计;
[0014] 2)将统计后的未用LUT查找表坐标信息和待嵌入水印信息S=S0S1S2Si、S'=S'0S1'S'2…S'n以S或S′的16位二进制信息对应一个LUT查找表坐标,依照这样的规则建立一个可相互映射的索引表δ;其中S为第一重水印,S′为第二重水印;
[0015] 3)根据S=S0S1S2…Sn,选择数对(k,m)且满足k≤m,构造一个k-1次多项k-1式f1(x)=a0+a1x+...+ak-1x ,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)=k-1
b0+b1x+...+bk-1x ,b1,b2,…,bk-1是随机选取的系数,计算得到第二重水印的恢复信息H'={H'k|k=1,2,...,m},H'k由H'k=f2(ik)计算得到,此时b0=S',保存H和H',作为水印恢复时的参数;
[0016] 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;其中μ为索引表δ中冗余属性标识符位置参数值;
[0017] 5)根据每一个LUT查找表实现任意4位16进制的组合逻辑信息,依此类推,直至bit信息全部嵌入到冗余属性标识符中;
[0018] 所述水印提取步骤如下:
[0019] 1)提取冗余属性标志信息:若水印未被破坏,利用私钥key和key',根据IP水印嵌入时版权所有者保留的水印位置信息找出未用bitfile自约束文件中所有新插入的冗余属性标识符信息;
[0020] 2)重构索引表δ和冗余组合表达式的映射关系:根据水印嵌入未用LUT查找表后的冗余属性标识符位置参数值μ计算出索引表δ和冗余组合表达式,即水印嵌入时的线性转换模型A×B+C的映射关系,从而求出在索引表δ中A×B+C中C的值对应的LUT查找表位置;
[0021] 3)提取水印:根据映射关系与冗余组合表达式中C的值将储存在相应的LUT查找表中的规则,得到含有实现数字IP水印信息的冗余属性标识符位置信息,从而提取出水印信息;
[0022] 所述水印恢复的步骤如下:
[0023] 1)从SS1或SS2中提取出关联水印信息P1或P2,其中SS1或SS2包含部分未被破坏的水印信息和可能受损的水印恢复信息H'或H;其中SS1表示水印嵌入步骤4)、5)中最终嵌入的第一重水印信息,SS2表示水印嵌入步骤4)、5)中最终嵌入的第二重水印信息;P1用于恢复第二重水印的受损因子H1',P2用于恢复第一重水印的受损因子H1;
[0024] 2)对关联水印信息P1或P2重新编码,P1编码后的关联水印信息P1'={H'k1|k1=1,2,…},其中H'k1是通过提取水印得到的水印恢复信息;P2编码后的关联水印信息P2'={Hk2|k2=1,2,…},其中Hk2也是通过提取水印方法得到的水印恢复信息;
[0025] 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',恢复出第一重水印信息和第二重水印信息。
[0026] 以下介绍双重芯核水印压缩预处理、限方案原理以及双重水印的映射关系等关键技术。
[0027] 门限方案原理:
[0028] 在双重水印的隐秘内容自恢复方案中,设{(x1,y1),...,(xk,yk)}是双重水印S中的k个信息内容所构成的集合,其中xi=(i=1,...k)均不相同,那么在信息内容集合上存在唯一的k-1次多项式f(xi)可构造出这k个信息的内容。
[0029] f(x)=a0+a1x+...+ak-1xk-1………………(1)
[0030] 若把隐秘信息s取作f(0),即a0,n个子秘密信息取作f(xi)(i=1,...,k),那么利用其中的任意k个子秘密信息就可以重构f(x)从而便可得到隐秘信息s(即a0)。其求解可用以下方程组表示:
[0031]
[0032] 当双重水印的任意部分的内容受到非法攻击者的破坏后,便可通过公式(2)中以上方程组来重构出原方程f(x)水印实体的信息,进而令x=0,则可解得a0=f(0)即s=f(0)。
[0033] 另外,μ表示在载体f(x)中未用LUT上的冗余属性标识符位置参数值,ρi为k个子秘密信息的平均自恢复阀值,其计算关系如公式(3)所示。
[0034]
[0035] 映射关系:
[0036] 映射关系的确定是可恢复双重芯核水印算法中很重要的一个环节,算法的映射关系能够将密钥分割中多个子密钥信息之间建立特殊的联系。从图4中可以看出:我们可以通过部分密钥信息的映射函数关系重构出水印的原始信息。基本映射思路如下:将双重水印中的加密后的二进制水印分组信息Si Si′看成是门限方案中的秘密s(a0);根据门限方案原理,由Si、Si′可以分别计算出其子密钥Hi、Hi',然后根据各自的子密钥与另一重水印信息进行主从函数映射F;最终可由映射关系得到两个新的双重IP水印关联信息Sk、Sk′。由于Sk中含有Si′的子密钥Hi',而Sk′中又含有Si的子密钥Hi,所以,可由Sk′来恢复Si,Sk来恢复Si′。通过门限方案与双重水印之间的主从映射函数F,可以建立可恢复双重水印的基本关联模型。
[0037] 与现有技术相比,本发明所具有的有益效果为:本发明从IP水印受到了一定程度的非法攻击破坏的度出发,提出了一种基于FPGA技术的自恢复双重IP水印认证方法,该方法能使IP版权用户针对非法攻击者的破坏侵权行为进行有效的取证,更加有利于证明芯核拥有者的版权,同时也能有效地遏制版权盗用者的侵权行为;充分利用了双重水印特有的信息量大、稳健性好的优点,通过压缩预处理改善了以往IP核水印的稳健性,降低了水印嵌入的开销;本发明方法的水印自恢复效果较好,具有广阔的应用前景。附图说明
[0038] 图1为本发明一实施例水印嵌入流程图
[0039] 图2为本发明一实施例水印提取流程图;
[0040] 图3为本发明一实施例水印恢复流程图;
[0041] 图4(a)为本发明一实施例方法与文献[1]和[2]的方法虚警变化率比较图;图4(a)为本发明一实施例方法与文献[1]和[2]的方法漏警变化率比较图;
[0042] 图5为本发明一实施例实验效果图;其中图5(a)原始IP布局布线图;图5(b)嵌入水印布局布线图;图5(c)恢复出水印后布局布线图;
[0043] 图6为水印恢复前后的功能仿真比较图;图6(a)为原始DES载体功能仿真波形图;图6(b)为水印恢复后DES载体的功能仿真波形图;
[0044] 图7为水印容量评估结果图。

具体实施方式

[0045] 本发明的数字双重IP水印的嵌入方法主要是通过在bitfile自约束文件中添加一组附加的约束条件,对待嵌水印的空闲LUT的位置进行限定,使其尽可能的在已用的LUT附近,从而避免因水印在嵌入过程中空闲LUT之间的连线过长,导致资源占用和路径延时过高等问题的出现。
[0046] 整个双重芯核水印的组合逻辑匹配嵌入工作是在FPGA设计过程中进行的,我们先利用搜索算法对FPGA中未用LUT查找表的坐标信息进行统计;并将统计后的未用LUT内容和待嵌入水印信息S=S0S1S2Si建立一种可相互映射的索引表δ,其中μ为索引表δ中冗余属性标识符位置参数值;其次,从S=S0S1S2…Si中读取4位16进制的组合逻辑信息,利用组合逻辑匹配的方法,我们可以根据位置参数值μ和水印自恢复信息ρ={ρi|i=0,1,2,...}的值,将压缩处理后的bit信息交叉地嵌入到索引表δ的冗余属性标识符中,其中ρi为相对应的自恢复阀值。最后,根据每一个4输入的LUT可实现任意4变量的16进制的组合逻辑信息,依次类推,直至信息全部嵌入到冗余属性标识符中为止。
[0047] 双重IP水印嵌入:
[0048] 数字双重IP水印的嵌入方法是通过在bitfile自约束文件中添加一组附加的约束条件,对待嵌水印的空闲LUT的位置进行限定,使其尽可能的在已用的LUT附近,从而避免因水印在嵌入过程中空闲LUT之间的连线过长,导致资源占用和路径延时过高等问题的出现。如图1所示,具体嵌入步骤如下:
[0049] 1.统计FPGA设计中的未用LUT位置信息
[0050] 整个双重芯核水印的组合逻辑匹配嵌入工作是在FPGA设计过程中进行的,我们先利用搜索算法对FPGA中未用LUT查找表的坐标信息进行统计。
[0051] 2.建立可相互映射的索引表δ
[0052] 将统计后的未用LUT内容和待嵌入水印信息S=S0S1S2…Sn(第一重水印)和S'=S'0S1'S'2…S'n(第二重水印)建立一种可相互映射的索引表δ,其中μ为索引表δ中冗余属性标识符位置参数值。
[0053] 3.交叉嵌入自恢复信息到索引表δ的冗余属性标识符μ中
[0054] 依据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'。
[0055] 4.将水印嵌入LUT
[0056] 根据每一个4输入的LUT可实现任意4变量的16进制的组合逻辑信息,依次类推,直至信息全部嵌入到冗余属性标识符中为止。
[0057] 双重水印提取:
[0058] 当IP核版权所有者怀疑其IP核可能被盗用时,便可申请由中立的第三方组织按以下步骤从FPGA中提取出原始用户的版权信息,从而可以很容易对IP核的所有者的版权信息进行有效的提取。
[0059] 在私钥key和key'的作用下,我们可以根据IP水印嵌入时版权所有者保留的水印位置信息找出未用LUT中所有新插入的冗余属性标识符信息;然后,按照水印嵌入未用LUT资源后的冗余属性标识符位置参数值μ便可计算出索引表δ和冗余组合表达式的映射关系;其次,根据映射关系与表达式特定的规则,我们便可得到含有水印位的实现数字IP水印信息的冗余属性标识符位置信息,从而可以成功提取出水印信息。
[0060] 如图2所示,提取步骤如下:
[0061] 1.提取冗余属性标志信息
[0062] 若水印未被破坏,利用私钥key和key'可以根据IP水印嵌入时版权所有者保留的水印位置信息找出未用bitfile自约束文件中所有新插入的冗余属性标识符信息;
[0063] 2.重构索引表δ和冗余组合表达式的映射关系
[0064] 按照水印嵌入未用LUT资源后的冗余属性标识符位置参数值μ可计算出索引表δ和冗余组合表达式的映射关系;
[0065] 3.提取水印
[0066] 根据映射关系与表达式特定的规则,我们便可得到含有可以实现数字IP水印信息的冗余属性标识符位置信息,从而可以成功提取出水印信息。
[0067] 双重IP水印恢复:
[0068] 传统的芯核水印信息一旦受到非法攻击者的恶意破坏,其恢复的可能性非常小,此时直接对水印进行提取不能提取出完整的S=S0S1S2…Sn和S'=S'0S1'S'2…S'n,从而给芯核水印的版权信息认证带来了很大的困难。本发明的方法可以通过其恢复机制对被非法攻击者恶意篡改后的水印信息进行有效的认证。本发明的双重水印认证方法主要依靠秘密分割中的重构密钥特性来实现的。当发生版权纠纷时,版权拥有者可先通过算法提取出受损IP中的水印信息C1,C2,然后通过恢复这些受损的水印信息来对双重水印的原始水印-1信息进行版权认证,即:C1′←E (F(x),k)→C2'。这里有两种认证情况:
[0069] (1)若有C1'=C1或者C2′=C2,则可证明自己拥有该IP核的版权。
[0070] (2)如果C1'≠C1且C2'≠C2,则不能证明版权的所有问题。
[0071] 由于双重水印之间存在映射关系,它们具有相互关联性,本发明设计的映射函数Fk-1=a0+a1x+...+ak-1x 以利用门限方案原理来达到相互恢复的效果。在水印的相互恢复中,还存在两种恢复情况:
[0072] (1)当双重IP水印中一部分水印信息C1被破坏时,可由S1(包含了部分水印信息-1C2和同样受损的恢复因子k)恢复出受损的水印信息C1,即C1=E (F(x2),k),其中F(x2)为水印自恢复信息k的主映射函数、k为自恢复因子;
[0073] (2)当另一部分水印信息C2被破坏时,则可由S2(包含了部分水印信息C1和同样-1受损的恢复因子k')恢复出C2的信息,即C2=E (F(x1),k'),其中F(x2)为水印自恢复信息k'的主映射函数。
[0074] 当水印信息被非法攻击进行恶意篡改后,我们可以利用上面介绍的双重水印恢复机制来尝试受损水印的恢复。以第一重水印恢复为例,第二重水印的恢复与第一重水印的恢复方法一致。如图3所示,具体步骤如下:
[0075] 1.提取关联信息
[0076] 从含有关联冗余信息流的S1中提取出关联水印信息P。
[0077] 2.对关联信息编码
[0078] 关联水印信息P进行重新编码,编码后的关联水印信息为P'={f(xi)|i=1,2,...,m}。
[0079] 3.水印恢复
[0080] 通过重新编码得到的关联水印信息P′和嵌入时保存的第一重水印的自恢复阀值对受损水印信息进行重构处理,同时,还需将重新编码后产生的关联水印信息P'当成秘密信息重构的子密钥,通过重构方程f(x)中水印实体的信息,则可恢复出第一重水印信息S=S0S1S2…Sn。
[0081] 以下通过实验分析本发明方法的性能
[0082] 实验所采用芯核主要以Xilinx开源芯核作为测试电路,使用的测试平台为XC2V3000FPGA、测试实验环境为Xilinx ISE等综合工具。仿真实验在Intel Pentium Dual-Core CPU 2.0GHZ处理器和2GB内存的计算机上进行。
[0083] 一、算法安全性能分析
[0084] 在可恢复双重IP水印的抗攻击性能方面,我们重点评估了水印在FPGA器件的末用LUT中虚警和漏警两种安全性能,虚警是指实际上没有遭受恶意攻击的IP载体而被误认为遭受到恶意攻击的情况,漏警是指当可恢复信息遭受到恶意攻击后,我们的算法没有在IP载体中检测出可恢复信息受到异常攻击的情况。
[0085] 通过本发明的自恢复方法,我们可以防止非法攻击者利用删除、逆向重构等攻击方法来破坏或纂改原始水印信息。本发明的方法与文献[1]和文献[2]中水印的安全性比较主要体现在漏警概率和虚警概率的分析上。其中pc虚警概率,pm为漏警概率,实验中本发明主要选择去除攻击作为主要的攻击方法,去除攻击主要是利用某些特殊手段直接去除水印的一种攻击方法。
[0086] 在非法去除攻击方法的实验环境下,根据本发明算法的思想,我们首先由文中的版权信息经过一系列步骤转换成待嵌入的水印片段,然后对水印片段信息进行虚警和漏警实验分析。在实验测试过程中,我们设m为待嵌水印片段的数目,n为所有未用查找表的数目,α为所有可恢复片段信息的数目,从n个未用位置选取α个水印片段信息和β个实际可恢复片段信息的概率分别为 假设所选择的位置恰好包含待嵌入水印片段的概率为p0,而所选择的位置恰没有包含待嵌入水印片段的概率假设为p1,本发明的算法与文献[1]和文献[2]中的方法在文献[3]中计算方法的基础上,即可分别得出可恢复双重IP水印中虚警概率和漏警概率的计算公式:
[0087]
[0088]
[0089] 根据上式(4)、(5)中的计算方法,我们从图4(a)和图4(b)中可知,本发明的方法与文献[1]和文献[2]中的方法在移除攻击的情况下,我们的方法相对于其他两种方法在虚警率和漏警率方面均具有一定的优势。
[0090] 在自恢复双重IP水印算法的安全分析过程中,双重水印自恢复过程的计算复2
杂度为O(k),时间计算复杂度为O(k+2),相比文献[1]中数字水印嵌入时的时间复杂度O2(k+2),本发明的算法在双重水印自恢复过程中,水印的自恢复计算复杂度并不是很高,同时水印嵌入时的时间复杂度方面也具有较好的优势。
[0091] 二、实验效果分析
[0092] 本实验以DES芯核载体为例,通过物理布局效果图来体现芯核水印嵌入前后以及水印自恢复前后芯核面积开销的变化情况。在实验中我们首先对其DES载体进行编译、综合、布局布线,最终得到了图5(a)的原始DES载体物理布局效果图,其次利用我们的方法分别将512比特的双重水印信息分别嵌入原始的DES载体中,最终得到了图5(b)中的嵌入水印后的物理布局效果图。当芯核水印受到一定程度的非法移除攻击算法的破坏下,我们可以通过本发明的方法将受损的水印信息从DES载体中自恢复出来,其恢复出来后的效果如图5(c)所示。
[0093] 从物理布局效果图5(a)、图5(b)、图5(c)中可以看出:图5(b)中嵌入512比特的水印信息后生成的布局图比图5(a)中的原始载体布局图纹理丰富、布线面积有所增大,当芯核水印信息受到非法移除攻击后,芯核水印受损程度为20%时,我们尝试着用本发明的方法进行恢复处理,并将水印恢复处理后芯核再次进行物理布局,其效果图如图5(c)所示,从图中可以看出它相对于图5(a)和图5(b)的变化并不明显。因此,我们的方法在芯核载体中进行水印信息恢复时,并不会给芯核带来较大的额外面积开销。
[0094] 为了能够更进一步验证本发明的方法不会给系统带来新的故障问题,在第三方仿真工具Modelsim6.2SE平台上,我们将水印恢复后的DES芯核载体在水印恢复前后的电路功能进行了功能仿真。仿真的步骤为:首先采用VHDL语言对芯核水印的测试行为进行描述,其次在ISE平台上完成调试编译,仿真和综合布线的工作,最后将综合布线结果载入FPGA上进行功能验证。从图6中的功能仿真的结果可以看出:在确定其初始密钥key,数据输入输出信号imsg0和odata以及时钟CLK的信号驱动下,DES载体在整个水印恢复前后,其功能仿真在一定延时条件下完全一致,从而可知对于水印恢复前后,本发明的方法对DES芯核电路的性能影响是很小的。
[0095] 三、水印嵌入容量
[0096] 本发明的双重IP水印容量指标可以通过水印嵌入比来进行衡量。水印嵌入比是指表示相同数量的版权信息需要的最小水印信息量与最大水印信息量的比值。水印嵌入比越小时,在相同性能影响的情况下嵌入的水印容量就越大,水印的可信度也越大。通过分析和计算本发明算法和文献[1]和文献[2]中算法的实际水印嵌入量,我们可以对本发明算法的水印容量进行评估,在图7中,文献[1]和文献[2]的水印嵌入比分别为1/4和1/2;而本发明的算法实际嵌入量与版权信息数量的嵌入比值为1/8。嵌入比越小,水印容量越大。这是由于为了降低水印嵌入时自恢复片段带来的额外开销,我们将隐秘信息进行了分组、压缩等预处理过程,最终通过表达式组合的形式压缩了实际水印嵌入的容量。因此,本发明的方法在较小的水印开销下,能够嵌入与其它方法相当的实际水印容量。
[0097] 四、水印自恢复能力评估
[0098] 本发明采用了非法移除攻击的算法对水印进行攻击实验测试,根据水印信息移除和破坏程度的不同,我们在实验中嵌入的水印容量为512bit,将%R和%T分别表示水印恢复后资源以及延时的变化率。索引表中冗余属性标识符的最佳位置参数值μ设定为0.5,由公式(3)可求知,在损坏程度为10%、20%、40%下的水印自恢复阀值分别为ρ=1,ρ=0.945,ρ=0.721.
[0099] 表1本发明提出的方法在移除攻击下的自恢复性能比较表
[0100]
[0101]
[0102] 在有效的非法移除攻击下,我们以水印恢复程度为70%做为水印恢复合格的标准,从表1中的自恢复性能实验比较表可得知:随着水印损坏程度的增加,水印自恢复时将导致CLB资源占用率、水印恢复后资源变化率以及延时变化率出现一定程度的增加,但是,当水印的损坏程度达到40%的时候,部分芯核的水印自恢复性能将降到最低值,水印恢复后资源变化率以及延时变化率也将会变到最大,这是由于水印恢复过程中本发明的芯核水印方法是通过在索引表δ的冗余属性标识符中进行添加标示的。而冗余属性标识符的设计需要许多未用LUT的水印嵌入点,如果水印嵌入的容量越大,那么未用LUT资源的需求就会越多。当水印在自恢复过程中水印恢复的程度越大,那么将会使得受损水印程度较大的芯核电路在恢复时需要占用的额外资源开销将会变大。因此,在非法移除的攻击下,水印损坏程度在40%以内,我们的方法仍然能够较好的恢复出大部分受损水印信息。
[0103] 本发明从水印受到攻击损坏后的角度出发,分析了数字IP水印信息受损后的隐秘内容自恢复问题,提出了一种基于隐秘内容信息自恢复机制的数字IP水印方法,该方法主要是采用门限方案的密钥重组思想来实现水印信息的自恢复,这种算法充分利用了双重水印特有的信息量大、稳健性好的优点。通过压缩预处理改善了以往IP核水印的稳健性和降低了水印嵌入开销。实验分析表明:本发明的方法并不会带来较大的硬件开销,水印的自恢复效果较好,具有广阔的应用前景。
[0104] 本发明所用到的参考文献:
[0105] [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 circuits system,vol.20,no.10,pp.1236-1251,2001.
[0106] [2]E.Castillo,U.Meyer-Baese,A.Garcia,L.Parrilla,and A.Lloris,"IPP@HDL:Efficient Intellectual Property Protection Scheme for IP Cores,"Very Large Scale Integration(VLSI)Systems,IEEE Transactions on,vol.15,pp.578-591,2007.[0107] [3]Jiliang Zhang,Yaping Lin,Qiang Wu,“Watermarking FPGA Bitfile f or Intellectual Property Protection”,Radioengineering,2012,vol.21,no2,pp.764-771.
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈