论文部分内容阅读
随着软件产业的迅速发展,软件产品的版权保护已成为一个十分重要的问题。现在,各种软件版权保护技术成为了研究热点。传统的软件版权保护主要通过加密技术实现,但随着软件破解技术的不断发展,这些措施难免遭到破解,并且加密技术不能对解密后的软件提供进一步的保护。软件水印是数字水印的一个分支,是把软件版权的信息和用户身份的信息预先隐秘存放到软件之中,当盗版情况发生时,证明其版权归属。软件水印技术弥补了传统软件版权保护技术的不足,为软件版权保护开辟了一条新道路。软件水印分为静态水印与动态水印。由于动态水印具有较强的抗攻击能力,在各方面都较优于静态水印,是这一领域的研究重点,具有广阔的市场前景。而在动态水印中,动态图水印技术是较优的技术之一,其基本思想是利用图结构编码,将软件产品版权信息隐藏到图中,为解决软件盗版和软件篡改提供了技术支持。本文首先详细介绍了动态图水印的产生、水印提取及嵌入的过程、水印编码方式和相关的各种算法。在对现有动态图水印算法研究基础上,针对软件水印抗攻击性差和编码数据率低的特点,提出了一种具有防篡改功能的双重软件水印方案。该方案利用寄存器分配的隐蔽性,构造ICP算法;结合基数K编码的高数据率及PPCT编码的强鲁棒性,构造混合编码DPPCT;水印嵌入后,利用校验和机制和AES代码加密,防止逆向工程攻击等手段对软件水印的篡改。理论分析表明,该方案具有较高的隐蔽性、鲁棒性和数据率,实用性较强。其次,为解决软件水印鲁棒性差、水印破坏后难恢复的问题,引入混沌理论,提出了基于混沌优化的分存软件水印方案。该方案利用混沌系统产生混沌序列,将水印信息矩阵分割、混沌置乱,形成分存水印;水印嵌入时,将分存水印分别编码为DPPCT拓扑图,并将Hash处理后的水印信息分别填充于各个DPPCT的Info域;水印嵌入后,利用混沌加密,保护全部代码,防止逆向工程等手段对软件水印的破坏。理论分析和实验表明,该方案可显著增强水印的鲁棒性及纠错能力。最后,结合SandMark软件水印平台,设计了一个原理验证平台,对本文提出的水印方案进行实验,并对水印性能进行了客观分析,验证了本文中水印方案的有效性、健壮性和优越性。