基于文字复杂度的抗打印扫描文本水印算法
雷敏, 杨榆, 胡若翔    
1. 北京邮电大学 信息安全中心, 北京 100876;
2. 灾备技术国家工程实验室, 北京 100876
摘要

机密信息通过打印文档泄露已成为重要安全问题.在文档打印过程中嵌入数字水印, 通过扫描打印件提取水印, 进而追踪泄密源, 是上述问题的一种有效解决方式.研究发现, 自然文档中的相邻文字高度并不相同, 并且文字高度相对关系经打印扫描等处理后能得到保留.据此, 提出一种强鲁棒文本水印算法, 并根据文字复杂度自适应地调整水印强度, 以保证视觉效果.实验结果表明, 使用该算法, 水印文档在经历打印—扫描、复印—扫描、拍照等多种攻击后, 其中信息仍能被正确提取.

关键词: 文档水印     泄密追踪     抗打印扫描    
中图分类号:TP391 文献标志码:A 文章编号:1007-5321(2015)增-0058-05 DOI:10.13190/j.jbupt.2015.增.014
A Print Resilient Watermark Scheme Based on Character Complexity
LEI Min, YANG Yu, HU Ruo-xiang    
1. Information Security Center, Beijing University of Posts and Telecommunications, Beijing 100876, China;
2. National Engineering Laboratory for Disaster Backup and Recovery, Beijing 100876, China
Abstract

As a kind of information leaking carrier, printed documents are recently becoming a large security risk. Tracing document with watermarks is an effective resolution to the problem. It is found out that the heights of neighboring characters from nature text are usually not the same, and most height relationships between character pairs keep reserved after print-scan. According to it, this paper proposes a new robust watermark method by modifying character's height. Besides, only those character pairs with similar complexity will be chosen to achieve better transparency. Experiments show that the watermark can be extracted from the texts distorted due to print-scan, print-copy, or print-photograph.

Key words: document watermark     information leak tracing     anti-printing    

近年来,内网安全事件逐年上升,有报道显示,继邮件泄密、移动存储泄密之后,打印机泄密成为第三大泄密方式.重要信息经由文档打印泄露已经成为企事业单位需要解决的重大问题之一.为了控制打印泄密的风险,现有研究主要围绕禁止打印、审计打印、嵌入可见标识[1]和不可见水印[2-7]几个方向展开.

禁止打印技术容易实现,但限制了用户的合法使用.审计打印技术能够缩小嫌疑范围,但难以准确定位泄密责任人.嵌入可见标识(如二维码)技术暴露了印记的位置,容易遭受剪切、涂抹等攻击,不适于追踪打印泄密责任人.

嵌入不可见水印把打印者身份信息作为水印嵌入到文档中以便追踪.其特点是算法对文档的修改,人眼难以识别.目前主要有以下几类算法.

行移编码[2-3]:调整文本的行间距以嵌入水印.文献指出,文本行移不超过1/300英寸时,人眼不易察觉.该算法的特点是稳健性强,缺点是嵌入容量过小.

字移编码[2-3]:调整文本字间距以嵌入水印.文献指出,文本字符移动不超过1/150英寸时,人眼不易察觉.相较于行移编码算法,字移编码算法嵌入容量有了显著提高,但字移编码算法提取水印时需要原始文档,这限制了其在打印追踪中的应用.

像素调整算法[4-6]:像素调整算法主要用于二值图像,通常利用黑、白色像素数量关系嵌入水印.算法参数通常与打印、复印或扫描设备有关,抵抗复印攻击的能力较弱.

变换域算法[7]:调整文档的变换域系数以嵌入水印.该算法的特点是对嵌入位置和提取位置的一致与否比较敏感,若因缩放、旋转或平移等产生位置失同步,水印信息可能完全无法提取.因此,仅适合于有边框文档等易于同步的应用场景.

根据上述可知,现有文档水印算法不能较好地满足打印追踪的应用要求.研究发现,自然字符存在固有高度差,并且,这种差异不会产生字符高低不齐的视觉效果.利用这一特点,提出一种基于字符高度差关系的抗打印扫描算法,并提出文字复杂度模型,利用该模型控制算法透明性.

1 算法原理1.1 符号约定

1) 字符图像

ci表示字符图像.字符图像是包括一个汉字完整笔画的最小矩形图像区域.最小意味着:无论该区域的高或宽再小一个像素,形成汉字形状的像素都会出现丢失.

ci[m, n]表示字符图像像素矩阵中第mn列像素值.

2) 字符图像高度

hi分别表示自然和水印文档第i个字符图像的高度(单位是像素).

