发布于 2026-01-06 8 阅读
0

多因素身份验证 (MFA)

多因素身份验证 (MFA)

多因素身份验证 (MFA)

本文面向安全新手或其他IT从业人员,而非安全专家。:-D 

最近您可能已经注意到,我曾公开批评几家加拿大银行不允许用户在其网上银行账户中添加多因素身份验证 (MFA)。这篇博文将详细阐述我的意思、其重要性以及我为何力推这项功能。

更新:您可以通过话题标签 #MFAally 在线关注有关此主题的社区活动。

 
我因为加拿大银行缺乏多因素身份验证(MFA)而纠缠不休。

双因素或多因素身份验证(2FA 或 MFA)是指使用多个因素来证明您是真实的本人。身份验证的“因素”是指向计算机证明您身份的方法。目前只有三种类型:您拥有的东西、您自身的特征以及您知道的信息。 

“你拥有的东西”可以是你的笔记本电脑、手机、生成代码的令牌、你的工作证等等。“你自身的东西”可以是你的指纹、虹膜扫描、你的步态(你的走路方式)或你的DNA。这些都是你独有的生理特征。

“你的某些特质”可​​以是你的指纹、虹膜扫描、走路姿势、DNA等等。

“你知道的信息”可以是密码、口令、模式,或者几项信息的组合(通常称为“安全问题”),例如你母亲的婚前姓氏、你的出生日期和你的社会保险号码。关键在于,这些信息只有你自己知道。

**

当我们仅使用用户名和密码登录在线账户时,我们只使用了单一的身份验证因素,这比使用两种或多种因素的身份验证安全性要低。很多时候,账户被盗或数据被窃取,往往是因为有人只使用了单一因素身份验证。 
即使密码被破解,启用了双重身份验证的用户仍然受到保护。当有人试图暴力破解启用了多重身份验证的系统或账户时,即使他们最终获得了密码,也无法通过双重身份验证进入系统。使用双重身份验证可以显著提高您的在线账户被破解的难度。

MFA示例

多因素身份验证:输入用户名和密码后,还需要使用第二个设备或实体令牌来接收验证码。用户名和密码是其中一个因素(您知道的信息),使用第二个设备是第二个因素(您拥有的东西)。

并非多因素身份验证:用户名和密码并列。这是同一种身份验证因素的两个例子;它们都是您知道的信息。多因素身份验证意味着您使用了多种不同类型的身份验证因素,而不是一种或多种同类型的因素。

并非多因素认证:使用用户名和密码,然后回答安全问题。这两者本质上是同一件事,都是你已知的信息。

微软身份验证器应用
去年冬天在香港举行的#MSIgniteTheTour 大会上,Cloud Shell 竟然在台上把我登出了(真是太尴尬了!)。当时我用了用户名和密码(我知道的两件事,也就是两种相同的身份验证方式),再加上手机上的Microsoft Authenticator 应用(我也有),它要求我输入指纹(我本人也有)。也就是说,我最终使用了全部三种身份验证方式重新登录。虽然我知道这无意中很好地演示了我使用的微软产品,但在演示过程中被登出还是挺尴尬的…… 
先不说这次演示失败,我们来聊聊什么是多因素身份验证 (MFA),它不是什么,以及它为什么如此重要。

我们行业内很多人对于使用手机接收包含验证码的短信是否是一种“好的”多因素身份验证(MFA)实现方式存在分歧,因为短信协议及其某些实现方式本身就存在已知的安全漏洞。我的观点(可能不太受欢迎)是,我宁愿使用一个相当可靠的第二因素身份验证方式,而不是只有一个因素。如果这是说服普通用户采用双因素身份验证(2FA)的必要权衡(便利性与绝对安全性之间的权衡),那么我赞成使用短信作为第二因素。 

Azure 安全中心给所有人的首要安全建议是:在所有订阅中启用多重身份验证;保护您的(云)王国的密钥至关重要。事实上,启用多重身份验证(简称 MFA 或 2FA)是行业最佳实践,安全专家也一直建议技术人员和非技术人员为其所有重要帐户启用此功能。然而奇怪的是,在 Google 和其他热门平台上,只有不到 10% 的帐户启用了 2FA。为什么?

我认为原因有二:1)并非总是方便;2)公众根本不了解其中的风险。虽然我们大多数人无力改变第一点,但我们每个人都可以努力改变第二点。

亲爱的读者,我恳请您尝试向您生活中、工作中或家里的某个人解释多因素身份验证 (MFA),并请他们在重要的账户上启用它。如果您还没有启用双因素身份验证 (2FA),我也恳请您在家和工作场所都启用它。这或许能让您或您所爱的人免受严重的损失。

感谢阅读。

想了解更多内容,请查看我的书《Alice and Bob Learn Application Security》和我的在线培训学院We Hack Purple

文章来源:https://dev.to/azure/multi-factor-authentication-mfa-nm2