首页 > 解决方案 > 无密码身份验证的缺点是什么?

问题描述

在使用密码支持的身份验证的情况下,如果用户忘记了密码,提供商始终信任用户的电子邮件安全。

那么为什么要大惊小怪呢?为什么不使用电子邮件将秘密登录密钥发送给注册用户?当用户忘记密码时,这不是网站所做的吗?

仍然使用密码进行身份验证的原因是什么?有密码的身份验证缺少的无密码身份验证的主要问题是什么?

标签: emailsecurityauthenticationpasswords

解决方案


一个区别是,如果您通过忘记密码登录,您通常必须将密码更改为其他密码,因此无法被发现 - 很可能会发现攻击者。如果它只是电子邮件中的登录链接,情况并非如此,攻击者可以登录,并且可能没有人注意到。当然,可以通过控制来缓解这种情况,但它很快就变成了一个用户体验问题。

如果只有登录链接,另一个用户体验方面必须一直访问您的电子邮件。很多人使用密码管理器,这使得输入非常安全和独特的密码变得非常容易。如果它是一个登录链接,您必须打开您的电子邮件,从而中断您在应用程序中的流程。这可以说是不方便的。

此外,电子邮件中发送的登录链接将在 url 中包含一个令牌。这将被浏览器记住,登录到中间代理,登录到 Web 服务器日志等等。不应在 url 中发送秘密。但是,如果它是在(非常)有限时间内有效的一次性令牌,那么这种风险就会大大减轻。

说了这么多,有些商业应用程序选择通过电子邮件链接进行无密码登录。如果实施正确(具有足够熵的足够强大的一次性令牌,使用适当的加密随机生成器生成等等),通过电子邮件链接的无密码登录对于许多应用程序来说足够安全,而且它主要是一个 UX 问题(保持请注意上述安全注意事项)。


推荐阅读