摘 要: 首先对适于知识版权保护的数字水印技术进行了综述研究,而后设计并阐释了基于LSB算法的位图盲数字水印算法流程,继而开发了相应系统,通过应用实验对其中的技术细节进行了深入分析。
关键词: 知识管理;知识安全;数字水印;LSB算法
在知识经济时代,知识上升为社会生产的核心资源,知识管理KM(Knowledge Management)成为企业重塑其核心竞争力的有效途径。在此背景下,培育基于知识的竞争优势、确保知识安全,成为各种组织有效实施KM的基础内容。源于现代通信网络的开放性、共享性、易传播和易复制等特点,以侵犯知识版权为代表的各种网络知识侵权现象层出不穷,严重侵害了知识主体利益。如何有效保护网络知识版权成为当前KM研究与应用领域关注的焦点。有鉴于此,笔者所在课题组在早前提出的组织三层知识安全框架(访问控制-知识隐藏-知识加密)的基础上[1],提出对允许流出组织之外的组织知识施加数字水印保护机制,以此增强组织知识产权保护能力。限于篇幅,本文仅讨论位图知识的盲数字水印机理及其系统的设计与实现问题。
1 数字水印概述
数字水印(Digital Marking),是利用数字作品中存在的数据冗余性,向其中嵌入不易被潜在攻击者察觉但可以判定、区分和提取的版权标识信息(即水印),从而起到保护数字作品知识版权的一种技术[1-2]。该技术起源于信息隐藏(Infomation Hiding)技术,但两者亦有很大不同。信息隐藏把机密信息隐藏在宿主文件(常见、非重要)的大量信息中而不让潜在攻击者发觉,通过隐藏“存在”本质而达到保护机密信息的目的;数字水印则主要通过被隐藏的版权标识信息对载体文件(重要、有价值的知识作品)进行版权保护或者侵权追踪。数字水印立足于保护网络知识产权,其应用极为广泛,概括而言主要包括以下方面:知识产权标识与保护、票据防伪、数据篡改提示等。
合理分类是人们认知新事物的有效途径之一。按不同标准,可对数字水印技术实施不同的类别划分[3]。通常,根据水印载体特征,可将其分为文本水印、图像水印、音频水印和视频水印等;依据水印信息的稳定性特征,可将其分为鲁棒性水印和脆弱性水印;按照水印嵌入与提取的操作域不同,可将其分为空域水印和频域水印;按水印提取时是否需要原始载体文件参与的情况差异,可将其分为盲水印和非盲水印。
数字水印技术常见算法如表1所示。具体情况如下:(1)最低有效位LSB(Least Significant Bits)算法。该算法通过改写知识载体的最低若干有效位来实现对相应水印数据位的嵌入操作,它对宿主文件的影响很小,水印嵌入后并不改变宿主文件的容量,具有很强的隐蔽性;但其鲁棒性较差,当LSB位数选择失当时会明显影响载体文件的视觉效果,并且对知识载体的细微改变可能会影响到水印信息的提取结果[1,4]。(2)离散余弦变换DCT(Discrete Cosine Transform)算法。该算法是数字图像处理和信号处理中常用的一种正交变换,它是对实偶函数进行一种相当于其两倍长度的离散傅里叶变换,该算法具有压缩比高、误码率小、信息集中能力强和计算复杂性综合效果好等优点;不过,其处理过程相对复杂,完成水印嵌入过程也较为耗时。(3)离散小波变换DWT(Discrete Wavelet Transform)算法。该算法将水印图像进行小波变换后嵌入到宿主载体中,在图像处理方面其比DCT变换更加适合人类视觉系统,所嵌入的水印信息具有良好的视觉效果和抵抗多种攻击的能力,是一种具有自适应能力强、鲁棒性好的水印算法,其缺点是计算量较大。(4)Patchwork算法。该算法的基本思想是任选N对图像点,在增加其中一点亮度的同时将相应的另一点的亮度降低,以便在这一调整过程中隐藏1 bit的水印信息于宿主媒体之中;该算法具有较高的水印隐蔽性并对有损压缩编码(JPEG)和一些带有恶意攻击的操作具有一定的抵抗能力,其缺点是嵌入的水印信息量有限[5-8]。在进行数字水印嵌入系统的设计时,要结合上述各算法的优缺点以及具体应用特征,选择合适的数字水印算法,以满足生产实践的特定需要。
2 基于LSB算法的位图盲数字水印算法
LSB算法原理是对宿主媒体的最低若干有效位做替换,用来替换最低有效位的位序列,即需要嵌入的水印信息或者基于水印生成的伪随机序列。为了保障数字水印的隐秘性和有效性,所嵌入的水印强度不能太高,即LSB位数选择要适当,否则会影响知识载体的视觉效果;另外,该算法产生的数字水印鲁棒性不高,对知识载体的各种物理攻击与损伤都可能会对后续的水印提取产生影响。不过,LSB算法作为数字水印的基础算法,由于其具有嵌入的水印信息量大、简单直观、易于操作等优点,在数字水印应用领域始终处于重要地位[1,8];并且,在该领域研究中,在理论层面泛泛空谈的居多,在应用层面付诸实践、通过实验做进一步深入研究与细节讨论的则很少。有鉴于此,本文拟对LSB数字水印算法做进一步深入研究,并在此基础上分析、设计、开发相应原型系统,通过应用实验研究LSB算法的实施细节,并对其中的关键问题进行深入分析。
位图文件(扩展名为“BMP”)具有较高的保真度,它是微软Windows操作系统中的标准图像文件格式,能够被多种Windows应用程序所支持,信息丰富、保真效果好,在艺术摄影、方案设计、计算结果成像、建筑效果呈现等领域被广为应用。随着网络知识侵权、盗版问题的日益突出,对位图文件实施有效的版权标识则势在必行。基于LSB算法的位图数字水印的基本思路是:将数字水印信息(版权标识字符、图片、音频或视频等)按序替换载体位图图像的若干最低有效位(具体位数依图像色深而定,以“不影响位图视觉效果”为基本准则),从而完成水印信息的嵌入过程;当发生知识版权争议或纠纷时,版权所有方可通过上述算法的逆过程将先前嵌入到位图文件中的水印信息提取出来,从而有效维护自身的合法权益。
基于LSB算法的位图数字水印嵌入流程如下:首先,知识版权所有人对于欲施加版权保护的既定位图文件,设计、确定水印文件。如前文所述,水印文件可以是能够标识版权信息的任何文本文件、图像文件以及音频或视频文件等。而后,对水印文件与位图文件分别进行预处理。上述不同预处理的共同点在于,均获得二进制数据序列;不同点在于,对位图文件的预处理过程中还要在位图文件头内读出相关色深数据(biBitCount),并据此进一步确定LSB的具体位数,从而为后续的水印嵌入打下基础。嵌入前的“容量检测”是非常必要的,其具体工作思路是:以单字节位数(8)除以此前获得的LSB位数,并将其商记为?琢(无量纲),而后再将二进制位图文件数据区的字节数(biSizeImage)除以?琢,其商记为?茁(单位为Byte),将?茁与水印文件容量做比较,当前者大于或等于后者时,表明能够完成水印嵌入;否则,则表明水印过大,需要重新设计或选择容量小一些的新水印,并再次重复前述过程。当所设计或选定的水印能够嵌入到待保护版权的位图文件时,系统则要求用户键入相应密码(防止日后非授权水印提取),进而在二进制层次循环按位嵌入数字水印于载体位图中;循环结束,在位图既定标志位按系统约定做好水印嵌入标记,如此即得含水印信息的位图文件,基于LSB算法的位图数字水印嵌入过程结束。
综合上述过程阐释可以看出,由于在数字水印嵌入过程中,水印文件的二进制序列被按位依次将位图文件的LSB位列直接改写,因此对被嵌入水印文件的提取过程则简化为“按位读出+位列组装”,在水印提取过程中不再需要原有位图文件参与LSB位列计算。此即位图盲数字水印(Blind Bitmap Digital Watermarking)。
基于LSB算法的位图数字水印提取流程如下:首先,系统读入待检测位图,而后通过标志位检测确定该位图文件是否含有水印信息,如不含水印信息则结束水印提取流程;如含有水印信息,则要求用户键入水印提取密码。而后,对用户输入的提取密码进行验证,如密码错误,则提示“提取失败”并结束水印提取流程(为确保安全等级,一般不允许用户二次输入提取密码,以避免穷举攻击);如密码正确,则依据水印嵌入算法的逆过程按位提取数字水印,并在循环结束时完成按位组装过程,从而得到要提取的水印文件,完成基于LSB算法的位图数字水印提取过程。
基于上述原理,本文设计、开发了位图盲数字水印系统BDWS(Bitmap Blind Digital Watermarking System),通过实验演示位图盲数字水印嵌入效果、分析其中关键变量的赋值策略与技巧。
3 BDWS系统及其应用模拟
3.1 BDWS系统简介
BDWS系统主界面包括水印嵌入、水印提取、操作进程标识、系统LOGO以及系统级操作等五大功能区,功能完备、结构清晰、简单明了,如图1所示。其中,主功能区(数字水印嵌入与提取)以功能按钮的形式,将水印嵌入与提取过程中的各个活动按“自上而下”的顺序布局,给用户以“简单直观、易于操作”之感;操作进程标识区以“进程条”形式将数字水印嵌入与提取过程的实际进度形象、直观地展示给用户,该功能对于大容量数字水印的嵌入与提取过程十分必要,可避免用户因“盲”等待而出现的烦躁与不安。此外,“水印提取”区的“还原初始状态”按钮,其功能是全局性的,并非仅限于数字水印提取过程。该系统允许用户在数字水印嵌入与提取过程中的任何活动结点上终止操作,这有助于提高系统应用的灵活性;不过,此时系统内的全局变量已经被赋予过程值,如果用户终止操作后并没有退出系统,而是重启数字水印嵌入或提取过程,将会导致严重错误。“还原初始状态”功能按钮的设置,可简单而有效地避免上述问题。
需要指出的是,出于“清晰显示”的需要,在图1所示的BDWS系统主界面各按钮均是可用的。在实践应用中,系统初始状态只有“关于本系统”、“退出本系统”以及两个“导入位图图像”按钮是可用的(Enabled),其他按钮均处于“不可用”状态(Disabled)。系统会随着用户数字水印嵌入或提取进程的推进,智能重设相关功能按钮的激活状态,从而确保用户操作流程的效率和有效性。
BDWS系统的数字水印嵌入流程如图2所示,图中的虚线框分别对应于相应的按钮功能区。首先,通过“导入位图图像”按钮,系统读入需要实施知识产权保护的位图图像,同时会读入该位图色深数据并据此灵活确定LSB位数。而后,通过“导入水印文件”按钮,系统读入将被嵌入的、能够标识知识拥有者版权信息的数字水印文件(文本水印、图像水印、音频水印和视频水印等),并根据位图数据区容量、前述确定的LSB位数以及所读入的数字水印文件容量,判断所选定的数字水印能否完整嵌入到需要实施版权保护的位图中。如果水印文件相对过大、不能嵌入,则提示用户重新导入容量相对较小的数字水印;如果能够完整嵌入,则系统提示水印导入成功,同时记录水印文件格式与大小于在位图中事先定义好的特定区域。继而,通过“启动水印嵌入”按钮,系统启动水印嵌入活动,提请用户连续两次输入嵌入密码,并确保密码位数不能低于6个字符、两次输入密码完全相同;否则,会自动提示用户重新输入。为进一步确保系统嵌入安全,两次判断无论哪一次结果为“否”,系统均将清空所有嵌入密码,并要求用户重新输入。当用户输入了符合系统要求的数字水印嵌入密码后,系统会将该密码存储于位图特定区域并自动启动对位图图像的数字水印嵌入活动,操作进程条同步显示嵌入进度。在数字水印嵌入活动完成后,系统在位图中事先定义好的特定区域录入嵌入标记并提示“水印嵌入完成”,并提示用户保存结果位图。
BDWS系统的数字水印提取流程是图2的逆过程。通过图1中“导入位图图像”按钮,系统读入位图图像并在其中事先定义好的特定区域检测水印嵌入标记。如未发现嵌入标记,则表明当前位图图像并无相关数字水印嵌入,系统将直接结束水印提取流程;如发现水印嵌入标记,则开启水印提取流程。用户鼠标点击“启动水印提取”按钮,系统首先要求用户输入水印提取密码并与预置密码比较。如果用户输入的提取密码不正确,则系统直接结束水印提取流程;如用户输入的提取密码正确,则读取水印文件容量,并按位提取数字水印数据,完成后系统提示用户保存水印文件。为确保水印提取过程安全,系统仅允许一次水印提取尝试,从而有效避免非授权用户的穷举攻击。当用户鼠标点击“保存水印文件”按钮,系统按位组装水印文件、读取水印格式,在二进制层次完成对水印文件的保存后圆满结束数字水印提取流程。
3.2 BDWS系统模拟
图3是在另一项目中对三维数据进行成像后得到的阴影图(24位色深,大小435 426 B)。欲对该图实施知识版权标识,并将图4所示的版权标识图片作为数字水印(大小35 911 B)。通过BDWS系统,按照前述数字水印嵌入过程将图4所示的能够标识版权的数字水印图片嵌入到图3所示的原始位图后,所得完成水印嵌入后的结果位图如图5所示。
查看结果位图属性,仍为24位色深、大小435 426 B。对比图5所示的结果位图与图3所示的原始位图可知,两者在视觉上并无明显差异。如此,一方面,不会对版权标识位图的知识价值造成损害;另一方面,亦能够完好隐藏结果位图的水印存在本质、不会轻易引起侵权行为人的注意,从而确保数字水印的安全性。依据前述水印提取流程,经由BDWS系统可轻松实现从图5所示位图中提取出图4所示的数字水印图片,篇幅所限,具体细节从略。
在前述数字水印嵌入过程中,图3所示的原始位图为24位色深,数字水印嵌入时取LSB为4 bit。通过反复试验发现,当实施人为干预,取LSB分别为1 bit和2 bit时,上述数字水印亦能嵌入,且理论上嵌入效果会更好(实际上并无明显视觉差异);然而,水印嵌入过程变得相对耗时。当将原始位图降格为16 bit增强色时,同样取LSB为4 bit,嵌入图4数字水印后的结果图片,其下半部分会出现明显噪声,嵌入效果较差;当取LSB为2 bit,嵌入图4数字水印后的结果图片则与原图片无明显视觉差异。
经反复试验,得到如下LSB取值技巧:当biBitCount(色深数据)小于等于8时,即便取LSB=1 bit,数字水印嵌入后的结果位图仍会与原始位图产生较为明显的视觉差异,因此不建议实施数字水印嵌入;当biBitCount等于16时,取1 bit或2 bit的LSB均不会产生明显视觉差异;当biBitCount等于24或32时,可以取2 bit或4 bit的LSB,不会产生明显视觉差异。具体取值需要平衡嵌入速度、嵌入容量、位图保真度等因素而定。
本文在作者前期工作的基础上,进一步研究知识版权保护问题,对数字水印原理进行了综述研究,重点设计、剖析了基于LSB算法的位图盲数字水印算法流程,进而设计、开发了相应的原型系统,并通过系统实验详细分析了其中的技术细节。希望上述工作对进一步改善知识管理中的知识安全现状有所裨益。
参考文献
[1] 张建华.电子政务知识管理[M].北京:科学出版社,2010.
[2] 万涛.基于图像的数字水印技术研究[D].西安:西北工业大学,2006.
[3] 孙圣和,陆哲明,牛夏牧.数字水印技术及应用[M].北京:科学出版社,2004.
[4] 孙文静,孙亚民,张学梅.基于直接位平面替换的LSB信息隐藏技术[J].计算机科学,2008,35(12):207-208.
[5] 金聪.数字水印原理与技术[M].北京:清华大学出版社,2008.
[6] 彭求明.图像数字水印算法的研究[D].重庆:重庆大学,2005.
[7] 孙圣和,陆哲明.数字水印处理技术[J].电子学报,2000(8):65-67.
[8] 叶智勇.基于空间域的图像数字水印算法[D].南京:南京邮电大学,2008.