樊宇
摘 要 本文通过深入分析二维矢量动画的文件结构,提出一种能够保护二维SWF矢量动画作品版权的数字水印方案,并引入了第三方注册的思想,经实验数据证明,该方案基本可以抵抗常规攻击,水印信号的嵌入在视觉上也不影视矢量动画的播放效果。
关键词 矢量动画;数字水印;第三方注册
中图分类号J2 文献标识码 A 文章编号 1674-6708(2015)138-0069-01
1 二维矢量动画基础
矢量动画构思巧妙、形式灵活、手法多样等特点被广泛应用于各领域,目前较为常见的矢量动画多为SWF动画,矢量动画的广泛应用使得版权保护问题显得尤为重要。
2 矢量动画文件特点
SWF矢量文件从纵向角度进行解析,分为文件头和头部之后的一系列Body标签组成。SWF文件从横向分析将文件分为描述型标签、控制型标签和字典三个对象。
描述型标签用以定义矢量动画中所需的不同对象,如形状、文本等,且后定义的内容可以引用前面所定义内容的相关属性,每一个描述标签都为对象定义一个ID号,ID在同一个文件中都是唯一的。播放器将每个对象的ID号存储在字典中。描述型标签只负责定义对象,但不能控制对象的显示和播放顺序。
控制型标签控制与动画播放相关的设置,控制型标签可以把字典中已经定义好的内容调入到播放列表中等待显示或控制渲染与播放。
字典就像一个库,用于存储描述标签定义的内容及其多对应ID,允许描述标签读取字典中已有的内容后重新定义更为复杂的对象,也允许控制标签从中提取引用相关对象及其对应的ID。
3 矢量动画水印方案设想
通过深入分析SWF文件的内部结构和工作原理发现,SWF矢量动画文件存在有以下几个特点。
1)SWF动画文件除了文件头和结束标签两个标签分别固定在文件结构头和尾之外,其他绝大多数标签的位置不影响SWF矢量动画的播放效果。
2)只有当播放器读取到“显示帧”标签时,播放列表中的内容才能渲染输出,因此,播放器显示的每一个帧的效果,都是当前帧中“显示帧”标签之前的所有标签内容的叠加,而凡是出现在“显示帧”标签之后的内容将不能输出到播放器中。
综上分析可知,我们可以把水印信息分组随机添加到帧内“显示帧”标签之后,这即可注明版权所有,同时不影响SWF矢量动画的播放效果。
4 矢量动画数字水印算法实现
4.1 水印的嵌入
设置水印文件,通过密钥K对水印信息进行分组处理,通过MD5算法计算密钥K的128为信息摘要,得到16位字节的M序列,再通过计算得出每个字节的权值,然后再对水印信息进行分组。将两组数据通过图1的方式把水印分组信息嵌入到动画的标签分组中,标签分组的“显示帧”标签后插入了新的水印分组信息,此信息不影响文件的播放但是会影响标签的长度。
为了对SWF文件可能受到的攻击进行明确定位,我们可以通过计算SWF文件标签的信息量,因为标签的顺序同样不影响动画的播放效果,我们将通过标签的信息量进行排序,当fSWF矢量动画文件被攻击时,标签信息会发生变化,那么标签排序必然会有改变,以此可以准确定位被破坏或修改的标签对象。
为了进一步明确版权信息,可以在第三方注册,出现纠纷时版权所有人提供密钥即可由第三方准确判断原始信息遭受到的攻击。
SWF矢量动画数字水印的嵌入过程如图1所示。
图1 水印的嵌入
4.2 水印的提取
数字水印的提取过程是嵌入水印的一个可逆的过程,根据嵌入的数字水印信息的总长度和密钥K的MD5得出水印信息的分组,然后找出SWF文件标签的分组信息,然后找出所有的水印分组信息,最终提取出水印文件。在水印提取过程中由第三方提供水印嵌入数据和文件的标签排序情况快速验证水印信息的准确性。
5 实验结果分析
针对SWF矢量动画数字水印的攻击可能有以下几种情况。
5.1 修改标签内容
初级盗版攻击可能会修改SWF矢量动画标签的内容,此类攻击多半是盗版者为了获取文件,对文件内的标签做了大量修改,这样会破坏原有的水印信息,但我们通过密钥K和第三方的配合可以快速准确的确认版权水印信息,从而进行维权行为。
5.2 更改标签的顺序
盗版者可能采取更改标签顺序的方式进行攻击,更改标签顺序可能会对水印信息的提取造成一定的影响,但嵌入水印时,我们已经通过计算SWF文件标签的信息量并进行了排序存储于第三方,假如盗版者更改了标签顺序,但标签的信息并没有改变,水印信息的完整性没有破坏,所以从视觉效果上对水印信息的影响不大。通过第三方提供的水印信息分组与标签分组的嵌入关系可以再准确提取出水印信息。
5.3 插入、删除标签
插入和删除标签的攻击对SWF矢量动画会有一定的影响,可能会使部分带有水印信息的标签对象被删除,但是,插入和删除标签的操作对SWF矢量动画视觉播放效果影响也很大,此类操作对于随机选择的标签分组添加水印的算法来讲微乎其微,对数字水印的提取不会产生太大影响。
6 结论
本文详细介绍SWF矢量动画数字水印的嵌入与提取方案。为了确保方案的实用性,本文重点提出了一个第三方注册的概念,我们将提取的水印分组信息到第三方进行注册,提高了方案的可行性。
参考文献
[1]熊富琴.多媒体数字水印技术综述[J].科技信息,2010.
[2]王丽侠.数字水印技术的研究[J].计算机安全,2010.
[3]邓华,司瑾,王光宇.基于Flash动画的数字水印设计方法[J].电脑编程技巧与维护,2011.