全部文章

阅读约 6 分钟

媒体真实性:时间戳能证明什么,又不能证明什么

一份 Label 309 证明能表明某个媒体文件在某个公开时间之前就已存在。但真实性需要的更多:拍摄背景、来源溯源、签名,以及人工核验。本文讲清时间戳这一层在其中的位置。

存在性证明(Proof of Existence)能表明某个特定的媒体文件在某个特定时间之前就已存在。但它本身无法证明镜头前的画面是真实的。

这一区别正是本文的核心。借助 Label 309,一张照片、一段视频、一个音频文件、一份 Content Credentials(C2PA)清单,或一个新闻编辑室的证据包,都可以被计算哈希并锚定到 Cardano 链上。之后,任何持有该文件的人都能检查它是否与那份带时间戳的承诺相符。这是真实而有用的——但它只是更大体系中的一层。要确立媒体的来源,你仍然需要拍摄背景、来源溯源元数据、签名、保管链,以及人工判断。

一份媒体证明究竟证明了什么?

它证明了某个精确的字节序列在某个公开时间之前就已存在。

对一张照片计算哈希,用 Label 309 把这个摘要锚定到链上,之后你就能用这份链上哈希去验证同一个照片文件。如果哈希匹配,验证方就能确认:后来这个文件,与记录的区块时间所承诺的内容逐字节完全一致。这无需依赖任何服务器、厂商或签发者身份——只需要交易元数据、文件本身,以及一个公开的 Cardano 浏览器。

同样的机制适用于任何数字资产:

  • 视频与音频录音;
  • 原始照片与修图导出件;
  • 缩略图、转录文本与字幕;
  • C2PA 清单;
  • 新闻编辑室证据包与相机存储卡清单;
  • 社交媒体导出包。

这一点之所以重要,是因为数字媒体太容易被篡改。一份对精确字节的公开、独立的承诺,让悄悄替换内容这件事变得极难抵赖。

一份媒体证明不能证明什么?

它无法证明镜头拍到的是真实世界。

一张合成图像可以被打上时间戳。一段深度伪造视频、一张摆拍照片,或一段在被计算哈希之前就已剪辑过的视频,同样都可以。一个真实的文件和一个误导性的文件,都能携带一份完全有效的存在性证明。这份证明只回答一个问题——这些字节在这个时间之前是否已存在?——仅此而已。

它本身并不会告诉你:

  • 是谁拍摄了这个文件;
  • 它是在哪里拍摄的;
  • 画面是否真实;
  • 文件是否在打时间戳之前被编辑过;
  • 被拍摄对象是否同意;
  • 这个文件是否可以合法使用;
  • 围绕这个文件的说法是否属实。

这种诚实是它的要点,而不是它的弱点。时间戳是关于时间与完整性的证据,而不是通向真相的窗口。(更完整的论述见一份证明无法证明什么。)

既然它不能证明真实,为什么还有用?

因为媒体争议往往就取决于时间与完整性。

调查工作常常需要弄清:某个文件是在某事件之前还是之后存在,新闻编辑室在发布前是否就持有某个源文件,一段有争议的片段在交付之后是否被改动过,或者档案库里现在保存的,是否还是几个月前某人审阅过的同一个文件。存在性证明为所有这些问题都提供了一个稳定、可比对的锚点:

  • 这个文件在公开宣称之前就已存在;
  • 这个导出件与被审阅过的那个完全一致;
  • 这个源文件包在文章见报之前就已存在;
  • 这份 C2PA 清单在内容被下架之前就已存在;
  • 这批资产在营销活动启动之前就已存在;
  • 这个证据包在诉讼开始之前就已存在。

以上没有一项需要去信任发布者。它们给调查人员一个固定的比对对象,而这往往正是缺失的那一环。

Label 309 如何与 C2PA 协同工作?

它们覆盖问题的不同部分,而且彼此契合得很自然。

C2PA——即内容来源与真实性联盟(Coalition for Content Provenance and Authenticity),面向用户时以 Content Credentials 的形式呈现——是一个结构化的来源溯源层,而不只是时间戳。它描述内容是如何产生的:创建、编辑、所用素材、工具声明,以及其他绑定到资产上的已签名断言。Label 309 做的是与之互补的工作:它把一个哈希——资产的、清单的,或覆盖其中许多项的 Merkle 根——锚定到 Cardano 的公开时间上,无需信任任何具名的权威方。

一套稳健的媒体真实性工作流可以把它们叠加起来:

  • 设备或拍摄签名;
  • 一份 C2PA 清单;
  • 原始文件的哈希;
  • 修图导出件的哈希;
  • 一份源文件包清单;
  • 一个 Label 309 时间戳锚点;
  • 保管链备注;
  • 新闻编辑室或平台的核验。

