数字水印的攻击类型

简介: 数字水印的攻击类型

数字水印的攻击类型

引言


数字水印技术作为信息隐藏技术的一种,不可见性和鲁棒性是它的主要特点。通常在水印嵌入时我们需要来确定水印的嵌入量,以此来平衡不可见性和可见性之间的关系。


方法


对于不可见性,我们可以直观的判断出来。但对于鲁棒性,我们需要进行一系列的攻击测试来判断。下面,将介绍数字水印常见的几种攻击类型。


实验结果与讨论


1.常见的攻击类型


1.1 简单攻击


简单攻击是试图对整个水印化数据进行操作来削弱嵌入的水印的幅度,而不是试图识别水印或者分离水印,以此来导致数字水印提取发生错误,甚至根本提取不出来水印信号。常见的有:压缩(JPEG、MPEG)、噪声


1.2 同步攻击


同步攻击是试图破坏载体数据和水印的同步性,被攻击的数字作品中水印仍然存在,而且幅度没有变化,但是水印信号已经发生错位,不能维持正常的水印提取过程所需要的同步性。同步攻击通常采用几何变换方法,常见的有:缩放,裁剪,旋转。、


1.3 削去攻击


削去攻击试图通过分析水印化数据,估计图像中的水印,将水印化的数据分离成为载体数据和水印信号,然后抛弃水印,得到没有水印的载体数据。常见的有:合谋攻击


1.4混淆攻击


混淆攻击是试图生成一个伪源数据、伪水印化数据来混淆含有真正水印的数字作品的版权。常见的有:IMB攻击


2.理论知识及代码


2.1 压缩


在处理数字水印的压缩攻击时,用的最多的是Stirmark工具。


Stirmark工具实操步骤


Step1.在matlab中将水印嵌入后,保存嵌入了水印后的图,我这里保存为了.BMP格式


Step2.将待检测的图放置在文件夹Media\Input\Images\Set1中。

f17123c5cafbf51d824f75c8296f147f.png



Step3.双击Bin\Benchmark\StirMark Benchmark应用程序,程序会自动运行,会自动将攻击测试后的图放置在Media\Output\Images\Set1中,如图:


1d7935aefcf328349f620ebad7f38573.png


程序运行时,会有下面的界面,显示的是攻击测试类型:


80a467aae1ccc3d443dd98c61678fd42.png


若想修改攻击测试的参数,可以在Profiles\SMBsettings里进行修改


5a2261212cabcb3c4fd9868efa766d50.png


Step4.直接从Output\Images\Set1中拿图去提取吧,提取不出来,就是不抗这种攻击哦。


2.2 噪声


常见的几种噪声:高斯噪声、椒盐噪声、泊松噪声、乘性噪声


在matlab中,可以通过imnoise()函数给图像添加这四种噪声,imnoise()函数的调用格式为:


J=imnoise(I,type,parameters)


I:要添加噪声的图像


type:添加的噪声类型,‘gaussian’为高斯噪声,‘localvar’为0均值白噪声,‘poisson’为泊松噪声,‘salt & pepper’为椒盐噪声,‘speckle’为乘性噪声


parameters:噪声的参数,不设置采用默认值。不同的噪声类型,需要设定的参数也不同,下面对高斯噪声和椒盐噪声进行介绍


①高斯噪声


J=imnoise(I,‘gaussian’,m,v)


m:高斯噪声的均值,默认为0


v:高斯噪声的方差,默认为0.01


附上高斯噪声代码:


代码清单 1

clear all; close all;
I=imread('coins.png');
J=imnoise(I, 'gaussian', 0, 0.01);%方差为0.01的高斯噪声
K=imnoise(I, 'gaussian', 0, 0.03);%方差为0.03的高斯噪声
figure;
subplot(121);  imshow(J);title('方差为0.01的高斯噪声')
subplot(122);  imshow(K);title('方差为0.03的高斯噪声')


8dbe14da2fcb3e2913af64c2546201e4.png


②椒盐噪声

J=imnoise(I,‘salt & pepper’,d)

d:噪声的密度,默认为0.05


附上椒盐噪声的代码:

d67dc5a4cc6073bb4ff8efcf08007ca6.png


代码清单2


  f68998a746ac23ed1433f91b6f85f7be.png


2.3 缩放


这里用imresize()函数,调用格式可以用最基础的:

B=imresize(A,m)

m大于1,图像放大;m小于1,图像缩小

7fa60ddd5692b901c844eab4f71b607f.png


代码清单3


  2.4 剪切


 这里要注意的是,matlab中有自带的剪切函数,imcrop()函数是我们对一幅图中的某个区域感兴趣需要将这部分剪切下来时使用的,保留的是剪切下来的那部分。而对于数字水印的剪切攻击而言,我们并不是直接调用imcrop()函数,因为我们要保留的是原图“剪切”后剩下的那部分,用图表示就是下面的阴影部分。这里的剪切我用了引号,是因为这里并不是真正的剪切,只是将选中的部分调为白色,也就是像素调为255,(0表示黑色,255表示白色),若原图为灰度图像,直接调为255即可,若原图为RGB彩色图像,需要三色通道都调为255。

