关于脆弱的图象水印的概述(翻译)


1.注


这是一篇翻译文章,概述脆弱水印的一些基本特征和发展现状。作者是美国Purdue大学视频和图象处理实验室的Eugene T. Lin和Edward J. Delp。Delp算是水印界的一个知名人物了,老头做水印也有些年头,现在很多水印方面的会议和WORKSHOP都是他召集的。翻译是由同济大学的G.C.Zhang完成的。


2.介绍<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

现今的数字多媒体时代给图象内容的创造和分配带来了便利,不过同时复制和编辑的轻而易举也为未经授权的使用,盗用和误传提供了条件。内容提供者会很自然地关心这些问题和水印,也就是将另外的信息(水印)嵌入到一张图片的做法, 这种做法已经被提议用来保护所有者的权利.

许多种水印已经被开发用于各种各样的应用。水印可以是可见的也可以是不可见的,一个可见的水印可以容易地通过观察来检测,而不可见的水印被设计成只对使用信息处理技术的观察者和检测者是透明的。嵌入水印的过程要求修改原始图象并且从本质上说这一水印嵌入的过程在图象中插入了一定数量的变形。这一变形的恢复可以用来鉴别图象的所有者。不可见的或者可见的水印利用人类视觉系统这一道具来使水印图象中的能够被感知的变形最小化。在各类可见的水印中,有一类能够深入的从技术角度分为坚强的和脆弱的。一个坚强的水印被设计用来抵抗试图移去或者毁掉水印的攻击。这些攻击包括有损压缩,滤波和几何上的缩放比例。一个脆弱的水印被设计用来尽可能的检测出水印图象的微小变化。脆弱水印的主要应用是在内容鉴定上。正如文学作品中所报道的,大多数的水印工作是在坚强技术领域的。许多重要的应用都能从脆弱水印的使用上获益。

3. 脆弱水印的应用

一个脆弱的水印是一种当主图象通过一个线性或者非线性变换被修改时能够容易地被改变或者毁掉的标记。脆弱的水印不适合用来加强数字图象的版权,一个攻击者会试图毁掉这已经嵌入的水印而脆弱水印,从名字上就可以看出来,很容易就被毁掉了。脆弱水印对于修改的敏感性使得它被用在图象鉴定上。也就是说,党政机关也许会对证实一张图片从嵌入水印后没有被编辑,毁坏或者改变感兴趣。

图象鉴定系统适用于法律,商业,国防和新闻领域。自从数字图象变得容易修改,当一幅图象的可信性受到怀疑时,一个安全的鉴定系统对于证明没有篡改发生是有用的。普通的例子有在数据库的图象中嵌入水印来检测篡改,在“可信照相机”中使用以使得通讯社能够确保一幅图象不是伪造或者编辑过用来伪造事件的,还有在商业图象的标记中使用以使得一个购买者能够在收到所买的图象时确定是可信的。另外的情况包括在法庭证据,新闻摄影或者是间谍活动中使用的图象。

另外一种校验一个数字产品真实性的方法是使用一种签名系统。在一个签名系统中,待鉴定的数据的摘要通过用密码写的杂乱信号的作用被包含在内了。然后这摘要被以密码形式签名从而产生了必定要原始数据的签名。随后,一个接收者通过检查数据的摘要(可能已经修正)来核实这个签名并切使用一种确认法则来判断这一数据是否是可信的。虽然脆弱水印和数字签名系统的目的是相似的,但是和签名系统相比,水印系统对于要求在图像数据中做些修正(水印插入)是有一些优势的。由于一个水印是直接嵌入到图像数据中,对于真实性检验是没有必要有任何附加信息的(这和数字签名就不一样因为签名本身必须和传输的数据联系起来)。因此在真实性测试过程中需要的鉴定信息被小心得隐藏起来并且比数字签名更加难以移去。而且,数字签名系统将一幅图像视为任意的比特流而并不开发它独一无二的结构。所以一个签名系统也许能够发现一幅图像被改进了但却不能发现改动。许多水印系统能够测定一幅含有水印的图像的哪些部分被改变了而哪些部分没有,并且能估计改变的种类。

3.1 图像鉴定框架

嵌入和检测一个脆弱水印的框架和任意一种水印系统是相似的。一个所有者(或者一个独立的第三方权威人士)向一幅原始图像嵌入水印(见图一)。

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></path><lock v:ext="edit" aspectratio="t"></lock></shapetype>