C2PA 帮助讲清来源溯源的故事。Label 309 则证明这个故事的某个特定版本是在何时存在的。我们在 Proof of Existence 与 C2PA 对比为什么 C2PA 需要一个时间锚点中,对这一搭配做了更深入的探讨。

新闻编辑室应该给什么打时间戳?

是整个证据包,而不只是已发布的那张图。

当目标是日后为一篇报道辩护时,值得锚定的,是支撑这篇报道的一切:

  • 原始的、以及由信源提供的媒体文件;
  • 拍摄元数据导出件;
  • C2PA 清单;
  • 转录文本与翻译文件;
  • 核验备注与地理定位证据;
  • 反向图片搜索的截图;
  • 证人陈述与编辑决策日志;
  • 已发布的导出件及任何更正记录。

其中大部分都是敏感内容,应当保持私密。这没问题:公开记录始终只需要哈希和 Merkle 根。底层字节可以离线保存,或者封存——这样存储的是密文,而明文留在密钥持有者手中。

平台如何大规模地给媒体打时间戳?

通过锚定批次,而不是单个上传件。

一个处理大量内容的平台,不会想为每个文件都发起一笔 Cardano 交易。它可以改为定期地,对许多媒体哈希、审核记录、来源溯源清单,或透明度报告的源数据,构建一个 Merkle 根,然后只锚定这一个根。例如:

  • 高风险上传件,每小时一个根;
  • 已删除媒体的证据,每天一个根;
  • 已核验的品牌资产,每个营销活动一个根;
  • 合作方媒体,每个发布批次一个根;
  • 下架证据包,每个一个根。

之后,平台可以证明任何单个资产或审核记录都属于某个带时间戳的批次——只需针对已发布的根,给出该项的包含证明。其中的原理见一条记录,覆盖数千个文件

这对应对深度伪造有什么帮助?

它帮助厘清时间线,而不是变魔术般地检测真伪。

一份证明可以表明:一个所谓的原始文件在某段深度伪造内容出现之前就已存在,一个平台在某个确切时间收到了一份有争议的上传件,或者一位创作者的源文件或项目文件夹早于某个误导性的衍生品。在争议中,这些都是真实而能左右判断的事实。

它做不到的,是看一眼文件就断定它是真还是假。深度伪造检测、安全拍摄、来源溯源元数据、信源验证,以及人工调查,仍然各自承担那部分工作。这里的贡献更窄、也更可靠:这就是那个更早被承诺的文件或清单,而这就是它存在的时间。

媒体本身应该被永久存储吗?

有时应该——但在让明文变成永久存储之前,请慎重权衡。

对于真正公开的媒体,文件或清单可以通过内容寻址存储公开地保存。对于敏感媒体,封存记录通常是更稳妥的选择:加密后的密文得以保存,而明文只对目标密钥持有者可读。封存让内容保持机密,但它并不保证匿名;接收方一旦解密,仍然可能把明文泄露出去。

长期保存的媒体证据,必须权衡:

  • 隐私与同意;
  • 被拍摄对象与信源的安全;
  • 法律特权与信源保护;
  • 留存政策;
  • 接收方的访问权限,以及未来的验证需求。

把明文永久公开存储,很少是正确的默认做法。一份对哈希的永久承诺,往往就是你真正需要的全部;而字节本身可以存放在情况所要求的任何地方。封存记录的模式见不公开文件的机密披露

创作者应该保留什么?

原始文件,以及日后解释这份证明所需的一切。

一个经久可用的媒体证明包,通常包含:

  • 原始文件及任何修图导出件;
  • 清单与所用的哈希算法;
  • Label 309 交易引用;
  • C2PA 清单(如果制作过);
  • Merkle 叶子与包含证明(如果该项被批处理过);
  • 记录的签名公钥(如果它被签名过);
  • 信源与保管链备注。

如果其中某些丢失了,证明本身通常仍然存在于链上——但要把它解释清楚、有说服力地呈现出来,就会困难得多。链上锚点是经久不变的那部分;而周围的背景信息,才是让它能被读懂的关键。

简短版

媒体真实性是一个体系,而不是单一功能。

Label 309 能证明某个特定的媒体文件、清单或证据包在某个公开时间之前就已存在,任何持有文件和一个 Cardano 浏览器的人都能验证。它能支撑 C2PA 来源溯源、新闻编辑室核验、法律证据、平台审核,以及创作者工作流——而且做到这一切,无需要求任何人去信任发布者。

它做不到的,是凭一己之力证明真实。请把它当作一套更强的真实性流程中负责时间与完整性的那一层,并把它与那些证明其余部分的来源溯源层、签名层和人工核验层搭配使用。

延伸阅读

mediaauthenticitydeepfakes