C2PA Active Manifest:如何定位内嵌与远程凭证
把资产与取得环境一起保存
开始复核前,先保存未经编辑的实际资产。记录文件名、来源 URL 或本地路径、取得时间、媒体类型、验证工具名称与版本。资产如果通过 HTTP 获取,还要同时保留响应头和下载字节。后来下载的副本可能带有不同的响应头、元数据或内嵌数据,不能替代第一份副本的结果。这套记录方式是本文提出的操作建议,不是 C2PA 规定的流程。
问题应限定为:验证工具能否定位与当前资产关联的 C2PA Manifest Store,并确认两者匹配。找到 store 只是中间技术结果,不能证明画面事件由谁创作、何时发生,也不能证明配文准确。
先查标准内嵌位置
C2PA 2.2 把 C2PA Manifest Store 中最后一个 C2PA Manifest superbox 视为 active manifest。验证工具首先在该资产格式规定的标准位置查找内嵌 Manifest Store。需要记录是否找到,以及一共找到几个。
对大多数资产而言,出现多个内嵌 Manifest Store 会导致它们全部无效,验证时按没有找到 manifest 处理。PDF incremental update 有明确例外:不同 update section 可以分别包含 store,但同一个 section 内出现多个 store 仍然无效。不要只保留“发现凭证”的颜色标签,要保存验证工具报告的 section 与数量。
资产通过 HTTP 获取时,验证工具可以在下载完整文件前检查响应中的 Link header。规范说明,这对大文件和流式资产有用。远程引用不仅属于文件字节,也属于当次取得环境,因此原始响应头不能丢。
按顺序追踪远程引用
没有内嵌 store 时,先检查 HTTP 响应中 relation 为 c2pa-manifest 的 Link header。目标可以是普通 HTTP 或 HTTPS URI,也可以用 JUMBF URI fragment 指向资产内的 Manifest Store。引用不得指定某个 child manifest,验证工具会忽略 child label 部分。
随后检查 C2PA Manifest 之外、资产标准位置中的 XMP。dcterms:provenance key 可以提供 active manifest URI。字体如果含有 C2PA table,且 activeManifestUriLength 不为零,应使用其中的 URI。如果仍未找到,验证工具应尝试同一路径或 URI 下扩展名为 .c2pa 的文件,也可以检查其他适当位置。
每次尝试都记录位置类型、完整引用、取得结果、适用时的 HTTP 状态和验证工具消息。远程位置已有记录,但文件不存在或当前不可访问,例如处于离线环境时,C2PA 使用 manifest.inaccessible。不要把它改写成“凭证从未存在”;它只说明本次复核环境无法取得已有记录的 store。
用 hard binding 确认 store 与资产匹配
找到 Manifest Store 后,还要使用 active manifest 中的 hard-binding assertion 检查它是否属于当前资产,以及资产是否在没有 manifest 更新的情况下发生变化。不能把“找到位置”单独标成最终成功。
Hard binding 不匹配时,仅凭这一结果无法判断资产是否被修改,或验证工具是否找到了错误的 Store。规范把它作为 non-matching hard binding 处理并拒绝 manifest。具体代码取决于 binding 类型,可能是 assertion.dataHash.mismatch、assertion.boxesHash.mismatch、assertion.collectionHash.mismatch 或 assertion.bmffHash.mismatch。只记录实际返回的代码,不推测代码没有提供的原因。
把位置证据、active manifest 标识、hard-binding 类型、验证工具完整输出和文件标识放在一起。下一位复核者才能区分“远程 store 未取得”和“已找到 store 但不匹配”。
分开记录 provenance、检测和事件核查
定位成功且 hard binding 匹配,只支持一条有限结论:验证工具为这份资产副本找到了 Manifest Store,并取得记录中的匹配结果。配文、说话人、拍摄时间、地点和画面事件仍需用原始发布页面与独立证据核查。
如果还把保存的文件交给 DeepFakeCheck 获取概率性风险信号,应把结果放在独立部分。自动检测可能误报真实媒体,也可能漏报合成或篡改媒体。高风险结果支持继续复核。概率性风险信号与 C2PA provenance credential 属于不同的证据机制,二者都不能独立证明现实事件。
最后保留准确的资产编号、取得环境、每个尝试位置、所用引用、可访问结果、active manifest 标识、hard-binding 状态、未解决问题和实际处置。下一位复核者应能直接重复搜索,不必猜测你检查的是哪份副本或哪次远程响应。
来源
- C2PA《C2PA Technical Specification, Locating the Active Manifest》:https://spec.c2pa.org/specifications/specifications/2.2/specs/C2PA_Specification.html#_locating_the_active_manifest