3) 字符图像高度差

dhi=hi-hi+1表示原始文档相邻字符高度差,用表示相邻字符高度关系.其中sign(dhi)等于1表示字符ci高于ci+1,等于0则反之.令表示包含失真文档的相邻字符高度差.

4) 字符图像宽度

wi表示字符图像的宽度.

5) 字符图像重量(weight)

字符图像中黑色像素总和称为字符图像重量,第i个字符图像的重量定义为

(1)

式(1) 中,b是判决函数,定义如下:

(2)

对于二值图像,φ取值1;对于灰度图像,可取值为40.

6) 字符图像的宽高比(shape ratio)

字符图像宽高比用于描述字符的形状特性.如端正的字符,宽高比接近1.宽高比定义如下:

(3)

7) 字符图像的密度(density)

字符图像密度用于描述字符笔画的密集程度.鉴于字符图像的主要构成对象为笔画,所以像素密度足以描述笔画密集程度.

(4)
1.2 字符高度特征

研究发现,文本字符高度具有以下特征.

特征1 自然文档,相同字体字号的相邻字符存在固有高度差(如图 1所示),这种差距并不影响视觉效果,即高度差距并不会使文档看起来层次不齐.

图 1 自然字符高度差分布

特征2 由于打印扫描等过程,是以文档图像为完整对象进行操作,所以每个字符所受的干扰程度相当,因此,字符间相对高度关系基本得以保持.

图 2横轴为.由定义可知,值非零表示高矮关系变化.例如:值为1表示,自然文档中,hi大于hi+1,但在拍照文档中hi等于hi+1.由图可知,大部分字符间的高度关系得以维持(值为0).

图 2 文档拍照后字符高度关系变化情况分布

特征3 打印扫描等操作后,相邻字符高度关系是否发生变化,主要与相邻字符高度差有关.

分别研究了高度关系维持及发生变化的字符对,其高度差的分布情况.从图 3可以看到高度差为0或多个像素的相邻字符,其关系在打印扫描后都有可能保持不变. 图 4显示当高度差为0或1个像素时,相对高度关系最容易在相等与不等之间翻转. 图 5显示,高度关系发生翻转的字符比例不高,且高度差大多数为1个像素.

图 3 关系得到维持的高度差分布

图 4 关系在不等和等之间变化的高度差分布

图 5 关系发生翻转的高度差分布

从中可知,相邻字符高度差距在1个像素以内时,其关系最容易发生变化.大于等于2个像素时,高度关系容易得到维持.

特征4 对于打印扫描、拍照等操作,失真引入高度误差(操作前后字符的高度差异)集中在2个像素以内.

图 6横轴,单位为像素.纵轴为产生特定变化的字符对数,可见,高度差变化范围多为1个像素以内.

图 6 高度差变化情况分布

综上所述,根据特征1可知,自然文本存在固有高度差,因此只要加以控制,可以人为引入高度差且不显著影响视觉效果.根据特征2、3、4可知,当相邻字符高度相差≥2个像素时,打印扫描等处理后,相邻字符的高度关系不会发生变化,因此可适当调整字符高度差嵌入水印,并能在打印扫描后正确提取.

1.3 汉字复杂度模型

视觉特性1 字符复杂度与其重量、密度、宽高比特征有关.

尺寸不同的字符在人眼看来大小相同,是因为字符的复杂度不同.字符的复杂度,不仅与其笔画数目有关,还与笔画分布的疏密程度有关.因此,仅通过重量(反映笔画的多寡)、宽高比(反映字符的形状)、密度(反映分布情况)均不能完整地描述复杂度. 表 1列出从朱自清散文《荷塘月色》中摘取的典型字符,正反映了这一现象.

表 1 典型汉字特征

据此,根据各指标对字符复杂度体验影响的强弱,定义复杂度函数如下:

(5)

其中αβγ为字符重量、密度和宽高加权系数.重量的影响最大,取为0.8,密度影响次之,取为0.15,宽高比影响最小,取为0.05.

视觉特性2 调整字高后引入的“视觉误差”与相邻字符的复杂度差异有关.

将字符根据式(5) 排序分为两组,一组字符复杂度接近,另一组相反.分别调整两组字符的相邻高度,使一对字符中右侧字符比左侧字符高2个像素.效果如图 7所示,可以看出,复杂度接近的字符,视觉效果受到的影响要小得多.

图 7 各类操作效果
1.4 字符拉升算法

