什么是多因子认证(MFA)?为什么需要MFA?
同义词
多因子认证或者多因素验证 [尤其是需要做等级保护测评的时候需要用到]
摘要
多因子认证MFA(Multi Factor Authentication)是一种安全认证过程,需要用户提供两种及以上不同类型的认证因子来表明自己的身份,包括密码、指纹、短信验证码、智能卡、生物识别等多种因素组合,从而提高用户账户的安全性和可靠性。
为什么需要MFA?
随着全球数字化改革潮流,通过计算机网络交流、购物、办公等模式已逐渐代替原有的传统模式。与此同时,计算机与信息犯罪在近年正在呈现出上升的趋势,攻击手段日趋复杂,安全问题导致的经济损失也越来越大。企业信息、个人信息和网络设备安全问题至关重要。
故有必要对进入应用程序、服务、网络设备系统的人员进行认证。而单一的验证方式防御较为薄弱,存在一定风险,比如密码会存在“暴力破解”、“撞库”、钓鱼邮件等攻击风险。钥匙、门卡面临丢失、被盗的可能。而生物特征,一旦遭遇信息泄漏,则面临更大的威胁。多因子认证的需求越来越迫切。
最常见而简单的访问控制方法是通过MFA身份认证方式确认用户的真实性,提高用户账户的安全性和可靠性。
身份认证因子有哪些分类?
常见的身份认证因子分类有:
- 秘密信息因子,包含密码、个人身份识别码 (PIN) 、安全问题验证。
- 物品因子,分为软件令牌和硬件令牌。
- 软件令牌,包含短信验证码,电子邮件验证链接、验证码,服务商提供的身份验证二维码(例如微信扫码认证)。
- 硬件令牌,包含身份证、驾驶证、护照、密钥卡、硬件加密锁等专用物品作为安全密钥使用 。
- 生物特征因子,包含指纹、语音、面部特征、虹膜、视网膜图案、DNA、个人手写签名、击键特征和语言模式等行为生物识别特征。
- 位置因子,包含特定位置、特定设备、特定IP范围。
- 时间因子,特定的时间段。
如果多个身份认证方式为一种身份认证因子类型,此认证方式为单因子认证,而不是多因子认证。例如用户密码+安全问题验证、身份证+短信验证码+电子邮件验证链接等,均为单因子认证。
多因子认证必须是两种及以上不同类型的认证因子,来实现用户身份认证。
MFA认证流程是什么?
用户登录应用程序、服务、网络设备系统时,MFA认证流程原理都相同。下面以应用程序的MFA认证流程为例:
- 用户登录应用程序。
- 用户输入登录凭证,通常是账号和密码,做初始身份验证。
- 验证成功后,然后将提示用户提交第二个身份验证因子。
- 用户将第二个身份验证因子输入至应用程序,做二次身份验证。
- 如果系统只设置了两种因子认证,第二个身份验证因子通过,用户将通过身份验证并被授予对应的系统操作权限。如果系统设置了三种及以上种因子认证,用户需按系统提示,继续提交身份信息,直至全部身份因子验证通过,并被授予对应的系统操作权限。
MFA的典型应用有哪些?
按照两种及以上不同类型身份认证因子类型组合,常见的MFA认证典型场景举例如下所示:
- 秘密信息因子+物品因子:公司员工通过VPN远程登录办公系统,采用用户密码+短信验证码的认证方式场景。邮箱、社交软件登录系统,采用用户密码+图片文字识别的认证方式场景。
- 秘密信息因子+物品因子:网络游戏、网络购物、手机APP等支付系统,采用用户密码+短信验证码/扫描二维码的认证方式场景。
- 秘密信息因子+位置因子:电子邮箱、电子社交软件登录系统,采用用户密码+特定IP范围的认证方式场景。
- 秘密信息因子+时间因子:各手机APP优惠券兑换系统,采用用户密码+特定时间的认证方式场景。
- 物品因子+生物特征因子:火车站、机场验票系统,采用有效证件(如身份证、护照)+面部识别认证方式场景。
- 物品因子+位置因子+生物特征因子:某些公司上下班打卡系统,采用智能手机+特定位置范围+人脸识别的认证方式场景。
MFA的优缺点有哪些?
MFA的优点
MFA的首要优点就是安全性。在如今数字时代中,服务商和企业已成为网络攻击的首要目标。攻击者依靠窃取身份凭证侵入企业内网,最终很可能会造成重大损失。 为解决这一问题,MFA要求用户提供登录名和密码之外的其他身份验证因素,在攻击者和企业网络之间又增加了一道安全屏障。
除用户同时泄露登录密码和多因子认证凭证的场景,即使攻击者窃取了登录密码也无法接管账号。基于设备的多因子认证几乎可以阻止所有针对账号的攻击。
除了提升安全性以外,MFA的另一项关键优势是广泛适用性。随着智能手机的广泛使用,服务商和企业可以借助智能手机定位、面部识别等在系统和应用程序中强制执行多因子认证,甚至还可以对连接企业内网的VPN强制执行多因子认证保护网络访问。
MFA的缺点
多因子认证也存在不少缺点导致企业放弃采用。首先就是对办公效率的担忧。在传统的静态密码登录机制下,员工每月在账号登录上花费一定的时间。采用MFA后,员工不仅需要输入密码,还需要输入额外的身份验证因素,导致账号登录的时间加倍。除此之外,很多MFA形式基于时间型动态令牌(TOTP),令牌有效时间有限。一旦令牌失效,用户还需要等待新的令牌生成,这也影响了员工工作效率。
MFA的另一个问题是实施的复杂性。为了让MFA应用于所有资源,在整个企业范围内推行,管理员需要一个MFA工具涵盖所有IT资源。
MFA还存在安装、维护成本高的问题,包含购买、更换令牌和续订软件的维护成本。例如,如果企业或个人丢失或被盗取MFA中的其中一个或多个认证因子,就需要挂失、重新申请、设置新的认证因子。不管从企业和个人,还是系统维护方来看,均带来了维护成本。如果要保护系统、网络等本地基础架构,还需要另外部署MFA工具。这就增加了企业的 IT 安全预算和运维成本。
然而,即使认识到这些缺点,如果企业希望保护网络、用户和员工,作为访问管理战略的一部分实施MFA解决方案的优点显然大于缺点。
MFA与2FA的区别是什么?
MFA与2FA的区别如下表所示。表1-1 MFA与2FA的区别
参数项 | MFA与2FA的区别 |
---|---|
认证因子个数 | MFA≥2FA,MFA需要两种及以上不同类型的认证因子,2FA需要两种不同类型的认证因子。 |
安全性 | MFA≥2FA,MFA要求用户提交更多类型的认证因子,提高用户账户的安全性和可靠性。 |
用户数量 | MFA≤2FA,2FA一般应用在大众日常工作、生活中,三种及以上不同类型的认证因子的MFA一般应用在科研、军事等特殊行业人员中。 |
用户体验 | MFA≤2FA,多一种类型认证因子,操作过程中就多一个认证步骤和等待时间,从而导致用户体验感下降。 |
安装、维护成本 | MFA≥2FA,多一种类型认证因子就会相应增加网络设备、软件系统复杂程度、以及后期的维护成本。 |
保密信息级别 | MFA≥2FA,三种及以上不同类型认证因子的MFA保护的是高精尖级别的科研、军事等机密、绝密信息和成果。 |
可参考上述2FA和MFA的区别,按实际使用场景和网络情况选择合适的用户身份验证方式,来确保数据和系统的安全性和可操作性。
【常见的二次验证器】
MFA二次验证器: 1)IOS:在AppStore搜索Google Authenticator、Sophos Authenticator、FreeOTP下载并安装 2)Android:下载Sophos Authenticator、Free OTP并安装、微软验证器
【苹果IOS端】 Eagle 2FA二次验证器(中文,推荐) FreeOTP (英文) OTP Auth (作者: Roland Moers,英文) Sophos Authenticator (英文) Google Authenticator (中文) Authenticator (作者: Bouqt. com Ltd,英文) Authenticator (作者: Matt Rubin, 英文)
【安卓端】 1.FreeOTP(用法简单,由河南微高考汉化) 2.andOTP(用法较复杂,中文) 3.Aegis Authenticator(用法复杂,不推荐)
【微信小程序MFA认证】FreeOTP、TOTP身份安全认证器和二次验证器(三个无需下载)