什么是多因素身份验证(MFA)?

多因素身份验证会检查一个人的身份的多个方面(而不只是检查一个),然后再允许其访问应用程序或数据库。它比单因素身份验证安全得多。

Share facebook icon linkedin icon twitter icon email icon

双因素身份验证

学习目标

阅读本文后,您将能够:

  • 定义多因素身份验证(MFA)
  • 了解为什么 MFA 比仅使用密码更安全
  • 探索不同的身份验证因素

什么是 MFA(多因素身份验证)?

多因素身份验证(MFA)是一种验证用户身份的方式,比传统的用户名与密码组合更加安全。MFA 通常包含一个密码,但同时也包含一个或两个其他身份验证因素。双因素身份验证(2FA)是 MFA 的一种。

MFA 是身份和访问管理(IAM)的重要组成部分,通常在单点登录(SSO)解决方案中实施。

什么是身份验证因素?

在向用户授予访问软件应用程序或网络的权限之前,身份验证系统会评估用户专有的特征,以确保他们是所声称的身份。这些特征也称为“身份验证因素”。

用途最广的三大身份验证因素是:

  1. 知识:用户知道什么
  2. 拥有之物:用户拥有什么
  3. 固有特质:用户是什么

MFA 是指任何使用两个或多个身份验证因素的方法。如果仅使用两个验证因素,MFA 也可称为双因身份验证(2FA)或两步验证。三因素身份验证是 MFA 的另一种形式。

这三种身份验证因素的有哪些现实示例?

  • 知识(用户知道什么):此因素是应该只有一个用户掌握的信息,如用户名和密码组合。其他类型的知识因素包括安全提示问题、身份证号码和社会安全号码等。甚至“秘密握手”也可以是用户的知识。
  • 拥有之物(用户拥有什么):此因素是指拥有物理令牌、设备或密钥。此身份验证因素的最基本示例是使用实体房屋钥匙进入一个人的家。在计算环境中,物理对象可以是钥匙扣、USB 设备甚至智能手机。
    许多现代 MFA 系统都会向用户的手机发送临时代码短信,要求他们输入代码以访问其帐户。这可表明用户拥有其他人没有的手机,从容帮助确立自己的身份(除非攻击者劫持了用户的 SIM 卡)。
  • 固有特质(用户是什么):这是指人体的物理属性。这种身份验证因素的最基本形式是通过视觉或听觉来辨人的能力。人类在日常互动中会不断使用这种能力。对照身份证上的照片检查一个人的外表是另一个验证固有特质的例子。
    在计算环境中,此身份验证因素的一个示例是面部 ID,这是许多现代智能手机提供的功能。其他方法可能包括指纹扫描、视网膜扫描和验血。

为什么 MFA 比单因素身份验证更安全?

单因素身份验证仅使用上述因素之一来识别一个人的身份。单因素身份验证的最常见示例是仅要求提供用户名和密码。

单因素身份验证的问题在于,攻击者只需要以一种方式成功攻击用户即可假冒用户。如果有人窃取了用户的密码,则用户的帐户已经受损。相比之下,如果用户实施了 MFA,则攻击者访问其帐户所需要的不仅仅是密码。例如,他们可能还需要从用户那里窃取实体物品,而这要困难得多。

此问题也适用于其他形式的单因素身份验证。想象一下,如果在取钱时银行仅要求提供借记卡(拥有之物因素),而不需要提供借记卡和 PIN。盗贼只需要窃得一个人的借记卡,就能从其帐户中盗取资金。

务必记住,只有使用不同的因素才能确保 MFA 的安全,不要多次使用同一因素。

假设一个应用程序仅提示用户输入密码,而另一个应用程序则提示用户输入密码和安全提示问题答案。哪个应用程序更加安全?

从技术上讲,答案是两者都不:两个应用程序都仅依赖一个身份验证因素,即知识因素。与仅需要密码和一些安全提示问题的应用程序相比,需要密码和物理令牌或指纹扫描的应用程序更加安全。

还有哪些其他身份验证因素?

除上面列出的三个主要因素外,一些安全行业成员还提议或实施了其他身份验证因素。这些很少实施的身份验证因素包括:

位置:用户登录时所在的位置。例如,如果一家公司位于美国,并且所有员工都在美国工作,那么它可以评估员工的 GPS 位置并拒绝来自另一个国家/地区的登录。

时间:用户登录时,通常与其他登录和位置有关。如果用户似乎从一个国家/地区登录,几分钟后又试图从另一个国家/地区进行后续登录,则这些请求不太可能是合法的。系统可能也会拒绝正常工作时间之外的登录,尽管这更像是安全策略,而不是身份验证因素。

如果这些都视为额外的身份因素(这有待商榷),那么四因素身份验证和五因素身份验证在技术上是可行的,两者都属于多因素身份验证的范畴。(必须权衡采取如此强有力的安全措施给用户造成的代价,因为过分严格的安全措施会促使用户规避官方政策。)

用户如何为其帐户实施 MFA?

如今,许多消费者 Web 服务都提供 MFA。大多数具有 MFA 的应用程序都提供某种形式的 2FA,要求用户在登录时使用智能手机。浏览各个应用程序中的安全设置,即可查看是否可以激活 2FA。此外,Cloudflare 允许所有 Cloudflare 用户为其帐户实施 2FA

企业如何实施 MFA?

建议使用 SSO 解决方案来实施 MFA。SSO 提供单一的场所,以便在所有应用程序中实施 MFA,但并非所有应用程序都一一支持 MFA。

Cloudflare Access 与支持 2FA 的 SSO 供应商相集成。Cloudflare Access 是一种访问控制产品,它通过控制用户能够执行的操作来保护公司的网站和云应用程序。