什么是双因素身份验证?| 2 步验证说明

在双因素身份验证 (2FA) 下,用户必须通过两种方式来证明自己的身份,才能获得访问授权。

学习目标

阅读本文后,您将能够:

  • 定义双因素身份验证
  • 概述身份验证因素示例
  • 探索双因素身份验证的缺点

相关内容


想要继续学习吗?

订阅 TheNET,这是 Cloudflare 每月对互联网上最流行见解的总结!

参阅 Cloudflare 的隐私政策,了解我们如何收集和处理您的个人数据。

复制文章链接

什么是双因素身份验证?

双因素身份验证(简写为 2FA)是一种需要两个身份验证因素来建立身份的身份验证过程。简言之,它意味着需要用户用两种方式证明自己的身份才能获得访问授权。2FA 是双因素身份验证的一种形式。

双因素身份验证

什么是身份验证?

身份验证是访问控制的一个重要部分。这是一种确认某人自称的身份跟其实际身份是否匹配的安全做法。游客向海关工作人员展示护照就是这个道理。

在网络安全的范畴中,最常见的身份验证案例便是登录网页上的某种服务,如登录网页浏览器中的 Gmail,或登录 Facebook 应用程序。用户在提供用户名和密码组合时,该服务可确认这些详细信息,并用它们验证用户身份。

什么是身份验证因素?

身份验证因素是不同类型的身份验证方式。双因素身份验证 (2FA) 常用的一些身份因素包括:

  • 了解的内容:这是仅限用户掌握的信息,如密码或某个安全问题的答案。
  • 拥有的内容:此因素取决于拥有某个实际物品的用户。譬如,可以生成密码的硬件钥匙或可以发送代码的移动设备。
  • 生物特征数据:这些数据是一些可以用于用户身份验证的专属生物特征,如指纹、视网膜扫描和面部 ID。
  • 地点:GPS 等基于地点的工具可以用于限制某个地理区域内用户的身份验证。

应该注意的是,需要使用两种相同身份验证因素并不符合双因素身份验证的条件。譬如需要一个密码和安全问题,这其实是单因素身份验证。两者都与“了解的内容”这个因素有关。

双因素身份验证如何工作?

双因素身份验证可以以多种方式运作。2FA 最常见的示例之一需要用户名/密码验证和短信文本验证。

在此示例中,当用户为服务创建帐户时,他们必须提供唯一的用户名、密码和他们的手机号码。当此用户登录该服务时,他们会提供自己的用户名和密码。这样就提供了首个身份验证因素(了解的内容;用户证明自己了解自己的专属登录凭证)。

接下来,此服务会发送给用户一则带有数字代码的自动文本信息。用户需要根据提示输入这个数字代码。如果代码输入正确,则此用户便提供了第二个身份验证因素(拥有的内容;此用户拥有自己的移动设备)。现在便符合双因素身份验证的条件,用户身份可以通过身份验证,因此获得访问其帐户的权限。

为什么要使用双因素身份验证?

基于密码的安全性能在攻击者面前太过不堪一击。网络钓鱼欺诈在途攻击暴力攻击和密码重用大行其道,攻击者收集盗窃的登录凭证因此愈发轻而易举。这些被窃取的凭证可以被出售,用于凭证填充攻击。出于此原因,双因素身份验证变得越来越常见。

随着远程员工变得越来越普遍,更强的身份验证也变得越来越重要。由于不能使用员工实际位于办公室这一点来验证他们的身份,因此 2FA 等措施有助于确保他们的帐户没有被盗用。

安全专家一般会建议用户在有条件时使用双因素身份验证,还要求那些处理敏感用户数据但目前未提供双因素身份验证的服务采用这种验证方式。虽然双因素身份验证对于攻击者而言并非无懈可击,但比起仅采用密码的身份验证,这种验证方式破坏起来耗费更多精力和成本。

基于短信息的双因素身份验证是否安全?

基于短信息的双因素身份验证(短息验证)比单因素身份验证(只用密码)安全地多。话虽如此,但短信息是双因素身份验证方式中最不安全的一种。短信息协议并非十分安全,而且短信息也会被攻击者截获。

使用移动设备实施双因素身份验证还有其他更加安全的方式:譬如,通过一款加密程度极高的安全应用程序发送验证代码。Google 等很多主要互联网服务使用基于时间的一次性密码 (TOTP)。有了基于时间的一次性密码,客户可以基于某一时刻创建一个临时的一次性代码(常常是在智能手机上运行一款应用程序)。这些代码的有效期很短,通常不到一分钟。攻击者很难在如此短的时间内截获并破译代码。

还有一种被称作“隔音”的新型双因素身份验证技术,这种技术需要使用移动设备和笔记本电脑内置麦克风收集的环境噪音。隔音的工作原理是对比环境噪音样本,以确保两台设备都在一个房间内。

双因素身份验证的缺点是什么?

双因素身份验证确实提高了 Internet 的安全系数,但它也有几个缺点需要考虑。譬如,双因素身份验证可能会让那些在技术层面不过关的用户打退堂鼓,对于这些用户而言,下载和操控智能手机验证应用程序并非易事。

要求某项服务使用双因素身份验证还会为提高入门的经济门槛。并非所有用户都拥有许多双因素身份验证方法所需要的现代智能手机。另外,在有些国家,移动数据十分昂贵,因此即使是智能手机用户也可能会因下载双因素身份验证应用程序而支付不菲的费用。

双因素身份验证还使得那些管理服务的人需要承担业务成本。比起仅采用密码的身份验证,双因素身份验证实施起来更难。一家公司若要提供双因素身份验证,它必须支付设置费用或第三方服务费用,这样才能持续提供验证。规模较小的公司可能会对安全性能更高的双因素身份验证望而却步,因为他们根本无法承担支持费用。