多因素身份验证(MultifactorAuthentication)是一种更复杂、更安全...|如何处理多因素身份验证

多因素身份验证(MultifactorAuthentication)是一种更复杂、更安全的身份验证机制 , 是一种通过呈现多条信息或对象对用户进行身份验证的系统 。 构成多因素身份验证系统的诸多因素可分为三种类型:
所知:somethingyouknow
所有:somethingyouhave
所是:somethingyouare
理想情况下 , 多因素系统将至少包含其中两个因素 。 “所知”可能是密码 , 比如说银行卡的密码;“所有”是一个物理令牌 , 比如ATM或银行卡;“所是”是一个生物特征数据 , 比如指纹或虹膜扫描 。
多因素身份验证(MultifactorAuthentication)是一种更复杂、更安全...|如何处理多因素身份验证
文章图片
多因素身份验证(MultifactorAuthentication)是一种更复杂、更安全...|如何处理多因素身份验证】多因素身份验证背后的前提是 , 假设使用了不同类型的身份验证 , 攻击者会发现窃取或克隆多个身份验证因素要困难得多 。
如果使用多个密码 , 安全性并不会有很大提升 , 这是因为无论密码多少 , 仍然容易受到网络钓鱼或键盘记录攻击 。 通过将密码与安全令牌结合使用 , 可以改变游戏规则 。 即使密码受到网络钓鱼攻击 , 攻击者也需要窃取或克隆物理令牌才能访问帐户 。 这种情况发生的可能性要小得多 。
物理令牌可以采用几种不同的形式 。 常见的包括一个带有秘密令牌的USB设备 , 一个生成令牌的独立设备 , 甚至一个与传统锁一起使用的简单密钥 。 通常使用的物理令牌生成短期令牌 , 与用户名和密码一起输入的数字 , 这个数字通常被称为一次性密码(One-Time-Password , OTP) 。 因为它的寿命很短 , 并且值不断变化 。 例如RSASecurID令牌 , 是一个小型的电池供电设备 , 带有LCD显示屏 , 显示周期性旋转的一次性密码 。 这是一种基于时间的令牌(有时称为TOTP) , 通过在向认证服务器注册的令牌上具有秘密种子或随机生成的值来操作 。
多因素身份验证(MultifactorAuthentication)是一种更复杂、更安全...|如何处理多因素身份验证
文章图片
种子值(seedvalue)与当前时间一起使用 , 以生成一次性密码 。 只要用户拥有他们的令牌 , 或者可以查看令牌的显示 , 他们就可以登录 。 该方案要求认证器令牌和认证服务器之间的时间相对同步 , 这通常通过使用网络时间协议(NetworkTimeProtocol , NTP)来实现 。 如果攻击者能够窃取秘密种子值 , 则需要窃取物理令牌或克隆令牌 。 由于基于时间的令牌使用时间与服务器同步 , 因此攻击者可以克隆令牌 。 还有基于计数器的令牌 , 它使用一个秘密种子值以及每次在设备上生成一次性密码时递增的秘密计数器值 。 验证成功后 , 服务器上的值将递增 。
这比基于时间的令牌更安全 , 原因有二 。 首先 , 攻击者需要恢复种子值和计数器值 。 其次 , 计数器值在使用时也在增加 。 因此 , 在计数器值变化过大且克隆令牌与真实令牌和服务器不同步之前 , 克隆令牌只会在短时间内有用 。 这些令牌生成器可以是物理的专用设备 , 也可以是安装在智能手机上执行相同功能的应用程序 。
多因素身份验证(MultifactorAuthentication)是一种更复杂、更安全...|如何处理多因素身份验证
文章图片
处理多因素的另一种非常常见的方法是使用SMS发送一次性密码令牌 。 依靠SMS传输附加认证因素的问题在于 , 依赖于移动运营商的安全流程 。 短信不是加密的 , 也不是私密的 。 资金充足的攻击者有可能拦截短信 , 更糟糕的是 , 有一些基于短信的多因素代码可通过呼叫移动供应商被窃取 。 攻击者冒充服务线的所有者 , 将电话呼叫和短信重定向到攻击者控制的电话 。 如果攻击者已经泄露了密码 , 并且可以将短信重定向到他们 , 他们现在可以完全访问该账户 。