[发明专利]基于线程关系的软件水印信息处理方法有效
申请号: | 201110440512.6 | 申请日: | 2011-12-23 |
公开(公告)号: | CN102890759A | 公开(公告)日: | 2013-01-23 |
发明(设计)人: | 曾国荪;王伟;许金超 | 申请(专利权)人: | 同济大学;上海红神信息技术有限公司 |
主分类号: | G06F21/16 | 分类号: | G06F21/16 |
代理公司: | 上海科盛知识产权代理有限公司 31225 | 代理人: | 宣慧兰 |
地址: | 200092 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 线程 关系 软件 水印 信息处理 方法 | ||
技术领域
本发明涉及一种软件水印信息处理方法,尤其是涉及一种基于线程关系的软件水印信息处理方法。
背景技术
数字版权的保护一直是一项艰巨的任务,在网络时代,数字产品的分发变得愈加容易,版权保护的现状更是不容乐观。随着软件产品市场份额的增加,软件保护成为一个迫切的问题。软件水印技术是所有软件保护方式中重要的一种,它将标志版权的秘密信息嵌入到要保护的软件文件中达到保护的目的,这些秘密信息不易被察觉,并且难以清除,在需要的时候可以提取出来证明该文件的版权所有。由于软件水印能够在盗版发生后有效验证版权,并且软件水印有着高度不可察觉性,它的存在并不影响保护软件的使用感觉,因此适合软件推广、共享软件传播等许多使用情景。
软件水印的性能可以通过可信度、数据率、成本、隐蔽性、抵抗性等指标进行衡量。根据这些评价标准,目前的软件水印技术存在以下不足:(1)软件水印技术的研究起步较晚,缺少完善的理论基础,软件水印方法在种类和数量上还不够丰富。(2)通用性不好,绝大多数算法需要在拥有源代码或java字节码的基础上进行,适用于市场上众多已编译的可执行文件的算法很少,能够同时在java字节码和本地代码中使用的更是缺乏。(3)软件水印和宿主程序结合不紧密,没有充分利用宿主程序中已有的内容,这一方面导致嵌入软件水印后的程序体积明显变大,另一方面使软件水印和载体程序之间产生一条明显的界线。如GTW算法中软件水印嵌入在不执行的代码中,容易通过统计方式查知。再如CT算法中,隐藏软件水印的图的生成过程和程序的正常流程缺少必要联系,很容易遭到逆向攻击者怀疑。(4)已有的软件水印算法往往只能应对某些特定的攻击,对许多正常程序变形缺少免疫力,例如优化、混淆以及压缩和加密等操作。(5)不少软件水印算法效率较低,不能嵌入较大的信息。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种数据率、隐蔽性和抵抗性高的基于线程关系的软件水印信息处理方法。
本发明的目的可以通过以下技术方案来实现:
一种基于线程关系的软件水印信息处理方法,该方法包括软件水印的嵌入过程和提取过程,所述的嵌入过程包括以下步骤:
A1)预处理软件水印和宿主程序,将软件水印表示为矩阵的形式,生成软件水印矩阵;
A2)监测宿主程序的执行过程,生成线程关系矩阵;
A3)对步骤A2)生成的线程关系矩阵进行置乱处理,得到乱序线程关系矩阵;
A4)将软件水印矩阵嵌入乱序线程关系矩阵中,并进行逆置乱处理,还原为顺序线程关系矩阵;
A5)根据步骤A4)获取的顺序线程关系矩阵修改宿主程序的源代码,得到已嵌入软件水印的最终程序;
所述的提取过程包括以下步骤:
B1)监测嵌入有软件水印的宿主程序的执行过程,获取包含软件水印矩阵的线程关系矩阵;
B2)将包含软件水印矩阵的线程关系矩阵进行置乱处理,获取乱序线程关系矩阵;
B3)根据嵌入过程中的对应关系从乱序线程关系矩阵中提取出软件水印矩阵;
B4)从软件水印矩阵中提取软件水印。
所述的步骤A2)中通过调试器监测宿主程序的执行过程,记录宿主程序的线程关系,并对线程关系进行编号,再根据带有编号的线程关系生成线程关系矩阵。
所述的置乱处理采用Arnold变换。
所述的线程关系矩阵中的至少两个元素对应软件水印矩阵中的一个元素。
与现有技术相比,本发明利用程序中已存在的线程之间的关系,通过添加少量线程或者不添加线程,修改利用这些线程间的关系来嵌入软件水印,并通过检测带软件水印的程序中线程关系来提取软件水印,包括以下几个优点:
(1)数据率高,方便嵌入图像等较大体积的软件水印。
(2)隐蔽性好,软件水印嵌入前后程序大小变化不明显,程序的运行速度也基本影响不大。
(3)高抵抗性:能够抵抗市场上大部分软件分发过程中的变换,对针对线程的攻击方式也有很强的抵抗能力。
附图说明
图1为本发明的软件水印嵌入过程示意图;
图2为本发明的软件水印提取过程示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
一种基于线程关系的软件水印信息处理方法,该方法包括了软件水印的嵌入过程和提取过程,其中嵌入过程如图1所示:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于同济大学;上海红神信息技术有限公司,未经同济大学;上海红神信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110440512.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高倍率锂离子电池正极材料及其制备方法和用途
- 下一篇:一种蒸发式冷凝器