1. 引言
数字图像在现代社会中扮演着至关重要的角色,随着科技的不断进步,数字图像的应用范围不仅限于摄影、医学影像、娱乐等领域,还在司法鉴定、数字图像取证、图像溯源等方面发挥着关键作用。然而,随着Photoshop、Snapseed、美图秀秀、醒图等图像编辑软件的普及,再加其操作简单、智能,导致数字图像的篡改和伪造变得越来越不易察觉[1]。普通人也能很轻易地对图像进行加工和修改,甚至能够以假乱真,而被恶意篡改的图像经过传播,就会影响人们对客观事物的判断。尽管部分操作不会改变照片所要传递的表面信息,但实际上照片中的Exif信息已被修改,从而导致JPEG图像失去其原始性。这都使得图像的原始性和真实完整性验证面临极大的挑战。这也从侧面反映了图像溯源与取证的重要意义。因此,确保图像的原始性和处理历史进行准确的验证变得尤为必要。在这一背景下,本文聚焦于探究Snapseed软件对JPEG图像进行编辑和处理后对图像的Exif信息和原始性的影响。在“中国裁判文书网”1中检索关键词“Snapseed”,可查看涉及相关命名或经过该软件操作的案件。看得出Snapseed是一款广受欢迎的图像处理程序,毕竟其享有“史上最强手机修图APP”和“移动端的Photoshop”之称。探索Snapseed可以了解该应用在数字图像鉴定、图像取证等图像处理中的影响。例如,可以了解其对图像的压缩和编辑方式对数字图像鉴定的影响,了解对图像元数据的影响,以及如何识别和处理经过Snapseed编辑过的图像。为深入理解数字图像原始性与真实完整性验证的问题,了解Snapseed软件对图像造成的潜在影响,文章采用了部分工具和方法进行实验和数据分析。首先,选取包含Exif信息的JPEG图像作为研究对象,并记录其原始的Exif信息和MD5值。随后,利用Snapseed软件对这些图像进行处理,生成处理后的图像版本。接着,通过MD5值的比对和MagicExif元数据软件、Opanda PowerExif 1.2软件以及WinHex软件等工具的使用,对处理前后的图像进行详细的Exif信息分析和检查潜在的修改。通过实验分析,揭示Snapseed软件对图像Exif信息和原始性的潜在影响。
2. JPEG图像与其Exif信息
2.1. JPEG图像
2.1.1. JPEG图像的压缩原理
JPEG图像是一种以有损压缩方式存储的数字图像文件,其文件后缀名是.jpg或.JPEG。它采用离散余弦变换(DCT)的算法来减少图像文件的大小。JPEG图像的压缩过程涉及将图像分割为8 × 8像素块,并对每个块进行DCT变换。DCT变换将块中的像素值转换为频域系数,其中高频系数表示图像中的细节和纹理,低频系数则表示图像中的整体亮度和颜色。通过对高频系数进行量化和舍入,JPEG可以实现较高的压缩率。然后,经过量化和舍入的频域系数被经过反量化和反DCT变换的逆过程重新转换为像素值,从而重建图像[2]。当然,由于JPEG采用有损压缩算法,因此压缩过程中会丢失部分图像细节。为了控制压缩质量,JPEG提供了一个可调节的压缩参数,称为压缩质量因子。较高的压缩质量因子意味着较小的压缩率和较高的图像质量,而较低的压缩质量因子则意味着较高的压缩率和较低的图像质量。
2.1.2. JPEG图像的文件结构
JPEG图像的文件结构可以使用WinHex等十六进制编辑器进行详细分析。这里以Canon EOS 1000D相机拍摄的图像为例,部分信息如图1所示。
Figure 1. Using WinHex software to extract JPEG format image information
图1. 利用WinHex软件提取JPEG格式图像信息
1) 文件头:文件头通常由字节组成,用于标识文件为JPEG图像文件。在WinHex中,可以看到文件头通常以“FFD8”的字节序列开始,表示JPEG文件的起始。
2) 应用数据段:应用数据段是可选的,用于存储图像的附加信息。在JPEG图像文件中,常见的应用数据段是JFIF或Exif段。在WinHex中,可以根据段的特定标识符来识别应用数据段,“FFE0”表示JFIF段,“FFE1”表示Exif段,也即APP1的标记,因Exif格式的JPEG图像文件应用APP1的应用程序,没有应用APP0的应用程序。
3) 量化表段:量化表段包含了用于量化DCT系数的量化表。在WinHex中,可以通过查找特定的标识符(如“FFDB”)来定位量化表段。
4) 图像数据段:图像数据段是JPEG图像的核心部分,包含了经过压缩的图像数据。在WinHex中,可以看到一系列连续的字节,代表经过Huffman编码的图像数据。这些字节包含了扫描行和扫描组的信息。
5) Huffman表段:Huffman表段包含了用于Huffman编码和解码的Huffman表。在WinHex中,可以根据特定的标识符(如“FFC4”)来定位Huffman表段。
6) 文件尾:文件尾标识图像文件的结束。在WinHex中,可以看到文件末尾的字节通常以“FFD9”表示JPEG文件的结束。
2.2. Exif信息
图像的Exif是一种用于存储图像附加信息的文件格式,是在照片拍摄过程中自动嵌入到数字图像文件中的附加数据,包含了与图像相关的各种参数和元数据。Exif信息以“FFE1”作为开头标记,之后两个字节表示Exif信息的长度[3]。信息包括拍摄日期和时间、拍摄设备、曝光时间、光圈值、ISO感光度、GPS坐标等,这些信息对于验证图像的原始性和真实完整性至关重要。图像的原始性是指图像是否经过编辑和处理的判断,即指图像自形成时刻起应始终保持其最初的状态,图像不得经过任何形式的修改、压缩或者有损复制。实践中,很多图像编辑软件或工具允许用户对Exif信息进行手动编辑或删除,用户可以轻松地修改或删除图像信息[4]。这样一来,图像的Exif信息将不再可靠,无法准确地反映图像的真实来源和拍摄条件。另外,还存在一些高端的篡改图像Exif信息的技术手段。例如,恶意用户会使用数字水印技术在图像中嵌入不可见的标识,导致即使图像在外观上没有明显变化,但其Exif信息的篡改已经导致图像失去其原始性。Exif信息的篡改是当前图像的溯源、图像真实性鉴定和取证中需要引起注意的问题[5],因为图像的Exif信息常用于确定图像的来源和拍摄条件,对案件的调查和判决具有重要意义。如果Exif信息被篡改,将会严重影响图像作为证据的可靠性和可信度。
因此,为鉴定图像的原始性和真实完整性,需要采取相应措施来验证和保护图像的Exif信息。包括使用可靠的图像编辑软件和工具,以及应用数字水印和数字签名等技术来验证图像的Exif信息的原始性和真实完整性。JPEG图像的Exif信息可以通过MagicExif元数据等软件直接查看和获取,这些信息可以帮助鉴定人员更好地了解和管理数字图像。
3. 实验分析
3.1. 实验软件与工具
素材的拍摄设备为Vivo S122;图像处理软件为Snapseed;图像数据辅助查看软件为WinHex;Exif信息查看器为Opanda PowerExif 1.2和MagicExif元数据编辑器;MD5值计算工具为HashMyfiles。
3.1.1. Snapseed图形处理软件
Snapseed3是一款由谷歌开发的功能强大的图像处理软件,被广泛用于移动设备上的图像编辑和美化,具有丰富的滤镜和调整工具,能够对图像进行各种复杂的处理。其用户界面简洁直观,操作简单易懂。适用于初学者和专业摄影师,可以帮助用户快速编辑和优化照片。其主界面有三个选项,即“样式”、“工具”和“导出”。“样式”简单来讲就是软件预设的滤镜;“工具”是该软件的核心功能,有28个功能选项。“导出”指照片被处理完后,点击导出照片,导出方式包括“保存”、“导出”和“导出为”三种,通常选择“导出”。除此之外,软件右上角还有“回看”、“照片信息”和“软件设置”三个按钮4。
3.1.2. WinHex十六进制编辑器
WinHex是一款功能强大的十六进制编辑器,同时也是一款数据恢复工具,它可以用于对文件进行十六进制级别的分析和编辑。在验证图像原始性和真实完整性方面,WinHex可以通过直接查看图像文件的二进制数据,包括文件头、Exif信息和数据段等内容,以判断图像是否经过修改或处理。通过比对原始图像和经过处理后的图像的二进制数据,发现其中的差异,从而评估图像的原始性和完整性。
3.1.3. Exif信息查看器
Opanda PowerExif 1.2是一款专业的Exif信息查看和编辑工具,在验证图像原始性和真实完整性方面,可以帮助用户直观地查看、编辑和对比图像处理前后的Exif信息,包括拍摄设备信息、拍摄参数、时间戳等,发现其中的修改或删除,进而评估图像的真实性和完整性。MagicExif元数据编辑器也是一款专门用于查看和编辑Exif信息的工具,能对图像在数字化过程中所用的时间以及厂家注释等Exif信息进行解析,相较于前者,它几乎涵盖所有的Exif信息,且对解析出的Exif信息用词更加准确,数值更加精准,不论是查看的种类,还是解析的准确性上,都更胜一筹[6]。本文大多使用后者进行查看。
3.1.4. HashMyFiles
HashMyFiles是一款简单易用的文件校验工具,可以计算文件的哈希值,如MD5、SHA-1、CRC32等。在验证图像的原始性和真实完整性方面,HashMyFiles可以帮助用户通过计算图像文件的哈希值来验证图像是否经过修改,从而判断图像的真实性和完整性。
3.2. 实验操作与分析
Figure 2. Hash value of the image “IMG_20231013_183311.jpg”
图2. 图像“IMG_20231013_183311.jpg”的哈希值
以Vivo S12拍摄的带有GPS信息的照片“IMG_20231013_183311.jpg”为实验样本,其哈希值如图2所示,并记录其相关Exif信息。使用USB手机数据线将手机与计算机直接连接,确保照片以原始的文件格式和质量传输。然后使用Snapseed软件对照片进行不同的操作,再比较操作前后的MD5值与Exif信息。
3.2.1. 对照片不做任何编辑操作,只选择Snapseed软件中的不同导出方式进行导出操作
将图像“IMG_20231013_183311.jpg”导入Snapseed软件中,不对图像做任何操作,依次使用三种方式进行导出保存操作。第一种方式“保存”,得到图像“IMG_20231013_183331-04.jpeg”5;第二种方式“导出”,得到图像“IMG_20231013_183331-05.jpeg”;第三种方式“导出为”,得到图像“IMG_20231013_183331_edited.jpeg”。这里只讨论软件的导出方式会使图像的Exif信息和原始性发生变化。导出方式使图像的Exif信息发生以下几点变化:
1) 在文件大小方面。第一种导出方式会压缩图片质量,进而文件大小会比原图小。第二、三种方式会使图像的文件大小变得比原图大。
2) 在压缩指纹显示上。第二、三种方式会使图像的Exif信息中“压缩指纹”显示为“最佳质量”,而原图和第一种方式导出的图像的压缩指纹均显示为“未知”。
3) 在直方图显示上。由于未对图像做编辑,三种方式导出后的图像直方图显示与原图直方图显示极具相似性。
4) MagicExif元数据编辑器中的“全部Exif信息”的展示项目发生了减少的情况,从原图的“共有75项(5个目录)”变为“共有65项(4个目录)”,四个目录分别是主图像信息、拍摄参数、GPS信息和可互通信息,并且信息显示相同。减少的目录是“缩略图信息”6。
5) 导出后的图像在MagicExif元数据编辑器中均显示为“非原始照片”。
6) 从导出方式上来说,第一、二种导出方式导出的图像默认存储位置是手机自建的“Snapseed”文件夹。第三种导出方式在导出时,使用者可自行选择图像的存储位置,但是这种导出方式在使用者不刻意设置存储文件夹而直接导出,使用USB将其传输到PC端时,在手机照片数量较多的情况下,PC端很难找到其具体存储位置,不像第一、二种可以很明显找到其路径“手机存储/DCIM/Snapseed/…”。
3.2.2. 对照片进行“样式”编辑
使用Snapseed软件中的“样式”对图像“IMG_20231013_183311.jpg”进行编辑,随机选择一个滤镜“Portrait”。使用三种导出方式进行导出保存,第一种方式“保存”,得到图像“IMG_20231013_183331-01.jpeg”;第二种方式“导出”,得到图像“IMG_20231013_183331-02.jpeg”;第三种方式“导出为”,得到图像“IMG_20231013_183331_edited.jpeg”。
Figure 3. Comparison of MD5 value after editing photos with “style”
图3. 对照片进行“样式”编辑后的MD5值比对
1、导出的三个文件的哈希值与原图完全不同,以MD5值为例,其值对比如图3所示。
2、Exif信息都发生了不同程度的变化,通过MagicExif元数据编辑器可以看到以下几点:
1) 导出后三个图像之间的主要相同点:第一,经“样式”编辑后导出的三个图在“MagicExif”右下角都显示出了“非原始照片”的字样。第二,其MagicExif中的“全部Exif信息”的展示项目也发生了减少的情况,从原图的75 (5)变为65 (4)。第三,三个图显示的图像拍摄时间均变为“2023-10-1318:33:31”,原图是“2023:10:1318:33:11”。第四,三个图Exif中的软件均变为“Snapseed 2.0”,而原图Exif信息的软件为“MediaTekCameraApplication”。第五,导出后的三个图像的直方图显示几乎一致。
2) 导出后三个图像之间的不同点7:第一,文件大小不同。第二,压缩指纹不同。第二种和第三种方式导出的照片文件大小都变为“3.99 MB”,压缩指纹均为“最佳质量”;第一种方式导出的照片文件大小变为“1.78 MB”,压缩指纹和原图一样,均为“A979DAC0 (未知)”。原图文件大小为“2.98 MB”。可以看出,在导出方式上,第二、三种方式质量更高更好。
3) 原图与导出后的图像之间的区别:第一,文件大小不同。第二,图像原始性显示发生明显变化。第三,原图的直方图与导出后的三个图的直方图显示完全不同。第四,原图与导出后的图像的元数据均有明显变化。例如感光度、拍摄时间(压秒)、修改时间(压秒)等,甚至GPS时间戳、数字化时间和拍摄时间均发生了变化。
3.2.3. 对照片进行“工具”编辑
图像“IMG_20231013_183311.jpg”经过“工具”中的色调对比度、粗粒胶片、复古、镜头模糊、双重曝光等操作后,通过第二种方式(最优)导出得到图像“IMG_20231013_183331-03.jpeg”,其MD5值为“12e0c7a337553fc328ca52019bb7e3d3”,完全不同于原图。在MagicExif元数据编辑器查看其Exif信息,第一,图像显示“非原始照片”。第二,直方图发生明显变化。第三,文件大小相比原图变为“5.39 MB”,可以看出,对图像使用越多操作,图像的大小会相应地变大。第四,35 mm胶片等效焦距、感光度、数字化时间、数字变焦倍数、等都发生了变化。通过WinHex进行验证查看,文件头、文件尾、小端在前、标识符等无变化,但是数据长度等都有明显变化。
4. 实验结果与讨论
实验操作与分析展示了处理前后图像的Exif信息对比和MD5值的验证结果,对于处理前的图像,记录了其Exif信息,包括拍摄设备信息、拍摄参数、时间戳等内容,并计算了哈希值作为原始图像的唯一标识。通过Snapseed软件处理后的图像,再次记录其图像的Exif信息,并计算MD5值。通过对比处理前后图像的Exif信息、软件的图像导出方式等,主要包括以下几个方面的结论和建议。
1) Snapseed软件对图像的Exif信息和原始性会产生根本性的影响。处理后的图像Exif信息相比原图的Exif信息有不同程度的修改或删除,无论是只进行了“导入–导出”操作,还是进行了相关编辑操作。另外,由于Snapseed对图像进行了滤镜和调整等处理,导致图像的像素值发生了变化,导致处理后的图像具有不同于原图的MD5值,这意味着图像的二进制数据发生了变化。这种变化对图像的原始性和真实性产生了实质性影响,这对涉及Snapseed软件处理后的图像的取证和鉴定等方面有重要影响。
2) 对软件本身使用来讲,在导出方式上,不同的导出方式其质量和存储方式不同,通过实验分析,该软件的第二种导出方式更好。第一种方式压缩质量,第二种方式从数据传输角度来说其存储位置不便查找,当然,不影响手机端查看。综上所述,使用第二种导出方式“导出”更为合理可靠,而且该方式可以在设置菜单中更改大小、格式和画质。
3) 为确保图像的原始真实性,不建议使用该类软件(包括Snapseed)对图像进行“导入–导出”操作,即使不做任何编辑,图像的原始性仍然会被破坏。但若需要分析图像是否经过编辑,可以通过直方图进行参考分析,只进行“导入–导出”操作的图像直方图与原图极为相似,而编辑过的图像直方图与原图的直方图有着极其明显的区别。
一言以蔽之,首先,以上实验是通过数据线进行传输的,因此不考虑其他传输方式造成图像命名、质量等方面的问题[7]。其次,本文中实验样本单一,可能导致分析不全面。再者,考虑到MagicExif元数据编辑器查看信息更全面,本文主要使用该信息查看器,少有使用Opanda PowerExif 1.2,因此信息查看可能会有疏忽之处。另外,对于WinHex的使用和对其信息的分析较不全面。
5. 结语
JPEG图像文件格式可以在保持相对较高质量的同时,减小图像文件的大小。主要特点包括良好的压缩比、广泛的应用性和设备兼容性。但需要注意的是,JPEG是有损压缩格式,因此在重复保存和编辑时会导致图像质量下降,并且不适合保存需要精确无损压缩的图像数据。Snapseed对JPEG图像的Exif信息和原始性有根本性的影响。使用者应谨慎对图像元数据进行修改,以避免对图像可信度造成负面影响。同时,我们也需要加强对图像原始性、真实性验证方法的研究,尤其是针对新兴的各类移动端图像处理软件,以促进各类数字图像处理软件的规范化和可信度。通常判别JPEG图像的原始性方法有以下几种:第一,Exif元数据验证,通过软件如MagicExif元数据信息编辑器来查看。如果元数据信息显示与图片的内容和来源不符,可能表示图像经过了修改。第二,哈希值验证,计算JPEG图像的MD5、SHA256、CRC32、SHA512等值[8],然后与原始图像的哈希值进行比对。若两者不一致,可能表明图像已经被篡改。第三,像素分析,通过对图像像素的细微变化进行分析,检测图像是否经过编辑或修改。第四,图像编辑痕迹检测,专业的图像取证软件可以检测图像中的编辑痕迹,如擦除、图层叠加等操作留下的痕迹。综合利用以上方法,可以较为全面地判断JPEG图像的原始性和完整性。然而需要指出的是,有些修改可能不会改变图像所要传达的表面信息,但却失去了其原始性,而且这些修改可能会通过这些方法来检测,因此在涉及法律证据或司法案件时,应聘请数字图像取证专家进行深入分析。
当使用手机拍摄的JPEG图像作为证据使用时,由于图像的原始性是图像鉴定的前提,因此可以采取以下方法以维护图像的原始性和完整性:第一,保留原始文件,尽量保存原始JPEG图像文件不做任何编辑或修改,包括在相机上直接做旋转等操作,并对图像进行哈希计算并妥善保存和备份[9]。如果需要进行备份或传输,建议将原始文件复制到其他设备或存储介质上。第二,确认拍摄信息,在保存图像的同时,也要保存与图像拍摄相关的信息,这些信息可以在后期的取证或分析中提供重要帮助。第三,考虑写入数字签名,对原始图像文件进行数字签名,通过专业的数字取证工具来生成,并且与原始图像一同保存,以确保图像的完整性和真实性。第四,涉及知识产权的图像,可以记录处理过程,若已经对图像进行处理或编辑,可查找是否记录了每一步的操作过程,包括软件工具、参数设置等。采取尽可能的方法维护图像的原始性和完整性,并最大限度地确保图像的可信度和有效性。
本文通过对Snapseed软件的浅析,了解了Snapseed图像处理软件对图像原始性和真实完整性的影响。提醒使用者谨慎对图像元数据进行修改,以避免对图像可信度造成负面影响。同时,我们也需要加强对图像原始性、真实性验证方法的研究,尤其是针对现行新兴的各类移动端图像处理软件,对图像的影响需要深入探讨,以促进各类数字图像处理软件的规范化和可信度。
NOTES
1https://wenshu.court.gov.cn/website/wenshu/181029CR4M5A62CH/index.html。
2手机品牌型号会影响手机照片EXIF信息中制造商、型号、曝光时间、光圈F值、感光度、闪光灯、镜头焦距等信息的读取,这里仅以此手机为例。
3下载链接:https://snapseedofficial.com/。
4Snapseed软件工具详细介绍:https://mp.weixin.qq.com/s/kzF9Yli1bAeOQ_ITZzMIjA。
5在Snapseed软件导出图像的命名格式上,对于同一张照片的编辑操作,第一、二种导出方式会依据导出顺序依次命名,无论使用第一种还是第二种方式导出,第一次导出的文件都会在原文件名后面添加“-01.jpeg”,第二次导出的图像会在原文件名后面添加“-02.jpeg”,依次类推。而第三种导出方式是原文件名后加“_edited.jpeg”。所以这里的“-04.jpeg”是因为针对该图像已经进行过第一或第二种方式的导出,次数为三次。“-05.jpeg”同理。
6Exif包含了图像的基本元数据(metadata)和缩略图信息。
7注:这里由于实验关系,文件的创建、修改时间肯定不同,对此不再探讨。