论文部分内容阅读
目前软件产品的版权保护问题越来越引起人们的关注,软件水印技术因此显得尤为重要。虽然国内外对软件水印技术进行了积极的探索,并提出一些软件水印算法,但它们在数据率、隐蔽性、鲁棒性等方面与实际需求还有一定的距离。针对上述问题我们提出了一种动、静态结合的双重软件水印算法。此技术可以让软件开发商在其软件产品中运用软件水印方法在程序中添加版权信息,对购买方进行授权,从而在发生版权纠纷时为其提供有力证据,维护其知识产权,防止软件盗版行为。动态图水印技术是软件水印的一个重要分支,可以有效地保护软件所有者的知识产权。本文重点介绍了动态图水印的特征和模型及常见的编码方案,分析了水印的嵌入和提取方法,同时介绍了水印常见的攻击方法及其对应的保护策略。然后针对现有的软件水印算法在数据率、鲁棒性和可恢复性中的一些不足后,以Android平台的Dex文件为嵌入对象,提出了一种动、静态结合的双重水印技术。该技术选择了将数据嵌入率较大的哑函数方法和抗变形攻击性强的动态图算法结合使用,并提出了具有修复功能的双重水印方案,设计并实现了Dex文件的软件水印版权保护系统。通过实验分析,验证了该方案的可行性及系统的有效性。从而解决了无法兼顾数据率、隐蔽性、鲁棒性的难题,同时也解决了水印复原的问题。具体的创新点体现在:1.动静态结合的双重软件水印算法:将哑函数算法与动态图算法结合使用,利用哑函数方法高数据率和动态图算法鲁棒性好的优点,实现了对版权信息的双重保护。2.通过分析Dex文件的结构特征,找到了一种合适的软件水印保护算法。在Dex文件中嵌入两重水印,它们的提取过程是相对独立的,但是当任意一重水印遭到破坏时,两重水印的恢复又是相互联系的,很大程度上提高了水印的安全性。本文对动静态结合的双重水印方案进行了实现,实验表明该算法的数据嵌入率有显著的提高,而且具有良好的隐蔽性和抗攻击性,当水印受到某种程度的攻击破坏后能够进行修复。