软件水印技术综述.docVIP

  • 13
  • 0
  • 约6.8千字
  • 约 9页
  • 2017-08-24 发布于河南
  • 举报
软件水印技术综述 1 前言 目前软件保护主要由软件开发商自己负责,通过加密、序列号、关键文件(Key File)、软件狗(硬件加密锁)等方式实施保护。软件开发商需要自己花费大量的精力用在软件保护上,而软件水印(Software Watermarking)技术正是为了解决软件知识产权证明而发展起来的。 软件水印是嵌入到程序当中的秘密消息,这些消息应该能够方便而且可靠地提取出来,以证明软件的所有权,并且具有在保证程序功能的情况下不能或者是难以去除该消息的功能。根据软件水印的提取技术来分,可分为静态水印和动态水印(如图 1)。静态水印存储在可执行程序代码中,比较典型的是把水印信息放在安装模块部分,或者是指令代码中,或者是调试信息的符号部分。对于Java 程序,水印信息也可以隐藏在类文件(包括常量池表、方法表、行号表)的任何部分中。静态水印又可以进一步分为静态数据水印和静态代码水印。区别于静态水印,动态水印则保存在程序的执行状态中,而不是程序源代码本身。这种水印可用于证明程序是否经过了迷乱变换处理。动态水印主要有3 类:执行状态水印、数据结构水印和Easter Egg 水印(复活节彩蛋水印)。其中,每种情况都需要有预先输入,然后根据输入,程序会运行到某种状态,这些状态就代表水印。 图 1 软件水印是近年来才出现的软件版权保护技术,它

文档评论(0)

1亿VIP精品文档

相关文档