FIDO联盟加速无口令化

摘要

FIDO标准及其配套的WebAuthn规范正处于一个新的重要发展阶段:对FIDO联盟和W3C WebAuthn提出的标准进行进一步完善,旨在显著提高基于FIDO的认证机制的可用性和可部署性。因此,基于FIDO的安全认证技术将首次能够取代口令,成为互联网上主要的认证方式。

在本文中,我们将解释 FIDO 和 WebAuthn 标准以前是怎样以低成本部署实现极高保证级别的身份认证机制的,并将介绍:
(1)将手机用作漫游验证器;
(2)多设备 FIDO 凭证。

在线身份认证简史

身份认证对于数字网络中发生的一切都至关重要,无论是通信、社交网络、金融交易、其他类型的业务,还是其他任何事情。对于大多数人来说,在互联网的大部分历史中,身份认证意味着一件事:输入用户名和口令。换句话说,在互联网历史的大部分时间里,我们大多数人都不得不忍受口令的安全性和可用性缺陷。但并非所有人都一直依赖口令。如果您早在 20 年前就在政府的某些部门工作,您可能会使用个人身份认证 (PIV) 或其他类型的智能卡进行身份认证。虽然智能卡比口令安全得多,但它们需要专门的读卡器硬件(以及智能卡本身),并且从未集成到 Web 平台中,因此它们的应用范围仍然有限。

后来,硬件令牌向用户显示周期性变化的一次性口令,从而将其转化为用户进行身份认证所需的第二个因素,不再需要专用的读卡器硬件(因此在网络上运行良好),但仍然需要物理令牌本身,这是消费者广泛采用的一个不可逾越的障碍。因此,尽管这些令牌(无论是使用基于时间的一次性口令(TOTP)之类的标准,还是基于专有方法)的影响范围更广,但我们大多数人在大多数情况下仍在键入口令进行身份认证。

随着智能手机的普及,对专用硬件令牌的需求逐渐消失。取而代之的是,智能手机可以显示通过短信发送的一次性口令,或者通过推送到手机上的确认提示实现双因素身份认证。这最终为消费者用例(如网上银行)打开了更安全的身份认证机制。但也需要权衡:虽然使用专用TOTP令牌或智能手机的双因素身份认证比口令本身更安全,但这种不同于智能卡的机制仍然容易受到钓鱼和其他攻击。

美国国家标准与技术研究所NIST在其数字身份指南中反映了这种情况,在NIST特别出版物800-63B中概述了三种不同的安全级别(“AAL”或“认证者保证级别”):AAL1最低级别大致对应于口令,AAL2对应于多因素身份认证(不防范钓鱼),AAL3对应基于硬件、防钓鱼的身份认证机制。基于这些安全级别,大多数消费者在进行在线身份认证时仍然使用AAL1,许多最终用户有时会被要求参与AAL2(例如,网上银行),但很少有最终用户遇到过AAL3身份认证机制。

FIDO: 从顶层开始

2010年前后的情况是:只能在小范围、高度安全的政府和企业环境中,使用抗钓鱼、硬件绑定的身份认证机制(现在被称为AAL3)。除了身份认证器(智能卡),这些部署还需要专用的读卡器硬件,必要的情况下,还要与Web平台进行一次性集成。其余场景是基于口令的身份认证,在绝大多数(消费者)场景中使用,在Web上工作,但安全性较低(对应于AAL1)。介于这两者之间,还有双因素身份认证机制,容易受到网络钓鱼和其他攻击。

到2015年,FIDO联盟已经开始发布一套防钓鱼认证机制的规范(之后衍生为W3C WebAuthn规范)。到20年末,大多数主要浏览器都实现了当时最终确定的 WebAuthn 规范,这是第一次为依赖方及其用户广泛提供标准化的 Web 集成、防网络钓鱼身份认证机制 ,而无需特殊的读卡器硬件、驱动程序安装等。此外,当在硬件中实现时,基于 FIDO 的身份认证可以达到与 AAL3 级智能卡等效的安全性。这会带来两个重要影响:

