2022.16 数字水印2
安全技术包含3类:信息隐藏、访问控制和密码学。
典型的安全应用示例:
- 数字水印属于信息隐藏;
- 网络防火墙属于访问控制;
- 数字签名属于密码学。
信息隐藏主要可分为隐写术和水印技术等两大类。隐写术的保护对象是隐秘消息,水印技术的保护对象是载体本身。
数字水印与隐写术的相同点是,两者都是将一个文件隐写至另一个文件当中,而两者的区别在于使用目的与处理算法的不同。电子隐写侧重将秘密文件隐藏,而数字水印则较重视著作权的声明与维护,防止多媒体作品被非法复制等等。电子隐写术一旦被识破,则秘密文件十分容易被读取,相反,数字水印并不在乎秘密文件的隐蔽性,而在乎加强除去算法的攻击。
信息隐藏不同于传统的密码学技术。密码技术主要是研究如何将机密信息进行特殊的编码,以形成不可识别的密文进行传递;而信息隐藏则主要研究如何将某一机密信息秘密隐藏于另一公开的信息中,然后通过公开信息的传输来传递机密信息。对加密通信而言,可能的监测者或非法拦截者可通过截取密文,并对其进行破译,或将密文进行破坏后再发送,从而影响机密信息的安全;但对信息隐藏而言,可能的监测者或非法拦截者则难以从公开信息中判断机密信息是否存在,难以截获机密信息,从而能保证机密信息的安全。信息之所以能够隐藏在多媒体数据中是因为:
①多媒体信息本身存在很大的冗余性,从信息论的角度看,未压缩的多媒体信息的编码效率是很低的,所以将某些信息嵌入到多媒体信息中进行秘密传送是完全可行的,并不会影响多媒体本身的传送和使用。
②人眼或人耳本身对某些信息都有一定的掩蔽效应,比如人眼对灰度的分辨率只有几十个灰度级;对边沿附近的信息不敏感等。利用人的这些特点,可以很好的将信息隐藏而不被察觉。
隐写术保护的是隐秘消息,水印技术的保护对象一般为载体。
- 隐写术:其目的是在不引起任何怀疑的情况下秘密传送消息,因此它的主要要求是不被检测到和大容量等。加密操作一方面是嵌入到图像中的内容变为伪随机序列,使数字图像的各种统计值不发生明显的变化,从而增加监测的难度,当然还可以采用校验码和纠错码等方法提高抗干扰的能力,而通过公开信道接收到隐写文档的一方则用分离器把隐蔽的消息分离出来。
- 数字水印:嵌在数字产品中的数字信号,可以是图像,文字,符号,数字等一切可以作为标识和标记的信息,其目的是进行版权保护、所有权证明、指纹(追踪发布多份拷贝)和完整性保护等。因此它的要求是鲁棒性和不可感知性等,数字水印还可以根据应用领域不同而划分为许多具体的分类,例如用于版权保护的鲁棒水印,用于保护数据完整性的易损水印等
典型水印攻击方式可以分为鲁棒性攻击、表达攻击、解释攻击和法律攻击,其中前 3 类可归类为技术攻击,而法律攻击则完全不同,它是在水印方案所提供的技术特点或科学证据的范围之外进行的。
鲁棒性攻击以减少或消除数字水印的存在为目的,包括像素值失真攻击、敏感性分析攻击和梯度下降攻击等。这些方法并不能将水印完全除去,但可能充分损坏水印信息。为抵抗这类攻击,总体要求水印算法是公开的,算法的安全性应依赖于与图像内容有关或无关的密钥及算法本身的特性。
表达攻击是让图像水印变形而使水印存在性检测失败,包括置乱攻击、同步攻击等。与鲁棒性攻击相反,表达攻击实际上并不除去嵌入的水印,而试图使水印检测器与嵌入的信息不同步。当二者完全同步时,检测器能恢复嵌入的水印信息,但对同步处理的复杂性要求太高而不便于实用。为了战胜表达攻击,水印的检测算法应有与人交互的功能,或设计更复杂更智能的包含所有表达攻击模式的检测器。
解释攻击包括拷贝攻击、可逆攻击等,它使数字水印的版权保护受到了挑战。这种攻击在面对检测到的水印证据时,试图捏造出种种解释来证明其无效。一种通用的方法是分析水印算法并逆其道而行。攻击者先设计出一个自己的水印信号,然后从水印图像中减去这个水印 (不是指代数减,而是插入过程的逆),这样就制造出一个虚假的原始图像,然后他出示虚假的原始图像和捏造出的水印,声称他是图像的拥有者。由解释攻击所引起的无法仲裁的版权纠纷的解决方案主要有三种:第一种方法是引入时戳机制,从而确定两个水印被嵌入的先后顺序;第二种方法作者在注册水印序列的同时对原始作品加以注册,以便于增加对原始图像的检测;第三种方法是利用单向水印方案消除水印嵌入过程中的可逆性。其中前两种都是对水印的使用环境加以限制,最后一种则是对解释攻击的条件加以破坏。
在图像水印领域,Digimarc 公司是图像水印技术的行业标杆。该公司在这个领域深耕多年,拥有 1200 多项专利,其图像水印技术涵盖数字和实体图像。Digimarc 利用自己拥有专利的数字水印技术和信号处理技术在包装、打印材料和图像中增加不可感知的水印。这项技术拥有充足且可扩展的容量来应对广泛的商业应用需求。据我们了解,Digimarc 公司的主要业务集中在条形码的推广和应用。
在音频水印领域,Verance 公司旗下基于音频水印的内容保护产品 Cinavia 比较有代表性,它是电影领域蓝光标准的一部分,UHD/4K 内容的行业要求,并被混合广播宽带电视(HbbTV)协会在宽带应用规范中采用,也是电影、电视和音乐领域中内容保护的商业标杆。这项技术专注高级影视内容的版权保护,使其在预发行、院线上映期间和电视播放时免受盗版的侵害。
在视频水印领域,Nexguard 的技术在国际上比较流行,他们通过视频水印技术实现多媒体内容的版权保护和反盗版服务。Nexguard 的主要业务围绕付费电视内容保护展开,包括点播电视节目、体育赛事直播、互联网直播服务、互联网电视等。他们 的付费电视服务(NexGuard Pay-TV)将特定用户的取证水印嵌入到托管的付费电视客户端设备(机顶盒或智能电视)中,几乎所有的主要芯片组供应商都支持该技术,并且不需要额外的前端视频处理。
而在文档水印上,宇飞的文档水印技术则比较出众。他们的技术包括覆盖于全文档并与页面进行融合的网纹水印;人眼不可识别,但是计算机可识读的离散可见水印;可通过滤光镜看见的非离散实体水印;彩色方案偏光性水印;以及用于验证的水印二维条码。宇飞的水印技术不仅适用于电子文档,还适用于打印(印刷)的实体文档,并且综合考虑了印刷品防复制、防破损、防模糊、快速检测等需求。
从实现上讲,一般Web系统水印的实现方案,分为前端水印和后端水印。前端实现的优点是不占用服务器资源,速度快,适合不同用户浏览网页显示不同水印的场景,后端水印的优点是安全,适合所有用户看都是一样水印的场景。对于更看重数据安全的应用,还是需要后端水印,最理想的解决方式就是提供一个独立的水印服务,虽然加载过程中会略有延迟,但是相对与数据安全来说,毫秒级的延迟还是可以接受的,这样又能保证不影响业务的服务稳定性。
虽然无法防止用户破解,但也有些方法可增加一些前端水印被破解的难度。比如在当前页面禁止用户打开devtools,或基于 MutationObserver 的元素属性变化监测。MutationObserver 可以监测到 DOM 元素上任何属性的变化情况,如有需要,也可以监听其子元素的变化情况。当用户通过 devtools 修改了水印元素的属性时,MutationObserver 可以及时地通知我们,这样就能在第一时间恢复我们的水印。有一点需要注意的是,MutationObserver 监听的是元素的属性,即 attributes
,所以我们的 css 样式应当作为元素的 style
属性内嵌在 HTML 中。