ESC
科技 1 分钟阅读

我不喜欢通行密钥(Passkey)

作者认为通行密钥虽是出色的安全技术,却更适合企业环境而非个人使用:个人面临的最大风险是永久锁号、自动封禁和设备丢失;硬件密钥价格高且有账号数量上限;Apple 与 Google 的同步方案存在被封号即失去全部密钥的风险;生态碎片化、跨设备登录体验差。相比之下,简单可控的密码仍有优势。

来源:Hacker News

通行密钥(Passkey)是一项出色的技术。由于它与创建时的网站绑定,黑客伪造的登录界面无法对其发起钓鱼攻击。即使网站遭遇数据泄露,通行密钥基于非对称加密,也无法从服务器端的数据中被还原。

这使得通行密钥非常适合企业环境,却不适合个人安全场景。对个人而言,更大的风险反而是永久性账号锁定、自动封号以及设备丢失。使用通行密钥固然能更好地防御中间人攻击,却让你面对概率更高的失去账号访问权的情形。

通行密钥消除了通过标准登录流程进行的钓鱼攻击,但也带来了虚假的安全感。账号的安全性仍然取决于最薄弱的恢复方式:短信、邮件链接、安全问题等等。如果这些恢复方式没有启用,用户依然面临永久锁定的风险。

从设计上讲,你无法在硬件密钥上备份通行密钥:通行密钥只能被添加或删除,永远无法迁移。因此,你需要购买 2-3 把硬件密钥,并在每个网站为每把密钥逐一注册。这很快就会变得昂贵,而且随着账号数量增长,难以扩展。

硬件密钥支持“可发现凭据”(discoverable credentials),网站可以直接查询你的用户名,而无需你手动输入。这类凭据在网站开发者中越来越流行,但每把硬件密钥的可注册账号上限为 25-100 个(在新标签页打开),顶级密钥最多可达 300 个。一旦超过上限,你要么删除部分账号,要么再买一套硬件密钥。

Apple 和 Google 都希望你的身份锚定在它们的操作系统上。在它们的设备上,“最佳路径”是使用与你的 Apple 或 Google 账号绑定的同步通行密钥管理。如果它们的自动系统某天决定封禁你的账号(在新标签页打开),你将不可逆地失去所有通行密钥——包括你在所有第三方账号上使用的那些。

FIDO 联盟一直在努力改善互操作性、让通行密钥更易于导出,但各家供应商的体验仍然碎片化且不一致。这种情况有望在未来几年改善,但目前还不够成熟,无法放心依赖。相比之下,密码只是一串字符,必要时你随时可以手动导出。

把通行密钥存储在 Bitwarden(在新标签页打开)或 KeePassXC(在新标签页打开)这类密码管理器中时,你实际上是在与平台“较劲”。尽管操作系统最近引入了供第三方工具接入的 API(如 Android 的 Credential Manager(在新标签页打开)),但体验仍然碎片化,缺乏密码自动填充历经数十年打磨的易用性。浏览器之外、原生应用内部的自动填充体验尤其不一致。我相信第三方管理的通行密钥才是未来的方向,但我们还没走到那一步。

在自己拥有的设备上登录账号,是通行密钥的理想场景。当你不得不使用同事的电脑时,事情就变得麻烦得多。你可以插入硬件密钥,但并非总能用上端口;你可以登录后使用同步的通行密钥,但这意味着要信任这台电脑不会泄露你的其他所有通行密钥;最后一个选择是使用“混合传输”(Hybrid Transport)(在新标签页打开),即扫描二维码并通过蓝牙同时与电脑建立连接。虽然这种方式安全且理论上可行,但现实中充满边缘情况:连接失败,或设备干脆不支持蓝牙。