基于图像的信息隐藏检测技术傅德胜,谢永华(南京信息工程大学计算机与软件学院南京210044)摘要:本文首先介绍了现有图像信息隐藏检测技术的分类,然后阐述了常用的基于图像的信息隐藏盲检测技术,并对它们的优缺点和应用领域进行了分析,最后对信息隐藏技术的发展和系统开发作了分析与展望。
关键词:信息隐藏;基于图像;盲检测1 引言现代信息隐藏技术自上个世纪九十年代中期出现以来,已经成为数字通信、信息安全和版权保护领域的重要研究课题,并得到了越来越广泛的应用。
目前利用数字图像作为隐秘信息的载体已经成为主要的信息隐藏技术之一,其基本原理是利用人体感觉器官对数字图像的感觉冗余,将被隐藏的图像数据嵌入在某种载体图像中,嵌入后隐秘图像与原始的载体图像几乎没有任何视觉上的差别,很难被观察者和监视系统发现,从而可以保证机密信息传输的安全性。
可以预见,信息隐藏技术将是今后相当一段时间内的重要的隐蔽通信方式[1] 。
但是信息隐藏技术的发展也带来了一定的负面效果,据美国媒体透露,已经发现恐怖组织利用隐藏在图像中的信息传递联络情报,甚至将计算机病毒隐藏在载体图像中进行传输,这些都对国家安全和社会稳定产生了很大的威胁。
因此,研究对图像中可能存在的各种隐藏信息进行有效检测的方法已经迫在眉睫,因而基于图像的信息隐藏检测技术也就成为目前信息安全领域的重要研究课题。
近几年来,世界各国的信息安全专家在这一方面进行了深入的研究,并提出了一定的隐藏信息检测模型,开发了相关的信息隐藏检测软件,如美国著名的信息安全产品开发公司Wetstone开发的信息隐藏检测软件Stego Suite[2] 。
本文首先对目前常用的基于图像的信息隐藏技术进行了统计和分类,分析了它们的优缺点和适用领域,然后重点介绍了基于图像信息隐藏的盲检测算法,最后对隐藏技术的发展趋势和信息隐藏检测系统的开发进行了分析与展望。
2 基于图像的信息隐藏检测技术图像信息隐藏检测技术主要用于判断图像中是否有隐藏信息的存在,它是信息隐藏分析技术的第一步,也是现阶段基于图像的隐藏信息分析的主要内容。
从检测技术的手段考虑,基于图像的信息隐藏检测技术大致可以分为:(1)对比检测技术对比检测技术是对隐蔽图像载体和原始图像载体的属性如大小、分辨率、颜色值、灰度值、直方图或者变换域系数进行对比,从其中的差值或者关联信息中进行分析判断隐藏信息存在的可能性。
这种方法实现比较简单,但是在大多数情况下,无法获取原始载体图像,因此没有太大的实际意义和应用价值。
(2)盲检测技术盲检测技术指的是在没有原始载体图像的情况下,只通过隐蔽载体本身来检测隐藏信息。
通常可以通过对图像特征进行分析和提取,判断是否存在隐藏信息。
盲检测技术是当今信息隐藏检测领域最热门的研究领域,难度较大,但是具有更广泛的应用前景。
根据研究角度不同,基于图像的信息隐藏检测技术可以分为:(1)时空域方法时空域方法主要是用于检测基于时空域嵌入方法的信息隐藏,如:LSB隐藏方法。
时空域方法检测由于是在时空域对图像进行分析计算,不需要进行频域变换,因此算法实现简单,时间复杂度较低,但是检测能力和范围有限。
目前多数算法仅采用了一阶统计量方法。
(2)频率域方法采用频率域方法进行隐藏信息的图像具有更好的隐蔽性,但是含有隐藏信息的载体图像在频率域中呈现出与原始图像不同的特性,如直方图分布或者图像亮度的变化,利用这些特性可以判断隐藏信息是否存在。
常用的频率域方法有:傅立叶变换、离散余弦变换和小波变换等方法。
根据检测特征的不同,基于图像的信息隐藏检测技术可以分为:(1)基于数字签名的检测方法通常,采用某种隐藏算法和软件隐藏了信息的图片,会在其图像文件中留下该软件的数字签名或特征码字符串。
通过搜索该图像文件中是否包含该签名或者字符串,就可以判断该图像中是否存在隐藏信息,同时也能够确定是采用哪一种软件或算法进行的隐藏。
该方法的优点是检测准确率高,一般可以达到100%,可以分辨出具体的嵌入算法和工具;缺点是对未知模式无能为力,无法对采用未知隐藏算法和工具隐藏的图像进行检测。
(2)基于简单叠加的检测方法基于简单叠加图像隐藏的算法,如Pretty Good Envelope软件,是将隐藏信息加载到载体图像的原始文件尾部,这种操作只是在载体图像尾部增加了若干个字节的存储空间,使得整个图像的大小发生了改变,即载体图像的大小为原始图像和隐藏信息之和,而且图像只是根据图像头文件中保留字表示的图像大小或者固定的文件结束标志来读取显示信息,因此隐藏信息并不会显示,图像在视觉效果上并没有变化。
由于这种图像隐藏对图像的头文件或者文件格式本身没有改变,因此可以根据这些特征的比较和搜索来判断是否存在隐藏信息。
这种算法的优点也是检测准确率高,算法实现简单;缺点是对于不同类型的图像结构不同,检测方法也不一样,需要进行多种判断才能实现不同图像的检测。
(3)基于统计的检测方法在基于时空域方法进行信息隐藏的图像中,隐藏的图像信息虽然不会引起视觉效果的改变,但是却改变了原始图像数据某一特征量的统计特性,因此通过判断给出图像的统计特征是否偏离了正常情况或更接近于隐藏了信息图像的特性,就可以判断是否存在隐藏信息。
该算法的优点是可以对某一类图像或者采用同一类隐藏算法进行信息隐藏的图像进行检测,而不用针对于某个特定的工具和算法,具有较通用的检测能力。
但缺点是检测准确性受外界因素影响较大,如统计模型和与阈值的不同,都会产生不同的检测结果,而且无法分辨采用的是哪种隐藏工具和算法。
3 图像信息隐藏的盲检测算法目前,图像信息隐藏技术可以分为空域法和频域法两大类。
空域法中使用最广泛和普遍的技术是像素最低比特位置换技术,即LSB技术,它是用隐藏信息比特位替换掉载体图像中最不重要的部分,如像素点灰度值或颜色值的低比特位,从而达到信息隐藏的目的。
这一方法的主要优点是嵌入算法和提取算法简单,隐藏信息量大和较好的不可见性,缺点是鲁棒性差,对图像的各种操作如压缩、剪切和加噪等都会使隐藏信息遭到破坏。
但是即便如此,LSB方法仍然以其高不可见性在隐蔽数据通信中得到了广泛的应用;频率域的图像隐藏算法大多使用扩展频谱通信技术,将图像隐藏在载体图像的不同频率分量上,因而具有更高的鲁棒性和不可见性[1] 。
事实上,一个有效的信息隐藏算法,无论是空域法还是频域法,都不会改变原始图像的视觉效果,但是却会改变其某种统计特征,包括空间域统计特征和频率域统计特征两种。
因而要实现真正意义上的盲检测,必须采用图像统计特征分析的方法。
根据检测所采用的统计特征的不同,将图像盲检测算法分为以下三种:(1)基于时空域统计特征分析的盲检测算法目前比较成熟的有Fridrich提出的RQP(Raw Quick Pair)检测法[3,6] 。
这种算法普遍采用的图像统计特征是图像相邻像素点之间的相关性,其理论基础是未嵌入隐藏信息的图像在直方图上相邻的数值(代表灰度、颜色值)之间没有任何明显规律,而隐藏信息后的直方图相邻值之间会出现明显的数值接近的规律,当信息隐藏量较大时,直方图相邻值之间几乎相等,并且这些相邻值只是互相变化而不改变两者之和。
至于这些算法所采用的检测模型,目前采用的主要是x2检验法。
它是通过直方图上相邻值的理论期望的概率分布(即在嵌入服从均匀分布信息后的相邻值概率分布)和实际概率分布(即载体图像中实际获得的相邻值概率分布)的对比,分析存在的偏差是否大于给定的阈值来判断是否存在隐藏信息。
另外,基于空域特征分析的盲检测算法还有A Westfeld等人提出的PoVs(Paris of Values)算法[4],基于稳健性统计特性和脆弱性统计特性的检测方法。
这些算法主要特点是一种针对图像本身而不是隐藏算法的检测方法,其优点是适用性广,可以对大多数采用LSB方法隐藏信息的图像进行检测。
但是这种算法的缺点是:只能对图像隐藏的可能性给出一个概率分布,检测效果受阈值选取的影响较大,而且当隐藏图像的颜色数超过载体图像本身像素数的50%时很难得到有效的检测效果。
另外,空域统计特征属于一阶统计数据,稳定性较差,现在已经有一些隐藏软件如OutGuess已经可以在不改变这种一阶统计数据的情况下隐藏信息。
(2)基于频域统计特征分析的盲检测算法目前应用较广的基于频域统计特征分析的盲检测算法是由Farid等人提出来的一种基于高阶统计量的检测模型[5] ,即小波变换盲检测算法。
它主要是针对采用频率方法进行信息隐藏图像的检测。
其基本思想是通过对大量图像信息使用QMFs(Quadrature Mirror Filters)进行小波变换分解,用可分离的低通和高通滤波器在图像的各个轴上生成垂直、水平和对角线方向上的子频带。
从这些子频带系数中归纳出它们在各方向和数值范围内的均值、方差、熵和斜率等统计数据,在此基础上使用分类器对这些统计数据进行分类,将没有隐藏信息的图像和含有隐藏信息的图像区分开来,从而达到隐藏信息盲检测的目的。
这种方法的优点是识别准确率高,缺点是算法较复杂,而且只是针对于图像本身来进行检测,缺乏通用性。
美国空军技术学院(AFIT)也从事了高阶统计量方面的研究,在小波变换检测算法的基础上提出了基于计算免疫系统的信息隐藏盲检测算[11],因而也是针对于频率域图像信息隐藏的检测。
这种算法的具体做法是:首先建立不含隐藏信息的图像和含有隐藏信息的载体图像数据库,并对库中所有图像进行小波分解得到所需的统计特征数据;其次引入以生物免疫系统为基础发展起来的计算免疫系统技术,将统计数据区分成活跃的本体和禁止或异常活跃的非本体,接着按计算免疫系统方法分类的要求,将统计特征编码成比特串,以随机选取的方式从种群中生成最初的检测器,使整个解空间都能被覆盖到,再以负选择来淘汰与本体发生碰撞的检测器;接着引入遗传算法,按照遗传算法的流程依次反复对特征向量进行随机抽取、杂交、变异、计算适合度值、类聚、自然选择等处理,直到生成成熟的检测器。
当形成成熟的检测器后,即可对被检测对象进行快速分类,将含有隐藏信息的图像检测出来,从而实现隐藏信息的盲检测。
这种隐藏信息检测算法弥补了小波变换检测算法的不足,通用性强,检测速度快,具有较好的应用前景。
另外,Niels Provos和Peter Honeyman等人提出了一种专门针对JPEG图像的信息隐藏盲检测算法[9,12] ,它采用的检测算法也是x 2检验法,只不过检测的统计特征不再是时空域的像素灰度或颜色值分布,而是频率域的DCT系数的分布。
该检测算法实现简单,具有很高的灵敏性,甚至可以检测到单个像素的改变,而且对于嵌入信息量较大的图像,还可以估计出嵌入信息的长度。
目前该算法能够检测出多种JPEG隐藏软件隐藏的图像,如JSteg,JPhide,OutGuess等。