paint-brush
告别密码,迎接密钥:身份验证的未来经过@radioactive
3,081 讀數
3,081 讀數

告别密码,迎接密钥:身份验证的未来

经过 Varun Sharma6m2024/12/17
Read on Terminal Reader
Read this story w/o Javascript

太長; 讀書

密钥是一种使用公钥加密的无密码身份验证方法。它们可以增强安全性、降低网络钓鱼等风险并简化登录过程。

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - 告别密码,迎接密钥:身份验证的未来
Varun Sharma HackerNoon profile picture
0-item

密钥简介

多年来,基于密码的身份验证一直是默认模式。但是谁愿意记住他们注册的每个网站的密码呢?大多数人在许多地方都使用同一个密码,这个密码很容易记住。密码管理器使自动填充凭据变得更容易,但它们无法从设计上克服基于密码的身份验证系统中存在的安全问题。Passkeys 应运而生。它们更安全、更易于使用,为无密码身份验证提供了身份验证领域的新视野,前景似乎一片光明。


与所有事物一样,密钥也有其优点和挑战,我们将在本文中讨论这些优点和挑战,并介绍这种身份验证模式的工作原理、安全性等等。

密钥如何工作?

密钥利用公钥加密技术生成身份验证流程,而不是依赖单个基于字符串的密码。用户的设备生成公钥/私钥对,并将公钥发送到服务器,服务器存储该密钥,然后使用该密钥对用户进行身份验证,私钥存储在用户的设备上。


注册流程

  • 用户的设备生成与网络服务绑定的公钥/私钥对。
  • 公钥被发送到Web服务,私钥被存储在用户的设备上。
  • Web 服务将用户的公钥存储在其数据库中。


身份验证流程

  • Web 服务向客户端发送一个挑战随机数。
  • 用户使用任何方法(例如生物识别、PIN 码等)在本地进行身份验证以访问私钥。
  • 用户设备使用该特定 Web 服务的私钥对质询进行签名。
  • Web 服务接收签名的质询并使用公钥进行验证。这确保客户端设备确实可以访问私钥。
  • 验证成功后,Web 服务对用户进行身份验证。


注意事项

  • 每个服务/网站的公钥/私钥对都是唯一的。
  • 公钥在注册期间仅通过网络传输到网络服务一次。
  • 私钥始终保留在用户的设备上,绝不会通过网络传输。(使用密码管理器同步密钥时除外)
  • 用户设备生成的签名有效负载通过网络传输,特定于会话,并且在每次用户身份验证时都会发生变化。

它们有多安全以及如何提供比密码更好的替代方案?

安全性的提高通常意味着易用性的降低,但对于密钥来说并非如此。注册阶段完成后,密钥的使用会更加方便。无需记住密码,身份验证也快速、简单且安全。


密钥可以减少攻击面并消除一些常见的密码威胁。密码通常以加密形式存储在数据库中。当您使用纯文本密码登录 Web 服务时,它们会生成相同的加密文本并将其与已有的文本进行比较,这就是用户进行身份验证的方式。现在这给我们留下了两个最常见的威胁。


  • 数据库泄露
  • 网络钓鱼攻击


数据库泄露很常见,当服务数据被盗时,通常会在暗网上出售。有权访问数据的恶意行为者可以尝试离线破解加密,并且以当今可用的计算能力,可能需要数周到数月的时间,具体取决于加密。密钥消除了这种威胁,因为无需存储密码。如果发生泄漏,只会暴露公钥,这对恶意行为者来说没什么用。


在网络钓鱼攻击中,会创建目标网站的克隆,并诱骗用户输入其凭据,误以为这是真正的网站。但是,这种方法在密钥下也行不通,因为没有凭据可窃取。复杂的网络钓鱼攻击与中间人攻击相结合可能仍然可行,但攻击面大大减少。

密钥类型

  • 单个设备或设备绑定
    • 私钥永远不会离开设备。
    • 身份验证只能在存在私钥的特定设备上进行。
    • 由于密钥仅存在于单个设备上,因此在无法访问该设备时需要触发恢复路径。
  • 多设备或同步
    • 私钥在用户设备之间同步。
    • 常见的选项包括使用 Google 密码管理器、iCloud 钥匙串等。
    • 密钥是端到端加密的,这意味着提供商即使存储了您的密钥也无法查看或使用您的密钥。
    • 这增强了可用性,因为用户只需要注册一个设备并且可以在其设备之间重复使用相同的密钥。

密钥的可移植性

正如我们在上一节中了解到的,密钥可以跨设备同步,因此我们知道它们是可移植的。只要您使用提供商(Google、iCloud)登录,就可以在所有设备上使用密钥。这让我们想到一个问题:如何在不属于您的设备上使用密钥,可能是朋友的计算机或图书馆,基本上是任何您只想使用一次的设备。密钥也涵盖这种情况,它的工作原理是,如果两个系统都支持密钥,它们就可以通过蓝牙相互通信以共享访问权限。让我们逐步了解它的工作原理。


  • 您在没有密钥的桌面上打开网站 xyz.com。
  • 您可以使用此选项在其他设备上使用密钥登录。
  • 桌面将向您显示附近可用设备的选项或二维码。
  • 您可以选择设备或扫描二维码。
  • 此后,您可以使用移动设备进行身份验证,并允许桌面使用移动设备上的密钥。
  • 验证通过后,您还可以选择在桌面上创建密钥,而无需经过注册过程。如果选择此选项,您下次将不再需要移动设备,并且将为桌面创建一组新密钥。
  • 如果您选择仅使用一次,则不会创建新的密钥。


关于采用的要点

Passkey 基于 FIDO2 标准,该标准将客户端到身份验证器协议 (CTAP) 与 Web 身份验证 API (WebAuthn) 相结合,是 FIDO 联盟与 W3C 的联合项目。这些标准化工作旨在提高采用率和正确实施。Google、Apple Microsoft 等公司在操作系统和浏览器级别添加了对 Passkey 的原生支持,这对鼓励采用 Passkey 大有裨益。


由于业界长期依赖密码,采用密钥不仅是一项技术挑战,而且也是一项心理挑战。最终用户最初可能会对密钥感到不安,因为他们已经习惯了基于密码的系统。尽管密钥比密码更安全、更易于使用,但在大多数情况下,熟悉的选项会占上风。要大规模采用密钥,需要对用户进行教育,最初会存在有关恢复和易用性的问题。


另一方面,如果用户采用率不够高,公司可能不愿意提供密钥身份验证。在公共部门,政府可以通过政策变化来鼓励采用。

结论

密钥有可能改变身份验证领域。它们安全且易于使用。它们消除了基于密码的身份验证中存在的常见威胁,但是,它们也带来了挑战和局限性。帐户恢复和凭证的可移植性是一些需要妥善解决的问题。我认为下一步是使用混合身份验证模式,即同时使用密钥和密码。随着现实世界中采用密钥的增加,我们将看到更多的争论,这将是决定下一步该怎么做的更好的时机,然后再转向完全无密码的未来。






**