APP下载

一种摄像头拍摄图像的完整性认证算法

2016-02-07丁屹旻

网络安全技术与应用 2016年11期
关键词:数字水印鲁棒性完整性

◆丁屹旻

(河南省实验中学 河南 450002)

一种摄像头拍摄图像的完整性认证算法

◆丁屹旻

(河南省实验中学 河南 450002)

为了保证考生现场采集照片的完整性,维护考试的公平公正,本文提出了一种基于数字水印的摄像头拍摄图像完整性认证算法。该算法利用MD5和RC4算法在采集图像的格式字段与图像内容中嵌入水印信息,实现对视频摄像头拍摄的图像进行完整性保护和认证,能够准确判断图像是否经过了篡改,同时保证水印信息对常见图像处理操作的鲁棒性,从而为防止替考和冒名顶替事件的发生提供了一种有效的手段。

数字水印;拍摄图像;完整性认证;MD5算法;RC4算法

0 引言

近年来,类似于“罗彩霞事件”的考试替考、冒名顶替上学的新闻报道在我们的生活中所见不鲜。如何有效地防止替考和冒名顶替上学事件的发生从而维护考试的公平公正,是一个值得关注和解决的问题。当前通常的做法是进行考生照片采集和现场确认的方式来防止替考和冒名顶替。然而,如果采集的照片被人为更改,那么替考和冒名顶替事件就仍然可能发生。如何保证摄像头拍照采集图像的完整性,是目前图像真实性认证中亟需解决的关键问题。

数字水印(Digital Watermarking)技术是将一些标识信息(即数字水印)直接嵌入数字载体当中(包括多媒体、文档、软件等)或是间接表示(修改特定区域的结构),且不影响原载体的使用价值,也不容易被探知和再次修改,但可以被生产方识别和辨认。通过这些隐藏在载体中的信息,可以达到确认内容创建者、购买者、传送隐秘信息或者判断载体是否被篡改等目的。数字水印是保护信息安全、实现防伪溯源、版权保护的有效办法。数字水印主要包括鲁棒水印和脆弱水印两类,其中脆弱水印对其所保护的数字载体的任何变换或处理操作都具有非常强的敏感性,主要用于多媒体数据的精确认证。脆弱水印算法要求对篡改具有敏感性,其依赖于图像内容产生水印信息,既可以增强系统抵御统计攻击的能力,又避免了在认证检测端额外提供原始水印信息,对恶意篡改具有敏感性,因而更适用于图像认证。鲁棒水印是指在经历多种无意或有意的信号处理过程后,嵌入的数字水印仍能保持部分完整性并能被准确鉴别。量化索引调制(Quantization Index Modulation,QIM)是一种典型的含边信息数字水印嵌入方案[4],而抖动调制(Dither Modulation,DM)作为QIM 水印方案的一种典型实现,由于其容量大、鲁棒性好、容易实现盲检测等特性已成为研究和应用最多的方法之一。典型的水印算法中,文献[5]将水印信息以随机确定的强度嵌入随机选取的图像DCT系数中,该方法可使带水印图像的峰值信噪比更高,能够抵抗中值滤波,但是不能有效抵抗JPEG压缩;文献[6]的不可见水印方法选择每个颜色分量8x8分块DCT 变换后最左上角的8个系数来嵌入信息,该方法具有较好的不可见性,但也能有效抵抗JPEG压缩。上述的水印算法虽然具有较好的不可见性和一定的鲁棒性,但通常不能保证摄像头拍摄图像的完整性。

为了解决数字图像的完整性认证问题,特别是常用的摄像头拍摄图像的完整性认证问题,同时保证水印信息的鲁棒性,结合数字水印技术具有隐蔽实施、快速便捷、持续有效等技术特点,本文结合脆弱水印与鲁棒水印的特点,利用摄像头拍摄原理、拍摄得到的图像格式以及数字水印思想,提出了一种基于数字水印的摄像头拍摄图像完整性认证算法。该算法基于脆弱水印技术来实现对视频摄像头拍摄的图像进行完整性保护和认证,能够准确判断图像是否经过了篡改,同时利用鲁棒水印技术保证水印信息对常见图像处理操作的鲁棒性。

1 本文算法

基于数字水印的摄像头拍摄图像完整性认证算法可实现对摄像头拍摄的JPEG格式图像进行采集,然后将水印信息嵌入图像中,在不影响图像的正常显示和人的视觉效果前提下,达到认证摄像头拍照文件图像完整性、保护图像真实性的目的。此外,还可直接用于对一些重要的JPEG格式图像文件的完整性认证和保护。例如:医学图像和用于法庭取证的数字图像,往往要求原始文件不能经过任何修饰和篡改,如何从技术上来对此类图像的完整性进行认证,是值得研究问题。本算法针对摄像头拍摄得到的JPEG图像,采用了基于格式的水印嵌入方法,当图像经过任何非拷贝或打开操作后,将会被本算法判别为经过了篡改。

