1,MFA介绍
Multi-Factor Authentication (MFA), 多重要素验证,又译多因子认证、多因素验证、多因素认证,是一种电脑访问控制的方法,用户要通过两种以上的认证机制之后,才能得到授权,使用电脑资源。例如,用户要输入PIN码,插入银行卡,最后再经指纹比对,通过这三种认证方式,才能获得授权。这种认证方式可以提高安全性。 多重要素验证的概念也广泛应用于计算机系统以外的各领域。
当你登录你的在线账户时--我们称之为 "认证"--你在向服务机构证明你是你所说的那个人。传统上,这是用一个用户名和一个密码来完成的。不幸的是,这并不是一个很好的方法。用户名通常很容易被发现;有时它们只是你的电子邮件地址。由于密码可能很难记住,人们倾向于选择简单的密码,或在许多不同的网站使用相同的密码。
这就是为什么几乎所有的在线服务--银行、社交媒体、购物,或软件服务比如微软Office365--都增加了一种方法,使你的账户更加安全。你可能会听到它被称为 "两步验证 "或 "多因素验证",即"Two-Step Verification" or "Multifactor Authentication",但好的验证方式都是基于相同的原则运作。当你在一个新的设备或应用程序(如网络浏览器)上第一次登录账户时,你需要的不仅仅是用户名和密码。你需要第二个东西--我们称之为第二个 "因素"--来证明你是谁。比如,短信验证码、邮件验证码、语音、指纹、面部识别等等。
多因素验证是身份识别和访问控制策略的核心部分(identity and access management / IAM policy);
认证中的一个因素是在你试图登录时确认你的身份的一种方式。例如,密码是一种因素,它是你知道的东西。最常见的三种因素是。
- 你知道的东西(knowledge)--如密码,或PIN(Personal Identification Number)。
- 你拥有的东西(possession)--如智能手机,或一个安全的USB钥匙。
- 你是谁(inherence)--如指纹或面部识别等生物特征。
简单说就是You know,you have, you are。
2,MFA举例
MFA通过要求额外的验证信息(因素)来工作。用户最常遇到的MFA因素之一是一次性密码(one-time password / OTP)。OTP是那些你经常通过电子邮件、短信或某种移动应用程序收到的4-8位数的代码。有了OTP,就会定期或在每次提交认证请求时产生一个新的代码。该代码是根据用户首次注册时分配给他们的种子值和其他一些因素生成的,这些因素可能只是一个被递增的计数器或一个时间值。
使用MFA认证的例子包含下列种类或不同种类的组合。
Knowledge 知识
- Answers to personal security questions // 个人安全问题回答
- Password // 密码
- OTPs (Can be both Knowledge and Possession - You know the OTP and you have to have something in your Possession to get it like your phone) // 一次性口令
Possession 拥有
- OTPs generated by smartphone apps // 通过手机APP获得的一次性口令
- OTPs sent via text or email // 通过短信或电子邮件发送的一次性口令
- Access badges, USB devices, Smart Cards or fobs or security keys // 密码狗、USB dongle、智能卡或安全钥匙。
- Software tokens and certificates // 软件令牌和证书
Inherence 生物技术
- Fingerprints, facial recognition, voice, retina or iris scanning or other Biometrics // 指纹,面部识别,语音识别,虹膜扫描和其他生物识别技术
- Behavioral analysis // 行为分析,比如笔迹、打字速度、按键间隔时间等。
3,其他类型的多因素认证
随着MFA集成了机器学习和人工智能(AI),认证方法变得更加复杂,包括:
基于位置
基于位置的MFA通常会查看用户的IP地址,如果可能的话,还会查看他们的地理位置。如果用户的位置信息与白名单上指定的信息不一致,该信息可用于简单地阻止用户访问,或者可作为除密码或OTP等其他因素之外的额外认证形式,以确认该用户的身份。
或者是用户连接到某个特定的计算网络,或者用GPS信号来进行定位。
自适应认证或基于风险的认证
MFA的另一个子集是自适应认证,也被称为基于风险的认证。自适应认证通过考虑验证时的背景和行为来分析额外的因素,并经常使用这些值来分配与登录尝试相关的风险等级。比如说:
- 当试图访问信息时,用户来自哪里?
- 当你试图访问公司信息时?在你的正常工作时间还是在 "非工作时间"?
- 使用的是哪种设备?是昨天用的那台吗?
- 连接是通过私人网络还是公共网络?
风险等级是根据这些问题的回答来计算的,可以用来确定是否会提示用户使用额外的认证因素,或者是否允许他们登录。因此,另一个用来描述这种认证类型的术语是基于风险的认证。
有了自适应认证,一个用户在深夜从咖啡馆登录,这是一个他们通常不做的活动,除了提供他们的用户名和密码外,还可能被要求输入一个发到用户手机上的代码。而当他们每天早上9点从办公室登录时,他们只需提供他们的用户名和密码。
网络犯罪分子终其一生都在试图窃取你的信息,一个有效的、强制执行的MFA策略是你对他们的第一道防线。一个有效的数据安全计划将在未来为你的组织节省时间和金钱。
认证程序
第三方认证器应用程序以不同的方式实现了双因素认证,通常显示一个随机生成并不断刷新的代码以供用户使用,而不是发送短信或使用其他方法。这些应用程序的一大好处是,即使没有互联网连接,它们通常也能继续工作。第三方认证器应用程序的例子包括谷歌认证器、微软认证器(手机APP: Microsoft Authenticator)等。
一般使用产生 6 位数字认证码的应用程序,遵循基于时间的一次性密码 (TOTP)标准(RFC 6238)。此类应用程序可在移动硬件设备(包括智能手机)上运行。使用虚拟 MFA 应用非常方便,但您需要理解虚拟 MFA 应用程序所具有的安全水平与硬件 MFA 设备有所差异,因为虚拟 MFA 应用程序可以在安全性较差的设备上运行(例如智能手机)。
有些人担心多因素认证会非常不方便,但一般来说,它只在你第一次登录一个应用程序或设备时使用,或者在你修改密码后第一次登录时使用。此后,你只需要你的主要因素,通常是密码,就像现在一样。
额外的安全性来自于这样一个事实:试图闯入你的账户的人可能没有使用你的设备,所以他们需要有第二个因素才能进入。
4,信息安全案例
2017年5月,德国移动服务提供商O2 Telefónica证实,网络犯罪分子利用SS7漏洞,绕过基于短信的两步认证,从用户的银行账户中进行未经授权的提款。犯罪分子首先感染了账户持有人的电脑,来窃取他们的银行账户凭证和电话号码。然后,攻击者购买了一个假的电信供应商的访问权(purchased access to a fake telecom provider),并为受害者的电话号码设置了一个重定向到他们控制的手机上。最后,攻击者登录了受害者的网上银行账户,并要求将账户上的钱提取到犯罪分子拥有的账户。短信密码被转到由攻击者控制的电话号码上,犯罪分子将钱转走。
5,信息安全组成图:
参考:
What is: Multifactor Authentication
What is Multi-Factor Authentication (MFA)? | OneLogin
https://en.wikipedia.org/wiki/Multi-factor_authentication