张博,曾祥燕
(海南政法职业学院,海南公平司法鉴定中心,海口 571100)
随着多媒体技术的不断发展,信息化数据已经成为现阶段所有数据的主要存储形式,有别于原有的数据介质,如照片纸、传统胶片等,数字图像、视频技术有着传统媒介无法企及的、广泛的应用场景。较之越来越普及的数字多媒体存储技术,电子数据的容量已经成几何级数的增长趋势,使得多媒体压缩技术本身成为解决容量需求的重要一环。
多国研究数字压缩技术的前提就是尽可能的保证原有数字影像不会失真,在较高的压缩限度内,能够保证用户仍旧接收图像的原有信息,无不适感,压缩后的重建数据能够和原图像相差无几,察觉不到差异。
多媒体数据压缩和普通的电子数据压缩一致,即是将高度相关的信息,采用合适的编码技术进行去冗余的处理加工,并在达到不失真的情况下,尽可能多的保留原图信息,压缩文件占位比特。
现阶段常见的压缩格式有很多种,如用于网页的、边缘可以透明化的PNG图片格式,用于表情包制作的动态化图片格式GIF,以及现阶段较为流行的网页矢量icon用图SVG格式等等,虽然动图在图片的生动形象上更具优势,矢量图在图像放大缩小的时候都不会失真,但是JPEG图片格式作为老牌压缩格式,仍占主流图片格式的50%以上份额。其主要原因在于,该格式长期主导各大数码相机厂商生成的静态图,也就是电子照片,同时各大手机制造商也沿用数码相机的成像原理及结构,使得JPEG图片格式经久不衰。尽管不同的厂商也制作出自己的图片格式,如佳能相机的RAW格式、苹果相机的heic格式等,但是最终用来传输的文件格式仍旧会转换成JPEG图片格式。
基于司法鉴定技术的电子数据有效性、真实性的鉴别,主要是基于手机或者数码相机拍摄的照片、视频或者音频加以鉴别,因此在大量的声像司法鉴定的案件中,数码照片(或视频)的真实性鉴别占全部声像及电子数据鉴定的75%以上。同时,所涉及的检材文件中的全部照片文件全部为JPEG压缩的格式文件,如果相机生成的原图不是JPEG文件(如iphone的heic格式),但是通过原生软件导出的文件格式也是JPEG压缩格式。因此对JPEG压缩格式的研究,就是计算机电子声像的鉴别中一个较为重要的研究课题。
作为检材文件的数字图像文件普遍使用JPEG格式,能够作为有效检材的前提就是能够在提供检材数字图像的同时,尽可能的提供用于摄录的设备,这样能够保证证据的严谨。
研究JPEG的压缩格式,要从其结构入手,其压缩技术主要是先从图像的整体分块入手,将原有图像按照区域分为相互独立的数据块,再对每一个小块采用DCT(二维离散余弦)变换。变换后进行量化、重新扫描后进行哈夫曼编码,保留低频部分的系数,从而达到数据压缩的结果。通过JPEG的结构化识别观察,即可发现图片真实性是否被破坏,即图片是否被篡改(编辑、修改)。JPEG文件结构主要由以下几个部分构成:
首先,所有图像都是由SOI(start of image)即图像开始标识符,标志着数字图片从这里开始编码,形成编码结构;接着是应用标识Applica⁃tion,简 称APP,一般 是APP0(0xFFE0)或APP1(0xFFE1),但是绝大部分原图没有APP0,都是从APP1开始,此段结构用来存储EXIF信息,后续可能存在多个APPn字段,这系列字段中可能存在图片被编辑过的痕迹。
再者是DQT(define quantization table)字段,就是该JPEG文件的编码表,其定义该图像的压缩率及图像的压缩质量,最重要的是该信息内存有特定相机厂商的特有的结构表,这样也可以分辨图像的厂商是否是其对应设备,即图像真实性鉴别的重要依据。
后续标识几乎不包含结构变化相关信息,对图像鉴定无意义,不在讨论之列。
在理论研究的基础上,需要根据真实的案例进行理论研究的验证,特此引用真实的数字图片真实性案例对以上理论研究进行佐证,通过对鉴定实例全流程的分析讨论,增强JPEG图片真实性论证的理论根基。
该实例中委托方提交一台红米2手机作为检材数码照片的载体,手机中两张数码照片作为检材,获得检材后应在规定程序下,当事人在场且当事人签字确认的前提下,确保成像的以该成像的硬件准确的提交,这样摄录的硬件载体才具有法律效力。进一步使用确定的摄录硬件,拍摄样本照片以作为样本比对。此方法能够确保证据留存中不会产生异议。
为了方便表述,将需要鉴定的检材图片按照时间先后定义为“检材1”“检材2”,同样的方法将后期拍摄的样本文件定义为“样本1”“样本2”。即可开始相关鉴定工作。
电子数据的特点是可以添加无法观察的文件信息,因此经常会有人将病毒数据或其他冗余信息数据添加在原有数据的封包内,使得数据在复制或者移动的时候会发生变化,有时为了数据保护也会添加数据变量,保证数据在未经允许的转移下,其数据原始性即刻破坏导致数据无效。尤其是JPEG压缩的图像中这种手段较为常见,因此证据固定有其必要性。
所谓的证据固定就是保证数据在复制或者移动后其数据信息没有发生改变,这可以从数据的MD5编码是否变化判断。因此获取照片文件后完成一下操作:首先,将此次检材相关文件的硬件载体拍照记录,使用数据线读取检材文件,并将所有检材及样本文件复制在图像工作站中;其次,使用文件MD5校验工具分别对送检光盘中的检材及样本文件、复制后的文件,进行MD5唯一编码读取,并比对同一检材原始文件和复制后的文件MD5值,所有检材在复制后MD5编码值均未改变,证据固定有效。具体编码详见表1。
表1 检材MD5编码汇总表
不同的JPEG文件编码器(例如不同的相机和图片编辑软件)生成JPEG文件时可能会有不同的JPEG文件结构,尤其是原始的拍摄设备和图片编辑软件会有较大差异,如果检材和样本的JPEG文件结构有差异,可判断为检材与样本为不同设备或软件生成。实际上查看文件结构就是本文2.2节提出的JPEG格式结构,如果是相同的设备、拍摄相同格式的文件,那么其编码结构应高度一致。在此案例中使用JPEG段编辑器查看检材及样本的JPEG文件结构,“检材1”“检材2”“样本1”“样本2”的JPEG文件结构汇总比较见表2。
表2 检材及样本JPEG文件结构对比
从JPEG文件结构分析比对结果看“检材1”与“样本1”“样本2”文件的结构是一致的,而“检材2”的文件结构与样本文件差异较大。以此结果来看,“检材1”与“样本1”“样本2”文件是同一设备或软件生成的,而“检材2”与样本文件不是同一设备或软件生成的,进一步判断出“检材2”不是该设备原始生成的文件,与鉴定案件事实不符。
在3.2节的基础上,我们还需进一步使用JPEGsnoop深度分析检材JPEG文件结构和照片原始性,在2.2节中提出过,JPEG表结构中DQT量化表的特征可以成为判断是否是某厂商硬件摄取原图的重要依据。
首先DQT量化表分析,查看“检材1”与样本DQT量化表比对,可见检材与样本的表结构完全一致,详见图1;DQT量化表的每一行ROW的数据完全一致的,即可确认为同一硬件设备生成的图片文件,如有任何差异均可判断该文件之间出自不同设备,或者某一文件被篡改。此案例中,能够保证样本文件为可信任文件,即图像真实性得以保证,那有别于样本文件的数据即为非真实数据。
图1 检材1与样本DQT量化表比对
用上述方法,查看“检材2”与样本文件的DQT量化表比对,可见检材与样本的表结构不一致,详见图2;此处的不一致是指DQT量化表中,任何一位的差异均为不一致。
图2 检材2与样本DQT量化表比对
原图检测级别是JPEGsnoop根据图片的JPEG结构表得出的结论,分为4个等级,从Class1到Class4。其中Class1和Class2分别标明照片被修改过以及极有可能被修改过;Class3表示极有可能是原图,但是此等级中Class4表示的不是确认未被修改过,而是无法匹配到原图特征;这里的特征是需要软件不断更新收录的数码相机厂商的DQT表所决定的,因此不代表Class4的结果表示的无法匹配即为修改过的图片,仅代表无其他可检测的更改信息,但数码相机参数无法核验。
此实例中进一步查看“检材1”的表和原图检测的级别为Class4,表明JPEGsnoop无法匹配到原图数据库记录的摄像器材的具体特征,所以不能证明是何种型号设备拍摄,见图3。其原因是手机的数码成像原件不被列入数码相机厂商的目录,因此无法匹配到特征表库。
图3 检材1文件检测级别
用上述方法,继续查看“检材2”的表和原图检测的级别为Class1,表明Image is processed/edited,可以确定照片被修改过,并匹配到Adobe Photoshop的特征,见图4。可见确认检材2是被Photoshop软件编辑过的。
图4 检材2文件检测级别
使用同样的方法检测“样本1”“样本2”文件,发现同样的评级均为Class4,进一步验证“检材1”和样本文件是同一设备或软件生成的,但是未列入软件的数码厂商库内;而“检材2”与样本文件不是同一设备或软件生成的,并确认“检材2”不是原始照片,而是经过软件修改。
JPEG压缩签名是JPEG压缩设备或软件在生成JPEG文件的时候产生的特征码,同一设备产生的JPEG图片应具有同样的签名。此处的特征码和DQT量化表的算法基本相符,因此DQT量化表一致,此处的JPEG压缩签名也应该一致。采用此方法得到的所有检材及样本的压缩签名对比如表3所示。从JPEG文件压缩签名分析来看,“检材1”与“样本1”“样本2”文件是同一设备或软件生成的,而“检材2”与样本文件不是同一设备或软件生成的。
表3 检材及样本的JPEG压缩签名
通过以上案例可知,在任何司法鉴定有关电子数据的案件中,图片、声音、电子邮件等文件,由于其电子文件的特殊性,在拷贝或者存储的过程中都有可能导致证据文件被破坏,因此都需要首先进行证据固定,这在公安系统也称作证据保全工作。
在图像有关的司法鉴定中基于JPEG压缩技术判断图像真实性鉴别的方法确实是比较科学严谨的一种鉴别方式,仅凭这种方法对图像的证伪是足够的,但是证真却远远不够,因为在技术层面可以通过修改JPEG的底层结构来改变DQT树的内容,保证被修改的检材伪装成与原检材一致性的结构。这使得在技术层面对数码图片证真成为验证的难点。
比较传统的做法是将多种方法应用在图像真实性鉴别的过程中,保证在已知层面图片没有作假的痕迹,其中包括放大观察、信息逻辑判断、光线投影比较、ELA边缘过渡检测、SIFT同图复制检测,等等。这些方法都能够在图像证伪上成为重要的证据。在真实案例中,也存在根据反向推导的方式,例如图片修改后为嫌疑对象所带来的社会意义或价值,推断图片被篡改的可能。