数字水印技术研究综述
引言
信息媒体的数字化为信息的存取提供了极大的便利性,同时也显著提高了信息表达的效率和准确性。特别是随着计算机网络通讯技术的发展,数据的交换和传输变成了一个相对简单的过程,人们借助于计算机、数字扫描仪、打印机等电子设备可以方便、迅速地将数字信息传输到所期望的地方。随之而来的副作用是这些数字形式的数据文件或作品使有恶意的个人和团体有可能在没有得到作品所有者的许可下拷贝和传播有版权的内容,例如,现代盗版者仅需轻点几下鼠标就可以获得与原版一样的复制品,并以此获取暴利;而一些具有特殊意义的信息,如涉及司法诉讼、政府机要等信息,则会遭到恶意攻击和篡改伪造等等。这一系列数字化技术本身的可复制和广泛传播的特性所带来的负面效应,已成为信息产业健康持续发展的一大障碍,目前,数字媒体的信息安全、知识产权保护和认证问题变得日益突出,且已成为数字世界中一个非常重要和紧迫的议题。
密码技术是信息安全技术领域的主要传统技术之一,它是基于香农信息论及密码学理论的技术,现有的数字内容的保护多采用加密的方法来完成,即首先将多媒体数据文件加密成密文后发布,使得其在传递过程中出现的非法攻击者无法从密文获取机要信息,从而达到版权保护和信息安全的目的。但这并不能完全解决问题:一方面加密后的文件因其不可理解性而妨碍多媒体信息的传播;另一方面多媒体信息经过加密后容易引起攻击者的好奇和注意,并有被破解的可能性,而且当信息被接收并进行解密后,所有加密的文档就与普通文档一样,将不再受到保护,无法幸免于盗版。换言之,密码学只能保护传输中的内容,而内容一旦解密就不再有保护作用了。因此,迫切需要一种替代技术或是对密码学进行补充的技术,它应该甚至在内容被解密后也能够继续保护内容。这样,人们提出了新兴的信息隐藏的概念——数字水印(digital watermarking)。数字水印技术是目前信息安全技术领域的一个新方向,是一种可以在开放网络环境下保护版权和认证来源及完整性的新型技术,创作者的创作信息和个人标志通过数字水印系统以人所不可感知的水印形式嵌入在多媒体中,人们无法从表面上感知水印,只有专用的检测器或计算机软件才可以检测出隐藏的数字水印。
在多媒体中加入数字水印可以确立版权所有者、认证多媒体来源的真实性、识别购买者、提供关于数字内容的其它附加信息、确认所有权认证和跟踪侵权行为。它在篡改鉴定、数据的分级访问、数据跟踪和检测、商业和视频广播、Internet数字媒体的服务付费、电子商务认证鉴定等方面具有十分广阔的应用前景。自1993年以来,该技术已经引起工业界的浓厚兴趣,并日益成为国际上非常活跃的研究领域。
最初提出数字水印的目的是为了保护版权,然而随着数字水印技术的发展,人们发现了更多更广的应用,有许多是当初人们所没有预料到的。下面列出了七种已提出的或实际的水印应用:广播监控、所有者鉴别、所有权验证、操作跟踪、内容认证、拷贝控制和设备控制。
(1)广播监控:通过识别嵌入到作品中的水印来鉴别作品是何时何地被广播的。
(2)所有者鉴别:嵌入代表作品版权所有者身份的水印。
(3)所有权验证:在发生所有权纠纷时,用水印来提供证据。
(4)操作跟踪:用水印来鉴别合法获得内容但非法重新发送内容的人。
(5)内容认证:将签名信息嵌入到内容中以待日后检查内容是否被篡改。
(6)拷贝控制:使用水印来告知录制设备不能录制什么内容。
(7)设备控制:使用水印来制造设备,比如Digimarc公司的MediaBridge系统。
数字水印技术还处于发展之中,上述七个方面也不可能包含其所有可能的应用领域,但可以看出数字水印技术未来的应用市场将会更加广阔,毕竟,它还是个方兴未艾的领域。
数字水印的历史及国内外发展现状
一般认为,数字水印起源于古老的水印技术。这里提到的“水印”技术是指传统水印,即印在传统载体上的水印,如纸币上的水印、邮票股票上的水印等,将它们对着光照我们可以看到其中隐藏的图像。这些传统的“水印”用来证明其内容的合法性。大约700年前,纸水印便在意大利的Fabriano镇出现[3],这些纸水印是通过在纸模中加细线模板制造出来的。纸在存在细线的区域会略微薄一些,这样也会更透明一些。到了18世纪,在欧洲和美国制造的产品中,纸水印已经变得相当的实用了。水印被用作商标,记录纸张的生产日期,显示原始纸片的尺寸。大约也是这个时期,水印开始用于钱和其它文件的防伪措施。纸水印的存在既不影响美感,也不影响纸张的使用。中国是世界上最早发明造纸术的国家,也是最早使用纸币的国家。宋真宗在位时(公元998-1021年),四川民间发明了“交子”[4]。交子正面都有票人的印记,有密码画押,票面金额在使用时填写,可以兑换,也可以流通。可以说交子上的印文既包含水印技术也包含消隐技术。
事实上,正是由于纸张水印和消隐技术的特性才真正地启发了在数字环境下水印的首次使用。数字水印的产生最早可追溯到1954年,它的产生源于对数字产品的保护。在1954年,Muzak公司的埃米利.希姆布鲁克(Emil Hembrooke)为带有水印的音乐作品申请了一项专利。在这项专利中,通过间歇性地应用中心频率为1kHz的窄带陷波器,认证码就被插入到音乐中。该频率上能量的缺失表征使用了陷波滤波器,而缺失的持续时间通常被编码为点或长划,此认证码使用了莫尔斯电码。此系统被Muzak公司用到了1984年前后[6]。1961年美国专利局这样描述了该项发明[5]:
此发明使对音乐作品进行确证成为可能,从而制定出了一个防止盗版的有效途径,这也可以比作纸币中的水印。
从那时起,人们开始发展大量的水印技术并由此展开了各种各样的应用,人们对于嵌入信号的兴趣就这样持续了35年,此期间水印被应用于广告认证和设备控制上。例如,在1979年,Szepanski[7]描述了一种机械探测模式,它可以用在文件上起到防伪效果。九年后Holt等人[8]阐述了一种在音频信号中嵌入认证码的方法。但这时的数字水印只是作为一种版权认证的工具,并没有成为一门科学。直到20世纪90年代初期,数字水印才作为一个研究课题受到了足够的重视。1993年A. Z. Tirkel等所撰写的“Electronic water mark”[9]一文中首次使用了“water mark”这一术语。这一命名标志着数字水印技术作为一门正式研究学科的诞生。后来二词合二为一就成为“watermark”,而现在一般都使用“digital watermarking”一词来表示“数字水印”。现在我们所说的“水印”一般指的都是数字水印。
数字水印技术自93年被提出以来,由于其在信息安全和经济上的重要地位,发展较为迅速,世界各国的科研机构、大学和商业集团都积极的参与或投资支持此方面的研究。如美国财政部、美国版权工作组、美国洛斯阿莫斯国家实验室、美国海陆空研究实验室、欧洲电信联盟、德国国家信息技术研究中心、日本NTT信息与通信系统研究中心、麻省理工学院、南加利福尼亚大学、剑桥大学、瑞士洛桑联邦工学院、微软公司、朗讯贝尔实验室等都在进行这方面的研究工作。IBM公司、日立公司、NEC公司、Pioneer电子公司和Sony公司等五家公司还宣布联合研究基于信息隐藏的电子水印。
国际学术界陆续发表了许多关于数字水印技术方面的文章,几个有影响的国际会议(例如IEEE,SPIE等)及一些国际权威学术期刊(例如Signal Processing等)相继出版了有关数字水印技术的专题。1996年5月,国际第一届信息隐藏学术讨论会[10](International Information Hiding Workshop, IHW)在英国剑桥牛顿研究所召开,至今该研讨会已举办了五届。在1999年第三届信息隐藏国际学术研讨会上,数字水印成为主旋律,全部33篇文章中有18篇是关于数字水印的研究。1998年的国际图像处理大会(ICIP)上,还开辟了两个关于数字水印的专题讨论。由Martin Kutter创建的WatermarkingWorld已成为一个关于数字水印的著名网上论坛。
在20世纪90年代末期一些公司开始正式地销售水印产品。在图像水印方面,美国的Digimarc公司[11]率先推出了第一个商用数字水印软件,而后又以插件形式将该软件集成到Adobe公司的Photoshop和Corel Draw图像处理软件中。该公司还推出了媒体桥(Mediabridge)技术,利用这项技术用户只要将含有Digimarc水印信息的图片放在网络摄像机(web camera)前,媒体桥技术就可以直接将用户带到与图像内容相关联的网络站点。AlpVision公司[12]推出的LavelIt软件,能够在任何扫描的图片中隐藏若干字符,这些字符标记可以作为原始文件出处的证明,也就是说,任何电子图片,无论是用于Word文档、出版物,还是电子邮件或者网页,都可以借助于隐藏的标记知道它的原始出处。AlpVision的SafePaper是专为打印文档设计的安全产品,它将水印信息隐藏到纸的背面,以此来证明该文档的真伪。SafePaper可用于证明一份文件是否为指定的公司或组织所打印,如医疗处方、法律文书、契约等,还可以将一些重要或秘密的信息,如商标、专利、名字、金额等,隐藏到数字水印中。欧洲电子产业界和有关大学协作开发了采用数字水印技术来监视复制音像软件的监视系统,以防止数字广播业者的不正当复制的行为。该开发计划名称为《TALISMAN(Tracing Authors’ Rights by Labeling Image Service and Monitoring Access Networks)》[43]。此开发计划作为欧洲电子产业界等组织的欧共体项目于1995年9月开始进行,1998年8月结束,法国、比利时、德国、西班牙、意大利和瑞士等在内的11个通信与广播业者、研究单位和大学参加。
随着技术信息交流的加快和水印技术的迅速发展,国内一些研究单位也已逐步从技术跟踪转向深入系统研究,各大研究所和高校纷纷投入数字水印的研究,其中比较有代表性的有哈尔滨工业大学的孙圣和、牛夏牧、陆哲明等,天津大学的张春田、苏育挺等,北京邮电大学的杨义先、钮心忻等,中国科学院自动化研究所的刘瑞祯、谭铁牛等,他们是国内较早投入水印技术研究且取得较好成绩的科研单位。我国于1999年12月11日,由北京电子技术应用研究所组织,召开了第一届信息隐藏学术研讨会(CIHW),至今已成功的举办了四届,很大程度地推进了国内水印技术的研究与发展。同时,国家对信息安全产业的健康发展也非常的重视,在2003年的《科技型中小企业技术创新基金若干重点项目指南》中[44],明确指出了对于“数字产品产权保护(基于数字水印、信息隐藏、或者网络认证等先进技术)”和“个性化产品(证件)的防伪(基于水印、编码、或挑战应答等技术)”等多项防盗版和防伪技术予以重点支持。现在国内已经出现了一些生产水印产品的公司,其中比较有代表性的是由中科院自动化研究所的刘瑞祯、谭铁牛等人于2002年在上海创办了的一家专门从事数字水印、多媒体信息和网络安全、防伪技术等软硬件开发的公司——上海阿须数码技术有限公司[13],公司现从事数字证件、数字印章、PDF文本、分块离散图像、视频、网络安全等多方面数字水印技术的研究,现在这家公司已申请了一项国际和三项国家数字水印技术专利。虽然数字水印在国内的应用还处于初级阶段,但水印公司的创办使得数字水印技术在国内不仅仅只停留在理论研究的层面上,而是从此走上了实用化和商业化的道路,这样会更加推动国内水印技术的蓬勃发展,为国内的信息安全产业提供有效的、安全的保障。
三、数字水印的基本理论
1、定义和基本特点
目前虽有许多文献讨论有关数字水印技术的问题,但数字水印始终没有一个明确统一的定义。Cox等把水印定义为“不可感知地在作品中嵌入信息的操作行为”[45];杨义先等认为“数字水印是永久镶嵌在其它数据(宿主数据)中具有鉴别性的数字信号或模式,而且并不影响宿主数据的可用性”[46]。我个人认为后一种说法更为确切一些,因为可见水印是可以感知到的,但它的存在并不影响宿主数据的可用性,嵌入的水印同样可以起到鉴别的目的。
不同的应用对数字水印的要求不尽相同,一般认为数字水印应具有如下特点:
·可证明性:水印应能为受到版权保护的信息产品的归属提供完全可靠的证据。水印算法能够将所有者的有关信息(如注册的用户号码、产品标志或有意义的文字等)嵌入到被保护的对象中,并在需要的时候将这些信息提取出来。水印可以用来判别对象是否受到保护,并能够监视被保护数据的传播、真伪鉴别以及非法拷贝控制等。这实际上也是发展水印技术的基本动力。
·不可感知性:不可感知性是指视觉或听觉上的不可感知性,即指因嵌入水印导致载体数据的变换对于观察者的视觉或听觉系统来讲应该是不可察觉的,最理想的情况是水印与原始载体在视觉上是一模一样的,这是绝大多数水印算法所应达到的要求。
·稳健性:稳健性是指水印应该能够承受大量的物理和几何失真,包括有意的(如恶意攻击)或无意的(如图像压缩、滤波、打印、扫描与复印、噪声污染、尺寸变换等等)。显然在经过这些操作后,稳健的水印算法应仍能从水印载体中提取出嵌入的水印或证明水印的存在。一个鲁棒的水印应做到若攻击者试图删除水印将会导致水印载体的彻底破坏。
由于水印特性的要求对应用的依赖型很强,恰当的评价准则和具体的应用有关。许多文献中讨论的数字水印可能不具备上述特点,或者只具备部分上述特点,这里我们讨论更广泛意义上的水印。
2、基本理论框架
一个数字水印方案一般包括三个基本方面:水印的生成、水印的嵌入和水印的提取或检测。数字水印技术实际上是通过对水印载体媒质的分析、嵌入信息的预处理、信息嵌入点的选择、嵌入方式的设计、嵌入调制的控制等几个相关技术环节进行合理优化,寻求满足不可感知性、安全可靠性、稳健性等诸条件约束下的准最优化设计问题。而作为水印信息的重要组成部分——密钥,则是每个设计方案的一个重要特色所在。往往可以在信息预处理、嵌入点的选择和调制控制等不同环节入手完成密钥的嵌入。
数字水印一般过程基本框架示意图如图1和图2所示。
数字水印
(W)
原始载体数据(I)
水印嵌入
算法(E)
加入水印后的数据()
私钥/公钥(K)
图1 水印嵌入的一般过程基本框架
图1展示了水印的嵌入过程。该系统的输入是水印信息、原始载体数据和一个可选的私钥/公钥。其中水印信息可以是任何形式的数据,如随机序列或伪随机序列;字符或栅格;二值图像、灰度图像或彩色图像;3D图像等等。水印生成算法应保证水印的唯一性、有效性、不可逆性等属性。水印信息可由伪随机数发生器生成,另外基于混沌的水印生成方法也具有很好的保密特性。密钥可用来加强安全性,以避免未授权的恢复和修复水印。所有的实用系统必须使用一个密钥,有的甚至使用几个密钥的组合。
水印的嵌入算法很多,从总的来看可以分为空间域算法和变换域算法。具体算法我将在后面详细介绍。由图1可以定义水印嵌入过程的通用公式:
(1)
其中表示嵌入水印后的数据(即水印载体数据),表示原始载体数据,表示水印集合,表示密钥集合。这里密钥是可选项,一般用于水印信号的再生。
待检测数据()
水印检测
算法(D)
估计水印()/相似度检测(Sim)
私钥/公钥(K)
图2 水印检测的一般过程基本框架
图2是水印的检测过程。由图2可以定义水印检测过程的通用公式为
-
有原始载体数据时:
(2)
-
有原始水印时:
(3)
-
没有原始信息时:
(4)
其中,表示估计水印, 为水印检测算法,表示在传输过程中受到攻击后的水印载体数据。检测水印的手段可以分为两种:一是在有原始信息的情况下,可以做嵌入信号的提取或相关性验证;二是在没有原始信息情况下,必须对嵌入信息做全搜索或分布假设检验等。如果信号为随机信号或伪随机信号,证明检测信号是水印信号的方法一般就是做相似度检验。水印相似度检验的通用公式为:
或 (5)
其中表示估计水印,表示原始水印,表示不同信号的相似度。
3、数字水印的分类
随着数字水印技术的发展,水印算法的分类方法繁多:
·按水印发展来看,可分为第一代水印和第二代水印;
·按嵌入的水印信号形式来分,可以分为一维水印和多维水印;
·按嵌入方法可以分为可逆水印和不可逆水印;
·按水印检测方法,可以分为盲水印和非盲水印;
·按鲁棒性来分,可分为易脆水印、半易脆水印和鲁棒水印;
·从外观上分类,可分为可见水印和不可见水印;
·按载体分类,可分为图像水印、视频水印、音频水印和文档水印;
·从水印的嵌入域来分,可分为空间域水印、变换域水印。
4、水印嵌入算法
数字水印技术的学科特点在于它横跨图像处理、多媒体技术、模式识别、密码学、数字通信等多学科领域,以这些领域的算法、思想和概念为基础。一个数字水印方案一般总是综合利用这些领域的最新进展,各学科的学者们也提出了不尽相同的算法。针对静态图象压缩标准JPEG[14],在离散余弦变换基础上植入数字水印的研究成为热点;针对目前流行的视频压缩标准MPEG[21]、H. 263,Dittmann等[22]提出了两种适用于空域和频域的算法;1995年,Cox等[23]在传统通信系统的基础上,提出了扩频水印的概念。这种方法较好地利用了人类视觉系统的特性,水印信息经过一定的调制过程隐藏于数字图象感知比较重要的频谱部分,从而可以抵抗有损压缩和其它数字图象处理操作;Xia等[24]、Zeng[25,26]等做了基于离散小波变换的数字水印技术研究;Zhu等[27]在DWT技术上,从编码角度做了一些研究;Pitas等[28,29,30]在统计学和混沌的基础上,提出了一种新颖的算法;Wolfgang等[31,32]、schyndel等[33]在其定义的m-序列基础上,提出了可以有效抵抗线性和非线性滤波以及JPEG有损压缩的数字水印植入算法;Qu等[34]以图形着色问题为基础,提出了两种有趣的数字水印技术;Kankanhalli等[35]研究了基于图象内容的数字水印技术,这与计算机视觉的发展是密不可分的;在计算机图形学研究领域,1999年的SIGGRAPH大会上,Praun等[36]提出了在造型的三维网格上植入数字水印的方法,Ohbuchi[37]也做了类似的工作;Maes[38]等提出了基于几何变形的方法;Paute[39]等从分形压缩的角度提出了方法。此外,很多学者[40,41,42]还提出了一些对数字水印进行攻击的方法,非常有助于鲁棒性要求很高的数字水印技术的研究。
下面采用按嵌入域的分类方法来具体的介绍一下数字水印各种方法的嵌入和检测过程。
4.4.1 空间域数字水印
较早的数字水印算法都是空间域上的,空域水印处理使用各种各样的方法直接修改图像的象素,将数字水印直接加载在数据上,现已提出了如下几种较典型的空域数字水印方法。
4.4.1.1 最低有效位方法(Least Significant Bit)
这是一种典型的空间域数据隐藏方法,L. F. Turner[46]与R. G. Van Schyndel[47]等先后利用此方法将特定的标记隐藏于数字音频和数字图像内。以图像数据而言,一幅图像的每个象素是以多比特的方式构成的,在灰度图像中,每个象素通常为8位;在真彩色图像(RGB方式)中,每个象素为24比特,其中RGB三色各为8位,每一位的取值为0或1。在数字图像中,每个象素的各个位对图像的贡献是不同的。对于8位的灰度图像,每个象素的数字可用公式表示为:
(6)
其中代表象素的第几位,表示第位的取值,。
这样,我们把整个图像分解为8个位平面,从LSB(最低有效位0)到MSB(最高有效位7)。从位平面的分布来看,随着位平面从低位到高位(即从位平面0到位平面7),位平面图像的特征逐渐变得复杂,细节不断增加。到了比较低的位平面时,单纯从一幅位平面上已经逐渐不能看出测试图像的信息了。由于低位所代表的能量很少,改变低位对图像的质量没有太大的影响。LSB方法正是利用这一点在图像低位隐藏入水印信息。图3-图11分别显示了原始camera图及其从高位到低位的八个位平面。
在进行数字图像处理和图像变换后,图像的低位非常容易改变,攻击者只需通过简单地删除图像低位数据或者对数字图像进行某种简单数学变换就可将空域LSB方法加入的水印信息滤除或破坏掉,因此同变换域的方法相比,这种水印算法的鲁棒性非常弱。尽管如此,由于LSB方法实现简单,隐藏量比较大,以LSB思想为原型,产生了一些变形的LSB方法,目前互联网上公开的图像信息隐藏软件大多使用这种方法。