长期以来,密码一直是一种显而易见的身份验证方法。在本文中,让我们看看密码有什么问题,探索 FIDO 如何让我们摆脱记忆密码,发现 FIDO 的构建块并回答问题,FIDO 或 WebAuthn 是生物识别身份验证吗?
如今,您今天每次登录应用程序或网站时,都可能在输入密码。长期以来,用户被要求输入用户名和密码,每个人都熟悉它并立即知道该怎么做。然而,这种便利性和快速登录的能力伴随着巨大的安全成本。
password
qwerty
iloveyou
……仍然是 2021 年最常用的密码,可以在 1 秒内破解。来自 Verizon 数据泄露调查报告(2020 年):
超过 81% 的与黑客相关的违规行为是由于密码薄弱或被盗造成的
随着所有这些安全问题、越来越多的数据泄露以及对保护个人和公司帐户需求的意识的提高,*身份验证技术不断发展以解决这个问题。
一个好的身份验证模型需要:
让我们比较一下这些天现有的身份验证方法:
密码管理器可以生成比记忆密码更强的密码。带有 OTP 的密码提供了一层安全性。它们都比仅仅记住的密码更强大。但它们仍然是可输入的、可钓鱼的和共享的密码。用户仍然可能被诱骗手动将机密输入到看起来合法的网络钓鱼站点。
密码的替代品应该通过设计来保护,但我们不想牺牲用户体验。当今最强大的安全选项之一是安全密钥,这是我们通常用作第二因素身份验证方法 (2FA) 的硬件。如今,由于 FIDO 标准,它们可用作身份验证方法。安全密钥易于使用,安全级别和网络钓鱼能力都很棒!这样做的缺点是您总是必须随身携带至少一个硬件设备,并且仍然很难恢复帐户,我们需要另一种帐户恢复备份方法。
在本文后面,让我们看看为什么使用安全密钥,与密码相比,安全性和网络钓鱼抵抗力如此之好。
让我们了解密码的工作原理及其问题。当呈现登录表单时,用户在表单中填写他们的用户名和密码。然后将密码发送到服务,服务散列/加密原始密码并将其存储在他们的服务中。
可能阻止用户使用该服务的问题可能是:
FIDO 代表 Fast Identity Online,得到了平台提供商、设备制造商、安全、生物识别、身份和消费者服务提供商等全球领导者的支持。
FIDO 联盟已经为认证机制制定了多个规范。基本思想是使用公钥密码术。
这是一些可以玩的演示站点:
在创建帐户期间,会生成一对公钥和私钥,而不是密码,专用于该帐户。这对密钥是由称为 Authenticator 的硬件设备生成的。这可以是您的笔记本电脑、手机或安全密钥,我们稍后会介绍。因此,公钥可以与任何人共享,就像您的用户名一样,这不是秘密。服务器将存储您的公钥。私钥保留在您的设备(身份验证器)上,永远不会与任何人共享。设备有责任保护它。
稍后当您想登录时,您不会发送任何秘密。相反,您可以通过提供您的设备知道与您帐户的公钥关联的私钥来证明它是您的帐户。
首先,该服务向 Authenticator 发送一个挑战并要求“签名”它。Authenticator 使用私钥对其进行签名并将其发送回服务。服务器已经拥有公钥,并且可以轻松检查签名是否与该密钥匹配。然后假设签名匹配,用户登录时不分享任何秘密!!!
这种身份验证模型的美妙之处在于:
因此,FIDO 是简单、快速、方便且安全的身份验证的答案!
让我们探索 FIDO 规范的构建块。所以 FIDO 联盟制定了几个规范,其中一些是相互建立的,所以一开始看到所有术语时会感到很困惑。让我们一一来看看。
FIDO U2F 的新名称 CTAP1 允许使用现有的 FIDO U2F 设备(例如 FIDO 安全密钥)通过 USB、NFC 或 BLE 在支持 FIDO2 的浏览器和操作系统上进行身份验证,以获得第二因素体验。
CTAP2 允许使用外部身份验证器(FIDO 安全密钥、移动设备)通过 USB、NFC 或 BLE 在支持 FIDO2 的浏览器和操作系统上进行身份验证,以获得无密码、第二因素或多因素身份验证体验。
FIDO2 包括:
FIDO2 通过平台(或绑定或嵌入式)身份验证器(如生物识别或 PIN)或漫游(或外部)身份验证器(如 FIDO 安全密钥、移动设备、可穿戴设备等)支持无密码、第二因素和多因素用户体验.)。
W3C 的标准 JavaScript API 被内置到浏览器和平台中,用于创建和管理公钥凭证。
不,FIDO 和生物特征认证的层次不同。生物识别、PIN、图案、面部、语音识别……是特定的认证方式;而 FIDO 是一种实现无密码认证的机制。
借助 FIDO,实现简单、快速、方便和安全的身份验证的梦想从未如此接近,无需共享任何记忆的密码或秘密。FIDO 是一种兼具可用性和安全性的身份验证模型的答案。尽管有几个问题需要考虑,例如降低采用门槛或恢复方法,但我们希望未来 FIDO 越来越流行并成为标准。 在下一篇文章中,我们将深入探讨如何实现 WebAuthn,构建一个无密码身份验证演示站点,敬请期待!
翻译自:https://levelup.gitconnected.com/fido-webauthn-passwordless-lets-go-bananas-b58106a762f0