水印攻击和隐写分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 对于一个M*N像素的图片,设各个像素的 值取自集合P,例如一个8bit的灰度图像, P={0,1,2,....,255}。将这些像素分为 有着n个相邻像素的子集,例如n可以取 值为4,记为G=(x1,x2,x3,x4)。进 一步利用如下函数表示图像块的空间相 关性
f ( x1 , x2 , xn ) xi 1 xi
• 水印测试主要是从水印鲁棒性角度来考 虑,也即当水印在遭受各种攻击后仍能 提取水印,但目前并没有一个统一的测 试标准,大部分测试标准都只能针对某 一种水印算法。为了得到一个统一的水 印测试标准,很多学者和组织进行了水 印测试标准基准方面的研究,英国剑桥 大学的Fabien Petitcolas设计一个通用 的水印基准测试软件StirMark,该工具 已经变成数字水印领域使用最为广泛的 水印技术评测工具。Stirmark可从多个 方面来评测水印算法的鲁棒性,模拟多 种水印攻击手段来测试水印的鲁棒性。
【实验环境】
• (1) WindowsXP或Vista操作系 统 • (2) MATLAB7.1科学计算软件 • (3) 图像文件man.bmp
【原理简介】
• 隐写术和隐写分析技术是互相矛盾又是相互促 进的,隐写分析是指对可疑的载体信息进行攻 击以达到检测、破坏,甚至提取秘密信息的技 术,它的主要目标是为了揭示媒体中隐蔽信息 的存在性,甚至只是指出媒体中存在秘密信息 的可疑性。 • 图像LSB信息隐藏的方法是用嵌入的秘密信息取 代载体图像的最低比特位,原来图像的7个高位 平面与代表秘密信息的最低位平面组成含隐蔽 信息的新图像。虽然LSB 隐写在隐藏大量信息 的情况下依然保持良好的视觉隐蔽性,但使用 有效的统计分析工具可判断一幅载体图像中是 否含有秘密信息。 • 目前对于图像LSB信息隐藏主要分析方法有卡方 分析、信息量估算法、RS分析法和GPC分析法等。
【实验环境】
• (1) 统 • (2) • (3) • (4) WindowsXP或Vista操作系
Stirmark软件 S-tools工具 Ultraedit编辑软件
【原理简介】
• 对水印的性能建立合理的评估方法和 基准是数字水印研究的一个重要内容。 在对水印系统进行性能评价的过程中, 需要对水印系统进行一系列的攻击, 以测试其性能,这些攻击是指一个水 印系统在实际使用过程中可能会遭受 的有意或无意的各种攻击。有意的攻 击是指为了去除水印而采取的各种处 理方法,这种攻击往往是恶意的;无 意的攻击是指含水印的载体在使用的 过程中不可避免的受到诸如有损压缩、 噪声影响的处理。
6.阅读日志文件,观察结果
• 执行程序无误后得到日志文件 SMBReport.log,打开日志文件,查 看执行结果。
7.提取攻击后的水印信息
• 从Media\output\images\set1 目录下找到 watermarkedlena_ROT_90.bmp 文件,表示该文件被旋转90度。 • 采用第三章DCT水印提取算法 提取水印信息,该图像隐藏的 水印信息是1234567CAB。携密 载体被旋转90度后,提取的水 印信息是乱码,表示该算法不 能抵抗旋转攻击。
5.执行测试程序
• Stirmark基准测试程序使用3个参数作为命 令行选项,各参数的含义如下: • 数字水印算法库文件:程序缺省的设置是 EmbedDLL.dll; • 配置文件包含了运行测试时各参数,同时也 可以为不同的数字水印应用程序使用不同的 配置,文件使用的默认配置文件为 SMBsettings.ini; • 日志文件:用于导出结果,默认的日志文件 是SMBReport.log。 • 打开Dos命令行,进入Stirmark的安装目录, 然后进入Bin\Benchmark,在目录下执行 Benchmark SMBsettings.ini EmbedDLL.dll SMBReport.log。
卡方分析的步骤是:
• 设图像中灰度值为j的象素数为hj, 其中0≤j≤255。如果载体图像未 经隐写,h2i和h2i+1的值会相差很大。 秘密信息在嵌入之前往往经过加密, 可以看作是0、1 随机分布的比特 流,而且值为0与1的可能性都是 1/2。如果秘密信息完全替代载体 图像的最低位,那么h2i和h2i+1的值 会比较接近,可以根据这个性质判 断图像是否经过隐写。
定量分析载体图像最低位完全嵌入秘密 信息的情况:
• 嵌入信息会改变直方图的分布,由差别很大 变得近似相等,但是却不会改变h2i+h2i+1的值, 因为样值要么不改变,要么就在h2i和h2i+1之 间改变。令
h 2i
*
显然这个值在隐写前后是不会变的。 • 如果某个样值为2i,那么它对参数q的贡献为 1/2;如果样值为2i+1 ,对参数q的贡献为* 1/2。载体音频中共有 2h2i 个样点的值为2i 或2i+1,若所有样点都包含1比特的秘密信息, 那么每个样点为2i或2i+1的概率就是0.5。
Hale Waihona Puke Baidu 【实验步骤】
• 1.LSB嵌入和直方图变化 对图像进行LSB嵌入,并比较 嵌入秘密信息前后的直方图变 化。 • 2.卡方分析函数 • 3.LSB卡方分析
【思考题】
• 1.如果秘密信息没有嵌满所有像 素,并且嵌入位置随机分布于整 个图像,而分析者很难知道秘密 信息所在位置,卡方分析方法就 很难生效。可以使用伪随机序列 随机在载体的最低比特位嵌入信 息,使用上述卡方分析方法判断 载体是否携密,验证卡方分析方 法在上述隐写算法情况下是否有 效。
6.3 LSB信息隐藏的RS分析
• 【实验目的】 • 【实验环境】 • 【原理简介】 • 【实验步骤】
【实验目的】
• 了解RS隐写分析的原理,掌握 一种图像LSB隐写算法的分析 方法,设计并实现一种基于图 像LSB隐写的RS隐写分析算法。
【实验环境】
• (1) 统 • (2) • (3) • (4) WindowsXP或Vista操作系
4.初始化参数
在SMBsettings.ini文件中设置初始化参数: • a、Test_PSNR,起始值为0,终止值为100,步进 为50 • b、Test_AddNoise,起始值为10,终止值为50, 步进为20 • c、Test_JPEG,质量因子为15,25和35 • d、Test_ConvFilter,使用高斯滤波 • e、Test_SelfSimilarities,使用rgb色系,r,g 通道,交换攻击 • f、Test_RotationCrop,旋转角度为-5,0.75,10 • g、Test_RotationScale,旋转角度为-5,0.75,10 • h、Test_Affine,x轴不变,y轴坐标为x轴坐标的 0.05倍与y轴坐标之和,再固定向上平移1个单位; x和y都变化
【实验步骤】
• • • • • • • 1.安装Stirmark软件 2.添加测试图像集 3.选择测试类型 4.初始化参数 5.执行测试程序 6.阅读日志文件,观察结果 7.提取攻击后的水印信息
1.安装Stirmark软件
• Strimark解压缩后得到Bin、Media、 Profiles、sources四个目录和说明 文档。执行文件(Bin)目录包含基准 测试程序(Benchmark)目录和水印算 法库文件(Libraries)目录,其中 Benchmark目录中包含Stirmark基准 测试可执行程序和测试输出的日志文 件。配置文件(Profiles)目录包含 测试所需配置文件,Stirmark基准可 执行程序的命令行可以指定配置文件。 媒体集(Image)目录包含了输入 Input文件夹和输出Output文件夹。
MATLAB7.1科学计算软件 图像文件lena.bmp S-Tools工具
【原理简介】
• RS主要是针对采用伪随机LSB嵌入算法进行攻 击的一种方法。RS方法不但能检测出图像是 否隐藏信息,而且还能比较准确的估算出隐 藏的信息长度。 • RS隐写分析算法考虑图像各个位平面之间具 有一定的非线性相关性,当利用LSB隐写算法 隐藏秘密信息后,这种相关性就会被破坏。 只要能找出衡量这一相关性的方法,并对隐 藏秘密信息前后的情况加以对比,就有可能 设计出隐写分析方法。 • RS隐写分析方法的理论核心是:任何经过LSB 隐写的图像,其最低比特位0,1分布满足随 机性,即0,1的取值概率均为1/2,而未经过 隐写的图像不存在此特性。
6.2 LSB信息隐藏的卡方分析
• 【实验目的】 • 【实验环境】 • 【原理简介】 • 【实验步骤】 • 【思考题】
【实验目的】
• 了解什么是隐写分析 (steganalysis),隐写分析与 信息隐藏和数字水印的关系。掌 握基于图像的LSB隐写的分析方 法,设计并实现一种基于图像的 LSB卡方隐写分析方法。
2.添加测试图像集
• 为在配置文件中指定测试图像集, 需在[ImageFolders]节点下将 Folder n指定为测试图像集文件夹 相对于输入文件夹的相对路径,n 是文件夹序号,例如: [ImageFolders] Folder1=Image/Set1 • 然后生成一个嵌入水印信息的图像, 并将其保存在 Media/Input/Images/set1目录下。
上式中,k等于h2i和h2i+1所组成数字对的数量, h2i*为0的情况不计在内。r越小表示载体含有秘 密信息的可能性越大。结合卡方分布的密度计算 函数计算载体被隐写的可能性为:
1 1 t k2 p 1 k 1 exp( )t dt 2 k 1 2 2 ( )0 2
1
r
如果p接近于1,则说明载体图像中含有秘密信息。
h 2i h 2i 1 2
q
h2 i h2 i 1 2
h2i h2i 1 2h2i
*
• 当2h2i 较大时,根据中心极限定理,下式成立:
2
k
*
h2i h2i* h2i
*
N (0,1)
其中->N(0,1)表示近似服从正态分布
服从卡方分布。
(h2i h2i* )2 r 所以, h2i* i 1
3.选择测试类型
• Stirmark基准测试程序包含了大部分常用测 试方法,如JEPG 压缩、几何变换等,同时 也保留了相应的扩展接口,用户可自定义新 的测试。 • Stirmark基准测试程序通过配置文件来定义 测试和设置测试参数。通过修改Profiles中 的SMBsettings.ini设定测试类型,用户也 可自定义ini文件。 • 在SMBsettings.ini文件中选择测试类型为: Test_PSNR、Test_AddNoise、Test_JPEG、 Test_ConvFilter、Test_SelfSimilarities、 Test_RotationCrop、Test_RotationScale、 Test_Affine。
i 1
n 1
• 函数f使得每一个集合G都对应一个实数。 G中的噪声越大,函数f的值越大。f值越 小,说明图像相邻像素之间的起伏越小, 而图像块的空间相关性越强。
• •
恒等变换F0:F0 ( x) x, x P 。 复杂度分辨函数f和三种变换函数F定义以下三种 类型的元素组R,S,U。 G R f ( F (G)) f (G) ,也就是说对G中的元 Regular G: 素进行变换之后增大了元素之间的差别程度,R 表示正则组。 G S f ( F (G)) f (G) ,也就是说对G正 Singular G: 的元素进行变换之后减小了元素之间的差别程度, S表示奇异组。 G U f (F (G)) f (G),也就是对G中的元 Unusable G: 素进行变换之后元素之间的差别程度几乎不变, G表示无用组。
第六章
水印攻击和隐写分析
6.1 Stirmark使用指南
• 【实验目的】 • 【实验环境】 • 【原理简介】 • 【实验步骤】
【实验目的】
• 了解水印攻击的基本概念。掌 握Stirmark工具的安装和使用 方法,使用Stirmark工具对某 种水印算法进行攻击,验证该 水印算法的性能,并对攻击结 果进行相应的分析。