我用一个好的UX实现了一个无密码身份验证。但我不是安全专家,所以我请求你的建议。
这是身份验证流程:
发布于 2020-07-10 15:35:42
如果您只依赖于访问声明的电子邮件地址的能力,我认为您应该有窃听检测方法。
例如,在当前流中,如果一个邪恶的E在所有者之后访问邮箱,则E仍然可以单击该链接并进行身份验证。
另外,API和用户邮件服务器之间的每个NSA路由器(所以每个路由器^^)都可以读取令牌,如果邮件没有加密(这不仅在您的控制下)。
因此,应该为令牌实现“使用后的刻录”。
因此,如果令牌在合法用户之前被自动窃听和使用,他将看到有人获得了访问(因为令牌将被烧毁,他的访问将被拒绝)。如果令牌在合法用户之后被加入,那么它就不再有价值了。
因此,身份验证令牌在使用之后,必须不同于用于维护用户访问权限的会话令牌。
发布于 2020-07-10 20:30:40
您所描述的更像是一个用户创建过程,我看不到您在哪里确认用户的身份。
如果有人有用户的电子邮件密码,这是游戏结束,所以,这可能不是如所需的无密码。
另一点是,电子邮件协议并不总是安全的,相反,默认的做法是将明文的电子邮件从一个服务器发送到另一个服务器。例外可能是用户界面,这是首选使用TLS (安全互联网浏览),但其余的可能是未加密。因此,依靠电子邮件来替换密码可能不是最好的主意。
https://security.stackexchange.com/questions/234438
复制相似问题