前面介绍了一些关于图像加密的算法,现在我们来了解一下数字水印技术,本文主要介绍关于图像的
数字水印技术是干啥的?
我们之前经常听说过图像水印,在有些网站上下载的图片往往会被打上一个明显的标记,只有你交了钱或者开了会员才给你去掉水印,这种被称为可见水印;那么为什么要好端端地给一张图片打上水印呢?为了版权保护或者图片信息完整性保证,宣示对这张图片的主权,但是可见水印很明显,这往往会吸引攻击者的注意;另外为了图片的正常使用,可见水印一旦去除后,便可以被所有人大摇大摆地使用,甚至另外贴上标签,所以不可见水印在某些用途上要更符合需求,当然可见水印有时候是为了逼迫用户打钱使用的hh。
有人可能会说给图像加密不好吗?给图像加密,为了使用需要解密,一旦解密后不就和可见水印去除后效果一样了嘛。
版权保护好理解,那图片信息完整性保证是咋解决的呢?
这就要牵涉到数字水印技术的几个特征了:
- 不可见性:即嵌入水印后的图像在感官上不会发生可被感知到的变化;
- 鲁棒性:当图像经过某种改动(图像增强、压缩、调整对比度等)后,水印信息仍能被检测到,并保持一定的完整性;
- 可证明性:能证明图像的权属;
- 安全性:水印信息难以被篡改和伪造,并且没有权限的用户不能提取到水印信息;水印遭破坏后,图像也应该失真不可用了
分类
可见水印和不可见水印自然是一种分类方式;还可以分为稳健水印、半脆弱水印和脆弱水印。
在进行图像信息认证和完整性检验时,通常采用脆弱水印,脆弱水印是指当图象被改动后,即使是微小改动(一个像素),都会导致水印被破坏,因此可以验证信息的完整性。
数字水印的应用
- 版权保护:这个好理解
- 数字指纹:版权所有人可以向分发给不同用户的作品中嵌入不同的水印以标识用户的信息。该水印可根据用户的序号和相关的信息生成,一旦发现未经授权的拷贝,就可以根据此拷贝所恢复出的指纹来确定它的来源。
- 认证和完整性校验:上面解释了
- 信息隐藏,可以把需要隐藏的信息作为水印嵌入至图像内,这和CTF中的图片隐写不太一样,图片隐写往往是根据图片格式的特性往里面注入信息,不具有鲁棒性,一旦图片被破坏了,就可能啥也恢复不出来了,如LSB算法(嵌入信息至像素最低有效位)
数字水印一般包括嵌入和检测这两个过程
嵌入和检测的一般过程
数字水印算法分类
空间域
我这里不太想去探讨一个具体的实现算法,我有一个疑惑?如果一个图像被原作者打上了数字水印,那另外一个人拿到图像后也给它打上自己的水印?那最后如何判定该照片到底是属于谁的?目前能想到的是引入第三方可信机构