这密钥是被用来产生水印并且是作为分配给所有者或者图像的一种代表性的标识符。在一些诸如数字相机之类的应用领域原始图像被保密或者也许甚至不可用。这水印图像可能是传输式的,呈现式的或者是分布式的。水印图像在正常的观测下和原始图像从视觉上是完全一样的。看一下图2和图3作为一个原始和使用如前所述的脆弱水印技术图像的一个例子。

当一个使用者接收到一幅图像时,他们使用检测工具来评估所接收到图像的真实性(参考图4)。

这一检测过程也要求一些“附加信息”的知识。这一附加信息也许是密钥,水印,原是图像或者其他信息。这检测工具经常建立在一个测试的统计量是如何产生的统计检测理论的基础上并且经过那个测试统计量着图像被认定是可信的。如果图像并不是可信的那么用检测工具来决定图像的哪一部分被修改了是理想的。对于整个脆弱水印的使用来说,检测工具所使用的附加信息是非常重要的。要求检测工具拥有原始图像的技术被认为是私人水印而要求检测工具一定得拥有原始图像的技术被认为是公共水印。一个脆弱水印系统要起作用的话必须是一种公共的技术。在许多应用领域,这原始图像也许永远都是不可用的,因为它也许在产生的时候就被嵌入了水印。

在数据库的应用中,给图像添加水印的所有者或者权威人士经常是那些对检验图像在一段时间内没有被改变感兴趣的人。举个例子,在一个医学的数据库中,检测出对图像的任何更改是重要的。在另外的应用领域,例如商业,检测人员和标记实体是截然不同的。在这些情况下,选择一种标记和检测信息完全不同的系统是必要的。在这样一个系统中,检测图像真实性的能力并不能保证标记图像的能力。在现今文献中所描述的极大部分的脆弱水印系统都不能实现这一步骤。

4. 脆弱水印系统的特征

我们现在来介绍一下脆弱水印系统的理想特性,注意到这些特性的相对重要性是建立在应用的基础上的。除了下面将描述的特性的补充和我们以前所提到过的理想道具,应用对其他的都可能有要求,其他的道具能够在[4][12][13]:中找到。

1.检测篡改. 一个脆弱的水印系统应该检测出对一幅水印图像的任意篡改(以高可能性)。这是一个脆弱水印最基础的特性并且是可靠地测试图像真实性的一个要求。在许多应用中,提供一个产生了多少改动或者毁坏和产生的地方的指示也是必要的。

2.可见的 透明度. 一个被嵌入的水印不应该在正常的观测下是可见的或者影响图像的功能性。在多数情况下这就是说要保留一幅图像的美学品质,然而如果一个应用也在水印图像中执行其他操作(比如特征抽出),那么这些操作不能被影响。可惜的是对于嵌入水印过程产生的“噪声”怎样影响其它的图像处理操作并没有太多的信息。这是一个开放的研究问题。同样,透明度在特定应用领域和与感知到的图像质量紧密相关的找寻方法上也许是一个个人(主观)问题,可能很困难。

3.检测不需要原始图像. 这个在第三部分已经有详细的讨论了。正如上面所提到的这原始图像可能不存在了或者这所有者可能有很充分的理由不相信第三方(因为那样的话第三方就能在原始图像上嵌入他们自己的水印然后声称这是他们自己的)。

4.检测者应该能够查找出并且表现出对一幅水印图像的更改。这个包括在一幅被改动过的可信的或者被破坏的图像中查找空间地方的能力。检测者同样也应该能够估计出哪种更改已经发生了。

5.水印在“切料”之后时可检测的.在一些应用中,水印能够在“切料”之后被检测出来的能力也许是必要的。举个例子,一方也许对一张相对大的水印图像的一部分感兴趣(地形,人,等等)。在其他的应用领域,由于“切料”被当作一种修改所以这一特性是不理想的。

6. 由不同密钥产生的水印在水印检测过程中应该是“正交的”。在一幅图像中嵌入的、通过使用特定的一种密钥产生的水印,必须只能通过提供给检测者相应的检测附加信息才能被检测出来。其他所有的提供给检测者的附加信息都应该不能检测出水印。

7.密钥的使用范围必须很广。这是为了能提供给大量的用户,并且即使敌对方不知何故地同时获得了一张特定图片未被加密和加密的版本,也能阻碍试图通过详尽搜索来获取某一特定密钥的行为。

8. 密钥必须很难从检测附加信息中推测出来。这对于那些有截然不同的嵌入和检测密钥的系统来说尤其重要。通常在这样的系统中嵌入密钥是私人的,而相应的检测附加信息可能会提供给其他的部门。如果其他的部门能够从检测信息中推测出密钥,那么他们就也许能够在那些所有者从未想要加密的图片中嵌入所有者的密钥。

