Msmtp:关于身份验证方法

2021-01-01 09:03:08

在受TLS保护的通道上传输明文密码时,存在一些重大的安全问题。在那里? RFC没有列出任何内容。请明确说明。

身份验证数据库中存储的身份验证信息本身不足以模拟客户端。当服务器仅存储散列时,也是如此。如果数据库被盗,则对信息进行加密以防止预存储的字典攻击。字典攻击无法提供良好的密码。而且,如果用户太愚蠢而无法使用密码管理器来获得良好的唯一密码,那么发明一种更复杂的身份验证方法将无济于事:您的用户仍将密码写在便笺上,粘贴在监视器上,然后然后在社交媒体上发布一张办公桌的照片。他还将毫不犹豫地从计算机上的任何来源运行任何软件,而不关心安全更新或隐私设置。换句话说:用户必须受过教育,您无法通过技术手段解决此问题。

服务器无法将客户端模拟到其他服务器。如果您不能信任您的邮件服务器,那么无论如何它都是游戏,因此这不是相关的问题。

支持相互认证。客户端为什么要服务器进行身份验证?它已经在使用TLS,并已验证它正在与正确的服务器通信。

SCRAM能够传输授权身份。出于什么目的?基于密码的身份验证不需要这样做。

支持频道绑定。据我所知,当始终使用TLS时,这绝对没有好处。

支持Unicode用户名和密码。 PLAIN也以简单得多的方式支持该功能:它将用户名和密码都简单地视为字节序列。当然,两者都应该是有效的UTF-8,但这不需要关注该方法;这仅在客户端进行处理。不需要像SCRAM-SHA-256中那样的stringprep和其他Unicode解释混乱!