简体中文
  • mfa
  • auth
  • authentication
  • product

探索 MFA:从产品角度看身份验证

通过分析多因素身份验证(MFA)的核心组件、用户流程和基本指导原则来解析它。

Ran
Ran
Product & Design

在数字世界中,如果每个应用都以相同的方式登录,我们能否通过简化身份验证的方式来节省时间和资源?听起来可行,对吧?就像你用“使用 Google 登录”进行所有操作,或者只用一个邮箱和密码组合来管理你的所有东西。

但真实的情况更有趣。每个应用都有其独特的方法来确保确实是你在登录。我们在这个验证过程中付出努力,以确保安全,平衡用户体验,并尊重每个用户的隐私偏好。

由于没有适用于所有人的神奇公式,让我们分解一下验证如何工作,并创建符合服务的设计。

基础:身份验证的两个部分

身份验证,验证你是谁的专业术语,由两部分组成:标识符和验证因子。

想象标识符就像在说“嗨,我是莎拉。” 你可能会想,“哦,那是莎拉,酷。” 但安全人员会问,“这真的是莎拉吗?莎拉是否具备访问所需的凭证?”这就是验证因子的作用。让我们用技术术语来解释。

标识符:你的数字 ID

标识符决定用户能访问什么。因为资源总是稀缺的,你的身份是你独特的通行证。第一步:在登录页面输入你的标识符。但我们不会选择昵称或全名——这会造成搜索过载。可以使用的标识符有:

  • 用户 ID:技术上不变且独特。就像用于管理员管理,但用户不会记住每个产品的这些标识符。

  • 用户名:用户 ID 的用户友好版本。它是唯一且不能在账户系统中重复。社交平台个性化个人资料,为保持识别稳定,必须使用用户名。更改有限,甚至可能是付费的。

  • 身份证号:如身份证、学生证或银行卡号,都是稳固且独特的标识符。虽然不易记住,但如果你忘记了主要 ID,它们可以作为可靠的备用机制被检索。

  • 电子邮件或电话号码:不同于用户名通常容易被遗忘,联系信息更易记忆。使用电子邮件或电话号码作为标识符可以防止长期不活跃或被召回的用户忘记身份,降低潜在流失的风险。 尽管这种便利对用户友好,但管理“个人、电子邮件和账户”之间的互动可能会复杂化你的产品结构。考虑 Instagram: (1) 它允许使用单个电子邮件创建多个账号; (2) 多个电子邮件地址可以添加到 Instagram 个人资料用于登录或恢复; (3) Instagram 允许跨账户同时登录,而无需匹配电子邮件。通常账户拥有分隔的资源,Instagram 允许账户信息合并,促进连贯验证、定向广告和个性化推荐。

    电子邮件

验证因子

身份验证因子是证明你确实是你的动作。有很多因子可以根据属性选择:

含义验证因子
知识你知道的东西密码、电子邮件验证码、备用代码
持有物你拥有的东西短信验证码、身份验证器应用 OTP、硬件 OTP(安全密钥)、智能卡
所有物你是什么生物特征如指纹、面部识别

理论上,你可以与任何标识符结合使用这些验证因子以证明是你。常见:电子邮件地址(ID)和电子邮件验证码(因子)。但你可以组合:电子邮件地址(ID)和短信验证码(因子)。

因为邪恶潜伏着,一个单一因子是不够的。这就是多因素身份验证(MFA)的作用。当你登录时,第一步身份验证(1FA)是必须的,但可以有更多步骤,第二步(2FA),甚至第三步。另外,当你请求访问应用中的关键资源时,需要重新验证你的身份。这些额外的层提供了对恶意行为者的增强安全性。整个范围就是 MFA。

MFA

设计你的身份验证流程

回到开头——为什么每个应用有不同的标识符和身份验证因子组合?这是关于用户体验。

对验证过于严格会让用户感到烦恼,想着,“为什么这么难?” 放得太松则可能导致账户被黑和混乱。那么,这是谁的麻烦呢?

三个编排原则:

确保你的真实用户能够登录

人们有时会忘记 ID 或丢失验证步骤。为减轻潜在的支持负担,我们需要帮助的方法:

  1. 提供多种验证因子——通常至少两个用于 MFA。因为生物特征很酷,但识别不到时不起作用;有时用户可能丢失设备。
  2. 提供恢复验证的选项——比如“忘记密码”或重新找到你的 ID。然而,在恢复之前,初步的身份验证也是必需的,通常与登录过程不同。
  3. 提供通过客户服务或管理员的联系信息作为备份进行恢复。

验证无漏洞

验证并不完美,两步身份验证不总是更安全。记住:

  1. 在 MFA 流程中,身份验证的第二步应该具有与第一步不同的属性(知识/持有物/所有物)。例如,使用“密码(知识)”作为 1FA 和“身份验证器应用 OTP(持有物)”作为 2FA 可以阻止各种攻击向量。
  2. 恢复方法不能绕过 MFA。例如,如果你可以通过短信“忘记密码”,那么你不能同时使用短信作为第二个身份验证因子。另一个选择是在“忘记密码”过程中增加 2FA,尽管这可能看起来复杂。
  3. 考虑代码下载时间或速率限制。在多次验证错误后,限制后续验证的速率。而且在多步验证中不允许步骤之间的时间间隔过长。

平衡用户体验

并不是每个动作都需要 1FA 或 2FA。这要看情况,而不是总是遵循相同的步骤。

  1. 为不同角色提供自定义能力:确保资源安全主要是产品的责任,但也是个人的责任。MFA 的强制策略可以根据服务的性质量身定制:应用中普遍的用户 MFA、组织驱动的 MFA 和用户决策驱动的 MFA。
  2. 利用自适应 MFA:对潜在风险或高风险操作的场景,强制验证是实用的。相反,安全的环境或低风险操作则可能通过保留的会话、最小化验证步骤甚至访客访问来简化访问。值得注意的是,这取决于用户的背景。
    • 不安全的环境:如新设备、不典型的旅行地点或不受信任的 IP。
    • 敏感操作:如涉及加密数据访问、大额金融交易或更改验证方法。

详情请查看 NIST 的认证保证级别(AAL)指南

结束语

当我们结束对身份验证和多因素验证(MFA)的探索时,我们希望你已经了解了它们在我们数字生活中扮演的重要角色。MFA 混合了标识符和验证因子,创建了一个强大的屏障,在保持安全访问的同时提供用户友好的互动。

令人兴奋的消息是 Logto 的 MFA 即将推出。对于个人和企业,Logto 确保安全的在线互动。