论文部分内容阅读
计算机软硬件及网络技术的发展为数字产品的传播带来极大的便利,但随之而来的负作用是通过网络传输的数字产品很容易被非法使用。软件作为一种数字产品,其版权保护已成为一个十分重要的问题并受到越来越多的关注。软件水印技术将秘密的水印信息嵌入到软件载体中,对软件版权有很好的保护作用。近些年有不少的学者对软件水印进行了研究,但在水印的嵌入、提取和抗攻击等方面仍有很大的改进空间。本文在分析已有的软件水印技术的基础上,着重研究可执行文件(PE文件)作为水印信息嵌入载体的可行性,提出了一种新的基于PE文件的软件水印算法模型。该模型分为加壳、特征提取、完整性校验、水印嵌入和提取5个功能模块,分别实现不同功能。加壳模块根据PE文件头、节表和节体的特点,在原有PE文件后面通过添加新节,构造空闲空间,用于加入水印嵌入、提取程序等控制代码;本模型对于水印信息的生成提出新的方法,通过PE文件自身提取特征信息形成水印,并通过完整性校验模块对特征信息进行摘要提取,用于判定软件的完整性。水印嵌入模块充分利用文件的冗余空间,结合PE文件加载过程特点,从将提取特征生成的水印信息,进行复合混沌加密,对水印进行分割处理,结合设计的组合表将水印信息嵌入到PE文件的冗余空间中。水印提取模块首先完成对软件的完整性校验,根据不同的校验结果对水印进行提取和检测,对软件版权进行声明。在论文的最后部分,基于此框架系统对PE文件软件水印进行了实践。通过研究分析、实验仿真,根据PE文件本身的特点,结合密码学中的加密算法,参考病毒学中的组合表设计,可以看出本文的软件框架系统模型对软件有很好的保护作用。通过信息摘要的提取,能够很好的对软件进行的完整性验证;由于对水印,组合表等信息的加密等处理,保证了信息的安全性;通过软件本身的特征提取,生成的唯一水印能够很好的进行软件版权认定。