跳转到内容
搜索文档

加密人员证明

最后更新 查看 MarkdownAgent 设置

Cloudflare 开发了 CAPTCHA 身份验证的替代方案 ↗——Cryptographic Attestation of Personhood (CAP)。

CAP 让您通过触摸硬件密钥来证明您是合法的网站访问者,而无需解决 CAPTCHA 谜题。

本文提供有关可用性和隐私问题的常见解答。

您也可以通过访问演示站点 ↗测试 CAP。

隐私问题

大多数隐私问题的答案汇总在下表中:

属性 Cloudflare 可能 Cloudflare 实际
收集生物识别信息(指纹或面部照片) 否 不适用
收集有关硬件身份验证器的信息 是,仅限于批次中的密钥数量 是,在可用时

不会,Cloudflare 无法收集生物识别信息。我们的 CAP 流程使用 WebAuthn API,默认阻止收集生物识别信息 ↗。当您的设备请求生物识别身份验证(例如通过指纹传感器)时,一切都在本地进行。

因此,我们永远看不到您的生物识别数据:这些数据保留在您的设备上。设备确认匹配后,仅发送基本证明消息。实际上,您的设备发送的消息证明"是的,有人在可信设备上正确输入了指纹",而从不发送指纹本身。

是的,Cloudflare 确实收集有关密钥的有限数据。我们存储密钥的制造商和批次标识符(最少 100,000 ↗ 个密钥每批次)用于验证。从我们的角度来看,您的密钥与该批次中的所有其他密钥看起来相同。

某些自签名密钥和来自特定制造商的密钥已被发现不符合此要求 ↗,如果您要最小化在线隐私风险,应避免使用。


有关我们如何设置 Cryptographic Attestation of Personhood 的更多详情,请参阅介绍博客文章 ↗。


允许和不允许哪些设备?

允许的设备

CAP 支持多种硬件身份验证器:

  • 漫游(跨平台)身份验证器:
    • 支持:FIDO Metadata Service 3.0 ↗ 中找到的所有安全密钥,除非因安全原因被撤销。
    • 示例:YubiKeys、HyperFIDO 密钥、Thetis FIDO U2F 密钥
  • 平台身份验证器:
    • 示例:iOS 移动设备和 macOS 笔记本电脑上的 Apple Touch ID 和 Face ID;带指纹读取器的 Android 移动设备;Windows Hello

已知限制

大多数 Web 浏览器和 WebAuthn 身份验证器的组合都能工作,但 WebAuthn 证明存在一些已知兼容性问题,可能阻止 CAP 成功工作:

  • Basic CAP:
    • macOS 桌面:对于 TouchID,浏览器必须是 Safari
    • Android:浏览器必须是 Chrome
  • 带零知识证明的 CAP:
    • Apple 平台身份验证器(例如带 Touch ID/Face ID 的 iPhone)与零知识证明系统 ↗不兼容。如果失败,您将立即被重定向到 basic CAP 路由,无需采取进一步操作。由于 Apple 使用保护隐私的 Apple Anonymous Attestation ↗ 来证明身份验证器有效同时阻止跟踪,此方法保持高隐私标准。

随着生态系统的发展和我们继续测试不同组合,我们会更新此列表。

黑客能否绕过 Cryptographic Attestation of Personhood?

CAP 是众多识别和阻止 bot 的技术之一。迄今为止,我们看到了一些测试 CAP 安全系统的尝试,例如一次深思熟虑、文档完善的测试 ↗。讨论该测试的博客文章特别指出,此方法不会破坏 Cloudflare 威胁模型。

这并不意味着 CAP 已被破解,而是表明它提高了攻击成本,超过当前的 CAPTCHA 模型。

如果我丢失了密钥会怎样?

如果您没有必要的硬件(如 Yubikey),您仍然可以解决常规 CAPTCHA 挑战(例如选择图片)。

常见错误代码及其含义是什么?

  • Unsupported_att_fmt:
    • 原因:您的身份验证器使用了不支持的证明格式(浏览器和密钥的组合)。使用 Firefox 并选择"anonymise your key"选项时也会发生。
    • 解决方案:如果在 CAP 零知识版本 ↗期间发生此错误,您将自动重定向到 basic CAP 流程。如果 basic CAP 失败,请尝试不同的支持硬件设备和浏览器组合,或选择 CAPTCHA。
  • Unsupported_issuer:
    • 原因:您的密钥目前不受支持。
    • 解决方案:使用支持的密钥。

相关资源

这篇文档对您有帮助吗?