f1e2a30548aa24c32edc82538f40732e.png



cd785ec5c2252b3d76505413210029d6.png


下面附上RGB图“剪切”的代码,对于灰度图只用剪切一次即可:


4eff17cf5a34e69b22afca8c67073331.png

代码清单4



5fd457730a4a55e94b00c4c82da34764.png



2.5 旋转


图像的旋转通常是以图像的中心为原点进行旋转,旋转后,图像的大小一般都会改变。


函数imrotate()的调用格式如下:


1.B=imrotate(A,angle)


将图像A以原点为中心按照angle角度进行旋转。


angle大于0,逆时针方向旋转;angle小于0,顺时针方向旋转。


(该函数默认使用‘nearest’进行领域插值)


2.B=imrotate(A,angle,method)


将图像A以原点为中心按照angle角度进行旋转,旋转时采用method的方法进行插值。


method的取值有:‘nearest’最近邻插值(默认),'bilinear’双线性插值,‘bicubic’双三次插值


3.B=imrotate(A,angle,method,bbox)


将图像A以原点为中心按照angle角度进行旋转,旋转时采用method的方法进行插值,bbox为旋转之后图像的大小。


bbox的取值有:‘crop’表示输出图像与输入图像大小相等,旋转后的图像进行剪裁;‘loose’表示能将完整旋转图像容下的足够大的图像。


下面对以上几种调用格式的旋转进行操作:


代码清单5


f4ae3469c308abf4f96cf5e16a1a785e.png

e5579a0e7417693533e9f288c62a2752.png



结语


以上就是数字水印常见的一些简单攻击和几何攻击,具体在数字水印当中的应用,就是用这些攻击方法对嵌入水印后的图像进行攻击,保存受攻击后的图,再进行水印的提取,若能提取出水印,则说明水印算法能够抵抗这种攻击,若提取不出来,说明鲁棒性有待提高。


稿件来源:深度学习与文旅应用实验室(DLETA)  


目录
相关文章
|
6月前
|
存储 机器学习/深度学习 自然语言处理
大语言模型隐私防泄漏:差分隐私、参数高效化
大语言模型隐私防泄漏:差分隐私、参数高效化
431 4
|
3月前
|
存储 SQL 安全
数字堡垒的裂缝:网络安全漏洞与信息保护的现代策略
随着数字化时代的深入发展,网络安全和信息安全成为维护个人隐私与企业资产的关键。本文将探讨当前网络环境中存在的安全威胁,包括软件漏洞、加密技术的演进以及提升安全意识的重要性。通过分析近期的安全事件和技术进展,我们将提供实用的防护措施和建议,旨在为读者构建一个更安全的数字生活和工作环境。
|
13天前
|
SQL 安全 网络安全
网站攻击类型
【10月更文挑战第13天】网站攻击类型
38 5
|
3月前
|
存储 监控 安全
网络安全中的蜜罐:原理、类型及应用
【8月更文挑战第31天】
293 0
|
3月前
|
SQL 缓存 网络协议
有哪些常见的网络攻击类型?
【8月更文挑战第15天】
109 0
|
5月前
|
安全 PHP 数据安全/隐私保护
WAF攻防-菜刀&冰蝎&哥斯拉&流量通讯&特征绕过&检测反制&感知
WAF攻防-菜刀&冰蝎&哥斯拉&流量通讯&特征绕过&检测反制&感知
|
5月前
|
安全 网络安全 数据安全/隐私保护
关于双面恶魔攻击的定义、检测和预防的最佳实践
关于双面恶魔攻击的定义、检测和预防的最佳实践
|
12月前
|
机器学习/深度学习 人工智能 安全
【网安AIGC专题10.11】①代码大模型的应用:检测、修复②其安全性研究:模型窃取攻击(API和网页接口) 数据窃取攻击 对抗攻击(用途:漏洞隐藏) 后门攻击(加触发器+标签翻转)(下)
【网安AIGC专题10.11】①代码大模型的应用:检测、修复②其安全性研究:模型窃取攻击(API和网页接口) 数据窃取攻击 对抗攻击(用途:漏洞隐藏) 后门攻击(加触发器+标签翻转)
250 1
|
12月前
|
自然语言处理 安全 API
【网安AIGC专题10.11】①代码大模型的应用:检测、修复②其安全性研究:模型窃取攻击(API和网页接口) 数据窃取攻击 对抗攻击(用途:漏洞隐藏) 后门攻击(加触发器+标签翻转)(上)
【网安AIGC专题10.11】①代码大模型的应用:检测、修复②其安全性研究:模型窃取攻击(API和网页接口) 数据窃取攻击 对抗攻击(用途:漏洞隐藏) 后门攻击(加触发器+标签翻转)
362 0
|
SQL 编解码 弹性计算
攻击识别功能介绍|学习笔记
快速学习攻击识别功能介绍
121 0