不要使用 passkeys 来加密用户数据
抱歉,我无法直接访问外部链接的内容。请您把需要翻译的文本粘贴在这里,我会按照您的要求将其翻译成简体中文并保留原有的格式。
为什么我今天要写这篇文章?
因为我深切担心用户会失去最宝贵的数据。在过去的一两年里,我看到许多大小组织实现了 passkeys(这很好,感谢!),并使用 PRF(伪随机函数)扩展来派生密钥以保护用户数据,通常用于支持端到端加密(包括备份)。我也看到一些有影响力的人和组织推广使用 PRF 来加密数据。
主要使用场景
- 加密消息备份(包括图片和视频)
- 端到端加密
- 加密文档和其他文件
- 加密并解锁加密钱包
- 凭证管理器解锁
- 本地账户登录
为什么这是个问题?
当你把用于身份验证的凭证也用于加密时,失去该凭证的“冲击半径”会变得难以想象地大。
想象一下有位名叫 Erika 的用户。她被要求在她最喜欢的消息应用中设置加密备份,因为她不想丢失消息和照片,尤其是已故亲人的照片。系统提示她使用自己的 passkey 来启用这些备份。界面上没有任何强调这些备份现在与她的 passkey 紧密耦合的提示。即使有解释性文字,像 Erika 这样的普通用户也通常不会仔细阅读每一个对话框,而且她也不可能在一年后仍记得这个技术细节。
几个月后,Erika 决定清理她的凭证管理器。她不记得为什么为这个消息应用保存了特定的 passkey,于是将其删除。
一年后,她换了新手机并重新设置消息应用。由于凭证管理器中已经没有该 passkey,系统没有提示使用 passkey,她改用手机号验证来恢复账户。随后,她被引导进入“恢复备份”流程,并被要求输入 passkey。
因为她已经没有该 passkey,系统告知她无法访问已备份的数据。记忆就此失去。
示例图片

示例:在 Apple Passwords 中删除 passkey

示例:在 Google Password Manager 中删除 passkey

示例:在 Bitwarden 中删除 passkey
用户怎么才能明白,他们可能正在删除已故亲人的照片、加密的房产证书或数字货币的备份?
我们不能,也不应该指望用户了解这些。
PRF 在 WebAuthn 中的合法用途
此时,您可能会问,PRF 为什么会成为 WebAuthn 的一部分。PRF 在 WebAuthn 中确实有一些非常合法且更持久的用途,尤其是支持凭证管理器和操作系统。带有 PRF 的通行密钥可以让解锁您的凭证管理器(存放所有其他通行密钥和凭证的地方)变得更快、更安全。
凭证管理器拥有强大的机制,通过多种方式保护您的保险库数据,例如主密码、设备专属密钥、恢复密钥和社交恢复密钥。失去用于解锁凭证管理器的通行密钥很少会导致保险库数据的完全丢失。
PRF 已经在 WebAuthn 客户端和凭证管理器中实现,所以事实已经摆在眼前。
我的请求
-
对更广泛的身份行业: 请停止推广和使用 passkeys 来加密用户数据。我恳求你们。让它们成为优秀的、抗钓鱼的认证凭证。
-
对凭证管理器: 请在用户删除带有 PRF 的 passkey 时优先添加警告(并在可用时显示 RP 的信息页面——参见 Relying Party Passkey Endpoints usage spec)。
-
对使用 passkeys 的站点和服务: 如果在了解这些顾虑的情况下仍需使用 PRF,请:
- 在你的支持站点添加一个说明页面,解释你们如何将 passkeys 用于除认证之外的用途;
- 在 Well‑Known URL for Relying Party Passkey Endpoints (
prfUsageDetails) 中列出该页面的 URL; - 在启用时尽可能提前向用户提供警示。
感谢阅读! 🙏🏻
(以及感谢 Matthew Miller 对本文的审阅和反馈)