1 信息隐藏
1. 1 信息隐藏模型
信息隐藏 (Information Hiding)不同于传统的密码学技术。密码技术主要是研究如何将机密信息进行特殊的编码,以形成不可识别的密码形式 (密文 )进行传递;而信息隐藏则主要研究如何将某一机密信息秘密隐藏于另一公开的信息中,然后通过公开信息的传输来传递机密信息。对加密通信而言,可能的监测者或非法拦截者可通过截取密文,并对其进行破译,或将密文进行破坏后再发送,从而影响机密信息的安全;但对信息隐藏而言,可能的监测者或非法拦截者则难以从公开信息中判断机密信息是否存在,难以截获机密信息,从而能保证机密信息的安全。多媒体技术的广泛应用,为信息隐藏技术的发展提供了更加广阔的领域。
我们称待隐藏的信息为秘密信息 (secret message),它可以是版权信息或秘密数据,也可以是一个序列号;而公开信息则称为载体信息 (cover message),如视频、音频片段。这种信息隐藏过程一般由密钥 (Key)来控制,即通过嵌入算法(Embedding algorithm)将秘密信息隐藏于公开信息中,而隐蔽载体 (隐藏有秘密信息的公开信息 )则通过信道 (Communication channel)传递,然后检测器 (Detector)利用密钥从隐蔽载体中恢复 /检测出秘密信息。
信息隐藏技术主要由下述两部分组成 :(1 )信息嵌入算法,它利用密钥来实现秘密信息的隐藏 。 (2 )隐蔽信息检测 /提取算法 (检测器 ) ,它利用密钥从隐蔽载体中检测 /恢复出秘密信息。在密钥未知的前提下 ,第三者很难从隐秘载体中得到或删除,甚至发现秘密信息 。
1. 2 信息隐藏特点
信息隐藏不同于传统的加密 ,因为其目的不在于限制正常的资料存取,而在于保证隐藏数据不被侵犯和发现 。因此,信息隐藏技术必须考虑正常的信息操作所造成的威胁,即要使机密资料对正常的数据操作技术具有免疫能力。这种免疫力的关键是要使隐藏信息部分不易被正常的数据操作 (如通常的信号变换操作或数据压缩 )所破坏。根据信息隐藏的目的和技术要求 ,该技术存在以下特性:
- 鲁棒性 (robustness) 指不因图象文件的某种改动而导致隐藏信息丢失的能力。这里所谓"改动"包括传输过程中的信道噪音、滤波操作、重采样、有损编码压缩、D/ A或 A/ D转换等 。
- 不可检测性 (undetectability) 指隐蔽载体与原始载体具有一致的特性。如具有一致的统计噪声分布等,以便使非法拦截者无法判断是否有隐蔽信息 。
- 透明性 (invisibility) 利用人类视觉系统或人类听觉系统属性,经过一系列隐藏处理 ,使目标数据没有明显的降质现象,而隐藏的数据却无法人为地看见或听见 。
- 安全性 (security) 指隐藏算法有较强的抗攻击能力,即它必须能够承受一定程度的人为攻击 ,而使隐藏信息不会被破坏。
- 自恢复性 由于经过一些操作或变换后 ,可能会使原图产生较大的破坏,如果只从留下的片段数据 ,仍能恢复隐藏信号,而且恢复过程不需要宿主信号 ,这就是所谓的自恢复性。信息隐藏学是一门新兴的交叉学科,在计算机、通讯、保密学等领域有着广阔的应用前景。数字水印技术作为其在多媒体领域的重要应用,已受到人们越来越多的重视 。
2 数字水印
2 .1 背景
随着数字技术和因特网的发展 ,各种形式的多媒体数字作品 (图象、视频、音频等 )纷纷以网络形式发表,其版权保护成为一个迫切需要解决的问题 。由于数字水印 (digital watermarking)是实现版权保护的有效办法,因此如今已成为多媒体信息安全研究领域的一个热点,也是信息隐藏技术研究领域的重要分支。该技术即是通过在原始数据中嵌入秘密信息--水印 (watermark)来证实该数据的所有权。这种被嵌入的水印可以是一段文字、标识、序列号等,而且这种水印通常是不可见或不可察的 ,它与原始数据 (如图象、音频、视频数据 )紧密结合并隐藏其中,并可以经历一些不破坏源数据使用价值或商用价值的操作而能保存下来。数字水印技术除了应具备信息隐藏技术的一般特点外,还有着其固有的特点和研究方法 。在数字水印系统中 ,隐藏信息的丢失,即意味着版权信息的丢失 ,从而也就失去了版权保护的功能 ,也就是说,这一系统就是失败的 。由此可见,数字水印技术必须具有较强的鲁棒性、安全性和透明性 。
2. 2 典型数字水印系统模型
图 1为水印信号嵌入模型 ,其功能是完成将水印信号加入原始数据中;图 2为水印信号检测模型,用以判断某一数据中是否含有指定的水印信号。
2.3 数字水印主要应用领域
- 版权保护 即数字作品的所有者可用密钥产生一个水印,并将其嵌入原始数据,然后公开发布他的水印版本作品。当该作品被盗版或出现版权纠纷时,所有者即可利用图3或图4的方法从盗版作品或水印版作品中获取水印信号作为依据,从而保护所有者的权益。
- 加指纹 为避免未经授权的拷贝制作和发行,出品人可以将不同用户的ID或序列号作为不同的水印(指纹)嵌入作品的合法拷贝中。一旦发现未经授权的拷贝,就可以根据此拷贝所恢复出的指纹来确定它的来源。
- 标题与注释 即将作品的标题、注释等内容(如,一幅照片的拍摄时间和地点等)以水印形式嵌入该作品中,这种隐式注释不需要额外的带宽,且不易丢失。
- 篡改提示 当数字作品被用于法庭、医学、新闻及商业时,常需确定它们的内容是否被修改、伪造或特殊处理过。为实现该目的,通常可将原始图象分成多个独立块,再将每个块加入不同的水印。同时可通过检测每个数据块中的水印信号,来确定作品的完整性。与其他水印不同的是,这类水印必须是脆弱的,并且检测水印信号时,不需要原始数据。
- 使用控制 这种应用的一个典型的例子是DVD防拷贝系统,即将水印信息加入DVD数据中,这样DVD播放机即可通过检测DVD数据中的水印信息而判断其合法性和可拷贝性。从而保护制造商的商业利益。
2.4 典型数字水印算法
近年来,数字水印技术研究取得了很大的进步,下面对一些典型的算法进行了分析,除特别指明外,这些算法主要针对图象数据(某些算法也适合视频和音频数据)。
- 空域算法。该类算法中典型的水印算法是将信息嵌入到随机选择的图像点中最不重要的像素位 (LSB:least significant bits)上,这可保证嵌入的水印是不可见的。但是由于使用了图像不重要的像素位,算法的鲁棒性差,水印信息很容易为滤波、图像量化、几何变形的操作破坏。另外一个常用方法是利用像素的统计特征将信息嵌入像素的亮度值中。Patchwork算法方法是随机选择N对像素点 (ai,bi) ,然后将每个ai点的亮度值加 1 ,每个bi点的亮度值减 1,这样整个图像的平均亮度保持不变。适当地调整参数,Patchwork方法对JPEG压缩、FIR滤波以及图像裁剪有一定的抵抗力,但该方法嵌入的信息量有限。为了嵌入更多的水印信息,可以将图像分块,然后对每一个图像块进行嵌入操作。
- 变换域算法。该类算法中,大部分水印算法采用了扩展频谱通信 (spread spectrum communication)技术。算法实现过程为:先计算图像的离散余弦变换 (DCT),然后将水印叠加到DCT域中幅值最大的前k系数上(不包括直流分量),通常为图像的低频分量。若DCT系数的前k个最大分量表示为D={ di },i=1 ,… ,k,水印是服从高斯分布的随机实数序列W ={ wi },i=1 ,… ,k,那么水印的嵌入算法为di = di(1 + awi),其中常数a为尺度因子,控制水印添加的强度。然后用新的系数做反变换得到水印图像I。解码函数则分别计算原始图像I和水印图像I*的离散余弦变换,并提取嵌入的水印W*,再做相关检验 以确定水印的存在与否。该方法即使当水印图像经过一些通用的几何变形和信号处理操作而产生比较明显的变形后仍然能够提取出一个可信赖的水印拷贝。一个简单改进是不将水印嵌入到DCT域的低频分量上,而是嵌入到中频分量上以调节水印的顽健性与不可见性之间的矛盾。另外,还可以将数字图象的空间域数据通过离散傅里叶变换(DFT)或离散小波变换(DWT)转化为相应的频域系数;其次,根据待隐藏的信息类型,对其进行适当编码或变形;再次,根据隐藏信息量的大小和其相应的安全目标,选择某些类型的频域系数序列(如高频或中频或低频);再次,确定某种规则或算法,用待隐藏的信息的相应数据去修改前面选定的频域系数序列;最后,将数字图象的频域系数经相应的反变换转化为空间域数据。该类算法的隐藏和提取信息操作复杂,隐藏信息量不能很大,但抗攻击能力强,很适合于数字作品版权保护的数字水印技术中。
- 压缩域算法 基于JPEG、MPEG标准的压缩域数字水印系统不仅节省了大量的完全解码和重新编码过程,而且在数字电视广播及VOD(Video on Demand)中有很大的实用价值。相应地,水印检测与提取也可直接在压缩域数据中进行。下面介绍一种针对MPEG-2压缩视频数据流的数字水印方案。虽然MPEG-2数据流语法允许把用户数据加到数据流中,但是这种方案并不适合数字水印技术,因为用户数据可以简单地从数据流中去掉,同时,在MPEG-2编码视频数据流中增加用户数据会加大位率,使之不适于固定带宽的应用,所以关键是如何把水印信号加到数据信号中,即加入到表示视频帧的数据流中。对于输入的MPEG-2数据流而言,它可分为数据头信息、运动向量(用于运动补偿)和DCT编码信号块3部分,在方案中只有MPEG-2数据流最后一部分数据被改变,其原理是,首先对DCT编码数据块中每一输入的Huffman码进行解码和逆量化,以得到当前数据块的一个DCT系数;其次,把相应水印信号块的变换系数与之相加,从而得到水印叠加的DCT系数,再重新进行量化和Huffman编码,最后对新的Huffman码字的位数n1与原来的无水印系数的码字n0进行比较,只在n1不大于n0的时候,才能传输水印码字,否则传输原码字,这就保证了不增加视频数据流位率。该方法有一个问题值得考虑,即水印信号的引入是一种引起降质的误差信号,而基于运动补偿的编码方案会将一个误差扩散和累积起来,为解决此问题,该算法采取了漂移补偿的方案来抵消因水印信号的引入所引起的视觉变形。
- NEC算法 该算法由NEC实验室的Cox等人提出,该算法在数字水印算法中占有重要地位,其实现方法是,首先以密钥为种子来产生伪随机序列,该序列具有高斯N(0,1)分布,密钥一般由作者的标识码和图象的哈希值组成,其次对图象做DCT变换,最后用伪随机高斯序列来调制(叠加)该图象除直流(DC)分量外的1000个最大的DCT系数。该算法具有较强的鲁棒性、安全性、透明性等。由于采用特殊的密钥,因此可防止IBM攻击,而且该算法还提出了增强水印鲁棒性和抗攻击算法的重要原则,即水印信号应该嵌入源数据中对人感觉最重要的部分,这种水印信号由独立同分布随机实数序列构成,且该实数序列应该具有高斯分布N(0,1)的特征。
- 生理模型算法 人的生理模型包括人类视觉系统HVS(HumanVisualSystem)和人类听觉系统HAS。该模型不仅被多媒体数据压缩系统利用,同样可以供数字水印系统利用。利用视觉模型的基本思想均是利用从视觉模型导出的JND(Just Noticeable Difference)描述来确定在图象的各个部分所能容忍的数字水印信号的最大强度,从而能避免破坏视觉质量。也就是说,利用视觉模型来确定与图象相关的调制掩模,然后再利用其来插入水印。这一方法同时具有好的透明性和强健性。
3. 结论
信息隐藏及数字水印技术是近几年来国际学术界兴起的一个前沿研究领域。它与信息安全、信息隐藏、数据加密等均有密切的关系。特别是在网络技术和应用迅速发展的今天,水印技术的研究更具现实意义。今后水印技术的研究仍将着重于顽健性、真伪鉴别、版权证明、网络快速自动验证以及声频和视频水印等方面,并将与数据加密技术紧密结合,特别是顽健性和可证明性的研究。水印的顽健性能体现了水印在数字文件中的生存能力,当前的绝大多数算法虽然均具有一定的顽健性,但是如果同时施加各种图像攻击,那么这些算法均会失效。如何寻找更加顽健的水印算法仍是一个急需解决的问题。另外当前的水印算法在提供可靠的版权证明方面或多或少有一定的不完善性,因此寻找能提供完全版权保护的数字水印算法也是一个重要的研究方向。目前有很多的水印攻击方法(请参阅参考资料),作者针对攻击方法及相应的解决方案将另有文章论述。