标准Web平台可以在现成的操作系统、智能手机和Web浏览器上满足高安全要求场景,比如需要基于硬件的身份认证程序和防钓鱼身份认证机制,从而大幅降低此类部署的成本。通常,在这些高安全性的用例中,认证器需要能抗加密密钥提取。FIDO提供了一个官方认证,会对合规的安全密钥进行公示,允许客户选择。

以前用双因素身份认证来勉强对付钓鱼攻击的场景,现在可以考虑更强的安全性。例如,谷歌能够围绕抗网络钓鱼的FIDO 认证器构建其高级保护计划,为面临目标攻击风险的用户提供超出谷歌常规两步验证产品的安全级别。请注意,对于这个特定的场景(必须要考虑网络钓鱼攻击),基于硬件的 FIDO 安全密钥之所以吸引人,与其说是因为它们拒绝提取其加密密钥材料,不如说是因为它们为用户提供了一种方便的形式,用户可以随身携带防钓鱼登录凭证(或将其存储在安全的地方)。

总而言之,FIDO 不仅彻底改变了在政府和企业环境中部署基于硬件的高安全性身份认证机制,而且还为消费者领域的双因素身份认证选项提供了更好的替代方案,当时的双因素认证选项由可钓鱼机制(SMS、TOTP、推送通知等)组成。基于 FIDO 的双因素替代方案至少具有抗网络钓鱼能力,并且通常具有抗网络钓鱼能力和基于硬件的能力(即抗密钥提取)。

但 FIDO 始终有更高的目标:其使命是“帮助减少世界对口令的过度依赖”。换句话说,目标是提高(尚未)使用双因素身份认证或智能卡的用户的安全性。根据当前的 FIDO/WebAuthn 规范以及在主要浏览器和操作系统中的相应实现,是很棘手的:虽然 FIDO 支持平台身份认证器的概念,即,除了漫游身份认证器(安全密钥)之外,用户已经拥有智能手机、笔记本电脑等的设备中内置的身份认证器,当用户更换笔记本电脑或丢失手机时,这些平台验证器管理的凭据将丢失。因此,当用户需要登录时,他们不能保证平台身份认证器始终在身边(例如,想象一个用户试图从全新手机首次登录他们的网上银行系统)。这让用户可以选择要么购买安全密钥,要么在从新设备登录时退回到不太安全的非FIDO身份认证。

然而,期望在线服务的每一位消费者都能够并且愿意购买并一个专用硬件设备来登录互联网是不现实的,即使它提供了更强的安全性。我们从经验中了解到这一点:早期的专用硬件TOTP(或类似)令牌从未在消费领域大规模普及。虽然谷歌的高级保护计划(确实需要安全密钥)等产品在愿意为更高安全性付出额外代价的用户中很受欢迎,而硬件钱包在一些加密货币的早期使用者中也很受欢迎,这些都是消费者世界规则的特例:身份认证必须在没有额外设备或不便使用的前提下“正常工作”。

WebAuthn Level 3 :底层提升

如今,基于 FIDO 的解决方案是传统 AAL3 式智能卡部署的绝佳替代方案,后者需要基于硬件的身份认证器和网络钓鱼防护。除了用作安全的第二因素之外,FIDO 还可以在单个身份认证器中提供抗网络钓鱼的多因素身份认证,从而为这些高安全性用例提供消除口令的途径。通过 减少对口令的依赖、防范企业内的网络钓鱼,FIDO可以消除两个最突出的攻击点。

基于FIDO的解决方案还可以通过提供防钓鱼功能来提高消费者双因素身份认证的安全性,不论是否基于物理安全密钥。然而,我们发现,由于物理安全密钥(购买、注册、携带、恢复)带来的不便,以及作为第二个因素的平台身份认证器(例如,必须重新注册每个新设备)的不适用性,在后一个类别中,尤其是在消费者领域,应用有限。这些缺点会使基于FIDO的解决方案(无论是基于物理安全密钥还是基于平台身份认证器)对于已经习惯于双因素身份认证的用户来说是一个棘手的问题,对于那些根本不(想要)使用双因素身份认证,并且被口令困住的用户来说,它们给采用会带来了更大的障碍。

FIDO 联盟和 W3C WebAuthn 工作组提议在 WebAuthn 规范的新版本(“Level 3”)中解决这些差距。

