书书书
收稿日期:20130228;修回日期:20130416 基金项目:国家“863”计划基金资助项目(2009AA012201)
作者简介:李斌(1986),男,河南郑州人,硕士,主要研究方向为信息安全、软件水印(cctvlibin@163.com);周清雷(1962),男,河南新乡人,教
授,博士,主要研究方向为形式语言自动机、形式化方法、信息安全.
基于混沌优化的分存软件水印方案
李 斌,周清雷
(郑州大学 信息工程学院,郑州 450001)
摘 要:针对软件水印鲁棒性差、水印分存算法执行效率低的问题,提出了一种基于混沌优化的分存软件水印
方案。该方案通过引入混沌系统,将水印信息矩阵分割、混沌置乱,形成分存水印;水印嵌入时,将分存水印一一
编码为 DPPCT拓扑图,并将 hash处理后的水印信息分别填充于各个 DPPCT的 info域;水印嵌入后,利用混沌加
密,保护全部代码,防止逆向工程等手段对软件水印的破坏。理论分析和实验表明,该方案可有效地抵抗各种语
义保持变换攻击,减少程序负载,提高水印的鲁棒性及执行效率。
关键词:软件水印;混沌理论;水印分存;DPPCT拓扑图;鲁棒性
中图分类号:TP309 文献标志码:A 文章编号:10013695(2013)11341803
doi:10.3969/j.issn.10013695.2013.11.055
Sharingsoftwarewatermarkingschemebasedonchaoticoptimization
LIBin,ZHOUQinglei
(SchoolofInformationEngineering,ZhengzhouUniversity,Zhengzhou450001,China)
Abstract:Inordertosolvethepoorrobustnessofsoftwarewatermarkingandthelowexecutionefficiencyofwatermarkingsha
ringalgorithm
,thispaperproposedasharingsoftwarewatermarkingschemebasedonchaoticoptimization.Theschemetookad
vantageofchaossystem,matrixpartitionandchaoticscramblingthewatermarkinginformationtoformsharingwatermarking.
Whenwatermarkingwasembedded,usingDPPCTtopologygraphencodethesharingwatermarking,thenputtingthehashvalue
ofthewatermarkinginformationintotheinfofieldofeachDPPCT.Afterthewatermarkingembedded,usingchaoticencryption
toprotectallcodeandpreventreverseengineeringandothermethodstoattackthesoftwarewatermarking.Theoreticalanalysis
andexperimentalresultsshowthattheschemecaneffectivelyresistvarioussemanticspreservingtransformationattacks,de
creasetheprogramloadandimproverobustnessandexecutionefficiencyofthewatermarking.
Keywords:softwarewatermarking;chaostheory;sharingwatermarking;DPPCTtopologygraph;robustness
人们在享受互联网下载便利的同时,软件盗版和复用也日
益猖獗,给个人和企业带来了重大的经济损失,软件版权的保
护越来越受到人们的重视。为保护软件版权,软件水印应运而
生,它是数字水印的一个分支,是信息安全、密码学、图论、算法
设计、软件工程的交叉研究领域。基于图论的软件水印,由于
隐蔽性强、安全性高,成为了目前研究的热点。文献[1]提出
了首个动态图水印(dynamicgraphwatermarking,DGW)的 CT
(CollbergThomborson)算法,其主要思想是用两个大素数 P、Q
的乘积 W(W=P×Q)来表示水印信息,再将 W编码为某种拓
扑图嵌入到程序代码中。由于 W是个大数,水印嵌入过程中,
往往需要将其分割成多个子水印,以提高水印的隐蔽性、鲁棒
性并减小构造水印拓扑图的复杂度
[2]
。文献[3]提出的基于
中国剩余定理的水印分存算法,其隐秘性好,但水印恢复过程
复杂、计算量大。文献[4]提出了一种基于密钥分存理论的
AsmuthBloom(AB)门限算法,增强了水印的鲁棒性,但在实现
过程容易导致水印数据的大幅扩张。文献[5,6]首次将混沌
理论应用在软件水印系统中,通过混沌预处理和混沌散列编码
来改进传统水印算法 EasterEgg水印。但由于该算法在嵌入
水印后,改变了各模块代码及在内存中的加载位置,需要通过
自定义代码标记来指定位置,降低了水印的隐蔽性。文献[
7]
提出了基于混沌优化的动态水印算法,其鲁棒性强,能有效地
抵抗逆向工程的攻击,但混沌加密过程复杂,对程序性能影响
较大。
针对以上方案的缺点,本文提出了一种基于混沌优化的分
存软件水印方案,通过对水印信息的矩阵分割、混沌置乱(
cha
oticscrambling,CS),有效地控制水印分存粒度,提高水印隐蔽
性,再将分存的水印一一编码为 DPPCT(doublecircularlinked
plantedplanecubictree)拓扑图,并将 hash处理后的水印信息
分别填充于各个
DPPCT的 info域,形成多水印信息与水印分
支共存的结构。水印 嵌 入 后,利用混沌加密 (chaoticencryp
tion,CE)系统,将程序代码划分为敏感代码段(codesensitive
block,CSB)和非敏感代码段(codeinsensitiveblock,CIB),使用
CIB的 hash值,加密 CSB,形成交错保护机制,保护全部代码,
提高水印的抗攻击能力及鲁棒性。
!
相关理论
!
!
动态图软件水印基本模型
软件水印系统 S可用一个十元组(P
o
,W,K,E
m
,E
x
,P
w
,
D
r
,D
e
,A
t
,P′
w
)表示。动态图软件水印系统
[8]
由于加入了水印
分存算法和水印拓扑图编码,可以表示为 DGS=(P
o
,{I
i
},W,
f,f
-1
,g,R,E
m
,E
x
,P
w
,D
r
,D
e
,A
t
,P′
w
)。其中:P
o
为原始程序;
第 30卷第 11期
2013年 11月
计 算 机 应 用 研 究
ApplicationResearchofComputers
Vol.30No.11
Nov.2013