OC
C2PA 相机签名挡不住已 Root 设备,签名是真的也不代表照片是真的
科技 · 2026-08-26 · 安全 · 阅读 0

C2PA 相机签名挡不住已 Root 设备,签名是真的也不代表照片是真的

安全研究者 David Buchanan 展示了一条针对 Android C2PA 相机的攻击链:取得设备 Root 权限后,不必导出 StrongBox 中的私钥,也能调用受保护密钥给任意内容签名,从而制造看起来像由可信相机直接拍摄的内容凭证。

作者:韩启明|OC 政策与安全编辑

安全研究者 David Buchanan 展示了一条针对 Android C2PA 相机的攻击链:取得设备 Root 权限后,不必导出 StrongBox 中的私钥,也能调用受保护密钥给任意内容签名,从而制造看起来像由可信相机直接拍摄的内容凭证。

一句话结论:C2PA 能证明某个密钥签过一份媒体文件,但如果获准使用密钥的软件环境已经被控制,密码学签名只会忠实地证明一次错误的声明。

C2PA 的核心不是“识别 AI 图片”,而是给媒体文件附加可验证的来源记录。相机应用生成包含设备、处理过程和内容哈希的 Manifest,再用受信任证书对应的密钥签名。验证工具检查签名链和内容是否被修改,由此判断文件是不是来自某个可信生成器。

问题在于,这套信任最后落到“谁能调用签名密钥”。Pixel 相机使用 Android Key Attestation 与 StrongBox:正常解锁 Bootloader、刷入修改系统会改变设备状态,服务端就不应继续发放相机签名资格。但研究者指出,通过尚未修补的本地提权漏洞取得 Root 时,Bootloader 仍然锁定、系统镜像签名没有变化、补丁日期看起来也正常,远程证明未必能知道运行中的内核已经失守。

StrongBox 仍然能防止攻击者把私钥原文偷出来,问题却不在“偷钥匙”。Root 进程可以冒充获授权应用,请硬件模块替它完成签名。Buchanan 为此制作了 keystork 工具,并公布了让 Pixel Camera 为任意图片签名的概念验证。他还称,完全更新的 Pixel 设备当时存在可用的一键 Root 路径,并展示了低成本硬件故障注入的替代方案。

真实相机签名链与被控制软件环境之间的信任断层

这里要避免两个过度结论。其一,这不是说所有 C2PA 文件都毫无价值。来源凭证仍能帮助媒体机构记录编辑流程、发现文件在签名后是否被改动,也能提供比裸图片更多的核查线索。其二,研究主要针对 Android 上依赖 Key Attestation 或 Play Integrity 的相机实现,不等于所有专用相机、安全飞地或服务端签名方案都以同样方式失效。

但它确实击中了“拍摄即真相”这类宣传。C2PA 规范本身也把签名者身份和其他信号交给使用者综合判断,并没有承诺签名内容必然真实。要让手机相机提供更强保证,拍摄传感器、图像处理、AI 增强与签名调用之间需要一条更完整的隔离链;只把最后一把钥匙放进安全硬件,无法保护钥匙之前的输入。

研究者称 Google 将其报告以“修复不可行”结案,但仍支付了 7500 美元奖励。这个表态来自研究者披露,不能替代 Google 的完整技术回应。更现实的缓解措施包括快速撤销泄露或滥用证书、检查设备证明、缩小可调用签名的代码面,并明确把 C2PA 显示为来源线索而非真实性印章。

关键事实

  • 攻击条件:先取得 Android 设备的 Root 权限,或利用硬件故障注入破坏内核隔离。
  • 攻击方式:不导出私钥,而是冒充授权应用调用 StrongBox 签名。
  • 影响边界:研究者重点验证 Pixel Camera,也认为其他依赖同类 Android 证明机制的实现需要检查。
  • 证据性质:攻击演示与 Google 处置状态来自研究者披露。

OC 判断

C2PA 最大的风险不是技术毫无作用,而是产品界面把“签名有效”翻译成“内容真实”。真正的安全边界覆盖传感器、系统、应用、密钥、证书撤销和验证界面,缺一层都不能把来源凭证升级为事实证明。

为什么重要

  • 对开发者:实现内容凭证时必须建立威胁模型,不能只完成签名 API 接入。
  • 对媒体与平台:验证结果应展示签名者、设备状态和限制,而不是单一绿色勾号。
  • 对用户:带有“相机拍摄”标签的图片仍需结合来源、上下文和独立证据判断。

参考来源

相关阅读

基于标题、摘要和正文内容自动匹配。

更多科技

评论

围绕这篇文章补充信息、提出问题或分享观察。

0
暂无评论。

发表评论

继续看看 OC 用户围绕这个话题说了什么、做了什么。

相关帖子

更多

测试OurCoders能否发布照片

<p>今天小区的彩虹🌈<img src="https://share.icloud.com/photos/0ebtFydNy8r_gJETON61u4Ybg" alt="图片说明" /></p> <p>看来不能直接发照片,可以把iCloud Link的功能派上用场!</p>

梁建溢 15 45

你们的Codex额度提前耗完了没?戒断反应如何?

<p>我在第三天就消耗了只剩1%,忍了一天,然后今天干脆用这最后的1%,开着5.6 Sol 极高 强推我一个提示词笔记本应用的功能落地。最终用时3小时,居然还是跑完了。但是现在还是出现一些戒断反应,感觉啥也做不了,就无精打采的,困。</p> <p>我做了一个Prompt Notebook,专门用来收藏或者记录自己手搓的生图提示词。带Chrome一键收藏插件。支持AI优化提示词。支持提示词中提取常用字段作为提示词百科词汇。也自带生图功能用来测提示词。但是要搭配Cloudflare R2+Worker的图床。</p> <p>今天主要是做一个AI模特的资产库。将常用的AI模特固定下来,进行身份设定,以及模特的一些角色定妆图。之后生图可以直接调用AI模特自动作为垫图。</p> <p>这是AI模特资产库的界面: <img src="/upload/thread/202608/42b5f73e-938f-45de-b74e-da69da9d72a8.webp" alt="1bb0d28b-c7dd-4327-bafa-26b60323cbed" /> 这是主界面的提示词瀑布流,支持关键词或标签搜索: <img src="/upload/thread/202608/3e15b6e7-345f-48b4-aeff-1bbd89afe9d3.webp" alt="ab998e2f-9ccc-4173-832f-223aa6c6fa81" /> 这是提示词笔记的预览界面,可以复制提示词,分享提示词,点击分享还有分享短链:(https://prompt.jintao.co.uk/share/20260806LfsmY) <img src="/upload/thread/202608/bab31972-0468-4582-b873-6309233254a6.webp" alt="20260806-201213" /> 可惜现在没额度了,我又不想换模型折腾。现在还有些界面细节和小功能需要落地完善,可能还要虫子要抓。弄好了,打算放GitHub开源。</p> <p>有朋友想试试的么?</p>

shynloc 2 4