Hacker News 中文摘要

RSS订阅

Proof of Capture:用隐写术的开源苹果参考图像 -- Proof of Capture: Apple Reference Image, but open source and using steganography

苹果(Apple)昨日推出苹果参考图像(Apple Reference Image),一种通过加密证明照片确实由相机拍摄而非人工智能生成的方法。今年夏天在递归中心(Recurse Center)期间,亚历克斯·霍恩斯坦(Alex Hornstein)和作者(两名相机爱好者)构建了一台具备捕获证明(proof of capture)功能的相机。该相机由树莓派零号(Raspberry Pi Zero)、显示板、ATECC608加密芯片、快门按钮和3D打印外壳组成。

正文

苹果昨天推出了 Apple Reference Image:一种用密码学证明照片确实由相机拍摄、而非 AI 生成的方法。今年夏天我在 Recurse Center 期间,和 Alex Hornstein(我们俩都是相机爱好者)做了一台带 proof of capture 的相机。

手举着显示电路板,下方是内有 Raspberry Pi Zero 的 3D 打印相机外壳

这台相机由 Raspberry Pi Zero、显示板、ATECC608 加密芯片、快门按钮和 3D 打印外壳组成。

在拍摄时证明真实

2019 年我部署 ML 事实核查工具时,即使在“威尔·史密斯吃意面”那个年代,也已经明显看出生成器跑在检测器前面。检测是一场必输的竞赛:检测器每一点改进,都成了下一代生成器的训练信号。我们的思路反转了这个问题:不去事后检测假货,而是在拍摄那一刻证明什么是真的。

复杂之处不在技术层面,而在于如何处理照片编辑(裁切过的照片该保留签名吗?)和元数据:一旦分享图片,EXIF 会出于隐私原因被剥离,存在那里的任何签名也就没了。

隐写术与感知哈希

我们的相机用了隐写术:把不可见水印藏在图像像素本身里,其中包含已签名的感知哈希(针对照片“看起来什么样”而非精确字节的哈希)。由于签名不在元数据中,它能经受压缩和缩放。初版把精确的 SHA-256 哈希藏在每个像素的最低位,任何 JPEG 重压缩都会毁掉它;现在的版本签署 pHash,并作为频域水印(DWT + DCT)铺满整张图,能扛住 WhatsApp 级别的压缩,还能检测内容篡改。

示意图:照片的像素色彩通道输入加密芯片,芯片生成嵌入图像最低有效位的签名串

简化示意中画的是最低有效位替换,实际嵌入是把签名铺在 DWT + DCT 水印中。

ATECC608 芯片

签名由 ATECC608 加密芯片(自己焊的!)处理,它持有用于验证的公钥和用于签名的私钥。密钥一经生成,私钥永不出芯片:连所有者都读不到。要是试图篡改,芯片会自锁。

ATECC608 转接板,芯片周围印有锁形丝印

焊接台上用辅助夹夹着的 ATECC608 转接板

手举着焊好的 ATECC608 转接板

ATECC608 安全元件。

苹果在做什么

苹果的做法类似:传感器在拍摄时给每个像素签名。但它不把签名嵌进图像,而是由 Private Cloud Compute 把它生成为藏在照片旁边的“数字负片”。他们的验证流程目前既不公开也不清晰。

三张 iPhone 屏幕展示 Apple Reference Image 流程:照片、已验证参考图像和对比视图

Apple Reference Image:把已验证的捕获帧和照片对比,看是否被改动过。(来源)

我不喜欢的一点是,他们没用已有的开放标准 C2PA(尼康、索尼、徕卡和 Adobe 都在用)。即便他们开放 API 让平台原生验证,信任根仍留在苹果的 Private Cloud Compute 里。苹果……(叹气)

平心而论……

Proof of Capture、Apple Reference Image 和 C2PA 都没完全解决问题。比如屏幕攻击依然有效:拍下显示 AI 图像的屏幕,就得到一张带签名的假照片。不过看到大厂也关心这个问题总是好事。项目是开源的,自己攒一台不到 100 美元。最后放一张 Proof of Capture 相机印出来的照片。去 Recurse Center 能看到这件作品,凑近点也许能看见隐藏签名。

Proof of Capture 相机印出的照片,贴在 Recurse Center 的工作台上

“信我,这照片 100% 真品。已签名。”

评论

讨论整体偏怀疑:认可“给相机图像做密码学签名”的动机,但分歧集中在它能否真正证明真实性、感知哈希是否安全,以及默认签名会不会带来隐私和法律代价;支持者则视其为 AI 时代的必然基础设施,只是需要扩展到可追溯的编辑链。

认为屏幕翻拍和硬件注入让认证形同虚设

  • 屏幕攻击仍然成立:翻拍显示 AI 图像的屏幕,就能得到一张“被签名”的假照片;因此这套思路基本不成立,反而可能带来可追踪的隐蔽元数据和锁死相机固件的叙事。(较多人) > 屏幕攻击仍可用,所以这个方案基本没用,只会多出可用于追踪的隐蔽元数据和锁死相机的理由。(@xg15)
  • 更底层的攻击是控制进入感光控制器件的线路,让传感器“拍到”任意画面;不简单,但一个有 FPGA 的研究生可能做得到。(少数人)
  • 有人希望苹果用激光雷达判断被拍摄的是否是翻拍屏幕的平面,作为屏幕攻击的一种缓解。(少数人)

认为感知哈希不是密码学哈希,原像攻击会直接击穿方案

  • 感知哈希不是密码学原语;碰撞攻击姑且不论,原像攻击会完全破坏该方案,已有论文展示对 PhotoDNA 和 PDQ 的第二原像攻击。(少数人) > 感知哈希不是密码学哈希;原像攻击会彻底击穿这个方案。(@Retr0id)

认为默认签名会把泄露或被盗照片不可否认地绑定到个人

  • 默认签名多次带来严重意外后果:如果照片被泄露或盗走,你是否真希望它们不可否认地指向你?DKIM 密钥被公开后的教训类似。(较多人)
  • 更进一步,未来人们可能因为假图假视频太强,只能靠密码学证明自己“没做什么”,从而自愿接受全天候自我监控;这等于全面信息监控成真。(较多人) > 未来人们会为了证明自己没做过某事,自愿接受带密码学证明的全天候自我监控。(@Lammy)

认为相机签名将不可避免,但需要像签名 git 日志一样记录编辑链

  • AI 让篡改太容易,未来数字相机默认签名图像是合理趋势;但签名只能认证原始图像,还缺少允许旋转、调对比度等编辑的附加认证层,应记录修改并链接到原图 ID。(少数人) > 这像有签名的 git 日志:既允许编辑,又能清楚记录图像被改过并指回原图。(@vzaliva)

有价值的补充

  • fitzn 给出一个把少量文本隐写进图片的工具 atrium,说明同类技术也能成为认证之外的隐蔽信道。
  • Retr0id 引用论文指出 PhotoDNA 和 PDQ 存在第二原像攻击,提醒任何依赖感知哈希完整性的方案都要面对与密码学哈希不同的攻击模型。