9.没有被授权的部门想要嵌入水印应该很困难。在[4]中所提到的一种特别的攻击就是将水印从一幅水印图象中移除并且随后将它嵌入到另外的一张图片。

10. 水印必须能够被嵌入到压缩域中。这和水印能在图片被压缩后保留下来的说法是不一样的,这种压缩能够被看作一种攻击。在许多应用中,在压缩域中嵌入水印的能力拥有有意义的优势。

5. 对脆弱水印的攻击

我们在设计和评估标记系统的时候必须留心恶意组织的潜在攻击。想要在设计一个系统的时候完全不受任何种类的攻击几乎是不可能的,战胜标记系统的新方法会及时地被发明出来。但是当然对于改进系统的设计来说,普通攻击模式的知识是要求的。

第一种攻击是对一张水印图片的盲目修改(也就是在假定没有水印的条件下任意地修改图片)。虽然我们提到这种攻击是因为它也许是一个标记系统受到的最平常的一种,它必须容易地被任何脆弱水印认出来。这种攻击包括移植和局部的替代(比如用其他人的脸替换一个人的脸)。后面的一种修改是为什么一种应用也许要能够显示出一幅被改动过的图片中被毁坏的部分的重要理由。

另外的一种攻击是试图在不影响已经嵌入的水印的情况下修改水印图象本身或者是建立一种能够被检测者接受并认为是可信的新水印。一些不牢固的脆弱水印能够轻易地检测出对于图象的胡乱改变但是也许不能检测出一个经过仔细构造的修改。一个例子是在一幅图象中的最不重要的平面中嵌入的脆弱水印。试图在不知道水印在LSB算法中被压缩的情况下修改图片的做法是很可能扰乱水印并且被检测出来的。但是,一个攻击者也许试图在不扰乱任何LSB算法的情况下修改图片或者在一张检测者认为是可信的已经修改过的图片中用一种新的LSB算法替代。

攻击也许也包含从一张水印图象中使用已知的有效水印作为另外的任意图象的水印。如果可以推测出水印是怎样被嵌入的,那么水印转移的攻击就变的很容易。这种类型的攻击也能够在同一张图片上进行,首先水印被移除,然后图象被修改,最后水印被重新嵌入。

一个攻击者也许对完全地移除水印并且一点都没有残余感兴趣(也许这样他们就能够否认曾经对一张已经嵌入他们的水印的图象证据的害怕)。为了达到这一目的,一个攻击者可能会试图在图象中添加任意的噪声,使用设计好的技术来毁掉水印,或者利用统计分析或推断来推测原始图象。

一个攻击者也可能会试图推测用来产生水印的密钥。密钥和一个嵌入的水印是密切联系的,所以如果能够分离水印的话攻击者然后就能分析它并试图推测出密钥(或者减少密钥的搜寻范围)。一旦密钥被推测出来了,攻击者就能往任何图象中伪造密钥。

也有已知的包含鉴定模型的攻击并且对于一幅图片中特定的水印来说是不多的。对于在不可靠通道上对鉴定系统的攻击在[8]中也讨论了并且类似的攻击也适用于水印系统。

6.脆弱水印系统的例子

我们现在来调查在文献里描述的一些脆弱水印系统。我们可以将技术分类为在空间域或者变换域直接起作用。

6.1 空间域水印

早期的脆弱水印系统将水印直接嵌入到一幅图片的空间域,比如在Walton [16]和van Schyndel[17]中所描述的技术。这些技术将水印以可以感知的透明度嵌入到最不重要的面。他们的重大缺点包括很容易就能绕过他们所提供的安全系统和无法在不毁坏水印的前提下实现无损压缩。

Wolfgang 和 Delp继续了Schyndel的工作来改进他们的VW2D技术的生命力和局限性。通过添加空间域中一种两极的M序列来嵌入水印。检测通过改良的相关检测器来完成。对于局部来说,在嵌入和检测的时候使用一种模块化结构。这种标记已经和其他使用杂乱信号功能的方法作了比较。

P. Wong[19]中介绍了另外的脆弱水印技术,这种技术包含了一个使用一种杂乱信号功能的分类。图象、图象尺寸和密钥在嵌入过程中是杂乱的并且被用来修改原始图象中最不重要的平面。这个操作是通过以下的方式实现的,当正确的检测边缘信息和未被改动的水印图象提供给检测者的时候,由所有者选择的双层图象被观测出来了。这一技术拥有局部道具并且能够鉴别出一张水印图象中已修改像素的区域。

你可能感兴趣的:(设计模式,算法,F#,嵌入式,Office)