论文部分内容阅读
在2008年爆发的全球经济危机中,软件业仍然保持着平稳快速增长,对国民经济的支撑和社会信息化进程都发挥了积极作用。与此同时,软件非法拷贝和盗卖现象也成为了软件产业蓬勃发展的绊脚石,严重影响软件知识产权的有效保护。因此,基于软件保护技术的软件水印应运而生,通过建立有效的实时运行检查和复制检查机制,在一定程度上遏制了软件的非法拷贝和传播。
在分析了相关领域国内发展现状基础上,重点研究设计了两种软件水印算法和一种水印检测方案,均具有很好的隐蔽性和鲁棒性。
首先提出了一种改进的寄存器分配图着色软件水印SCC(Selected ColorChanging)算法。利用寄存器分配原理,构造图着色模型和函数,通过修改图结点颜色实现二进制水印信息位的嵌入。根据水印二进制中“0”、“1”个数的差异,选择对应的着色策略,提高了水印嵌入效率,降低了程序运行成本。借助Sandmark平台,完成SCC算法的性能分析,阐述了SCC软件水印的抗攻击性、隐蔽性、数据率、效率和成本相关的特点。
研究提出了一种基于Hash函数SHA-512动态软件水印算法,在程序运行轨迹中随机挑选整型常量,采用最新的安全标准SHA-512算法获取信息摘要后,搭建水印信息与整型常量的逻辑关系。构造调用函数替代己选择的整形常量,这样水印被动态地嵌入,并隐藏在调用函数而非数据结构中,具有更强的鲁棒性。另外,该算法是一种盲水印,提取过程不需要原始程序,只用修改调用函数的最后一个参数加以计算即可。试验表明,该算法抗攻击能力强,嵌入水印后对程序性能的影响较小。
最后研究设计了一种基于零知识证明的软件水印检测方案。该方案最大的特点是公开了水印识别器,允许最终用户以验证者的身份鉴别软件作品的可靠性和真实性。证明者(软件产品作者)和验证者之间通过挑战——应答这种交互式的信息通信方式,动态地识别软件水印的存在。整个检测过程不会泄露任何有关水印信息,实现了一种零知识证明协议。
本文研究的两种水印算法和一种水印检测方案是对目前软件保护技术的改进,解决了传统算法中存在的部分缺陷和漏洞,具有较好的实用价值。
在分析了相关领域国内发展现状基础上,重点研究设计了两种软件水印算法和一种水印检测方案,均具有很好的隐蔽性和鲁棒性。
首先提出了一种改进的寄存器分配图着色软件水印SCC(Selected ColorChanging)算法。利用寄存器分配原理,构造图着色模型和函数,通过修改图结点颜色实现二进制水印信息位的嵌入。根据水印二进制中“0”、“1”个数的差异,选择对应的着色策略,提高了水印嵌入效率,降低了程序运行成本。借助Sandmark平台,完成SCC算法的性能分析,阐述了SCC软件水印的抗攻击性、隐蔽性、数据率、效率和成本相关的特点。
研究提出了一种基于Hash函数SHA-512动态软件水印算法,在程序运行轨迹中随机挑选整型常量,采用最新的安全标准SHA-512算法获取信息摘要后,搭建水印信息与整型常量的逻辑关系。构造调用函数替代己选择的整形常量,这样水印被动态地嵌入,并隐藏在调用函数而非数据结构中,具有更强的鲁棒性。另外,该算法是一种盲水印,提取过程不需要原始程序,只用修改调用函数的最后一个参数加以计算即可。试验表明,该算法抗攻击能力强,嵌入水印后对程序性能的影响较小。
最后研究设计了一种基于零知识证明的软件水印检测方案。该方案最大的特点是公开了水印识别器,允许最终用户以验证者的身份鉴别软件作品的可靠性和真实性。证明者(软件产品作者)和验证者之间通过挑战——应答这种交互式的信息通信方式,动态地识别软件水印的存在。整个检测过程不会泄露任何有关水印信息,实现了一种零知识证明协议。
本文研究的两种水印算法和一种水印检测方案是对目前软件保护技术的改进,解决了传统算法中存在的部分缺陷和漏洞,具有较好的实用价值。