基于水印的多媒体传感器网络中的认证与图像恢复
摘要
本文提出了一种基于水印技术的多媒体传感器网络(MSNs)安全图像获取方案,该方案支持图像认证与恢复。在所提出的方案中,传感器节点对图像帧进行分组,两个连续的图像帧构成非重叠的认证与恢复组。水印比特由第一幅图像生成,是下采样图像的版本,并可逆嵌入到第二幅图像中。汇聚节点通过可逆水印进行验证和恢复。与以往的工作相比,我们的方法不仅能够实现认证,还能提高图像质量。实验结果表明,该方案在认证和丢包容忍度方面具有优势,能够提升图像质量。
关键词 :多媒体传感器网络;安全图像恢复;认证;水印技术
1 引言
低成本多媒体技术的进步促使了新型功能被集成到传感器网络中(Reddy 等,2009)。具备多媒体功能的传感器节点能够广泛地从环境中采集并传输视频、音频和图像数据,从而推动了多媒体传感器网络(MSNs)的发展。多媒体传感器网络(MSNs)可以改变或增强现有的传感器应用,例如跟踪和环境监测,同时还能实现新的应用。代表性示例包括
1 服务与用户的定位与识别(Xia 等,2012)
2 工业制造过程控制(Xu 和 Jiang,2013)
3 大规模农业监测无线传感器网络(Jardak 等,2010)。
然而,图像传感器会产生大数据负载,考虑到传感器中的资源限制,这给图像处理和传输带来了困难;此外,多媒体传感器网络在战场或安全设施等关键区域监控中的应用,需要在多媒体传感器网络中建立安全的多媒体传输机制。
多媒体传感器网络容易受到各种网络攻击,例如非法访问或中间人攻击(卡米尔,2011),这些攻击可能修改传输的数据或破坏数据的完整性。此外,它们还受到恶劣的网络信道的影响(洪刚等,2008),这些信道会向信号中引入噪声,从而导致数据损坏。解决这些问题对于实现安全可信的多媒体传感器网络至关重要。
在多媒体传感器网络的所有安全数据问题中,感知图像数据的认证完整性是核心需求之一。然而,由于计算能力、存储空间和能量有限,基于密码学的传统完整性解决方案通常不适用于多媒体传感器网络(卡洛夫等,2004;朱等,2006)。
基于传统哈希和数字签名的多媒体传感器网络认证要求原始数据的完整性。原始数据中任意一位的篡改都可能导致认证失败。众所周知,感知图像数据需要进行网间有损压缩以提高传输效率并降低能量消耗。此外,由于信道不稳定,感知图像数据可能受到损坏(班邦等,2012)。因此,所附加的消息认证码(MAC)无法通过认证(孙等,2008)。因此,有必要研究新的认证机制以满足多媒体传感器网络的安全需求。
研究人员已探讨了水印技术以解决上述安全数据问题。采用水印技术的主要原因是,水印算法比加密算法轻量得多。水印算法不会带来额外负载,并且由于嵌入的水印成为宿主媒体相对不可分割的一部分,因此能够始终提供安全性,而密码学在内容被解密后则不再提供任何安全保障(卡米尔和古马,2010)。一些先前的研究工作(卡米尔,2011;张等,2008;祖尼加和克里斯南玛查里,2007)提出了基于数字水印的无线传感器网络(WSNs)认证方案。然而,这些方案的共同问题是会对原始数据造成某些不可逆修改,这可能会影响多媒体传感器网络中图像的视觉表现。
高质量的服务(QoS)是多媒体传感器网络的另一项需求。然而,由于信道不稳定和资源有限导致拥塞和丢包,基于错误控制和重传的传统可靠图像传输解决方案也不适用于多媒体传感器网络。
为了克服传统基于哈希和数字签名的认证方法的不足,并提高多媒体传感器网络中图像传输的服务质量,本文提出了一种基于帧组和可逆水印技术的新型多媒体传感器网络安全图像恢复方案。所提出的方案可通过嵌入水印图像对感知图像进行验证,并能恢复原始图像的受损部分,从而提升图像质量。该方案满足了多媒体传感器网络在认证与恢复两方面对安全图像获取的需求。
本文的其余部分组织如下。第2节和第3节介绍了水印技术的背景以及相关工作的概述。第4节提出了基于预测误差扩展的可逆图像水印方案。第5节和第6节详细描述了我们提出的算法。第7节给出了仿真得到的实验结果。最后,第8节对本文进行了总结。
2 水印技术的背景
数字水印是嵌入信息的过程,允许个人将隐藏消息或其他验证消息添加到数字音频、视频或图像中(范和曹,2007;苏什玛和马内什,2014)。这些隐藏消息是由比特组构成的,描述与信号或信号作者相关的信息。该信号可以是音频、图片或视频。如果信号被复制,信息也会保留在副本中。水印技术旨在将唯一数据嵌入到载体介质中。不同的水印技术的具体要求可能因应用而异,目前尚无通用的水印技术能够完全满足所有应用场景的所有需求。
水印技术通常包括三个阶段:水印生成、水印嵌入和水印检测。水印生成过程是第一个关键步骤,该步骤在水印生成器中进行,以生成水印信号。所生成的水印信号是一种可以嵌入到载体介质中的信号或模式,例如图像标志、扩频序列、伪随机序列和二进制矩阵。水印嵌入是第二个步骤,由嵌入器完成。嵌入器可以使用离散余弦变换、离散傅里叶变换或离散小波变换来创建加水印的载体介质,其在感知上与原始载体介质相同。然后,发送方可以通过不安全通信信道(如无线和无线电频道)传输该介质。水印检测是最后一个步骤,由检测器完成。检测器从加水印的载体介质中提取水印信号,并将其与来自原始载体介质的原始水印信号进行比较。
3 相关工作
多媒体传感器网络的传统基于密码学的认证技术将消息认证码(MAC)添加到数据包的末尾(Saru 等,2015;Shaila 等,2013),这通常占用额外功耗和带宽(Sathyadevan 等,2015),并且无法抵抗图像损坏或数据丢失。
TinySec(Karlof 等,2004)是首个为无线传感器网络完全实现的链路层安全协议,可提供数据机密性和完整性认证。TinySec 计算一个四字节的消息认证码(MAC),并将其附加到数据包中。TinySec 经过精心设计,以在资源受限和安全性之间取得平衡,但仍会引入额外的通信开销。LEAP(Zhu 等,2006)旨在支持网络内处理,并限制被攻破节点邻近节点的安全影响。
然而,LEAP 的实现具有较高的处理和通信开销。上述为无线传感器网络引入的安全方案基于加密算法,这些算法采用昂贵的操作,不适合无线传感器网络。
由于水印技术具有抗数据丢失鲁棒性、无额外负载嵌入以及较低的计算能耗等优点,因此被用于MSNs中的认证。Kamel和Guma(2010)减少了哈希函数的使用,提出了LWS(轻量级链式水印)方案,该方案采用脆弱链式水印方案来验证并定位对数据的任何篡改。
Kamel(2011)提出了一种名为FWS‐D的轻量级前向链式水印方案,该方案将数据组织成固定大小的组。哈希函数仅用于通过一组数据生成水印,并将水印嵌入到前一组中以形成前向链式结构。Zhang等人(2008)提出了一种端到端的水印统计方法用于数据认证,该方法为网络间处理提供了固有的支持。在该方案中,认证信息以水印形式在传感器节点处以加性模式调制并嵌入到感知数据中,能够在一定程度上抵抗数据丢失。
Nassar等人(2015)提出了一种基于内容的图像验证方案,该方案使用离散余弦变换(DCT)将标记嵌入图像块中,并在无线加性高斯白噪声(AWGN)信道上进行传输而不使用纠错码。Arpan等人(2016)提出了一种基于水印的低开销解决方案(LoWaNa),用于节点认证。其他基于水印的WSNs安全方案也已被提出(Wang,2010,2013;Djallel 等,2015)。在这些方案中,图像、音频或心电信号被用作载体媒体,图像标志、音频、二进制流被用作水印。采用加性模式或乘性模式将水印嵌入空域或变换域中,并使用归一化互相关(NC)或峰值信噪比(PSNR)来提取和检测嵌入的水印。然而,所有这些基于水印的认证方案都存在一个共同问题,即使用了不可逆水印,即使水印已被检测和提取,也无法完全恢复原始数据。
MSNs传输过程中的丢包会导致图像中出现大量损坏的块,从而导致图像质量降低。一些适用于MSNs的适当传输错误控制和多路径路由方案已被提出,以提高图像或视频传输的服务质量(QoS)。吴和阿布泽德 (2006)同时使用多路径路由和里德‐所罗门纠错来提高图像质量。源节点通过多路径传输多个相同副本的图像,簇头节点比较接收到的图像,并通过多路径将纠错后的副本传输到下一个节点。陈等人(2007)提出了一种结合前向纠错码与基于方向图路由的多路径路由的方案,相比单路径路由提供了更可靠的传输。据报道,该方法在延迟和图像质量方面取得了良好效果。皮纳尔等人(2011)提出了一种基于水印的误差隐藏方案,该方案使用下采样图像作为水印并将其嵌入图像自身的离散小波变换(DWT)系数中。所提出的方案据报道在功耗、延迟和图像质量之间实现了良好的平衡。上述方案中使用的多路径路由可以提高传输可靠性。然而,它也增加了网络传输负载,并且无法容忍丢包。
4 基于预测误差扩展的可逆图像水印
可逆数据嵌入可在提取嵌入数据后完全恢复载体图像。
曾和谢(2009)提出了一种基于预测误差扩展的可逆水印算法用于图像,这促使我们将该思想应用于多媒体传感器网络中的数据认证。
考虑灰度图像I中一个像素值为p的像素。令ˆp为预测值,该预测值由预测器利用相邻像素之间的相关性预测得到。
预测误差ˆd p p 被计算出来。然后,将水印位 w 插入到dc的最低有效位中,其中 2 c u 。d d w
水印技术的像素值是 ˆ 。p pdc c
在解码器中,提取任务通过计算预测误差完成,扩展的预测误差计算为 ˆ。d p pc c
嵌入的比特 w 从值 dc 的最低有效位中提取,并在计算 / 2 c c « » ¬ ¼ 后恢复原始像素值。p p d w
图像的像素按光栅扫描顺序进行处理,且原始图像和水印比特可以无损地还原。由于包含图像内容的水印比特可用于恢复受损的原始图像,我们将其主要思想应用于多媒体传感器网络中的数据认证和图像恢复。
5 所提出的方案
5.1 系统模型
我们考虑简化的多媒体传感器网络(见图1),其由两种类型的节点组成:视觉传感器节点和汇聚节点。视觉传感器节点定期将采集的图像报告给汇聚节点。每次采样得到的图像作为图像流中的一个元素。水印比特由原始图像生成,并嵌入到传感器节点中。汇聚节点对接收的图像进行验证和恢复。换句话说,传感器节点是编码器,用于数据的缓冲和处理;汇聚节点则是解码器和验证器。
传感器节点将两个相邻图像设为一组,该组由不重叠的认证与恢复组构成。水印比特从第一幅图像计算得出,并在存储前嵌入到第二幅图像中。在另一端,汇聚节点查询图像组,通过计算和提取验证水印比特,然后恢复原始数据。
5.2 分组
如图2所示,sa、sb、sc是三幅连续图像。两个相邻图像组成一个认证组,例如{sa, sb, sc}或{sb, sc}。水印由第一幅图像生成并嵌入到第二幅图像中,因此这两幅图像分别称为生成图像和载体图像。
5.3 水印生成与嵌入
水印生成和嵌入是基于分组的。关于依赖于图像恢复的方面
嵌入的水印应包含尽可能多的图像信息。设M × N 图像 Sa为生成图像(图2),我们对尺寸为M/2 × N/2 的下采样版本u进行量化,以获得二值图像b,该二值图像b是包含生成图像像素信息的水印图像候选。水印生成算法的伪代码如算法1所示。
算法1 水印生成
1 1/2 × 1/2 生成图像 S 的下采样图像 u
2 [n,m]=尺寸(u);
3 对于 i = 1:n
4 对于 j = 1:m
5 if u(i, j)>= h//h 为量化阈值
6 b(i, j) = 1
7 else
8 b(i, j) = 0
9 end if
10 end
11 end
载体图像 Sb (图2)和二值水印图像 b 分别被划分为包含64个系数的8 × 8子块和包含16个系数的 4 × 4子块。
在每个载体图像的子块中,嵌入一个二值水印图像的子块。设 fj为载体图像的第j th 个子块,cj为二值水印图像的第j th 个子块。因此,应将 cj 的16位数据作为16位水印嵌入到 fj 中随机选择的16个系数中。
我们采用预测误差扩展技术进行水印嵌入,该方法与第3节中描述的图像水印算法类似。
水印生成和嵌入均仅需要当前图像和先前结果,而不需要整个组,因此传感器节点只需缓冲当前图像,记为 BufferImage(Sb)。当前图像处理完成后,传感器节点清除图像缓冲区,记为 BufferImageClear(Sb)。
水印嵌入算法的伪代码如算法2所示。
算法2 Embedding
1 [c1, c2,..., cj,...cn]=分块水印图像(b);
将二值水印图像分割为 4 × 4 个子块块
2 缓冲图像(Sb);
3 [f 1, f 2,..., fj,...f n]=分块载体图像(Sb);
将载体图像划分为 8 × 8子块
4 对于每个子块 cj of b
5 对于 m = 1:4
6 对于 n = 1:4
7 w= cj(m, n);
8 p = RandomSelect(fj, K);
//根据密钥K从fj中选择嵌入像素
9 ˆ(); p预测 p
10 ˆ;d p p
11 2 c u ;d d w
12 ˆ ;p p d
c c
13 end
14 end
15 结束
16 清除缓冲图像(Sb);
5.4 解码
可以合理地假设汇聚节点的资源和能量不受严格限制。当汇聚节点从传感器节点查询带水印的图像数据时,由汇聚节点响应连续图像。当水印图像到达时,汇聚节点以相同的方式对图像进行分组,并在处理前至少缓存一组图像,记为BufferGroup(S)。汇聚节点从该组的两幅图像中分别提取水印图像bc和abc ,同时分别恢复原始的两幅图像asc和bsc 。该提取过程与第2节中描述的图像水印算法类似。然后,汇聚节点根据恢复的生成图像asc计算水印图像abcc,并将计算得到的abcc与提取出的abc进行验证。
如果水印验证成功,则生成图像将被标记为已认证。如果水印验证失败,则生成图像将被标记为未认证。认证完成后,生成图像将被清空,而载体图像应保留在缓冲区中。当下一幅图像到达时,将由缓冲区中的载体图像和新到达的图像组成一个新的认证组。
解码算法的伪代码在算法3和算法4中给出。
算法 3 解码
1 [,] a bS Sc c= BufferGroup(S);
2 [,] a s bc c=提取( );aSc//参见算法4
3 [,] b a s bc c=提取( );S bc//参见算法4
4 bacc=水印生成( ); sac //参见算法1
5 ((,)(,))/((,)(,)) a a a a i j i j R b i j b i j b i j b i j c cc c c u u ¦¦ ¦¦
//水印相关性
算法 4 提取
1 [f 1, f 2,..., fj,...f n]=分块载体图像(S);
将图像 S分割为 8 × 8子块
2 对于每个子块 fj
3 对于 m = 1:16
4 p = RandomSelect(fj, K); //选择嵌入位置 根据密钥K从fj中的像素
5 ˆ(); p predictp
6 ˆd p p c c
7 ();w最低有 效位 d c
8 / 2 s p d w c c « » ¬ ¼
9 end
10 end
11 return(s, w);
5.5 图像恢复
水印验证成功后,我们可以利用提取的水印图像 abc 来恢复可能由块丢失引起的图像丢失部分 asc 。
我们使用带有3 × 3模板的逆向量化误差扩散方法来估计恢复图像的像素。图像恢复的过程如下:
1 使用高斯低通滤波器对abc2进行滤波,对于像素 C(x0 , y 0), abc C(xk, y k)为邻域像素,在3 × 3模板3中计算像素距离dk= |xk – x0 | + |y k – y 0 |;
4 计算相关性 Uk= 1 – dk/r,其中r为最大距离;
5 计算估计像素8 0 0ˆ(,)(,), k D ¦ k k C x y C x y,其中8/ k D U U ¦ k k 1 1 k k;
6 重复步骤2 至5,对提取的水印图像’a b中的每个像素进行估计,得到恢复的图像ˆC;
7 2 × 2将ˆC进行上采样至与.asc相同的尺寸。
然后,我们通过将图像丢失部分 asc 替换为图像 ˆC 的对应部分来提高图像质量。
6 算法分析
在本节中,我们分析所提出算法的两个性能指标:时间复杂度和通信开销。
6.1 时间复杂度
所提出的基于水印的认证和图像恢复算法在传感器节点中包含两个步骤:水印生成和水印嵌入。
首先,在水印生成过程中采用了下采样和量化的方法,这些方法仅需对图像的每个像素扫描一次,水印生成算法语句的执行频率为M × N,其中M和N分别为图像的宽度和高度,因此时间复杂度为O(n),其中n为像素的数量。
其次,基于预测误差扩展的水印嵌入算法包含两个步骤:第一步是图像分块,需要对图像的每个像素扫描一次,因此时间复杂度为O(n);第二步是嵌入过程,其中误差预测的时间复杂度为O(n),因此时间复杂度为 O(n)。
总之,所提出的方案的时间复杂度为O(n),适用于资源受限的MSN。
6.2 通信开销
为了与基于FEC的丢包容忍算法进行比较,引入了一阶无线电模型对所提出的方案的通信开销进行定性分析。
发射器发送一位数据的能量消耗为ETX= He+ Had 2 , ,接收器接收一位数据的能量消耗为ETX= He,其中He表示接收一位数据的能量消耗,He= 50 nJ,Ha表示每米发送一位数据的能量消耗,Ha= 100 pJ/bit/m2 , d为传输距离。
该方案仅在图像传输过程中产生通信开销,而水印生成不产生通信开销,因为水印不会增加额外的通信开销。
假设节点 s 1 , s2 ,…, s[ 被驱动进行图像采集,节点 si通过多跳路径 1 2 , , i …, , i i kis s s将水印图像传输至汇聚节点,其中 ki为路径 1 2 , , i …,i i kis s s的跳数,d为节点间距离,则传输 [幅图像的总通信开销为 2 ( 2 [ H H ¦ )。com e a E ki di
7 仿真
本节介绍了实验设置,并给出了所使用的性能指标和参数值。
在仿真中,假设丢包概率相互独立且分布相同,从而导致相邻数据包之间的错误相互独立。仿真系统基于 MATLAB和OMNet开发。整个仿真过程如下:在 MATLAB中对500幅连续图像进行分组、水印生成、水印嵌入、水印认证和图像恢复测试。在OMNet中模拟水印图像传输过程中的丢包情况。多媒体传感器网络的参数值如下:三个节点被触发拍摄尺寸为480 × 640的图像,节点按标准网格部署,节点之间的距离为12米,数据包长度为29字节。测试拓扑如图3所示。
图4显示了测试帧的三幅连续的原始图像。图5显示了在丢包率为5%的情况下,汇聚节点接收到的三幅连续的水印图像。图4(a)的水印图像被嵌入到图4(b)中,图4(b)的水印图像被嵌入到图4(c)中。图6展示了恢复图像。图6中三幅恢复图像的峰值信噪比分别为40.87、42.54和45.35。结果表明,所提出的水印系统能够在传输过程中抵抗一定程度的丢包,并能高质量地有效恢复图像丢失部分。基于预测误差扩展的水印技术也实现了良好的不可见性性能。
将恢复图像图6与图4中的原始图像进行比较,视觉差异不明显。结果表明,所提出的可逆水印方案能够在保持良好不可见性性能的同时无损地恢复原始图像。
归一化相关系数(NC)(许和吴,1998)用于衡量原始水印与提取的水印之间的相似性,其定义如下:
@ 1 1 2 1 1 (,)(,) (,) w w i j w w i j w i j w i j NC w i j c ¦ ¦ ¦ ¦
其中,( , )wij c 表示提取的水印,w(i, j)表示参考水印。表1显示了所提出的方案在不同丢包率下的表现。
在图7中,我们比较了所提出的方案与传统的基于前向纠错的算法在每个像素上的平均通信开销。结果表明,所提出的方案比基于前向纠错的算法具有更低的通信开销。原因是所提出的方案将水印嵌入到另一幅连续图像中,无需增加额外的传输开销。
在图8中,我们比较了所提出的方案与传统的基于前向纠错的算法在不同丢包率下汇聚节点恢复图像的峰值信噪比。结果表明,所提出的方案比基于前向纠错的算法具有更好的丢包容忍能力。原因是基于前向纠错的算法只能纠正无损数据的错误数据包,而所提出的方案将水印嵌入到另一幅连续图像中,并且嵌入的水印可用于恢复图像丢失部分。
表1 所提出的方案中针对不同的丢包率
| 图像 | 15% | 10% |
|---|---|---|
| 图5(a) 峰值信噪比 = 32.36 | 归一化互相关(NC) = 0.6211 | 峰值信噪比 = 36.03 归一化互相关(NC) = 0.6769 |
| 图5(b) 峰值信噪比 = 36.23 | 归一化互相关(NC) = 0.5673 | 峰值信噪比 = 37.36 归一化互相关(NC) = 0.5931 |
| 图5(c) 峰值信噪比 = 34.98 | 归一化互相关( NC) = 0.6912 | 峰值信噪比 = 35.16 归一化互相关( NC) = 0.7211 |
| 图像 | 5% | 3% |
|---|---|---|
| 图5(a) 峰值信噪比 = 40.87 | 归一化互相关(NC) = 0.7330 | 峰值信噪比 = 40.96 归一化互相关(NC) = 0.7965 |
| 图5(b) 峰值信噪比 = 42.54 | 归一化互相关(NC) = 0.6475 | 峰值信噪比 = 43.95 归一化互相关(NC) = 0.6822 |
| 图5(c) 峰值信噪比 = 45.35 | 归一化互相关 (NC) = 0.8033 | 峰值信噪比 = 47.39 归一化互相关 (NC) = 0.8525 |
8 结论
本文提出了一种新颖的基于可逆水印的认证和多媒体传感器网络中的图像恢复方案。与以往的方案不同,该方案通过预测误差扩展来验证完整性和恢复原始数据。此外,水印不会增加额外的通信开销,并且可以用于恢复图像丢失部分,从而有效提高图像质量并具备良好的丢包容忍度。
33

被折叠的 条评论
为什么被折叠?



