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 ↗ 来证明身份验证器有效同时阻止跟踪,此方法保持高隐私标准。
随着生态系统的发展和我们继续测试不同组合,我们会更新此列表。
CAP 是众多识别和阻止 bot 的技术之一。迄今为止,我们看到了一些测试 CAP 安全系统的尝试,例如一次深思熟虑、文档完善的测试 ↗。讨论该测试的博客文章特别指出,此方法不会破坏 Cloudflare 威胁模型。
这并不意味着 CAP 已被破解,而是表明它提高了攻击成本,超过当前的 CAPTCHA 模型。
如果您没有必要的硬件(如 Yubikey),您仍然可以解决常规 CAPTCHA 挑战(例如选择图片)。
- Unsupported_att_fmt:
- 原因:您的身份验证器使用了不支持的证明格式(浏览器和密钥的组合)。使用 Firefox 并选择"anonymise your key"选项时也会发生。
- 解决方案:如果在 CAP 零知识版本 ↗期间发生此错误,您将自动重定向到 basic CAP 流程。如果 basic CAP 失败,请尝试不同的支持硬件设备和浏览器组合,或选择 CAPTCHA。
- Unsupported_issuer:
- 原因:您的密钥目前不受支持。
- 解决方案:使用支持的密钥。