网络身份验证API允许通过HTTPS服务的网站允许用户通过非对称加密进行身份验证。登录的过程基本上如下:
这怎么比基于密码的认证更好呢?
MDN说:
这解决了与钓鱼、数据破坏和对短信或其他第二因素身份验证方法( ... )的攻击有关的重大安全问题。
我不明白它如何防止钓鱼或攻击2FA的方法。如果密码经过适当的散列,并且TLS已经确保中间人不能窃取密码或执行重放攻击,则不会减少数据泄露的后果,对吗?
发布于 2020-10-29 19:27:39
WebAuthn从本质上保护了网络钓鱼。
攻击者可以创建假网站(例如,银行网站),并说服您在假网站上输入密码。然后,攻击者可以自由地将其重放到银行的真实网站上。
同样适用于SMS一次性密码(通常用作第二个因素)。例如,攻击者可以在电话中冒充银行员工,并向您询问您刚刚收到的SMS代码。
WebAuthn注册将凭据限制到合法站点的域名。不拥有此域名的攻击者在任何情况下都无法从假网站获得有效的WebAuthn身份验证响应(并在合法站点上重放)。
发布于 2023-02-08 17:48:52
如果正确散列密码,则不会减少数据泄露的后果。
除了@Tangui的答案之外,我还想补充一下,正确的散列并不一定能防止密码盗用。密码哈希主要(不仅是,而且主要)防止攻击者破坏服务器,但是当包含密码的流量被服务器端TLS解密时,设法破坏服务器的攻击者也可以窃听密码。这样的攻击者将只能读取飞行中的密码,而不能读取整个密码数据库,但这肯定仍然足够有用。
WebAuthn可以防止这一点,因为服务器只保留证书的公钥,而证书首先不对安全性敏感。
此外,从用户的角度来看,这也意味着您不需要信任某个特定的web服务来执行正确的密码哈希操作,因为您不会首先为服务器提供任何敏感数据。
https://security.stackexchange.com/questions/240202
复制相似问题