多年来,基于密码的身份验证一直是默认模式。但是谁愿意记住他们注册的每个网站的密码呢?大多数人在许多地方都使用同一个密码,这个密码很容易记住。密码管理器使自动填充凭据变得更容易,但它们无法从设计上克服基于密码的身份验证系统中存在的安全问题。Passkeys 应运而生。它们更安全、更易于使用,为无密码身份验证提供了身份验证领域的新视野,前景似乎一片光明。
与所有事物一样,密钥也有其优点和挑战,我们将在本文中讨论这些优点和挑战,并介绍这种身份验证模式的工作原理、安全性等等。
密钥利用公钥加密技术生成身份验证流程,而不是依赖单个基于字符串的密码。用户的设备生成公钥/私钥对,并将公钥发送到服务器,服务器存储该密钥,然后使用该密钥对用户进行身份验证,私钥存储在用户的设备上。
注册流程
身份验证流程
注意事项
安全性的提高通常意味着易用性的降低,但对于密钥来说并非如此。注册阶段完成后,密钥的使用会更加方便。无需记住密码,身份验证也快速、简单且安全。
密钥可以减少攻击面并消除一些常见的密码威胁。密码通常以加密形式存储在数据库中。当您使用纯文本密码登录 Web 服务时,它们会生成相同的加密文本并将其与已有的文本进行比较,这就是用户进行身份验证的方式。现在这给我们留下了两个最常见的威胁。
数据库泄露很常见,当服务数据被盗时,通常会在暗网上出售。有权访问数据的恶意行为者可以尝试离线破解加密,并且以当今可用的计算能力,可能需要数周到数月的时间,具体取决于加密。密钥消除了这种威胁,因为无需存储密码。如果发生泄漏,只会暴露公钥,这对恶意行为者来说没什么用。
在网络钓鱼攻击中,会创建目标网站的克隆,并诱骗用户输入其凭据,误以为这是真正的网站。但是,这种方法在密钥下也行不通,因为没有凭据可窃取。复杂的网络钓鱼攻击与中间人攻击相结合可能仍然可行,但攻击面大大减少。
正如我们在上一节中了解到的,密钥可以跨设备同步,因此我们知道它们是可移植的。只要您使用提供商(Google、iCloud)登录,就可以在所有设备上使用密钥。这让我们想到一个问题:如何在不属于您的设备上使用密钥,可能是朋友的计算机或图书馆,基本上是任何您只想使用一次的设备。密钥也涵盖这种情况,它的工作原理是,如果两个系统都支持密钥,它们就可以通过蓝牙相互通信以共享访问权限。让我们逐步了解它的工作原理。
Passkey 基于 FIDO2 标准,该标准将客户端到身份验证器协议 (CTAP) 与 Web 身份验证 API (WebAuthn) 相结合,是 FIDO 联盟与 W3C 的联合项目。这些标准化工作旨在提高采用率和正确实施。Google、Apple Microsoft 等公司在操作系统和浏览器级别添加了对 Passkey 的原生支持,这对鼓励采用 Passkey 大有裨益。
由于业界长期依赖密码,采用密钥不仅是一项技术挑战,而且也是一项心理挑战。最终用户最初可能会对密钥感到不安,因为他们已经习惯了基于密码的系统。尽管密钥比密码更安全、更易于使用,但在大多数情况下,熟悉的选项会占上风。要大规模采用密钥,需要对用户进行教育,最初会存在有关恢复和易用性的问题。
另一方面,如果用户采用率不够高,公司可能不愿意提供密钥身份验证。在公共部门,政府可以通过政策变化来鼓励采用。
密钥有可能改变身份验证领域。它们安全且易于使用。它们消除了基于密码的身份验证中存在的常见威胁,但是,它们也带来了挑战和局限性。帐户恢复和凭证的可移植性是一些需要妥善解决的问题。我认为下一步是使用混合身份验证模式,即同时使用密钥和密码。随着现实世界中采用密钥的增加,我们将看到更多的争论,这将是决定下一步该怎么做的更好的时机,然后再转向完全无密码的未来。
**