相比几年之前,如今熟悉“两步验证”、“强身份验证”、“2FA”、“MFA”等术语的人可是多了许多。通过增加至少1个除口令之外的验证因子到身份验证过程,多因子身份验证(MFA)解决方案可以更好地保护用户凭证并简化口令管理。这些额外的验证因子可以是你拥有的东西,比如令牌;或者你具备的东西,比如指纹或红膜扫描;还可以是某些只有你才知道的东西,比如口令。由于凭证盗窃吸引了安全行业的更多关注,很多MFA解决方案一拥而上,涌入市场。于是,问题来了:所有MFA方法都一样的有效吗?
说实在话,实现MFA的方法多种多样,安全效果自然也大相径庭。我们不妨分析一下常见MFA方法,看看哪种验证因子更为有效。
1. 一次性短信验证码(OTP)
用短信作为第二个身份验证因子很是常见。用短信向用户手机发送随机的六位数字,于是理论上只有持有正确手机的人才能通过验证,对吧?很不幸,答案是否定的。已有多种方法被证明可以黑掉OTP。比如说,2018年6月中旬,黑客就是通过短信拦截而黑掉了新闻娱乐网站Reddit。虽然黑客并未获得太多个人信息(Reddit的事件响应工作很棒),还是暴露出了短信身份验证码并不像人们通常以为的那么安全。利用蜂窝网络漏洞就能拦截短信。受害者手机上安装的恶意软件也能重定向短信到攻击者的手机。对手机运营商的社会工程攻击可以使攻击者复制出与受害者手机号相关联的新SIM卡,接收到受害者的OTP短信。实际上,美国标准与技术研究所(NIST)在2016年就不赞成使用短信身份验证了,认为该方法不再是安全的身份验证方法。但不幸的是,很多公司企业还在继续依赖短信OTP,给用户一种虚假的安全感。
2. 硬件令牌
作为现役MFA方法中的老大哥,硬件身份验证令牌常以带OTP显示屏的密钥卡的形式存在,硬件本身保护着其内部唯一密钥。但硬件密钥卡的缺陷也很明显。首先,用户不得不随身携带这个额外的设备;其次,贵;再次,需要物流递送;最后,必须不时更换。某些硬件令牌需要USB连接,在需要从手机或平板进行验证的时候就很棘手了。