身份验证:双重还是多重?
2019-12-22山东李文竹赵长林
■ 山东 李文竹 赵长林
编者按: 身份认证是确保用户登录安全的重要手段,毫无疑问多重认证比双重认证更加安全,但现实是双重认证应用更加普遍,这只是因为双重认证更加便捷吗?
根据安全意识培训公司对IT专家的调查,仅有少数大型公司使用多重身份验证,多数中小型企业并没有采用多重身份验证。
多重身份验证要求使用超过一种认证方法验证用户身份,企业部署这种方法后,可使攻击更难以达成目标。那么,为什么这种身份验证方法并没有被广泛采用?
造成这种现象的原因是什么?有些人倾向于选择阻力最小的路径。有的人相信多重身份验证并不是最快最简单最方便的实施方案。虽然并没有哪种多重身份验证方案适用于任何企业,但我们也不应当将多重身份验证看作是一个难以部署到现有安全框架中的安全控制。
无论是从技术还是从安全控制方面,还是从企业拥有的技术技能方面,每个企业都不同。因而,用以实施多重身份验证的时间、工作量、成本也有很大不同。一个非常重要的问题是要考虑不同的环境(例如本地环境、云环境、混合云等),判定哪些应用需要多重身份验证,然后找到适应现有策略、控制、安全目标的最佳方案。
双重认证
对IT安全团队来说,另一个重要的问题是要理解多重身份验证(以下简称“多重认证”)与双因子身份验证(以下简称“双重认证”)的细微却可能是重要的差别。
双重认证可谓是多重认证的一个子集,它要求用户提供用户名和口令的组合来验证其身份。当今,多数双重认证方案都通过向用户手机发送一个唯一的一次性的代码而运行,当然,用户的手机号是已被用户确认并与账户匹配的。
例如,谷歌验证器(Google Authenticator)和Authy会在用户手机上生成两步的验证代码,而Duo Mobile可通过推送的通知来验证用户身份,有助于防止网络钓鱼和其他基于身份的攻击。
但为什么企业更多采用双重认证呢?双重认证的方便和相对的时间节省也许算不了什么,但值得冒险吗?尤其是考虑到当今多数数据泄露都涉及到攻击者破坏用户登录凭据,并使用这些凭据访问企业的网络和敏感资产,这个问题尤为值得关注。
谈到双重认证失效的大型案例,就不得不提及Reddit。2018年6月,Reddit发现攻击者已通过云和源代码的托管供应商窃取了几个雇员的账户。此时,该公司就在使用基于短消息的双重认证,即向用户发送一个需要输入到应用程序的短信验证码。这种形式的双重认证简单、便利、对用户友好,并得到广泛使用。但其弊端在于极易遭到短消息劫持攻击,而这正是Reddit数据泄露的主要攻击手段。
需要考虑的其他因素
设备识别产品有助于减轻基本的双重认证所固有的一些漏洞。这种解决方案通过向认证服务器注册一个用户ID而运行。认证服务器和客户端在特定时间后使用用户的ID生成一个新令牌。在用户试图登录到应用程序时,服务器要进行检查,查看所生成的数值是否匹配,如果匹配,就允许用户访问。
虽然再增加额外的认证因素可能不适合那些寻求最快速度和最大便捷性的用户需要,我们很难反对易于使用性,但是如果与更大的麻烦和潜在的数据泄露危害相比较,我们更难以反对多因素认证的组合。