数字水印在数据安全保护中的应用实践和优化
本期作者
董子平
哔哩哔哩资深开发工程师
吴剑雄
哔哩哔哩技术专家
摘要:在网络数据安全的范畴中,信息安全尤其关键,黑客的行为已从明目张胆的破坏系统网络,令系统崩溃,逐渐发展成秘密进入网络,截取非法篡改甚至删除的信息,以达到制造、散布虚假信息的目的,作为多媒体信息内容安全保护的重要手段,数字水印技术的应用日益广泛。本文对数字水印技术的基本原理、特征和分类进行论述,并讨论和分析了其性能以及应用,文章最后展望了数字水印的发展和应用前景。
关键字:数字水印;信息安全;加密技术;信息隐藏。
1. 数字水印技术概念和基本特征
数字水印(Digital Watermark)技术是指用信号处理的方法通过一定算法在数字化的多媒体数据中嵌入隐蔽的标志性信息(比如数码相片中添加拍摄者信息,在数字影碟中添加公司标记等),这些标志性信息通常是不可兼得,虽然通过专用的检测器或阅读器能够提取,但是信息很难被破坏,隐蔽的标志性信息用来识别文件、图像或音乐制品的来源、版本、原作者、用有人、发行人、合法使用人对数字产品的拥有权等,从而达到真伪鉴别、版权保护等目的。
数字水印一般具有以下几个基本特征。
1.1 安全性
即其抵抗攻击的能力。一般的攻击主要有三大类型:未经授权的删除、嵌入和检测。前两者可以被看做是主动攻击,因为这些攻击修改了载体图像;未经授权的检测不修改载体,因此被视为主动攻击。数字水印中的信息应该是安全的,难以被篡改和伪造的,同时还应具有较低的虚警率。虚警是指在实际不含水印的作品中检测出水印,虚警率就是指在给定的检测次数中,虚警发生的次数。虛警率一般有两种略微不同的定义方法。第--种定义中,虚警率是指,假设作品确定而随机选定水印时,检测器能在作品中检测出水印的概率。这样的话,虚警率实际上与载体本身无关,而仅仅与水印产生的方法有关。第二种定义中,虚警率是指假设水印确定而随机选取作品时,检测器能在作品中检测出水印的概率。在绝大多数的应用中,我们比较关注它的第二种定义。对虚警率的要求是由具体的应用来决定的。
1.2 不可见性
不可见性包含两个方面的意思,一个是指在视觉上的,即嵌入水印后,图像所产生的在视觉上的变化,对观察者的视觉系统来讲应该是不可察觉的。一般来讲嵌入水印后的图像应该与原 始的载体图像在视觉上是一摸一样的; 另一方面,水印用统计方法也是不能够被恢复的,例如对大量的用同样方法和相同的水印处理过的作品,即使用统计方法也无法提取出正确的水印来。
1.3 鲁棒性
鲁棒性是指在经过常规的信号处理操作后,仍能够检测到水印的能力。对图像常规的信号处理操作包括空间滤波、图像压缩、量化与增强几何失真(例如旋转、平移和剪切等)。
1.4 可证明性
水印应该能够为受到版权保护的数字作品的归属提供完全和可靠的证据。标识了所有者的信息的水印,在必要时应该能够被提取出来或是检测它的存在性。而且水印所携带的信息应该能够被唯一的鉴别。
2. 数字水印技术通用模型和基本原理
数字水印技术利用人类感觉器官的不敏感,以及数字信号本身存在的感觉冗余,通过一定的算法将一些标志性信息 直接嵌入到多媒体内容当中,不影响原内容的价值和使用,并不能被人的知觉系统觉察或注意到。数字水印技术与加密技术不同,它不能阻止盗版活动的发生,但可以判别对象是否受到保护监视被保护数据的传播、鉴别真伪、非法拷贝、解决版权纠纷并为法庭提供证据以法律的手段对其进行制裁,间接打击盗版者,起到保护知识产权的作用。为了给攻击者增加去除水印时不可预测的难度目前大多数水印制作时都采用密码学中的加密(包括公开密钥、私有密钥)体系来加强在水印的嵌入、提取时采用一种密钥,甚至几种密钥联合使用,除非掌握密钥才能读出水印来。数字水印技术包括嵌入、检测和提取几个过程。
2.1 水印的嵌入过程
如图1所示是一个嵌入的通用模型,其功能是完成将水印信号加入到原始数据中。在这个过程中要解决好两个问题:一是数字水印的生成, 可能是一串伪随机数,也可能是字符串、图标等信息经过加密后产生;二是解决好算法,嵌入水印后使其在不可见性和鲁棒性之间找到一个很好的结合点。
图1 数字水印信号嵌入通用模型
2.2 水印的检测过程
如图2所示是一个检测的通用模型,用以判断某一数据中是否有含有指定的水印信号。在检测阶段设计一个相应于嵌入过程的检测算法,检测的目的是使错判或者漏判的可能性尽可能地少。
图2 数字水印信号检测通用模型
2.3 水印的提取过程
如图3所示是一个提取的通用模型。利用密钥从多媒体信息中提出水印,并验证水印的真伪。
图3 数字水印信号提取模型
3.数字水印技术主要算法
数字水印技术横跨信号处理、数字通信、密码学、模式识别等多门学科各专业领域的研究者均有独特的研究角度其算法各有特色。下面给出一些典 型的算法除特别说明主要是针对图像数据的(由于图像是最基本的多媒体数据)。
3.1 空域算法
空域算法就是将水印直接嵌入图像的亮度值上。优点是快捷对于主信号的几何变换、压缩等操作具备-定的抵抗能力,但对于信号 滤波、加噪等操作的鲁棒性较差。空域算法包括最低有效位算法(LSB)、文本微调水印算法和Patchwork算法等。
最低有效位算法(LSB)是L .F.Turner和R G van Schyndel 等人提出的最早数字水印算法,也是典型的空间域信息隐藏算法。它使用特定的密钥产生随机信号然后按一定的规则排列成2维水印信号 ,并逐一插 入到原始图像相应像素值的最低几位。由于水印信号隐藏在最低位,相当于叠加了一个能量微弱的信号因而在视觉和听觉上很难察觉。目前哔哩哔哩berserker平台正在使用该水印方法对水印加密,加密效果如图4所示,其中图中PartA部分为原始查询结果,PartB部分为加密后的图片结果,目前线上加密效果保证了最小的视觉效果差。LSB算法虽然可以隐藏较多的信息但隐藏的信息可以被轻易移去,无法满足数字水印的鲁棒性要求,所以现在的数字水印软件已很少采用LSB算法。不过,作为一种大数据量的信息隐藏方法在隐蔽通信中仍占据着相当重要的地位。
文本微调水印算法用在PS或PDF文档中通过轻微改变字符间距、行间距和字符特征等方法来嵌入水印。这种水印能抵御攻击安全性主要靠隐蔽性来保证。
Patchwork是麻省理工大学多媒体实验室Walter Bander等人提出的一种数字水印算法主要用于打印票据的防伪。它隐藏在特定图像区域的统计特性中,其鲁棒性很强,可以有效地抵御剪切、灰度校正、有损压缩等攻击,其缺陷是所隐含的数据量较少,对仿射变换敏感,对多拷贝平均攻击的抵抗力较弱。
3.2 变换域数字水印算法
变换域数字水印算法就是将图像做某种数学变换把水印嵌入到指定的频域系统中。因为低频区域系数的改动可能会影响到主信号的感知效果而高频系数容易被破坏,所以一般选取中频区域上的系数来嵌入信号,从而使之既满足不可感知性又满足对失真压缩等操作的鲁棒性。
典型的有DCT变换域数字水印算法这是目前研究最多的算法。它具有鲁棒性强、隐蔽性好等优点,尤其可与JPEG、MPEG等相结合能较好抵抗有损压缩。它主要思想是在图像的DCT变换域上选择中低频系数叠加水印信息。之所以选择这一频段是因为人眼的感觉主要集中在中、低频,即使攻击者要破坏水印也不会改变这部分数据否则会引起图像质量的严重下降。
变换域数字水印并不局限于DCT变换域。近年来有很多人尝试用小波变换或其他时/频分析的手段在时间/尺度域或时/频域中隐藏数字水印信息取得了比较好的效果。
图4 berserker线上LSB暗水印效果图
3.3 压缩域算法
基于JPEG、MPEG标准的压缩域数字水印系统不仅节省了大量的完全解码和重新编码过程,而且在数字电视广播及VOD(Video on Demand)中有很大的实用价值。相应地,水印检测与提取也可直接在压缩域数据中进行。
3.4 扩频水印算法
扩频水印算法是扩频通信技术在数字水印中的应用。它将待传递的信息通过扩频码调制后散布于非常宽的频带中,使其具有伪随机性。接收信息方通过相应的扩频码进行解扩,获得真正的传输信息。
扩频通信具有抗干扰性强、高度保密的特性,在军事上应用广泛。扩频水印与扩频通信类似,它将水印信息经扩频调制后叠加在原始数据上。水印信息散布在整个频带,无法通过一般的滤波手段恢复。如果要攻击水印信息,则必须在所有频段上加入大幅度噪声,这将严重损害原始数据的质量。
4.数字水印技术的研究和应用
在现阶段,多媒体技术飞速发展和互联网的普及带来一系列政治、 经济、军事和文化问题产生了许多新研究热点数字水印技术已接近成形。数字水印技术在互联网上涉及的数据文件,包括JPEG压缩图像、 MPEG2压缩视频、WAV、MIDI、 MP3音频文件、AVI及 三维动画文件、PS和PDF标准文本、voice-mail或video-mail等。 对数字水印技术的研究发展目前可分为两代。第一代技术主要研究在保证水印不可感知性的前提下提高数字水印对多媒体的一般处理、加噪、有损压缩等攻击的鲁棒性第二代技术重点研究增强数字水印对仿射变换和几何攻击(RST)等的抵抗能力,并提出一些新的水印技术和方法。
目前数字水印主要应用以下几个方向:
4.1 数字作品的知识产权保护
数字作品的所有者用密钥产生水印利用数据隐藏原理使版权标志不可见或不可听,并将其嵌入在原始数据中,然后公开发布其水印版本作品既不损害原作品又达到版权保护的目的。当该作品被盗版或出现版权纠纷时,所有者即可从盗版作品或水印版作品中获取水印信号作为依据,从而保护所有者的权益。在DVD、 数字照相机、数字摄像机、有线电视网络、付费电视、VOD等消 费娱乐信息业中大有用武之地。
4.2 商务交易中的票据防伪
高科技的发展,使得货币、支票及其他一些票据的伪造变得很容易,加入数字水印可以实时地从扫描票据中判断水印的有无,快速辨识真伪。另一方面,从传统商务向电子商务转化过程中,会出现大量过度性的电子文件数字水印技术可为电子文件提供不可见的认证标志,大大增加造假的难度。
4.3 声像数据的隐藏标识和篡改提示
声像数据标识信息一般比数据本身更有保密价值,利用数字水印技术在声像数据中添加公司标记等标志性信息使标志性信息在原文件上看不到,只有通过特殊的阅读程序才可以读取。此外数据的篡改提示也是很重要的。高科技的使用使得信号拼接、镶嵌等变得容易且不易察觉,通过隐藏水印可以判断声像信号是否被篡改。
4.4 隐蔽通信及其对抗
数字水印所用的信息隐藏技术不仅提供了非密码的安全途径,更引发了信息战尤其是网络情报战的革命。网络情报战是信息战的重要组成部分其核心内容是利用公用网络进行保密数据传送。到目前为止,经过加密的文件往往是混乱无序的,容易引起攻击者的注意。网络多媒体技术的广泛应用使得利用网络进行保密通信有了新的思路利用数字化声像信号相对于人的视觉、听觉冗余可以进行各种时(空)域和变换域的信息隐藏从而实现隐蔽通信。
5.基于模版匹配实现数字水印的提取
5.1 相关性理论
相关性理论的重要用途在于匹配。令表示原始数字图像,是匹配模板,在模板匹配的过程中,两个函数的相关值在中找到的位置上达到最大,由门限处理就能提取这个点。原始数字图像和的空间域相关性计算如下:
其中“※”是相关运算符,“*”表示共轭。由式中可以看出,相关性计算类似卷积计算,是一种滑动邻域操作,计算量大。然而相关理论指出,两个函数在空间域的相关性计算与这两个函数的傅里叶变换乘积构成一个傅里叶变换对,表述如下:
这里表示两边构成傅里叶变换对。根据这条定理,先将原始数字图像和作快速傅里叶变换,得到和,求出二者的乘积(两个矩阵对应元素相乘),再将所得结果作反傅里叶变换,就得到数字图像和在空域的相关值,避免了在空间域做类似卷积的计算。由于快速傅里叶变换有很高的效率,这种计算方法有效提高相关性计算的速度。
5.2 小波变换
离散小波变换是一种良好的时频分析工具,能够反映信号的局域时频特性,在图像处理中,能够在小波变换域同时选择频域位置和空间位置,这种时频选择能力对于数字水印技术有重要帮助。对于图像数字水印技术而言,要兼顾数字水印的安全性和隐蔽性,通过同时选择适当的空间位置和频域位置就能达到这个目的,而小波变换提供了这种能力。由于小波基的构造和滤波器涉及相联系,因此离散小波变换系数的计算由滤波和亚抽样联合表示。单层一维小波分解和合成过程如图5-1,其中为使用尺度的分解结果中的低频系数,HP和LP为滤波器组,和为使用尺度的分解结果。
图5-1:单层一维小波分解与合成
对数字图像做二维耳机小波分解,得到多分辨和多子带分解结果,如图5-2所示。其中和(n=1,2)为对角子频带,(n=1,2)为高频子频带,为低频子频带,还可以作进一步分解。
图5-2 图像二级小波分解
5.3 构造初始模版
在该方案中,用模板表示数字水印像素。模板是一个3x3矩阵,分为初始模板、嵌入模板、和提取模板。嵌入模板那和提取模板由预先设计的构造得到,其具有以下特点:
(1):模板矩阵中元素有两个值:+1和-1,嵌入水印时,这两个值被替换为宿主图像邻域中由最大值和最小值确定的值;
(2):模板中元素满足中心对称,这样就能在图像旋转后,得到旋转模板准确提取数字水印;
(3):模板中元素的均值近似于0,以此减少对宿主图像视觉效果的影响,实验采用3x3的初始模板。如果5-3所示。
5-3 初始模板
数字水印方案在小波变换域中嵌入和提取数字水印,数字水印嵌入过程兼顾鲁棒性和隐蔽性。在本文中采用两级小波变换,在方差较小、能量分布较均匀的二级对角分量中嵌入数字水印。在第二级分两种嵌入数字水印,能够减小小波去噪处理的影响。具体实验中使用宿主图像为256级灰度图像,数字水印图像为二值图像。这里选择将数字水印嵌入宿主图片的中间位置,以避免被边缘裁剪破坏。
5.4 数字水印嵌入过程:
令表示数字水印。嵌入水印时,以不重叠的方式在小波变换域二级对角分量上移动嵌入模板,在与大小相同的区域嵌入信息。根据数字水印中像素值非0即1的特点,当的像素值为1时,在的对应块中执行嵌入操作,当像素为0时不进行嵌入,移动到下一个不重叠区域进行判断,并重复以上操作。嵌入数字水印的完整过程如下:
建立初始模板,满足以上特点。
对宿主图像进行两级小波变换。选取耳机对角分量。
求出中最大系数值max()和最小系数值min(),计算dif= max()- min()。dif用于修改初始模板建立嵌入模板,它使嵌入信息的方差大于其他信息,避免提取数字水印时的干扰,提高数字水印的鲁棒性。
计算的长度length()和宽度width(),的长度length(w)和宽度width(w),然后得到中的初始嵌入位置(start_x,start_y):
start_x = length() – length(w) x length()/2
start_x = width () – width (w) x width()/2
对数字水印进行逐点测试,如果当前中像素的值为1,则执行模板嵌入;若为0,则不执行,并移动到中下一个像素重复上面的过程。的初始点是(0,0),中的初始点为(start_x,start_y),中的点(I,j)对应中中心点为(start_x+I x n,start_y+j x n)的块
嵌入模块时,首先计算出的平均值mean(),然后根据mean()、dif和建立嵌入模板,如图5-4所示:
如图5-4 嵌入模板
由图可以看出,当模板中对应位置为+1时,嵌入模板中该元素位置为mean()+par_m x dif;当初始模板中对应位置-1时,嵌入模板中该位置元素为mean()- par_m x dif。其中par_m是一个可变参数,par_m的值越大,嵌入模板的方差越大,提取的精度越高,鲁棒性越强。
进行小波反变换,得到嵌入数字水印后的宿主图像。
5.5 数字水印提取过程:
在空域提取数字水印是华东邻域操作的相关性计算过程,这个计算过程类似于卷积计算,因此提取数字水印时不需要知道嵌入位置,只需要初始模板,这对抵抗同步攻击有着重要意义,数字水印提取的具体步骤如下。
对嵌入数字水印后的宿主体香进行两级小波变换,并提取出第二级的对焦分量;
求得中元素得最大值max()、最小值min()和均值mean();
根据max()、min()和建立拉取模板,即用max()替换初始模板中的+1,用max()替换初始模板中的-1。和嵌入过程一样也有一个参数par_d,par_d=par_e,用于调节提取模板。
求得的长度length()和宽度width(),的长度length()和宽度width();
计算出延拓长度plength = length()+length()-1和延拓宽度pwidth= width()+ width ()-1,对和进行延拓,矩阵拓展部分补0,得到和;
对和进行快速傅里叶变换得到F()和F();
计算F() x F(),这里的x代表矩阵中对应元素相乘,得到和这两个矩阵大小相同的结果矩阵R;
对R进行傅里叶反变换,得到空间域相关性计算的结果矩阵;
由得到max()和min(),计算=()/max(),其中为归一化结果,其元素值域为[0,1]
使用门限处理,提取出数字水印。
步骤10中的门限是一个可调节参数,范围是(0,1),其最优值和宿主图像内容特性相关,通过试验确定其最优值,得到最佳水印提取效果。
6.数字水印的未来
利用水印算法,在网络环境中解决许多数据安全问题,成为了当前一个研究的热点问题。多媒体信息的安全问题归结为:安全传递、访问控制和版权保护。在出现争端纠纷时,根据水印系统可以证明真正的版权拥有者,或者找出非法传播的人。针对不同的应用目的产生不同的设计目的和水印算法,在本质上都应有足够的冗余设计以保证能够抵抗各种攻击,水印中的鲁棒性、真伪鉴别、版权证明等仍然需要更好的解决方法。总之,数字水印技术作为多媒体信息中的新技术,用途越来越广,尤其在防伪版权保护方面有广阔的前景。
以上是今天的分享内容,如果你有什么想法或疑问,欢迎大家在留言区与我们互动,如果喜欢本期内容的话,欢迎点个“在看”吧!
往期精彩指路