用户名: 密码: 验证码:
基于防篡改的动态图软件水印算法研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
随着软件产业的迅速发展,软件产品的版权保护已成为一个十分重要的问题。现在,各种软件版权保护技术成为了研究热点。传统的软件版权保护主要通过加密技术实现,但随着软件破解技术的不断发展,这些措施难免遭到破解,并且加密技术不能对解密后的软件提供进一步的保护。软件水印是数字水印的一个分支,是把软件版权的信息和用户身份的信息预先隐秘存放到软件之中,当盗版情况发生时,证明其版权归属。软件水印技术弥补了传统软件版权保护技术的不足,为软件版权保护开辟了一条新道路。
     软件水印分为静态水印与动态水印。由于动态水印具有较强的抗攻击能力,在各方面都较优于静态水印,是这一领域的研究重点,具有广阔的市场前景。而在动态水印中,动态图水印技术是较优的技术之一,其基本思想是利用图结构编码,将软件产品版权信息隐藏到图中,为解决软件盗版和软件篡改提供了技术支持。
     本文首先详细介绍了动态图水印的产生、水印提取及嵌入的过程、水印编码方式和相关的各种算法。在对现有动态图水印算法研究基础上,针对软件水印抗攻击性差和编码数据率低的特点,提出了一种具有防篡改功能的双重软件水印方案。该方案利用寄存器分配的隐蔽性,构造ICP算法;结合基数K编码的高数据率及PPCT编码的强鲁棒性,构造混合编码DPPCT;水印嵌入后,利用校验和机制和AES代码加密,防止逆向工程攻击等手段对软件水印的篡改。理论分析表明,该方案具有较高的隐蔽性、鲁棒性和数据率,实用性较强。
     其次,为解决软件水印鲁棒性差、水印破坏后难恢复的问题,引入混沌理论,提出了基于混沌优化的分存软件水印方案。该方案利用混沌系统产生混沌序列,将水印信息矩阵分割、混沌置乱,形成分存水印;水印嵌入时,将分存水印分别编码为DPPCT拓扑图,并将Hash处理后的水印信息分别填充于各个DPPCT的Info域;水印嵌入后,利用混沌加密,保护全部代码,防止逆向工程等手段对软件水印的破坏。理论分析和实验表明,该方案可显著增强水印的鲁棒性及纠错能力。
     最后,结合SandMark软件水印平台,设计了一个原理验证平台,对本文提出的水印方案进行实验,并对水印性能进行了客观分析,验证了本文中水印方案的有效性、健壮性和优越性。
With the rapid development of software industry, the copyright protection of software products already becomes a very important issue. Nowadays, so various technologies for software copyright protection have been studied. Traditional software copyright protection is mainly use the encryption technology. But with the development of software cracking technology, this methods can't be avoid to crack, and the encryption technology can't provide further protection after software decrypted. Software watermarking is an important branch of the digital watermarking technology. The copyright information and user information of the software products is stealthily embedded in the software. It proves the ownership of intellectual property rights when piracy occurred. Software watermarking make up for the lack of traditional software copyright protection, and provides a new way for copyright protection.
     Software watermarking can be classified as static watermarking or dynamic watermarking. Dynamic watermarking is robustness, superior to static watermarking, so it becomes a hotspot in this field. Dynamic Graph Watermarking (DGW) is one of the better dynamic watermarking. The idea of DGW is using of the graph topology structure, the software products copyright information can hide in the graph, this provides technical support to prevent software piracy and tampering.
     Firstly, this paper introduces the generation of dynamic graph software watermarking, the process of extraction and the embedded watermarking, the encoding methods and some relevant algorithms. By studied the dynamic graph watermarking algorithm, a double software watermarking scheme based on tamper-proofing is put forward for improving the low resilience and encoding data rate of software watermarking. With the stealth of register allocation to make ICP algorithm; combined the high data rate of radix-k encoding with the high resilience of PPCT encoding to make DPPCT mix encoding; after the watermarking embedded, using checksum mechanism and AES code encryption to prevent reverse engineering and some other methods to attack the software watermarking. Theoretical analysis and experimental result show that this scheme has high stealth, robustness, resilience and data rate.
     Secondly, through the chaos theory, a sharing software watermarking scheme based on chaotic optimization is proposed, in order to solve the poor robustness of software watermarking and the low execution efficiency of watermarking sharing algorithm. The scheme takes advantage of chaos system, generating chaotic sequence, matrix partition and chaotic scrambling the watermarking information to form sharing watermarking; when watermarking is embedded, using DPPCT topology graph encode the sharing watermarking, then putting the hash value of the watermarking information into the Info field of each DPPCT; after the watermarking embedded, using chaotic encryption to protect all code and prevent reverse engineering and other methods to attack the software watermarking. Theoretical analysis and experimental results show that the scheme can effectively improve robustness and execution efficiency of the watermarking.
     Finally, combined SandMark software watermarking platform, design a software watermarking prototype system, experiment on the proposed watermarking schemes, and objective analysis the watermarking performance, the result verifies the feasibility, robustness and superiority of the schemes that proposed.