本文算法具有如下特点:

(1)能够对摄像头数据流进行图像采集,并能够对此图像进行水印嵌入;

(2)能对摄像头拍照的图像,保护用户随意选择的需要保护的敏感区域;

(3)能可靠判决图像是否经过了篡改,判决结果可证明;

(4)对于图像的修改十分敏感,除了拷贝和打开操作,对于含水印图像的任何其他操作得到的图像都会被判为经过篡改;

(5)对于涂改、剪切、拉伸、缩放、压缩等操作,能够提取嵌入图像内容中的水印信息;

(6)结合了MD5[7]和RC4[8]两种经典加密技术,充分保证了水印和整个认证系统的安全性;

(7)采取了基于JPEG图像格式和图像内容的嵌入方法,对图像的数据区不作任何修改,因此,不会对图像的视觉效果产生任何影响。

1.1 图像采集及水印嵌入算法

基于数字水印的摄像头拍摄图像完整性认证算法中,摄像头视频设备图像采集及水印嵌入过程流程图如图1所示:

在调用摄像头拍摄图像后,首先选择待嵌入的水印信息并设置密钥。为了保证输入水印信息的鲁棒性,本文采用RC4算法和密钥对水印信息加密,采用基于图像内容的水印嵌入算法将水印信息嵌入到待保护图像中。为了对图像内容进行完整性认证,本文将图像内容的哈希摘要作为水印信息的一部分。基于MD5算法及密钥对图像内容进行哈希,将哈希值与加密后的水印信息共同构成水印信息。最后,使用基于图像格式的水印嵌入算法,将水印信息添加到待保护的拍摄图像中,即生成含水印的摄像头拍摄图像。

(1)基于图像内容的水印嵌入算法

基于图像内容的水印嵌入算法将水印信息扩频后,利用拍摄图像的中低频系数嵌入水印信息,在不影响图像质量的前提下,可保证水印信息对JPEG压缩、高斯噪声、中值滤波等操作的鲁棒性。本文为了增强水印的安全性及鲁棒性,在嵌入水印之前,对其进行扩频调制。设原始信息为“0”、“l”序列,其长度为N,即:

将该序列以一定的片率cr(cr为大于l的正奇数)进行按位扩展,得到序列:

然后利用伪随机数发生器根据密钥K产生一长度为Ncr·的伪随机“0”、“l”序列R,且将它与M进行按位异或,得到最后要嵌入的水印信息:

为了保证水印信息的鲁棒性,采用抖动调制算法将水印信息嵌入在图像的中低频系数中。抖动调制首先将水印信息或由水印信息确定的抖动量加到载体上,然后进行量化以嵌入水印信息。根据抖动调制的定义,水印嵌入过程可用下式描述:

其中x表示原始载体数据;wx表示嵌入水印之后的数据;为四舍五入取整函数;Δ表示由JPEG量化表确定的量化步长;m表示水印信息;()dm是与m相对应的抖动量;是与m相对应的量化器。

图1 图像采集及水印嵌入过程流程图

(2)基于图像格式的水印嵌入算法

基于图像格式的嵌入算法利用JPEG文件格式中的冗余字段,实现水印的嵌入。JPEG图像文件的主要格式如下:

表1 JPEG图像文件格式

0xFFD4 哈弗曼表标志0xFFDA 图像数据标志0xFFD9 图像结束标志

在这里本文关注的部分为注释字段。JPEG的注释字段允许把注释数据加入到JPEG图像中,注释字段以0xFFEF为开始标志,后面2字节的无符号数表示为注释字段的长度+2,这里的2是指长度值本身占用的2个字节,再后面为注释数据,一个合法的注释段如下图所示:

图2 JPEG图像注释段(例)

由JPEG图像格式可知,我们可以在注释字段后加入一定长度的水印信息。因此,可以将加密后的水印信息嵌入到JPEG文件注释区的后面,因为改变的是注释字段,因而不会影响图像的质量。

1.2 图像完整性认证算法

图3 图像完整性认证过程流程图

基于数字水印的摄像头拍摄图像完整性认证算法中,图像完整性认证过程流程图如图3所示。在认证阶段,首先打开待认证的图像,并输入密钥信息。然后利用MD5算法和密钥对图像内容进行哈希。接着从图像格式中的注释字段提取嵌入的水印信息,并将水印信息中的哈希值与再次获取的图像内容哈希值进行对比,即可判断图像内容是否保持完整或经过篡改。若哈希值相等,则认证通过,利用RC4算法和密钥提取水印信息;若哈希值不等,则认证失败,说明图像经过篡改。通过RC4算法和密钥提取嵌入在图像内容中的水印信息。

