软件水印技术综述要领.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件水印技术综述 1 前言 目前软件保护主要由软件开发商自己负责,通过加密、序列号、关键文件(Key File)、软件狗(硬件加密锁)等方式实施保护。软件开发商需要自己花费大量的精力用在软件保护上,而软件水印(Software Watermarking)技术正是为了解决软件知识产权证明而发展起来的。 软件水印是嵌入到程序当中的秘密消息,这些消息应该能够方便而且可靠地提取出来,以证明软件的所有权,并且具有在保证程序功能的情况下不能或者是难以去除该消息的功能。根据软件水印的提取技术来分,可分为静态水印和动态水印(如图 1)。静态水印存储在可执行程序代码中,比较典型的是把水印信息放在安装模块部分,或者是指令代码中,或者是调试信息的符号部分。对于Java 程序,水印信息也可以隐藏在类文件(包括常量池表、方法表、行号表)的任何部分中。静态水印又可以进一步分为静态数据水印和静态代码水印。区别于静态水印,动态水印则保存在程序的执行状态中,而不是程序源代码本身。这种水印可用于证明程序是否经过了迷乱变换处理。动态水印主要有3 类:执行状态水印、数据结构水印和Easter Egg 水印(复活节彩蛋水印)。其中,每种情况都需要有预先输入,然后根据输入,程序会运行到某种状态,这些状态就代表水印。 图 1 软件水印是近年来才出现的软件版权保护技术,它把程序的版权信息和用户身份信息嵌入到程序中,用来标志作者、发行者、所有者、合法使用者等,并携带版权信息和身份认证信息,可以鉴别出非法复制和盗用的软件产品。它甚至被认为是数字作品内容保护的最后一道防线。 2 研究现状 1969年IBM将计算机软件从硬件中分离出来进行单独销售,之后软件业的发展速度飞快,成为了信息产业的支柱之一,自20世纪90年代以来世界软件产业一直保持着10%~20%的增长速度。但是由于计算机软件很容易复制,使得软件业成为世界上唯一的能够使每一个顾客成为其产品的制造厂的行业。2006年BSA(商业软件联盟)和IDC(互联网数据中心)的一项研究表明:2005年,全球PC软件盗版造成的损失达340亿美元,比2004年增长了16亿美元。在软件市场巨大的国家,相对较低的软件盗版率仍会带来很大的损失。例如:美国的盗版率是全球最低的,为21%,但任然是损失最大的国家—损失69亿美元。我国的盗版率为86%,比上一年减少了4个百分点,但仍损失了39亿美元,是全球第二大损失国。而BSA和IDC的另一项研究报告指出,在中国盗版率降低10个百分点将有助于IT产业的收益翻两番,从而实现IT产业的巨大潜力。同时,盗版的减少有助于创造新的工作岗位。由此可知,软件水印的重要性。 从软件水印的用途来看,有以下一些应用: 软件版权申明(Authorship):通过软件水印申明软件的版权,软件中的水印信息可以被合法的用户(公开水印密钥)提取。软件用户可以通过该水印判断所使用的软件是否为正版软件。 软件版权证明(Authentication):通过软件水印证明软件的版权,软件中的水印信息仅能被软件开发者(拥有水印密钥)提取,该水印信息可以证明软件的所有权。当两个公司都称软件是自己公司的软件时,软件版权证明水印可以证明软件的所有权,从而揭穿盗版者的谎言。 盗版源的跟踪:在分发给不同使用者的软件中嵌入的水印信息各不相同(不同的信息是软件的指纹),当盗版行为发生时,可以根据软件的指纹寻找盗版软件是从哪个使用者流传出去的,从而定位盗版源。 非法复用软件模块的发现:如果整个软件被盗用,常常是容易发现的;但当仅有某个模块被非法复用时,常常是难以发现的,软件水印可以用于发现与检测这种情况下的盗版行为。 盗版自报告:Easter Egg 软件水印利用了软件可运行的特点,把水印检测器嵌入到软件当中,当检测器运行时,可以通过检查软件的生存环境(例如主机IP等),判断该软件的生存环境是否构成盗版行为,进而在可能的情况下,通过网络主动报告盗版行为。 盗版自发现:随着计算机网络的迅速发展,通过网络分发软件成为软件分发的一种重要手段。这就给软件盗版的自发现提供了可能,利用网络爬虫技术搜索网上的软件,并检测这些软件当中的水印信息,从而自发地发现盗版行为。 软件水印的算法有很多,在这里简单介绍一下基于HASH函数的软件水印算法。 HASH函数是密码体制中常用的一类公开函数,是能够将任意长度的信息映射成某一固定长度消息的一种函数。HASH函数主要用于信息安全中消息的完整性检测和消息认证。 目前应用最广泛的HASH函数算法为MD5和SHA。其中MD5是获得一个随机长度的信息后产生一个128位的信息摘要,以防止被篡改。安全杂凑算法SHA-1的输入为小于2 比特长的任意消息,分为512比特长的分组,输出为16

文档评论(0)

xiaofei2001129 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档