两项提议的进展尤其值得一提:

1. 将手机用作漫游验证器:智能手机通常是用户已有的东西。如今,几乎所有消费者空间的双因素认证机制都已经使用了用户的智能手机。但是问题在于,他们的方式很容易被钓鱼:用户可能无意中在钓鱼者的网站输入了OTP,或者可能会同意了智能手机上的登录提示,但没有意识到你的浏览器跳转到的是钓鱼网站,而不是预期的目的地。FIDO/WebAuthn规范中的新增条款定义了一种协议,该协议使用蓝牙在用户的手机(作为FIDO认证器)和用户试图认证的设备之间进行通信。蓝牙连接需要物理意义上的接近,这意味着我们现在有了一种防钓鱼的方式来在身份认证期间使用用户的手机。额外使用FIDO/WebAuthn之后,目前使用用户手机作为第二因素的双因素部署将能够升级到更高的安全级别(防钓鱼),而无需用户携带专门的身份认证硬件(安全密钥)。

2. 多设备 FIDO 凭证:我们希望 FIDO 认证器供应商(尤其是内置在操作系统中的身份认证器)将调整其认证器实现,以便 FIDO 凭证可以在设备丢失后恢复。换句话说,如果用户在手机上为不同的依赖方设置了多个 FIDO 凭证,然后获得了一部新手机,那么该用户应该能够期望其所有 FIDO 凭证将在其新手机上可用。这意味着用户不再需要口令:当他们从一个设备移动到另一个设备时,他们的 FIDO 凭证已经存在,可以用于防网络钓鱼身份认证。请注意,此更改不是对标准的更改——是我们希望认证器供应商在认证器实现中做出的更改。WebAuthn和FIDO规范有一些拟议的更改,这将使FIDO凭证(包括多设备FIDO凭证)的用户体验更好,尤其是对于那些需要同时为基于口令和基于FIDO的用户提供服务的依赖方。FIDO凭证的用户体验与使用口令管理器帮助用户登录的体验非常相似,但安全性甚至比传统的双因素身份认证都要好——在身份认证过程中无需任何附加步骤或设备:通常情况下用户在新设备上登录依赖方所需做的全部工作就是通过内置的生物识别认证(我们将在下面进一步探讨)。

对于这些多设备FIDO凭证,操作系统平台来确保在用户可以在需要的地方得到凭证。(请注意,一些公司在其产品实现中称FIDO凭证为“密钥”,尤其是当这些FIDO凭证可能是多设备凭证时。)就像口令管理器处理口令一样,底层操作系统平台将在设备之间“同步”属于FIDO凭证的加密密钥。这意味着用户同步凭证的安全性和可用性取决于其在线账户的底层操作系统(谷歌、苹果、微软等)身份认证机制的安全性,以及在所有(旧)设备丢失时恢复访问的安全方法。虽然这可能并不总是满足要求类似AAL3的安全要求,但与口令相比,它在安全性方面有了巨大的改进:每个被引用的平台都应用了复杂的风险分析,并在认证过程中使用了隐式或显式的第二因素,从而为其许多用户提供了类似AAL2级别的保护。从让每一项服务都使用自己的基于口令的身份认证系统来保护自己,到依靠平台身份认证机制的更高安全性的转变,是大规模减少互联网对口令的过度依赖的方式。

在设备之间同步 FIDO 凭证的加密密钥可能并不总是可行的,例如,如果用户正在使用来自不同供应商的新设备,该设备无法与用户的其他现有设备同步。在这种情况下,前文所述的标准化蓝牙协议的存在提供了一种方便且安全的替代方案:如果 FIDO 凭证在用户尝试进行身份认证的设备上不可用,则用户可以准备一台具有凭证的设备(如电话)。然后,用户将能够使用现有的设备来进行新设备的身份认证。

我们相信, FIDO 凭证的同步以及蓝牙替代方案,不仅使 FIDO 身份认证成为现有双因素部署的合适替代方案,而且首次成为消费者不使用口令、双因素身份认证方法部署困难的情况下的可行解决方案。这种方法反映了 FIDO 生态系统中的一个进化步骤,以可与基于口令的身份认证部署相媲美的规模提供防钓鱼的身份认证方式。

