双重身份验证 (2FA) 是一种验证用户身份的方法,它要求用户提供两项证明,例如在线帐户的密码(第一个因素)和身份验证应用程序的一次性密码(第二个因素)。
多数人熟悉基于短信的 2FA 认证系统。在这类系统中,应用程序会在用户登录时向其手机发送一个数字码。用户必须输入密码和验证码才能继续。仅输入其中一项无法通过身份验证。
2FA 是多重身份验证 (MFA) 最常见形式,泛指用户需提供至少两种凭证验证身份的方式。
2FA 虽常关联计算机系统,但也可用于实体资产与场所的防护。例如,受限制的建筑物可能要求人们出示身份证和通过指纹识别才能进入。
根据 IBM 的数据泄露成本报告,凭据失窃和泄露是数据泄露的最常见原因。威胁参与者可以相对轻松地通过网络钓鱼、间谍软件或暴力攻击窃取密码。
双重身份验证要求提供第二个因素,有助于加强帐户安全。黑客不仅需要窃取两个凭据才能侵入系统,而且第二个因素通常很难被黑客窃取。常见的第二个因素包括指纹和生物识别、物理安全密钥和过期密码。
身份验证因素是用户提供的用于验证其身份的凭据。双重身份验证系统使用多种类型的身份验证因素,真正的 2FA 系统使用两种不同类型的两个因素。
使用两种不同类型的因素被认为比使用两种相同类型的因素更安全,因为黑客需要使用不同的方法来破解每个因素。
例如,黑客可以通过在用户电脑中植入间谍软件来窃取其密码。然而,这种间谍软件无法获取用户智能手机上的一次性密码。黑客需要找到另一种方法来拦截窃取这些消息。
身份验证因素包括:
知识因素是理论上只有用户才知道的信息。密码是最常见的知识因素。个人识别码 (PIN) 和安全问题的答案也很常见。
在大多数 2FA 实施方案中,知识因素是第一个身份验证因素。
尽管知识因素应用广泛,但其仍是最容易受到攻击的身份验证因素类型。黑客可通过钓鱼攻击、恶意软件 或 暴力破解(利用机器人批量生成并测试密码直至破解成功)获取密码。
其他类型的知识因素也不会对网络罪犯构成巨大挑战。许多安全问题(如经典的“您的母亲姓什么?”)的答案都可以通过基础研究或社会工程攻击(诱骗用户泄露个人信息)轻松破解。
需要密码和安全问题的常见做法并不是真正的 2FA,因为它使用了两个相同类型的因素,这里是两个知识因素。
两个知识因素是两步验证过程的一个例子。该过程分为两个步骤,即输入密码和回答问题,但只使用了一种因素。
两步验证比单纯使用密码更安全,因为它需要两个证据。不过,由于这两个因素属于同一类型,因此,与两个不同类型的因素相比,更容易被窃取。
持有因素是人们拥有的东西。两种最常见的持有因素类型是软件令牌和硬件令牌。
软件令牌通常采用一次性密码 (OTP) 的形式。OTP 通常是 4–8 位数字的一次性密码,将在设定的时间后过期。软件令牌可以通过短信、电子邮件或语音消息发送到用户的手机。设备上安装的身份验证程序也可以生成令牌。
使用软件令牌,用户的设备充当持有因素。2FA 系统假定只有合法用户才能访问由该设备交付或生成的任何信息。
虽然基于短信文本的 OTP 是对用户最友好的持有因素之一,但也是最不安全的。用户需要互联网或蜂窝网络连接来接收这些身份验证码,而黑客可以使用复杂的网络钓鱼或中间人攻击来窃取它们。
OTP 还容易受到 SIM 卡克隆的影响,在这种情况下,犯罪分子会复制受害者智能手机 SIM 卡的功能,并用它来拦截短信。
身份验证应用程序(如 Google Authenticator、Authy、Microsoft Authenticator、Duo)无需联网即可生成动态令牌。用户通常通过扫描二维码将应用程序与服务绑定。然后应用程序持续为该服务生成时效性一次性密码 (TOTP)。每个 TOTP 都会在 30–60 秒后过期,因此很难被盗。
一些身份验证应用程序使用推送通知而不是 TOTP。当用户登录帐户时,应用程序会向他们的 iOS 或 Android 操作系统发送推送通知,他们必须点击该通知以确认尝试是合法的。
身份验证器应用程序虽比短信验证更难破解,但并非无懈可击。黑客可利用恶意软件直接从身份验证器窃取 TOTP。他们还可以发起 MFA 疲劳攻击——通过轰炸式推送通知诱导受害者误触确认。
硬件令牌是专用设备,例如智能钥匙扣、身份证或加密狗,它们可以作为安全密钥。将一些硬件令牌插入计算机的 USB 端口,将身份验证信息传输到登录页面。其他令牌会生成验证码,供用户在出现提示时手动输入。
虽然硬件令牌很难被黑客破解,但它们也可能被盗,用户装有软件令牌的移动设备也可能被盗。根据 IBM 的《数据泄露成本报告》,多达 6% 的数据泄露事件与设备丢失和被盗相关。
行为因素是根据行为模式验证用户身份的数字工具。例如,用户的典型 IP 地址范围、通常所在位置和平均打字速度。
行为身份验证系统利用 AI 和机器学习 (ML) 来确定用户正常模式的基线,并标记异常活动,例如,使用新设备、新电话号码或从其他位置登录。
部分双因素身份验证系统允许用户将可信设备作为身份验证因素。虽然用户在首次登录时可能需要提供两个因素,但今后使用受信任设备自动成为第二个因素。
行为因素在自适应身份验证系统中也发挥着作用,该系统会根据风险程度改变身份验证要求。例如,用户在公司网络内通过受信任的 iPhone 登录应用程序时仅需密码。若该用户从新设备或未知网络登录则需添加第二因素。
虽然行为因素为用户身份验证提供了一种复杂的方法,但其部署需要大量的资源和专业知识。此外,如果黑客获得了受信任设备的访问权限,他们就很容易冒充用户。
无密码双重身份验证系统只接受持有因素、属性因素和行为因素,不接受知识因素。例如,要求用户提供指纹和物理令牌就构成了无密码 2FA。
无密码身份验证摒弃了易被攻破的知识因素。虽然目前大多数 2FA 方法都使用密码,但业内专家预计,未来将越来越多地不使用密码。
密钥(如基于流行的 FIDO 标准的密钥)是最常见的无密码身份验证方式之一。它们使用公钥加密技术来验证用户的身份。
根据数据泄露成本报告,凭据泄露和网络钓鱼是两种最常见的网络攻击媒介。它们合计占数据泄露事件的 31%。这两种媒介通常都是通过窃取密码来实现的,黑客可以利用这些密码劫持合法帐户和设备进行破坏。
黑客通常以密码为攻击目标,因为相对容易通过暴力或欺骗手段破解密码。此外,由于人们重复使用密码,黑客往往可以利用一个被盗密码入侵多个帐户。密码被盗会给用户和组织带来重大影响,可能导致身份盗用、财产损失、系统破坏等。
双重身份验证通过为身份和访问管理 (IAM) 系统增加额外的安全层来帮助阻止未经授权的访问。即使黑客可以窃取密码,他们仍然需要第二个因素才能访问帐户。
此外,这些第二因素通常比知识因素更难窃取。黑客必须伪造生物特征、模仿行为或偷窃物理设备。
双重身份验证方法还能帮助组织履行某些合规义务。例如,支付卡行业数据安全标准 (PCI DSS) 明确要求处理支付卡数据的系统采用 MFA。
其他法规,如 《萨班斯-奥克斯利法案》(SOX) 和《通用数据保护条例》(GDPR),并未明确要求采用 2FA。但是,2FA 可以帮助组织满足这些法律设定的严格安全标准。
虽然双重身份验证比单因素身份验证方法更强大(尤其是那些仅使用密码的方法),但 2FA 并非万无一失。具体来说,黑客可以滥用帐户恢复系统来规避 2FA 并夺取帐户。
例如,黑客可以假装是失去访问权限并需要重置其帐户凭据的有效用户。帐户恢复系统通常需要一些其他的身份验证方法,例如安全问题的答案。如果这个问题就像“您的母亲姓什么?”一样基本,黑客稍做研究即可找到答案。然后,黑客就可以重置帐户密码,从而锁定真正的用户。
黑客还可以通过访问一个帐户来入侵另一个帐户。例如,如果攻击者要侵入敏感的企业系统,他们可能会首先接管用户的电子邮件帐户。然后,他们可以向公司系统请求重置密码,公司系统会向黑客现在控制的帐户发送一封电子邮件。
基于短信的 2FA 可能是最常见的 2FA 形式,但可以通过复杂的社会工程学进行攻击。攻击者可以冒充他们的目标人员并致电目标人员的手机供应商,声称他们的手机被盗,必须将号码转移到一个新手机。然后,OTP 将被发送到黑客控制的手机,而不是目标人员的手机。
用户可以通过确保自己名下的所有帐户(从电子邮件帐户到手机供应商的帐户)都采用强大的 2FA 或 MFA 来防御这些攻击。对所有内容设置 MFA 会使黑客更难使用一个帐户来入侵另一个帐户。
用户还可以确保他们选择的身份验证因素难以破解。例如,生物识别技术和物理安全令牌比安全问题答案更难被窃取。