C2PA Claim 签名:如何复核验证结果
保存实际文件和完整输出
先保存未经编辑的媒体文件,再保存兼容 C2PA 验证工具的完整输出。记录文件名、取得来源和时间、验证工具名称与版本。平台如果提供多份转码或下载副本,为每一份单独编号。验证结果只对应真正被检查的那份文件。这套记录方式是本文提出的操作建议,不是 C2PA 规定的流程。
把问题限定在验证工具是否按照规范定义的步骤找到并验证 claim signature。颜色徽标或单个结论会遮住具体通过或失败的环节。保留原始状态码和诊断文字,下一位复核者才能重复检查。
先检查签名引用,再解读信任结果
C2PA 2.2 要求验证工具读取 claim 的 signature 字段,解析其中的 URI,并取得 COSE signature。签名必须嵌在同一个 C2PA Manifest 内,位置应为 self#jumbf。字段缺失、URI 无法解析或指向 manifest 之外时,claim 会被拒绝。规范把字段缺失或无法解析记为 claimSignature.missing;claim 与 signature 不在同一个 manifest 时,该 manifest 不能视为有效。
把位置检查单独记一行,不要和后续步骤合并。建议记录文件编号、claim 标识、工具显示的 signature URI、解析结果和完整状态码。不要拿另一份下载文件里的 URI 填补缺项。第二份副本即使能够正常解析,也要同时保留两份文件和两次输出。
分开记录凭证、算法、信任链和签名
找到签名后,规范要求按照 C2PA trust model 验证签名使用的 credential。Credential 不符合要求时记录 signingCredential.invalid;signature algorithm 不在允许或 deprecated 列表时记录 algorithm.unsupported。验证工具随后尝试从 credential 建立到适用 trust anchor 的信任链。无法建立时记录 signingCredential.untrusted,成功时记录 signingCredential.trusted。
这些状态对应不同检查,每项应单独成行。Credential 获得 trusted 状态,并不能代替密码学签名验证。如果 claim 尚未被拒绝,验证工具会继续执行规范规定的 digital signature 步骤。签名验证失败时记录 claimSignature.mismatch,成功时记录 claimSignature.validated。不要把整条链压缩成一句自定义的“媒体已验证”。
可以使用五列记录表:检查步骤、观察值、完整状态码、对应 manifest、下一步动作。遇到 claimSignature.missing,保存文件并寻找发布者提供的原始副本;遇到 algorithm.unsupported,先记录当前工具与版本,再尝试另一款兼容工具;遇到 signingCredential.untrusted,保留工具展示的链信息并核对适用的信任环境;遇到 claimSignature.mismatch,保存当前副本和全部诊断。这些动作是本文的复核建议,不改变 C2PA 状态码本身的含义。
把相邻检查和现实主张留在签名结论之外
Time-stamp 验证、credential revocation 和 trust list 策略都有各自的检查。不能根据 claimSignature.validated 推断它们也已通过。签名失败同样不能说明谁修改了文件、何时修改或为什么修改;它只报告验证工具针对现有证据得到的技术失败。
有效的 claim signature 只支持记录验证工具在 credential、algorithm、trust chain 和 signature 环节得到的结果。它不能独立证明配文、说话人身份、拍摄日期、地点或画面事件。这些主张需要结合最初发布页面和独立证据核对。
如果还把保存的副本交给 DeepFakeCheck 获取概率性信号,应把结果放在独立部分。自动检测可能误报,也可能漏报:误报会把真实媒体标为可疑,漏报会放过合成或篡改媒体。高风险结果支持继续核查,低风险结果不能认证 C2PA claim,也不能证明现实事件。
最后保留文件编号、完整验证输出、每项 C2PA 状态码、未解决的问题、独立来源核查和实际处置决定。记录这份副本的签名是缺失、不支持、不受信、不匹配还是已验证。这样的记录保留了证据边界,也给下一位复核者留下可重复的起点。
来源
- C2PA《C2PA Technical Specification, Validate the Signature》:https://spec.c2pa.org/specifications/specifications/2.2/specs/C2PA_Specification.html#_validate_the_signature