根据汉字高度特征以及基于复杂度的视觉模型可知,若相邻字符复杂度接近,可调整字符高度差嵌入水印.这是因为,当高度差大于阈值时,字符间的高矮关系对抗打印扫描等操作具有较强稳健性.同时,对于复杂度相近的字符组,这样的调整不容易被察觉.

嵌入比特1时,水印嵌入函数为

(6)
(7)

嵌入比特0时,高度反向调整.每嵌入1比特,调整一对字符的高度关系,使左右字符高度差为φ个像素.根据上述分析,取值为2.

图 8展示了算法效果. 图 8(b)为不加筛选调整相邻字符高度差的效果图. 图 8(c)是使用字符筛选算法嵌入水印的文档.可以看出,同样嵌入了水印,过滤复杂度差异大的字符组后,算法视觉效果得到了明显提升.

图 8 各类操作效果
2 仿真和性能

算法实验结果如下,其中:Sample1~Sample4分别表示宋体五号、四号,楷体五号、四号文本测试集,每个集合10个样本. Test1、Test2、Test3、Test4分别表示:打印扫描、复印扫描、污损扫描和打印拍照.测试结果表示为成功提取水印样本数/样本总数.

实验中,字符的正确识别是水印提取的关键.打印扫描过程产生的旋转、噪声,均可使用图像信号处理方法矫正.打印复印后,像素失真加剧,鉴于算法将水印与字符相对高度关联,因而其影响程度与打印扫描类似,矫正方法也类似.污损、折叠后的文档以及拍照后的文档,矫正的难点相同,即区分前景(文字)和背景(拍照产生的阴影、污渍区域、折痕等),可以使用动态阈值分割方法,根据区域动态调整阈值(区分黑白像素).这些处理效果影响到水印提取的成败,在此不深入展开.

表 2 仿真结果
3 结束语

文档打印是信息泄露的一种重要途径,简单地禁止、审计、标记打印,不能有效地解决此类问题.提出一种基于视觉模型的字符拉升抗打印扫描文档水印算法,对文档字符进行微调,在难以被察觉的情况下,将文档打印者身份信息嵌入文本.含带水印的文本,即使被污损、翻印,经扫描或拍照后,水印都能被提取.

虽然遭受各类攻击后,字符高度相对关系大都得以保持,但若直接调整字符高度,容易被察觉.研究发现对复杂度相近的字符进行调整,则不宜被识别.根据字符密度、重量、宽高比与字符复杂度的关系,提出了视觉模型,并据此筛选适于嵌入水印的字符.

虽然利用视觉模型解决了水印算法透明性问题,但算法容量也因此下降,后续研究集中于改进拉升算法,减小拉升对字符大小的视觉感受影响.另外,字符高度为整数,算法本质上不能抵抗缩拍等攻击,这也是需要解决的一个问题,结合多种算法形成多重水印是解决思路之一.

参考文献
[1] Huang S, Wu J K. Optical watermarking for printed document authentication[J].IEEE Transactions on Information Forensics and Security, 2007, 2(2): 164–173. doi: 10.1109/TIFS.2007.897255
[2] Brassil J T, Low S, Maxemchuk N F, et al. Electronic marking and identification techniques to discourage document copying[J].IEEE Journal on Selected Areas in Communications, 1995, 13(8): 1495–1504. doi: 10.1109/49.464718
[3] Huang D, Yan H. Interword distance changes represented by sine waves for watermarking text images[J].IEEE Transaction on Circuits and Systems for Video Technology, 2001, 11(12): 1237–1245. doi: 10.1109/76.974678
[4] Wu M, Liu B D. Data hiding in binary image for authentication and annotation[J].IEEE Transactions on Multimedia, 2004, 6(4): 528–538. doi: 10.1109/TMM.2004.830814
[5] 亓文法, 李晓龙, 杨斌, 等. 用于信息追踪的文本水印算法[J]. 通信学报, 2008, 29(10): 143–190.
Qi W F, Li X L, Yang B, et al. Document watermarking scheme for information tracking[J].Journal on Communications, 2008, 29(10): 143–190. doi: 10.3321/j.issn:1000-436X.2008.10.021
[6] 赵星阳, 孙继银, 李琳琳. 基于字符阶梯边沿调整的文本水印算法[J]. 计算机应用, 2008, 28(12): 3175–3178, 3182.
Zhao X Y, Sun J Y, Li L L. Watermarking of text images using character step edge adjustment[J].Computer Applications, 2008, 28(12): 3175–3178, 3182.
[7] Cox I J, Kilian J, Leighton T, et al. Secure spread spectrum watermarking for multimedia image processing[J].IEEE Transactions, 1997, 6(12): 1673–1687.