可信时间与手机时间:照片时间戳是怎么被伪造的

照片时间戳是如何被伪造的(修改手机时钟、编辑 EXIF、重新加水印),与服务器同步的时间加单调时钟如何应对,以及坦诚的局限。

在普通手机上,照片上印的时间来自手机自己的时钟,所以任何人都可以打开设置,把时间往回调,在实际 9:30 时拍出一张“7:55 拍摄”的照片。可信时间解决了这个问题:它与服务器同步,然后用内部的单调时钟计算经过的时间,即使没有信号也一样。下面我们介绍常见的时间戳造假方式、可信时间如何一步步运作,以及它做不到什么。

注意:本文为一般性信息,不构成法律建议。照片有多大证据分量,由相关机构在每个案件中决定。

照片时间戳造假的三种常见方式

示意图:照片上的时间可以被修改,GPS 可以伪造,旧照片也可以当作新照片重新发送

1. 修改手机时钟

最简单的手段。关闭自动时间,把时钟往回调,打开相机或时间水印应用,拍照,然后再打开自动时间。所有读取系统时间的应用都会印出错误的值,EXIF 也不例外。修改时区的效果也差不多。

2. 编辑 EXIF 元数据

JPEG 文件在其 EXIF 数据中存有 DateTimeOriginal 字段。大量免费的电脑和手机工具几秒钟就能改写它。此外,聊天应用和社交网络常常会完全删除 EXIF,让收件人无从比对。

3. 给旧照片重新加水印

拿一张昨天的照片,在修图软件里打开,打上新的日期和时间。另一种变体是用时间水印相机去拍显示旧照片的屏幕。无论哪种方式,你都会得到一张看起来刚拍、水印很有说服力的图片。

方式 难度 收件人可能注意到什么
修改手机时钟 极简单 单看图像几乎什么也看不出
编辑 EXIF 容易 没有原始文件就什么也看不出
给旧照片重新加水印 容易 字体不一致、光线与天气不符
翻拍屏幕 中等 屏幕边框、摩尔纹、对焦发软

它们的共同点是:拍摄者控制着时钟。解决办法是使用一个他们无法控制的时间来源。

可信时间如何运作

可信时间的三个步骤:与服务器同步、锚定到手机的单调时钟、计算拍摄时的时间;示例:08:00 同步,时钟被往回调,照片仍显示真实的 09:00

第 1 步:与服务器同步

联网时,应用向服务器请求当前时间,并测量往返时间。网络非常慢时的样本会被丢弃。应用根据其余样本估算收到回复那一刻的服务器时间,其误差远小于对考勤或现场报告有影响的程度。应用打开期间会定期重复同步,每次恢复联网时也会同步。

第 2 步:锚定到单调时钟

每部手机都有一个单调时钟:一个从设备开机起计时的计数器,屏幕关闭时也会继续走,并且不会因为用户修改时钟而改变。在 Android 上,这是自开机以来经过的时间,iOS 上也有等效的连续计数器。

应用会保存一个锚点:同一时刻的服务器时间和单调时钟读数。

第 3 步:计算拍摄时的时间

当你按下快门时,可信时间等于锚定的服务器时间加上单调时钟自那以后计数的时间。例如:

  • 08:00 完成同步,此时单调计数器的值为 A。
  • 工人关闭数据网络,把手机时钟往回调两个小时。
  • 在真实的 09:00,单调计数器前进了 60 分钟。
  • 照片显示 08:00 + 60 分钟 = 09:00,无论手机时钟显示什么。

由于拍摄那一刻不需要网络,这在地下室、山区和没有覆盖的新工地都能正常工作。完整的离线流程请参阅离线照片凭证。

时间何时无法再验证

有一个已知的弱点:单调时钟在手机重启时会重置。如果手机在离线时关机或重启,旧的锚点就不再有效。应用不会去猜,而是做两件事:

  1. 用设备时钟生成水印,并把时间来源记录为“设备时间,未验证”。
  2. 标记这张照片,让服务器和管理者能看到,直到下一次成功同步。

同样,如果手机离线时间非常长,锚点变得太旧,照片也会被标记为未验证。坦白说明局限,总比印上一个背后毫无依据的自信数字要好。

服务器还会额外检查什么

设备上的可信时间是第一层。照片上传时,服务器会再次检查:

检查 目的
时钟偏差 比较手机时间与校正后的时间,标记明显差距
延迟上传 标记拍摄后超过 15 分钟才到达服务器的照片
已 root 或越狱的设备 系统保护被解锁后更容易篡改
无效的应用版本 照片不是来自官方版本

对于打卡照片,系统会同时保存可信的拍摄时间和服务器收到的时间。拍摄时间用于计算迟到和工作时长,二者之间的差距则让管理者看到哪些照片是延迟发送的。详见杜绝考勤作弊。

坦诚的局限

  • 它不是经认证的时间戳。 SnapID Mark 的可信时间不是由时间戳机构按照 RFC 3161 等标准签发的,也不带数字签名。
  • 手机信号可能被篡改。 被修改的应用或已 root 的手机可能发送虚假数据。服务器会复查并标记,但无法保证一切。
  • 时间正确不代表内容真实。 可信时间说明照片是何时拍的,而不是说明场景是真实的。有人可能会拍一张打印的图片。
  • 在首次同步之前没有锚点,所以只能使用设备时间。

SnapID Mark 如何应用可信时间

SnapID Mark 在每张照片上加印可信时间,以及日期、天气、GPS 坐标、地址、小地图和带 QR 码的 SnapID 代码。在照片详情中,拍摄时间一行会注明其来源:“网络时间 · 忽略设备时钟”或“设备时间 · 未验证”。任何扫描 QR 码的人看到的都是系统记录的拍摄时间,而不只是图像上的文字。离线拍摄的照片保留在设备上,稍后上传。更多内容请参阅安全和功能。

照片详情页面:SnapID 代码、“未备份”标签,以及标注为“网络时间 · 忽略设备时钟”的拍摄时间

在应用中,拍摄时间被标注为“网络时间 · 忽略设备时钟”。

如果你的团队需要无法通过调整时钟来改变的拍摄时间,下载 SnapID Mark,试试在修改手机时间后拍一张照片。

常见问题

修改手机时钟会改变 SnapID Mark 照片上的时间吗?

不会,只要手机自上次开机以来应用已与服务器同步过。水印时间是服务器锚点加上单调时钟计数的时间。

离线一整天后时间还准吗?

准,只要手机没有重启。单调时钟在没有网络、屏幕关闭时也会继续计时。

为什么我的照片显示“设备时间,未验证”?

通常是因为手机在离线时重启了,或者从未同步过。恢复联网后,应用会同步,之后的照片会重新使用可信时间。

出差时更改时区有影响吗?

记录的时刻不会改变。时区只影响水印上时间的显示方式。

可信时间在法律上等同于数字签名吗?

不等同。它是让核查更容易的技术证据,而不是经认证的时间戳。请参阅越南带时间水印照片的证据效力。