2 算法实验与分析

为验证本文算法性能,基于VS2008软件开发环境实现了基于数字水印的摄像头拍摄图像完整性认证算法。实验主要分为两个部分:(1)图像完整性认证实验;(2)对比实验。

2.1 图像完整性认证实验

选择连接本地计算机的摄像头视频设备,并根据摄像头的分辨率等性能选择一个合适的摄像头视频设备。随后即可出现摄像头采集的视频信息,如图4(a)所示。输入密钥及水印信息并拍照,即可生成并保存含有水印信息的采集图像,如图4(b)所示。打开生成图像,并利用算法程序进行认证,输入密钥后,即显示图像未经过篡改并成功提取水印信息,如图4(c)所示。对图像进行JPEG压缩,并导入压缩后的图像进行认证,在输入正确密钥后,图像无法认证成功,如图4(d)所示。

图4 图像完整性认证实验

本节实验结果表明,本算法所生成的含水印摄像头拍摄图像不影响图像的视觉质量,并可在图像未篡改时成功认证并提取水印信息。当输入密钥错误或图像被修改过,则无法正确提取水印,即图像认证失败。实验表明,本算法针对摄像头拍摄的JPEG格式图像,基于数字水印嵌入算法,达到了完整性认证的目的。同时,基MD5和RC4等公开密码算法,保证了水印信息的安全性。

2.2 对比实验

在Windows 10环境下,对本文算法及文献[9]、文献[10]中的算法进行了对比测试。首先分别用本文算法及上述算法生成含水印图像,并对图像进行涂改、剪切、拉伸、缩放、压缩和保存操作后,对图像进行篡改检测,实验结果如表2所示。其中,“√”表示可以成功检测到图像篡改,“×”表示无法检测到图像篡改。

表2 对比实验结果

上述实验结果表明,本文所提出的基于数字水印的摄像头拍摄图像完整性认证算法,针对图像涂改、剪切、拉伸、缩放、压缩和保存操作,均可实现图像内容的完整性认证,能够准确判断图像是否经过了篡改。同时,算法能够正确提取图像中嵌入的水印信息,表明嵌入的水印信息对常见的图像操作具有一定的鲁棒性。

3 总结

近年来,考生照片采集和现场确认成为了防止替考和冒名顶替上学事件的发生、维护考试的公平公正的一种重要手段。为了认证采集图像的完整性,本文提出了一种基于数字水印的摄像头拍摄图像完整性认证算法。该算法利用MD5和RC4算法在采集图像的格式字段与图像内容中嵌入水印信息,实现对视频摄像头拍摄的图像进行完整性保护和认证,能够准确判断图像是否经过了篡改,同时保证嵌入的水印信息具有一定的鲁棒性,从而为防止替考和冒名顶替事件的发生提供了一种有效的手段。

[1]孙圣和,陆哲明.数字水印处理技术[J].电子学报,2000.

[2]和红杰,张家树,田蕾.能区分图像或水印篡改的脆弱水印方案[J].电子学报,2005.

[3]Li Y,Hao Y,Wang C.A research on the robust digital watermark of color radar images[C].IEEE International Conference on Information and Automation(ICIA),2010.

[4]Chen B and Wornell G W.Quantization index modulation:A class of provably good methods for digital watermarking and information embedding [J].IEEE Trans.on Information Theory,2001.

[5]Cheng L M,Chen L L,Chan C K,et al.Digital watermarking based on frequency random position insertion[C].Kunming,China:8th International Conference on Control,Automation,Robotics and Vision,2004.

[6]Samuel S,Penzhom W T.Digital watermarking for copyright protection[C].7th AFRICON Conference in Africa,2004.

[7]张裔智,赵毅,汤小斌.MD5算法研究[J].计算机科学,2008.

[8]宋维平.流密码与RC4算法[J].吉林师范大学学报(自然科学版),2005.

[9]李诺,王技.一种基于数字水印的抗JPEG压缩的图像认证方法[J].计算机应用与软件,2014.

[10]陈星娥.一种基于图像内容特征的自适应水印认证系统[J].湖北民族学院学报(自然科学版),2013.

猜你喜欢

数字水印鲁棒性完整性
石油化工企业设备完整性管理
荒漠绿洲区潜在生态网络增边优化鲁棒性分析
基于网屏编码的数字水印技术
基于确定性指标的弦支结构鲁棒性评价
莫断音动听 且惜意传情——论音乐作品“完整性欣赏”的意义
基于FPGA的数字水印提取系统设计研究
基于非支配解集的多模式装备项目群调度鲁棒性优化
非接触移动供电系统不同补偿拓扑下的鲁棒性分析
精子DNA完整性损伤的发生机制及诊断治疗
基于数字水印的人脸与声纹融合识别算法