亚马逊AWS官方博客

AWS 为根用户和 IAM 用户增加了密钥多重身份验证(MFA)

安全是 Amazon Web Services(AWS)的首要任务,今天,我们将推出两项功能来帮助您加强 AWS 账户的安全性:

MFA 是增强账户安全性的最简单且最有效的方法之一,它提供了额外的保护层,有助于防止未经授权的个人访问系统或数据。

为根用户和 IAM 用户提供密钥的 MFA
密钥是一个通用术语,用于为 FIDO2 身份验证创建的凭证。

密钥是注册服务或网站时在客户端设备上生成的一对加密密钥。密钥对绑定到 Web 服务域,且对于每个域都是唯一的。

密钥的公开部分被发送到该服务并存储在服务端。密钥的私有部分要么存储在安全设备(例如安全密钥)中,要么在使用云服务(例如 iCloud KeychainGoogle 帐户或诸如 1Password 的密码管理器)时,在与用户帐户连接的设备上安全共享。

通常,对密钥私有部分的访问受 PIN 码或生物识别身份验证(例如 Apple 面容 ID触控 IDMicrosoft Hello)的保护,具体取决于您的设备。

当我尝试在受密钥保护的服务上进行身份验证时,该服务会向我的浏览器发送一条质询。然后,浏览器会请求我的设备使用我的私有密钥对质询进行签名。这会触发 PIN 或生物识别身份验证以访问存储私有密钥的安全存储。浏览器将签名返回给该服务。当签名有效时,它会确认我拥有与服务上存储的公共密钥相匹配的私有密钥,并且身份验证成功。

当 AWS 于 2020 年 11 月在 AWS IAM Identity Center 中推出密钥支持时,我写了这篇博客文章,你可以阅读该文章以详细了解这个流程和正在使用的各种标准(FIDO2CTAPWebAuthn)。

密钥可以用于替换密码。但是,对于此初始版本,除了您的密码外,我们还选择使用密钥作为第二要素身份验证。密码是您知道的东西,而密钥是您所拥有的东西。

与密码相比,密钥更能抵御网络钓鱼攻击。首先,要获得受指纹、面容或 PIN 码保护的私有密钥会非常困难。其次,密钥绑定到特定的 Web 域,从而缩小了意外泄露的范围。

作为最终用户,您将受益于其使用便捷和易于恢复的特点。您可以使用手机和笔记本电脑中的内置身份验证器,为 AWS 登录体验解锁加密保护的凭证。当使用云服务来存储密钥时(例如 iCloud 密钥链、谷歌帐户或 1Password),可以从与密钥提供商账户连接的任何设备上访问该密钥。这可以帮助您在不幸丢失设备的情况下找回密钥。

如何为 IAM 用户启用密钥 MFA
要启用密钥 MFA,导航到控制台的 AWS Identity and Access Management(IAM)部分。选择一个用户,然后向下滚动页面到多重身份验证(MFA)部分。然后,选择分配 MFA 设备

请注意,为了帮助您提高还原能力和账户恢复能力,您可以为用户启用多台 MFA 设备

在 AM 控制台中启用 MFA

在下一页上,输入 MFA 设备名称,然后选择密钥或安全密钥。然后,选择下一步。

启用 MFA:选择密钥

使用支持密钥的密码管理器应用程序时,它会弹出一个窗口并询问您是否要使用该应用程序生成和存储密钥。否则,您的浏览器将为您提供几个选项。屏幕的确切布局取决于操作系统(macOS 或 Windows)以及您使用的浏览器。这是我在 macOS 上使用基于 Chromium 的浏览器时看到的屏幕。

启用密钥:选择方法

其余的体验取决于您的选择。iCloud 密钥链会提示您输入触控 ID 以生成和存储密钥。

在本演示中,我希望向您展示如何在另一台设备(例如手机)上启动密钥。因此,我另行选择使用手机、平板电脑或安全密钥。浏览器显示一个二维码。然后,我用手机扫描二维码。手机通过面容 ID 对我进行身份验证,并生成和存储密钥。

密钥:扫描二维码

这种基于二维码的流程允许使用某一台设备的密钥来登录另一台设备(在我的演示中是手机和我的笔记本电脑)。它由 FIDO 规范定义,称为跨设备身份验证(CDA)

如果一切进展顺利,密钥现在已注册到 IAM 用户。

启用密钥:成功

请注意,我们不建议使用 IAM 用户向 AWS 管理控制台验证人类身份。我们建议改为使用 AWS IAM Identity Center 配置单点登录(SSO)。

登录体验如何?
启用并使用密钥配置 MFA 后,我将尝试登录我的账户。

用户体验会因您使用的操作系统、浏览器和设备而异。

例如,在启用了 iCloud 密钥链的 macOS 上,系统会提示我触摸触控 ID 键。在这个演示中,我使用 CDA 在手机上注册了密钥。因此,系统要求我用手机扫描二维码。扫描完成后,手机通过面容 ID 对我进行身份验证以解锁密钥,然后 AWS 管理控制台将终止登录过程。

使用 MFA 和密钥进行身份验证

对根用户强制执行 MFA
今天要宣布的第二件事是我们已经开始对某些 AWS 账户的根用户强制使用 MFA。去年,Amazon 首席安全官 Stephen Schmidt 在一篇博客文章中宣布了这一变化。

引用 Stephen 的话:

验证 AWS 中特权等级最高的用户是否受到 MFA 的保护,只是我们持续增强 AWS 客户安全性的承诺中的最新举措。

我们从您最敏感的账户开始:您的 AWS Organizations 管理账户。该策略的部署是渐进式的,一次只部署几千个账户。在接下来的几个月中,我们将对大多数 AWS 账户的根用户逐步部署 MFA 执行策略。

如果您的根用户账户未启用 MFA 且您的账户已更新,那么登录时会弹出一条新消息,要求您启用 MFA。将有一个宽限期,在此之后,MFA 将成为强制性条件。

在根账户上启用 MFA

现在,您可以开始在除中国以外的所有 AWS 区域中使用密钥进行多重身份验证。

我们正在所有 AWS 区域强制使用多重身份验证,中国的两个区域(北京、宁夏)和 AWS GovCloud(美国)除外,因为这些区域的 AWS 账户没有根用户。

现在可以为账户中的根用户激活密钥 MFA

— seb