引文
[1]Business Software Alliance. Ninth Annual BSA and IDC Global Software:Piracy Study [EB/OL].http://portal.bsa.org/globalpiracy2011/downloads/study_pdf/2011_BSA_Piracy_Stu dy-Standard.pdf,2012,5.
    [2]张立和,杨义先,钮心忻等.软件水印综述[J].软件学报,2003,14(2):267-277.
    [3]王朝坤,付军宁,王建民等.软件防篡改技术综述[J].计算机研究与发展,2011,48(6):923-933.
    [4]Scott A M, Marc C. Method for Stega-cipher Protection of Computer Code[P]. USA Patent: 5745569,1998-3-28.
    [5]Robert I D, Nathan M. Method and system for generating and auditing a signature for a computer program[P]. USA Patent:5559884,1996-9-24.
    [6]Ramarathnam V, Vijay V V, Saurabh S. A Graph Theoretic Approach to Software Watermarking[A]. In Proceeding of 4th International Workshop on Information Hiding[C]. Pittsburgh, PA, USA, Springer-Verlag,2001:157-168.
    [7]Julien P S, Gael H, Franois K, Jean-Jacques Q. Robust object watermarking:Application to code[A]. In Proceeding of 3rd International Information Hiding Workshop[C]. pringer-Verlag, 1999:368-378.
    [8]Jianqi Zhu, Yanheng Liu, Aimin Wang, Kexin Yin. H Function based Tamper-proofing Software Watermarking Scheme. Journal of Software,6(1),2011:148-155.
    [9]Zhang Shao-Bo, Zhu Geng-Ming, Zhu Bin. A Dynamic Graph Software Watermarking Algorithm Based On Chaotic Theory[J]. American Journal Of Engineering And Technology Research Vol.11, No.9,2011.
    [10]G. Myles, C. Collberg. Software watermarking through register allocation:Implementation, analysis, and attacks[C], in:LNCS 2971,2003:274-293.
    [11]虞涛.基于排列图和PPCT混合编码的软件水印技术的研究与实现[D].[硕士学位论文].武汉:武汉理工大学,2006.
    [12]Patrick C, Radhia C. An abstract interpretation-based framework for software watermarking [A]. In Proceeding of 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages[C]. Venice, Italy, ACM,2004:173-185.
    [13]Feng Bo, Zhang Miao, Xu Guoai, Niu Xinxin, Hu Zhengming. Dynamic Data Flow Graph-based Software Watermarking[A]. Proceedings of IC-NIDC2009[C].2009:1029-1033.
    [14]C.Collerg, J.Thomborson and Gregg M.Towsend. Dynamic Graph-Based Software Watermarking[R]. Technical Report, TR04-08, April 28,2004.
    [15]R.Venkatesan, V.Vazirani, S.Sinha. A graph theoretic approach to software watermarking[A]. Lecture Notes in Computer Science[C],2001:157-168.
    [16]李莉.软件水印攻击综述[C].中国电子学会第十五届信息论学术年会暨第一届全国网络编码学术年会.青岛:2008.
    [17]朱正平,钟诚,陈东用.一种基于执行路径隐藏的软件水印算法[J].计算机应用研究,2006:118-120.
    [18]沈静博,房鼎益,吴晓南等.基于多常量编码的动态图软件水印保护技术[J].计算机工程,2006,32(20):10-162.
    [19]徐海银,陈海兵,冯丹等.一种动态软件水印算法[J].华中科技大学学报(自然科学版),2005,33(增刊):172-174.
    [20]虞涛,杨杰.一种动态图软件水印技术编码方案[J].交通与计算机,2006,24(1):76-79.
    [21]吴建军,高济.基于指令统计分布的软件水印方案[J].浙江大学学报(工学版),2005,36(2):225-228.
    [22]李鑫,甘志,陈克非.基于秘密分享对软件水印技术的改进[C].国家自然科学基金重大研究计划-网络与信息安全学术交流论文集,2002:435442.
    [23]芦斌,罗向阳,刘粉林.一种基于混沌的软件水印算法框架及实现[J].软件学报,2007,18:225-228.
    [24]汤春霞,程建华,王飞鹏等.基于Asmuth-Bloom门限方案的动态图软件水印保护技术[J].计算机与现代化,2009(2):108-110.
    [25]罗养霞,马君,张志刚等.基于门限方案的动态图软件水印算法[J].计算机工程,2009,35(1):153-156.
    [26]欧阳康,张汗灵.基于扩展门限的软件水印研究与实现[J].计算机工程,2011,37(13):135-138.
    [27]杨旭光,陆月然,黄艾卿等.一种基于防篡改的基数编码水印图[J].计算机应用与软件,2011,28(2):298-301.
    [28]王慧娇,沙宗鲁,轩爱成.基于PPCT和基数K的动态图混合编码方案[J].计算机工程与应用,2010,46(25):109-111.
    [29]李淑芝,刘猛.基于变量防篡改的动态图软件水印方案[J].计算机工程与科学,2011,33(5):18-21.
    [30]刘建蓉,秦拯,彭程.改进的动态图水印技术编码方案[J].计算机应用研究,2011,28(2):720-723.
    [31]李淑芝,周诗源,刘京华.基于中国剩余定理的动态图软件水印方案[J].软件导刊,2008,7(8):191-193.
    [32]Christian S C, Ginger M, Andrew H. Sandmark-A Tool for Software Protection Research[J]. IEEE Security Privacy.2003, 1(4):40-49.
    [33]UWstego-A Dynamic Software Watermarking Toolset[EB/OL].2008-03-11. http://pages.cs. wisc.edu/~hbwang/watermark/.
    [34]赵亮.多重软件水印技术研究与实现[D].[硕士学位论文].天津:南开大学,2008.
    [35]苏琳.基于代码加密的防篡改软件水印技术的研究与实现[D].[硕士学位论文].西安:西北大学,2010.
    [36]白雪梅.软件水印技术研究现状概述[J].网络安全技术与应用,2007(004):86-88.
    [37]张雪松,李听,崔维力等.动态自我验证的软件水印防篡改技术[J].吉林大学学报,2007,37(5):1148-1153.
    [38]陈刚.基于PE文件的软件水印研究[D].[硕士学位论文].湖南:湖南大学,2008.
    [39]刘建蓉.一种改进的基于混合编码的防篡改软件水印技术[D].[硕士学位论文].湖南:湖南大学,2011.
    [40]G. Qu, M. Potkonjak. Analysis of watermarking techniques for graph coloring problem[C], in: IEEE/ACM International Conference on Computer Aided Design,'98,1998, pages:190-193.
    [41]G. Myles, C. Collberg. Software watermarking through register allocation:Implementation, analysis, and attacks[R], in:LNCS 2971,2003, pages:274-293.
    [42]Hakun Lee, Keiichi Kaneko. Two New Algorithms for Software Watermarking by Register Allocation and their Empirical Evaluation[C], in:2009 Sixth International Conference on Information Technology:New Generations,2009, pages:217-222.
    [43]Jun Li, Quan Liu. Design of a Software Watermarking Algorithm Based on Register Allocation[C], in:2010 2nd International Conference on e-Business and Information System Security(EBISS),2010,page:1-4.
    [44]Zhanyong Tang, Dingyi Fang. A Tamper-proof Software Watermark using Code Encryption [C], in:2011 IEEE International Conference on Intelligence and Security Informatics (ISI), 2011, pages:156-160.
    [45]C.Collberg, N.Jasvir. Surreptitious Software Obfuscation, Watermarking, and Tamper proofing for Software Protection[M]. Addison-Wesley,2009:526-528.
    [46]白雪梅,凌捷.基于中国剩余定理的动态水印方案[J].计算机工程,2006,32(16):155-157.
    [47]Liu Fenlin, Lu Bin, Luo Xiangyang. A chaos-based robust software watermarking, information security practice and experience[J]. Lecture Notes in Computer Science,2006, 39(03):355-366.
    [48]罗养霞,房鼎益.基于混沌优化的动态水印算法研究[J].中国科学技术大学学报,2012,42(1):77-84.
    [49]李淑芝,王显珉.基于m-n变进制规则的动态图软件水印算法[J].计算机工程,2012,38(21):17-21.
    [50]Rawat S, Raman B. A chaotic system based fragile watermarking scheme for image tamper detection[J]. AEU-International Journal of Electronics and Communications,2011,65: 840-847.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700