我们必须认识到面向版权保护的强壮水印技术是一个具有相当难度的研究领域。直到目前,还没有一个算法能够真正经得起一个精明的攻击者的进攻。 Internet上已经可以得到能够有效击垮某些商业水印系统的软件,如 Stirmark和 Unzign,我们进行攻击分析就在于找出现有系统的弱点及其易受攻击的原因,然后加以改进。典型水印攻击方式可以分为鲁棒性攻击、表达攻击、解释攻击和法律攻击,其中前 3类可归类为技术攻击,而法律攻击则完全不同,它是在水印方案所提供的技术特点或科学证据的范围之外进行的。在此,仅论述常见的前 3类技术攻击方法和一些基本对策。
(1)鲁棒性攻击
在不损害图像使用价值的前提下减弱、移去或破坏水印,也就是各种信号处理操作,还有一种可能性是面向算法分析的。这种方法针对具体的水印插入和检测算法的弱点来实现攻击。攻击者可以找到嵌入不同水印的统一原始图像的多个版本,产生一个新的图像。大部分情况下只要简单的平均一下,就可以有效的逼近原始图像,消除水印。这种攻击方法的基础就是认识到大部分现有算法不能有效的抵御多拷贝联合攻击(相当于上述一般分类方法中的统计学水印抽取)。
鲁棒性攻击以减少或消除数字水印的存在为目的,包括像素值失真攻击、敏感性分析攻击和梯度下降攻击等。这些方法并不能将水印完全除去,但可能充分损坏水印信息。为抵抗这类攻击,总体要求水印算法是公开的,算法的安全性应依赖于与图像内容有关或无关的密钥及算法本身的特性。
(2)表达攻击
这种攻击并不一定要移去水印,它的目标是对数据作一定的操作和处理,使得检测器不能检测到水印的存在。一个典型的例子是用这种方法愚弄 Internet上的自动侵权探测器 Webcrawler。这个探测器自动在网上下载图片,然后根据水印检查有无侵权行为。它的一个弱点是当图像尺寸较小时,会认为图像太小,不可能包含水印。那么我们可以先把水印图像分割,使每一小块图像的尺寸小于 Webcrawler要求的尺寸下限,再用合适的 HTML标记把小图像重组在 Web页中。这种攻击方法一点也不改变图像的质量,但由于 Webcrawler看到的只是单个的小图像,所以它失败了。
表达攻击是让图像水印变形而使水印存在性检测失败,包括置乱攻击、同步攻击等。与鲁棒性攻击相反,表达攻击实际上并不除去嵌入的水印,而试图使水印检测器与嵌入的信息不同步。当二者完全同步时,检测器能恢复嵌入的水印信息,但对同步处理的复杂性要求太高而不便于实用。为了战胜表达攻击,水印的检测算法应有与人交互的功能,或设计更复杂更智能的包含所有表达攻击模式的检测器。
(3)解释攻击
在一些水印方案中可能存在对检测出的水印具有多种解释。解释攻击包括拷贝攻击、可逆攻击等,它使数字水印的版权保护受到了挑战。这种攻击在面对检测到的水印证据时,试图捏造出种种解释来证明其无效。一种通用的方法是分析水印算法并逆其道而行。攻击者先设计出一个自己的水印信号,然后从水印图像中减去这个水印(不是指代数减,而是插入过程的逆),这样就制造出一个虚假的原始图像,然后他出示虚假的原始图像和捏造出的水印,声称他是图像的拥有者。实验表明,真正拥有者原始图像中含有攻击者捏造的水印的证据(即水印检测结果)与攻击者虚假图像中含有真正拥有者水印的证据旗鼓相当,这带来了无法解释的困境(相当于上述分类方法中的伪造水印的抽取)。当然,攻击者必须能够得到水印算法的细节并捏造出一个合理的水印。
一个最有效的方法是设计出不可逆的水印插入算法,例如引入不可逆的哈希过程。但现行算法均不是完全不可逆的。对于解释攻击还应该引入一种对水印的管理机制,比如建立可信任的第三方作为水印验证机构,用管理手段实现对水印的仲裁。另一个潜在的解决方法是构建与图像内容相关的数字水印。
(4)法律攻击
得益于关于版权及数字信息所有权的法律的漏洞和不健全,据此应健全相关法律条例和公证制度,把数字水印作为电子证据应用于版权的仲裁,其中涉及计算机取证和纳证。