MFA,全称 Multi-Factor Authentication(多因子认证)
MFA ,又名多因子认证,即多个因子结合所形成的认证
每个因子为一个认证因素,如:
- 用户名 + 密码
- 手机验证码
- 新老设备
- 动态验证码
- 人脸
- 声纹
- 微信好友辅助认证
由上可理解为每一个认证因素都为一个因子,可通过多个结合方式形成多因子认证。
举例:用户名 + 密码 -> 新老设备验证 -> 手机验证码 -> 人脸
上述流程可理解为 四因子认证。
需要注意的是不同行业对 MFA 的因子都有不同的组合方式,没有固定实现方式,需要看场景组合使用
如阿里云、腾讯云等云服务,MFA认证均为 用户名 + 密码 -> 小程序动态验证码,且有时限限制。
美团等app的方式为 用户名 + 密码 -> 新老设备验证 -> 手机验证码,且无时限限制,这种三因子认证方式使用最为广泛。
steam 若绑定了手机号,则会使用 用户名 + 密码 -> 动态验证码 的方式。 若没绑定手机号,则会使用 用户名 + 密码 -> 邮箱验证码 的方式。
银行等金融app的方式为 用户名 + 密码 -> 手机验证码 -> 人脸 等,且有时限限制。
最后提供一个基于 google 验证器实现的简单 demo