CN102890759B - 基于线程关系的软件水印信息处理方法 - Google Patents
基于线程关系的软件水印信息处理方法 Download PDFInfo
- Publication number
- CN102890759B CN102890759B CN201110440512.6A CN201110440512A CN102890759B CN 102890759 B CN102890759 B CN 102890759B CN 201110440512 A CN201110440512 A CN 201110440512A CN 102890759 B CN102890759 B CN 102890759B
- Authority
- CN
- China
- Prior art keywords
- matrix
- software watermark
- thread relationship
- thread
- software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Editing Of Facsimile Originals (AREA)
Abstract
本发明涉及一种基于线程关系的软件水印信息处理方法,该方法包括软件水印的嵌入过程和提取过程,所述的嵌入过程包括以下步骤:预处理软件水印和宿主程序,生成软件水印矩阵;监测宿主程序的执行过程,生成线程关系矩阵;置乱线程关系矩阵,得到乱序线程关系矩阵;将软件水印矩阵嵌入乱序线程关系矩阵中,并进行逆置乱处理,还原为顺序线程关系矩阵;根据顺序线程关系矩阵修改宿主程序的源代码,得到已嵌入软件水印的最终程序;所述的提取过程与提取过程相反,由嵌入有软件水印的宿主程序中提取的线程关系矩阵,进行置乱后提取出软件水印矩阵,再从软件水印矩阵中提取软件水印。与现有技术相比,本发明利用程序中已存在的线程之间的关系来嵌入软件水印,并通过检测带软件水印的程序中线程关系来提取软件水印,具有数据率、隐蔽性和抵抗性高的优点。
Description
技术领域
本发明涉及一种软件水印信息处理方法,尤其是涉及一种基于线程关系的软件水印信息处理方法。
背景技术
数字版权的保护一直是一项艰巨的任务,在网络时代,数字产品的分发变得愈加容易,版权保护的现状更是不容乐观。随着软件产品市场份额的增加,软件保护成为一个迫切的问题。软件水印技术是所有软件保护方式中重要的一种,它将标志版权的秘密信息嵌入到要保护的软件文件中达到保护的目的,这些秘密信息不易被察觉,并且难以清除,在需要的时候可以提取出来证明该文件的版权所有。由于软件水印能够在盗版发生后有效验证版权,并且软件水印有着高度不可察觉性,它的存在并不影响保护软件的使用感觉,因此适合软件推广、共享软件传播等许多使用情景。
软件水印的性能可以通过可信度、数据率、成本、隐蔽性、抵抗性等指标进行衡量。根据这些评价标准,目前的软件水印技术存在以下不足:(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所示:
第一步,对软件水印和宿主程序进行预处理,将软件水印表示为矩阵的形式,生成软件水印矩阵。对于直接可以对应为一个矩阵的图像形式的软件水印来说,这一过程可以省略。
第二步,由于本发明基于宿主软件的线程关系,而线程间关系有多种类型,在实际过程中可以根据宿主程序本身情况选择最合适的关系类型,如线程执行的先后顺序关系,线程执行过程中的主控制关系等等。为了利用并修改线程间的关系,需要获得宿主程序的现有线程关系,通过调试器监测宿主程序的执行过程,记录宿主程序的线程关系,并对线程关系进行编号,再根据带有编号的线程关系生成线程关系矩阵。
第三步,对宿主程序运行后生成的线程关系矩阵进行置乱处理,本实施例中采用Arnold变换将线程关系矩阵进行置乱处理,打散线程关系矩阵。
第四步,将软件水印矩阵嵌入乱序线程关系矩阵中,为了增加对于恶意攻击的抵抗性,使用量化技术使线程关系矩阵中的多个元素对应软件水印矩阵中的一个元素,从而线程关系矩阵中的元素即使被篡改,也不一定能够篡改软件水印数据。本实施例中,根据嵌入的软件水印一个元素的值对应的4个线程关系矩阵中元素的奇偶性。软件水印元素的值为0或为1的可能性相同,因此这四个元素有一半的可能不需要修改。同时由于线程关系矩阵多属于稀疏矩阵,即线程关系矩阵中大部分值为0,因此即使修改也只需要将这4个元素中的一个0修改为1即可。
第五步,将嵌入有软件水印矩阵的乱序线程关系矩阵进行逆置乱,恢复成顺序线程关系矩阵。
第六步,由于在线程关系矩阵中嵌入了软件水印矩阵,对宿主程序进行修改以反映线程关系矩阵的改变,通过确定线程关系矩阵在嵌入软件水印前后变化的值的位置,确定它影响的两个线程,再根据选择的关系类型修改宿主程序源代码中对应线程处代码,完成所有变动元素对应的线程修改后,就可得到嵌入软件水印后的最终程序。
由于软件传播过程中的各种常规变化不会对线程关系造成影响,同时软件使用者由于没有软件的源代码,因而不能够完全明确线程间的关系,贸然进行修改会造成软件不能正常使用,因而利用基于线程关系的软件水印有着较高的安全性。
软件水印的提取过程如图2所示,该过程相对嵌入过程相对简单,包括以下几个步骤:
第一步,监测嵌入有软件水印的宿主程序的执行过程,获取包含软件水印矩阵的线程关系矩阵。
第二步,将包含软件水印矩阵的线程关系矩阵进行置乱处理,获取乱序线程关系矩阵。
第三步,根据嵌入过程中的对应关系从乱序线程关系矩阵中提取出软件水印矩阵;
第四步,从软件水印矩阵中提取软件水印。
Claims (2)
1.一种基于线程关系的软件水印信息处理方法,其特征在于,该方法包括软件水印的嵌入过程和提取过程,所述的嵌入过程包括以下步骤:
A1)预处理软件水印和宿主程序,将软件水印表示为矩阵的形式,生成软件水印矩阵;
A2)监测宿主程序的执行过程,生成线程关系矩阵;
A3)对步骤A2)生成的线程关系矩阵进行置乱处理,得到乱序线程关系矩阵;
A4)将软件水印矩阵嵌入乱序线程关系矩阵中,并进行逆置乱处理,还原为顺序线程关系矩阵;
A5)根据步骤A4)获取的顺序线程关系矩阵修改宿主程序的源代码,得到已嵌入软件水印的最终程序;
所述的提取过程包括以下步骤:
B1)监测嵌入有软件水印的宿主程序的执行过程,获取包含软件水印矩阵的线程关系矩阵;
B2)将包含软件水印矩阵的线程关系矩阵进行置乱处理,获取乱序线程关系矩阵;
B3)根据嵌入过程中的对应关系从乱序线程关系矩阵中提取出软件水印矩阵;
B4)从软件水印矩阵中提取软件水印;
所述的步骤A2)中通过调试器监测宿主程序的执行过程,记录宿主程序的线程关系,并对线程关系进行编号,再根据带有编号的线程关系生成线程关系矩阵;
所述的线程关系矩阵中的至少两个元素对应软件水印矩阵中的一个元素。
2.根据权利要求1所述的一种基于线程关系的软件水印信息处理方法,其特征在于,所述的置乱处理采用Arnold变换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110440512.6A CN102890759B (zh) | 2011-12-23 | 2011-12-23 | 基于线程关系的软件水印信息处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110440512.6A CN102890759B (zh) | 2011-12-23 | 2011-12-23 | 基于线程关系的软件水印信息处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102890759A CN102890759A (zh) | 2013-01-23 |
CN102890759B true CN102890759B (zh) | 2015-06-03 |
Family
ID=47534260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110440512.6A Expired - Fee Related CN102890759B (zh) | 2011-12-23 | 2011-12-23 | 基于线程关系的软件水印信息处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102890759B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103971322B (zh) * | 2014-05-13 | 2017-02-15 | 安徽师范大学 | 宿主图像的水印嵌入方法及含水印图像的水印提取方法 |
CN109933962B (zh) * | 2019-03-14 | 2022-03-01 | 西安电子科技大学 | 基于考拉兹猜想的软件水印方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5559884A (en) * | 1994-06-30 | 1996-09-24 | Microsoft Corporation | Method and system for generating and auditing a signature for a computer program |
-
2011
- 2011-12-23 CN CN201110440512.6A patent/CN102890759B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5559884A (en) * | 1994-06-30 | 1996-09-24 | Microsoft Corporation | Method and system for generating and auditing a signature for a computer program |
Non-Patent Citations (2)
Title |
---|
一种基于Arnold变换的关系数据水印新算法;周明等;《计算机科学》;20080901;第34卷;第245页左栏 * |
软件水印技术研究;白雪梅;《中国优秀博硕士学位论文全文数据库》;20060415;论文正文第18-22页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102890759A (zh) | 2013-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Data hiding with deep learning: A survey unifying digital watermarking and steganography | |
Tao et al. | Robust image watermarking theories and techniques: A review | |
He et al. | Performance analysis of a block-neighborhood-based self-recovery fragile watermarking scheme | |
Wu et al. | A simple image tamper detection and recovery based on fragile watermark with one parity section and two restoration sections | |
CN102890759B (zh) | 基于线程关系的软件水印信息处理方法 | |
CN103123719A (zh) | 一种图像认证和篡改定位的零水印方法 | |
Li et al. | Study on copyright authentication of GIS vector data based on Zero-watermarking | |
Ho et al. | A semi-fragile pinned sine transform watermarking system for content authentication of satellite images | |
Liu et al. | BiFPro: A Bidirectional Facial-data Protection Framework against DeepFake | |
Zhen-kun et al. | A robust and discriminative image perceptual hash algorithm | |
CN104978706A (zh) | 基于傅里叶描述子的水印嵌入与提取方法、装置及系统 | |
CN103377320A (zh) | 一种矢量地理数据选择性认证半脆弱水印方法 | |
Zhang et al. | A contour-based semi-fragile image watermarking algorithm in DWT domain | |
CN102156956A (zh) | 基于奇异值分解与离散余弦变换的高鲁棒性水印方法 | |
Chen et al. | Variable-payload self-recovery watermarking scheme for digital image authentication | |
CN202929680U (zh) | 一种基于图像特征及霍夫曼编码原理的数字水印装置 | |
Husaini et al. | Challenges and approach for a robust image water marking algorithm | |
CN112579994A (zh) | 一种基于人工智能的数字产品内容保护系统和方法 | |
Chen et al. | Research on image digital watermarking algorithm based on matlab | |
CN104616240A (zh) | 水印嵌入与提取方法、装置及其系统 | |
Wang et al. | A semi-fragile image watermarking resisting to JPEG compression | |
Nawaz et al. | Deep Learning Applications in Digital Image Security: Latest Methods and Techniques | |
Anfinogenov et al. | A Multiple Robust Digital Watermarking System for Still Images. | |
Zhou et al. | Performance analysis and evaluation of text watermarking | |
Xia et al. | A novel image content protection method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150603 Termination date: 20171223 |
|
CF01 | Termination of patent right due to non-payment of annual fee |