信息隐藏技术作为一种保证信息安全的技术,近年来发展迅速。视频、音频和图像文件因其巨大的视觉和听觉冗余而成为信息隐藏的重要载体,因此基于视频、音频和图像的信息隐藏技术得到了广泛的研究,但相应的隐写分析技术也发展迅速,对基于视频、音频和图像的信息隐藏技术构成了极大的威胁,因此学者们开始研究具有更好隐藏特性的算法和隐藏载体。文献[1-2]提出了一种基于文本的信息隐藏技术,以单个文本作为隐藏载体。文献[3]研究了基于PDF的信息隐藏技术,以PDF文件为隐藏载体。文献[4-5]提出了基于XML、Excel等格式化表格的信息隐藏技术。
Excel表格格式是由PKWARE公司发布的一种公开的压缩表格标准,是目前在计算机网络特别是互联网上进行文件传输时使用最广泛的表格格式之一。本文通过研究Excel表格的标准格式,提出一种基于Excel表格的通用信息隐藏方法以及在Excel2007中一种基于Excel格式的信息隐藏方法。实验结果表明上述方法有效,且有良好的隐蔽性。
2Excel表格结构特点和分析2.1Excel表格结构Excel表格一般由3个部分组成,压缩源文件数据区、压缩源文件目录区和压缩源文件目录结束标志,其中,压缩源文件数据区主要记录压缩表格内部源文件的文件名,压缩前后文件大小和压缩后的文件数据等信息;压缩源文件目录区主要记录压缩源文件的属性信息,包括文件名、文件压缩前后大小和压缩后的文件数据在整个压缩表格中的偏移位置等;压缩源文件目录结束标志主要记录压缩源文件目录区的大小、目录中记录的总数以及目录区在整个Excel文件中的偏移位置等信息[6].图1为表格example.Excel的结构说明,包含a.txt、b.xml、 c.jpg、d.doc4个源文件,对应的压缩源文件数据区和压缩源文件目录区各有4条记录。
2.2Excel表格结构分析当用压缩解压缩软件(如WinExcel、WinRAR等)打开一个压缩表格时,软件界面会显示整个压缩表格内部的源文件,所能看到的源文件(包括文件夹内的源文件)全部来源于压缩源文件目录区中的记录。当打开某个源文件时,实际上是通过压缩源文件目录区的文件记录索引找到位于压缩源文件数据区的相应源文件数据,经过解压缩还原出原始源表格。设想如果在压缩源文件数据区正常添加一个源文件,而在文件目录区不添加相应记录,此时Excel表格是否能正常打开,添加的源文件是否可以显示,通过下面实验可以找到答案。
在example.Excel表格中,清除d.doc文件在压缩源文件目录区的记录d.docindex,只保留其在源文件数据区的记录,并在源文件目录结束标志中按照Excel表格格式规范做相应修改,生产新example.Excel表格,使其结构如图2所示,查看新example.Excel表格能否正常打开,d.doc能否显示。实验环境:CPUE44002GHz,内存2GB,操作系统WindowsXPSP2,应用软件 WinExcel12.0Pro,UltraEdit-3212.20a.以下实验数据均在上述环境测得。
实验表明,新example.Excel表格可以正常使用,且用WinExcel打开时不显示d.doc表格,但通过UltraEdit-32打开时,可以看到d.doc在压缩源文件数据区的记录(以04034B50为开始标志),说明d.doc表格已隐藏到新example.Excel表格中。
3基于Excel表格结构的信息隐藏与检测方法3.1隐藏算法本文结合上面分析的Excel表格结构,可以设计一种在Excel表格中隐藏信息的方法:将包含秘密信息的表格M(可以是任意格式)添加到隐秘载体C.Excel表格中,删除秘密表格M在C.Excel压缩源文件目录区中的记录,修改压缩源文件目录结束标志中的相应信息,生成新的载密C1.Excel表格。隐藏方法如图3所示,具体见算法1.
图3通用表格隐藏方法算法1通用表格信息隐藏算法输入原始载体Excel文件,秘密表格输出载密Excel表格Step1添加秘密表格到原始载体表格中,生成新Excel表格。