如前所述,同步FIDO凭证的安全性取决于底层操作系统平台的账号安全性。依赖方可能希望也可能不希望依赖这种依赖关系。然而,至少同步FIDO凭证的验证向依赖方发出了一个强烈的信号,即用户就是他们所说的用户。事实上,对于许多依赖方来说,我们希望这就是他们登录用户所需的全部内容。但出于额外的安全或监管因素,依赖方可以选择不信任新设备上的同步FIDO凭证,并在用户从新设备登录时执行进一步的用户验证步骤。我们通过提议的新扩展来适应这一点,这将允许依赖方识别用户何时从新设备提供现有 FIDO 凭证,并在该新设备上创建附加的绑定到设备的设备绑定密钥。此设备绑定密钥之后即可用于(重新)验证此设备上的用户,无需额外的验证步骤,也无需依赖底层操作系统平台的账户安全机制。

下图总结了多设备FIDO凭证(带有设备绑定密钥)的概念,以及它们与传统FIDO凭证的区别。

图 1:多设备与单设备凭证

多设备vs. 单设备凭证:认证器实现可以选择在同一用户的多个设备上同步FIDO凭据的加密密钥(密钥A)。支持同步的认证器还可以支持一个扩展,该扩展创建一个额外的设备绑定密钥,该密钥保证不会跨设备同步(密钥B和密钥C),并可用于检测凭证是否来自新设备或已接受的设备(如上所示)。其他实现可能不支持同步,或者密钥同步可能由于某些其他原因被关闭,例如,被用户关闭(如下所示)。例如,当在用户身份认证期间(如左下方所示)将安全密钥与移动电话一起使用时,这样的单设备凭据仍然可以跨设备使用。

请注意,WebAuthn/FIDO 规范从未阻止同步凭证 - 这也不是拟议的规范更改的目的。相反,对 WebAuthn/FIDO 规范的拟议修改旨在在为FIDO 凭据可能在不同设备之间同步的领域提供更好的用户体验。

总结

与传统的智能卡部署相比,当前的 FIDO 和 WebAuthn 规范以更低的部署成本和更好的可用性提供了非常高水平的身份认证保证(在使用基于硬件的 FIDO 身份认证器时与 AAL3 相当)。

然而,在考虑FIDO时,处于较低安全级别的场景(包括仅口令和可钓鱼的双因素部署)目前面临着传统安全性与可用性之间的权衡:FIDO可以提供更好的安全性,但是,更高的安全性是以用户必须采用特殊用途的身份认证设备(安全密钥)为代价的。因此,许多依赖方将其用户保持在仅口令模式,或者最多提供可钓鱼的第二因素。

拟议的WebAuthn修改通过以下方式改善了这种情况:

1. 将用户现有的智能手机变成漫游认证器;

2. 为在用户设备之间同步FIDO凭证的认证器实现(尤其是平台认证器)提供更好的支持。

这使得 FIDO 成为第一个可以匹配无处不在的口令的身份认证技术,且不存在固有的风险和可钓鱼性。

提议的 WebAuthn 修改还包括一个新的扩展,允许依赖方在漫游或平台认证器(永远不会跨设备同步)上请求设备绑定密钥,进一步改善了对需要设备绑定密钥场景的支持。

总而言之,依赖方将有一个选择:依赖同步的FIDO凭证(实际上,依赖于平台提供商的身份认证安全和账户恢复程序),或使用FIDO与设备绑定的凭证,如拟提议的新设备绑定密钥FIDO扩展(并实现他们自己的账户恢复机制)。因此,FIDO验证器实现允许凭证同步的预期演变,以及拟议的FIDO和WebAuthn规范修改,将首次为各种用例提供有吸引力的替代方案,从消费者部署双因素身份认证甚至仅口令系统(FIDO 在不牺牲可用性或可部署性的情况下大幅提高安全性)到高安全性政府或企业系统(FIDO 通过更简单的部署满足严格的类似 AAL3 的安全要求)。下图对此进行了总结。

图 2:FIDO 身份认证器实现的预期演变


本文转自: 国民认证科技,转载此文目的在于传递更多信息,版权归原作者所有。如不支持转载,请联系小编demi@eetrend.com删除。