双因子与多因子身份验证有什么区别?

双因子身份验证(Two-Factor Authentication, 2FA)是多因子身份验证(Multi-Factor Authentication, MFA)的一种。这两种身份验证解决方案都需要额外的身份验证因素来保障帐户的安全性。

在区别 2FA 和 MFA 有什么不同之前,我们先来了解身份验证的概念和身份验证因素。

什么是身份验证?

身份验证是身份访问管理(Identity and Access Management, IAM)的一个基本概念,让系统能够验证用户的身份。身份验证因素是在授予访问权限之前证明用户本人身份的安全机制。

目前存在三种类型的身份验证因素:

  • 知识因素(knowledge factor):一次性密码(one-time password, OTP),个人识别码(PIN)/密码、密保问题的答案
  • 持有的对象(possession factor):移动设备或其他物理设备、硬件令牌(Ukey)、安全令牌/安全密钥
  • 生物特征(inherence factor):生物特征,如指纹、面部识别、视网膜扫描、语音识别等

分别来看 2FA 和 MFA

以下列出了双因子和多因子身份验证的定义,以及这两种安全机制之间的区别。

什么是双因子身份验证?

双因子身份验证(2FA)是多因子身份验证的一种,是一种在授予在线帐户访问权限之前通过两个因素验证最终用户的身份的安全机制。

以下是有关 2FA 的例子:

  • 用户尝试使用其用户名和密码登录在线服务
  • 系统确认登陆凭证正确,提示第二个身份验证因素
  • 用户在其手机上打开身份验证器应用程序,该应用会生成一个安全代码
  • 用户在登陆页面上输入代码并被授予访问权限

什么是多因子身份验证?

多因素身份验证 (MFA)要求用户在授权系统访问之前提供两个或更多不同的身份验证因素。它使用身份验证因素的组合。

以下是 MFA 的示例:

  • 用户尝试使用其用户名和密码登录在线服务。
  • 系统确认登录凭证正确,提示第二个身份验证因素。
  • 用户在物理设备上收到推送通知以确认他们正在尝试登录。
  • 用户被重定向到服务的登录页面,并提示使用面部识别(生物特征)。
  • 系统验证面部识别尝试并授予用户访问权限。

2FA 和 MFA 之间差异

  • 2FA 是 MFA 的一个子集(如下图所示)
  • 2FA 的所有实例包含在 MFA 实例中
  • 但并非所有 MFA 实例都是 2FA
  • MFA 需要比 2FA 更多的因素来授予用户访问权限

为什么 2FA 和 MFA 很重要?

大多数金融、医疗保健、教育和政府机构都提供线上服务,以方便用户使用。这些服务提供商会存储用户的个人身份信息 (Personal Identifiable Information, PII)、受保护的医疗保健信息 (Protected Health Information, PHI)和其他敏感信息。在过去账户保护依赖于单一因素的身份验证(Single-factor Authentication, SFA),通常是使用密码来验证身份,但在如今充满威胁的网络环境下,依赖密码进行验证是远远不够的。

现代网络环境中的犯罪分子能够轻易地在未经授权的情况下访问敏感信息,尤其是通过 SFA 登录。黑客能够使用许多技术来窃取密码并利用用户的个人信息实施恶意攻击或其他犯罪行为。

常见的密码窃取方法

以下是三种常见的窃取密码的方式:

蛮力攻击

在这种类型的网络攻击中,黑客策略性地猜测用户的密码,直到他们破解正确的密码组合。当用户的密码强度较弱时,例如生日,这种攻击方式的成功率特别高。

数据泄露

用户或服务提供商无意在网上暴露了的敏感数据,例如 LinkedIn 上的生日,这些数据被黑客发现并利用,从而获得未经授权的访问。历史数据泄露导致的凭据泄露为黑客提供了更容易进行攻击的媒介。尽管存在重大安全隐患,但许多用户仍然在不同帐户中重复使用相同的密码。攻击者可以在同一用户的多个帐户中使用这些泄露的密码反复尝试,直到他们破解正确的密码组合。

键盘记录器

黑客在用户毫不知情的情况下,在其系统上安装键盘记录器(Keyloggers)或类似恶意软件。键盘记录器能够记录键盘输入内容并读取被该设备上的剪贴板数据,同时允许黑客窃取密码和其他未经授权访问的信息。

MFA 比 2FA 更安全吗?

2FA 和 MFA 都是比单因素身份验证 (Single-factor Authentication, SFA) 更安全的身份验证形式,因为这两种身份验证方式不仅仅依赖于密码。而 MFA 则通常被认为比 2FA 更加安全,因为该验证形式通过更多重的因素来验证身份从而有效保障帐户安全。但是,MFA 解决方案的强度取决于其附加身份验证方法的安全性。

比如,电子邮件和短信验证码的安全性不如其他类型的身份验证,因为大量的网络钓鱼诈骗以及犯罪分子破解 SIM 卡的能力会带来额外的网络安全风险。当 MFA 依赖于用户独有且难以复制的生物特征认证因素时,MFA 最为有效。

专注软件供应链安全

1 声望
1 粉丝
0 条评论
推荐阅读
DevOps 在未来将如何演进?丨行业观察
自2007年 DevOps 这一概念推出以来,越来越多企业开始将开发和运维团队结合在一起,以加快部署速度,提高软件开发生命周期的效率和协作。但是,诸多因素都会对 DevOps 是否成功产生影响,例如组织规模、文化和实...

SEAL

封面图
安全地在前后端之间传输数据 - 「3」真的安全吗?
在「2」注册和登录示例中,我们通过非对称加密算法实现了浏览器和 Web 服务器之间的安全传输。看起来一切都很美好,但是危险就在哪里,有些人发现了,有些人嗅到了,更多人却浑然不知。就像是给门上了把好锁,还...

边城29阅读 6.4k评论 5

封面图
http 和 https 的通信过程及区别
🎈 两者的区别端口: http 端口号是80, https 端口号是443传输协议: http 是超文本传输协议,属于明文传输; https 是安全的超文本传输协议,是经过 SSL 加密后的传输协议安全性: https 使用了 TLS/SSL 加密,...

tiny极客2阅读 2.8k评论 2

封面图
支付对接常用的加密方式介绍以及java代码实现
加密解密密钥是相同的。这些算法也叫秘密密钥算法或单密钥算法,它要求发送者和接收者在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行加密解密。只要通信需要...

京东云开发者3阅读 465

封面图
JWT 登录认证
🎈 Token 认证流程作为目前最流行的跨域认证解决方案,JWT(JSON Web Token) 深受开发者的喜爱,主要流程如下:客户端发送账号和密码请求登录服务端收到请求,验证账号密码是否通过验证成功后,服务端会生成唯一...

tiny极客2阅读 964评论 1

封面图
ctf(pwn&reverse)总结
F5/tab 查看伪代码空格 查看汇编代码视图->打开子视图->字符串 :查看所有字符串编辑->修补程序 :修改程序 修改完后点击修补程序应用到输入文件即可保存修改

白风之下阅读 2.9k

什么是跨域?如何解决跨域?
跨域: 它是由浏览器的 同源策略 造成的,是浏览器对 JavaScript 实施的安全限制,所谓同源(即指在同一个域)就是两个页面具有相同的协议 protocol,主机 host 和端口号 port 则就会造成 跨域

tiny极客1阅读 811评论 1

封面图

专注软件供应链安全

1 声望
1 粉丝
宣传栏