2.3 水印嵌入的总体思想
(1)嵌入点的选取:
以往对中文word文档中水印嵌入点的选取方式主要有以下几个方式:
①在文本中文字末尾的前后加空格作为嵌入点。
②在某些文字下面加下划线作为水印嵌入点。
③将文本的某一整行垂直移动来插入标记。
④将文本的某一行中的一个汉字水平移位。
⑤改变某个字母的垂直线的高度等属性。
⑥根据汉字结构特点(如左右结构、上下结构等等)选取满足需求的汉字。
⑦根据字母的ASCII编码的分布特点选取符合需求的字符。
以上这些嵌入点的选取,具有以下几个特点:
①选取是随机的。
②选取的数量是不确定的。
③不均匀不分敖的。
④选取后被选取的单元没有被标定。
这样选取结果是在事后的水印提取和检测时,原始文本一旦被改动,会影响对嵌入点的查找。本文对嵌入点的选取做了改进。做到了分散均匀定量选取,并对选取的内容进行标定。方法如下:
对于某一原始文本,从前向后均匀的选取出所需要的三组文字,并且用文字本身的内雹属性对所选文字进行标定。
(2)水印信息的预处理:当嵌入的水印信息量稍大时将对文本长度有更高的要求。基于降低文本长度限制和原始水印信息量尽量不受限制的考虑,为解决这两者的矛盾,选择一种安全可靠的HASH函数(MD5算法)求得原始水印信息的摘要(长度:128bit),把它作为最终加载的水印数据,一方面对原始水印起到了加密的效果,加强了嵌入信息的安全性(即使攻击者提取了文本中嵌入的水印也因MD5算法的不可逆而无法求得原始水印信息),一方面原始水印信息的长度可以不受限制。
本文的方法是先将原始水印信息W和整个原始文本T一并作为新的水印信息再用MD5算法求得新水印信息wl的摘要w1作为最终加载的水印数据。这样处理的意义是:一方面是当有恶意进行文字替换攻击时,原来被修改的属性将移植到被替换后的文字上,这样不影响水印提取,但是从提取出水印就能够得到原始文本,通过比较就能够发现被攻击的情况。以免检测不到攻击。另一方面是有恶意进行字符增删攻击时,只要能提取出水印就能够进取出原始文本的原样。最后要考虑的就是水印的嵌入方式。水印的嵌入方式采用改变文字的特殊属性值的方法来实现的。
(3)采用此嵌入方法的优点分析
在水印实验的前期也曾考虑对水印予以实施重复编码或奇偶校验码等差错控制码,但是因攻击行为却往往针对文本连续的若干汉字进行删除或者进行替换了(如1个或几个段落或某1块内容的删除),这样差错控制码的纠错功能就很有限(甚至反而不便于查错与纠错),故而没有采用差错控制码,而是用分组的方式(使纠错更方便),使水印半脆弱冗余嵌入以利于校检和纠错。
这种基于字符属性及汉字内容的半脆弱水印嵌入方法,有几个方面的优点:
①水印隐蔽性较强。用户一般难于觉察,水印遭全面破坏的几率小。
②鲁棒性增强。因为3组水印的嵌入方式使得文本遭受各种攻击时,具备较强的水印提取和纠错提取的能力。
③兼具较强的文本完整性的检测能力。水印的嵌入情况与文字内容相关,使水印检测的同时对文本完整性兼具较强的检测能力,即很容易检测到遭受各种攻击的情况。文本水印的嵌入方法可分为2类:1类是基于格式(如:字间距)的水印嵌入方式,
另1类是基于文本内容的水印嵌入方式(如:文本内容比如汉字的等价或近似替换,以此方式表示水印信息0或1)。基于格式的水印嵌入方式主要优点是不存在文本内容的某种变化,内容完全合乎文本的原意,而之所以鼓励采用基于文本内容的水印嵌入方式, 基于WORD文档的防篡改水印系统设计与实现(6):http://www.751com.cn/jisuanji/lunwen_1627.html