---
title: 研究人员称 C2PA 排除范围可让恶意签名者为编辑后的图像倒签时间
dek: 安全研究人员 David Buchanan 于 2026 年 10 月 2 日发布了一张图片。他称，图片的内容凭证（Content Credentials）签名和可信时间戳都有效，却没有覆盖图片的任何内容。这一演示区分了两项容易混淆的检查：签名是否有效，以及签名覆盖了什么。
---
安全研究人员 David Buchanan 于 2026 年 10 月 2 日报告，签名者可以生成这样一种内容凭证（Content Credentials）：签名和可信时间戳都保持有效，却不覆盖文件的任何内容。[^1]内容凭证是内容来源与真实性联盟（C2PA）制定的溯源格式。它为文件附加一份经过签名的记录，称为清单（manifest），对文件的来源作出声明。清单常常包含由独立时间戳机构签发的时间戳，用以表明签名在某一时刻已经存在。[^1]

这种方法利用的是排除范围（exclusion range）：签名者可以把某些字节区间排除在签名所覆盖的密码学哈希之外。Buchanan 只设置了一个排除范围，覆盖整个文件，这样声明签名覆盖的就只是空字符串的哈希。他说，自己在签名之后修改了图片，签名和时间戳仍然有效。[^1]他的示例是一张彩票照片。他说，照片上是 2026 年 8 月 28 日 EuroMillions 彩票开奖的中奖号码，附带的可信时间戳却比开奖早了几个小时。他还称，他能找到的 C2PA 验证工具都没有提示任何异常。[^1]

C2PA 规范 2.4 版规定，创建清单的软件必须把排除范围限制在清单存储区或资产元数据之内。规范还要求，如果容纳清单的排除范围内含有其他数据，验证器应拒绝该清单；任何额外的排除范围，验证器都应以信息类代码报告。[^2]

Buchanan 写道，覆盖整个文件的排除范围很容易发现，较小的排除范围则较难判断。他补充说，排除范围不能简单地取消，因为某些文件格式含有校验和，这些校验和在签名之后必须更新。因此，他建议针对每种格式规定哪些字节可以排除，并要求验证工具强制执行这些限制。[^1]

马里兰大学巴尔的摩县分校（UMBC）、Hacker Factor 和美国国家安全局的研究人员在 4 月发表的一项分析中就已指出，排除范围可用来做出无法察觉的改动。[^3]

:::analysis
有效的签名和可信时间戳只能说明，签名覆盖的字节自某一时刻起没有改变。这些字节是否包含图像，是另一个问题。2.4 版规范似乎要求验证器拒绝 Buchanan 这种覆盖整个文件的排除范围。因此，如果他的报告属实，他试用的工具就没有执行这条规则。凡是把内容凭证当作证据的人，都需要一个能报告签名覆盖范围的验证器。
:::

:::checked
我们于 2026 年 10 月 20 日阅读了 Buchanan 的文章、C2PA 规范 2.4 版（日期为 2026 年 4 月 1 日）以及 4 月那项分析的摘要。我们没有下载他的图片，没有检查图片中的清单，也没有运行任何 C2PA 验证器，因此文中的结果均来自他本人的报告。
:::
