当前位置: 首页 > 专利查询>吉林大学专利>正文

一种基于函数调用的软件水印信息处理方法技术

技术编号:15219390 阅读:134 留言:0更新日期:2017-04-26 16:26
本发明专利技术属于软件水印技术领域,涉及一种基于函数调用的软件水印信息处理方法,包括水印信息转化、水印嵌入、水印提取和水印函数识别,该方法通过在软件中嵌入秘密的水印信息,并在任何有需要的时候提取该信息以证明版权所属,有效保护软件版权。该方法所采用的动态水印算法在水印信息的表达方式上具有良好的灵活性,并且提供了一种鲁棒性强的识别方案用于水印函数的识别,使得水印算法能有效对抗加性攻击。本发明专利技术还提供了算法基于Java字节码的一种实现,基于该实现进行了实验与评估,结果表明该算法能有效对抗多种不同的攻击手段。

A method of software watermarking information processing based on function call

The invention belongs to the technical field of software watermarking, relates to a software watermarking information processing method based on the function call, including the watermark information transform, watermark embedding, watermark extraction and watermark function identification, this method through embedding watermark information secret in software, and at any time of need to extract the information to prove the copyright belongs. Effective protection of software copyright. Dynamic watermarking algorithm adopted by the method has good flexibility in the way of expressing the watermark information, and provides a robust identification scheme for identifying watermark function, makes the watermarking algorithm can effectively combat the additive attacks. The invention also provides an implementation of the algorithm based on the Java byte code, and carries out experiments and evaluations based on the implementation.

【技术实现步骤摘要】

本专利技术属于软件水印
,涉及一种软件水印信息处理方法,特别涉及一种基于函数调用的软件水印信息处理方法。
技术介绍
近年来,数字产品版权作为知识产权的价值不断提高,对其保护也成为一项艰巨的任务。随着数字产品的分发变得愈加容易,盗版现象持续猖獗,而版权保护现状却不容乐观,软件保护问题亟待解决。软件水印技术是一种重要的软件保护方式,该技术将标志版权的秘密水印信息嵌入到要保护的软件文件中达到保护的目的。该秘密水印信息不易被察觉,且难以清除,需要时可以被提取出来证明该文件的版权所属。由于软件水印能够在盗版发生后有效验证版权,并且软件水印有着高度不可察觉性,其存在并不影响保护软件的使用,因此适合软件推广、共享软件传播等许多使用情景。鲁棒性是软件水印最重要的特性,鲁棒的软件水印算法应该能抵御多种语义保持的代码转换攻击,例如改名攻击、基础块重排、分支插入等等,在经过攻击后仍能提取出嵌入的水印或证明水印的存在。除此以外,鲁棒的软件水印算法还应该具有好的数据率,且随着所嵌入水印信息的增大,软件在时间以及空间性能上的损失应该处在可接受的范围内。软件水印算法通常分为动态水印算法和静态水印算法。静态水印算法将水印信息嵌入到软件的代码区或者数据区中,而动态水印算法则利用软件的运行时动态特征进行水印信息的表达,其相对静态水印算法有更良好的鲁棒性。从科研人员首次提出在内存中构建图结构以嵌入水印信息开始,相继有人提出基于动态路径的水印算法和基于多线程的水印算法,但以上动态水印算法在面对不断出现的新型攻击手段时都存在一些缺陷。因此,如能以一种具有更强鲁棒性的动态水印算法为依托,研发出一种软件水印信息处理方法使其能够有效对抗攻击仍是当今研究的重点。
技术实现思路
本专利技术的目的在于针对上述现有技术的不足,提供一种基于函数调用的软件水印信息处理方法。本专利技术的目的是通过以下技术方案实现的:一种基于函数调用的软件水印信息处理方法,包括以下步骤:A、水印信息转化将水印信息预处理转化成能够嵌入的数据格式;B、水印嵌入根据水印数据表达要求定义水印函数,将函数定义代码片段加入载体程序中,以特定输入I作为密钥a运行载体程序,记录程序的运行路径,再根据数据格式和水印信息表达方式,在运行路径中嵌入水印函数的调用语句,通过该函数的动态调用对水印信息进行表达;C、水印提取使用特定输入I运行目标程序,提取程序中各函数调用信息;D、水印函数识别再次运行步骤B中嵌入水印后的载体程序,提取水印函数调用信息作为密匙b予以保存;将步骤C获得的各函数调用信息与其匹配,识别出水印函数,对该函数的动态调用行为进行分析,得到所寻水印函数。步骤A,所述水印信息转化具体包括以下步骤:A1、将水印信息转化成二进制形式,记为W;A2、将W分割成小的片段{wf;f=1,2,...,n本文档来自技高网
...

【技术保护点】
一种基于函数调用的软件水印信息处理方法,其特征在于,包括以下步骤:A、水印信息转化将水印信息预处理转化成能够嵌入的数据格式;B、水印嵌入根据水印数据表达要求定义水印函数,将函数定义代码片段加入载体程序中,以特定输入I作为密钥a运行载体程序,记录程序的运行路径,再根据数据格式和水印信息表达方式,在运行路径中嵌入水印函数的调用语句,通过该函数的动态调用对水印信息进行表达;C、水印提取使用特定输入I运行目标程序,提取程序中各函数调用信息;D、水印函数识别再次运行步骤B中嵌入水印后的载体程序,提取水印函数调用信息作为密匙b予以保存;将步骤C获得的各函数调用信息与其匹配,识别出水印函数,对该函数的动态调用行为进行分析,得到所寻水印函数。

【技术特征摘要】
1.一种基于函数调用的软件水印信息处理方法,其特征在于,包括以下步骤:A、水印信息转化将水印信息预处理转化成能够嵌入的数据格式;B、水印嵌入根据水印数据表达要求定义水印函数,将函数定义代码片段加入载体程序中,以特定输入I作为密钥a运行载体程序,记录程序的运行路径,再根据数据格式和水印信息表达方式,在运行路径中嵌入水印函数的调用语句,通过该函数的动态调用对水印信息进行表达;C、水印提取使用特定输入I运行目标程序,提取程序中各...

【专利技术属性】
技术研发人员:朱建启魏达慕健罗嘉乾殷柯欣许邵庆吴静吴雪洁曹源马彪安英海
申请(专利权)人:吉林大学
类型:发明
国别省市:吉林;22

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1