今天,当我在我的 gmail 帐户中添加一个帐户时,我偶然发现了一些有趣的事情。为什么当 TLS 取代 SSL 时,SSL 被大胆地声明为推荐?
SSL 和 TLS 的链接相同:https ://support.google.com/mail/answer/22370?hl=en
今天,当我在我的 gmail 帐户中添加一个帐户时,我偶然发现了一些有趣的事情。为什么当 TLS 取代 SSL 时,SSL 被大胆地声明为推荐?
SSL 和 TLS 的链接相同:https ://support.google.com/mail/answer/22370?hl=en
从那个链接:
选择安全连接
请咨询您的其他邮件服务,了解他们推荐的端口号和身份验证类型。
以下是一些常见的组合:
- 使用端口 465 的 SSL
- 带有端口 25 或 587 的 TLS
那么,不同之处在于,“SSL”表示 SMTP over SSL-or-TLS on port 465,“TLS”表示 SMTP with STARTTLS on port 25 或 587。那么它们之间有什么区别呢?
STARTTLS 是机会加密。连接以明文 SMTP 开始,如果服务器表示可以,客户端会尝试启动加密。这样做的问题是明文协商可以被中间人攻击者中继和修改,这与 sslstrip 用于 HTTP 重定向和链接到 HTTPS 的方式完全相同。
另一方面,SMTP-over-SSL 以 SSL(或 TLS——协商的确切协议)连接开始,然后通过该隧道进行 SMTP。使用这种配置,客户端总是希望使用 SSL,并且不能被欺骗进入明文。
所以 SSL 或 TLS 命名不是真正的问题。Google 使用“SSL”来表示较旧的“smtps”标准,在这种情况下实际上更安全。实际上,该服务可能正在使用 TLS,而 Google 的邮件服务器将根据其他服务协商最安全的连接。
编辑:正如@Mehrdad 在评论中指出的那样,Google 将根据下拉列表中选择的端口号更改“推荐”哪个选项。这表明他们的建议不是基于更高的加密保证,而是基于最有可能起作用的方法:端口 465 在 IANA 注册为“smtps”,并且预计是 SMTP-over-SSL。端口 25 和 587 分别是 'smtp' 和 'submission',并且应该是明文。由于我怀疑如果无法协商 STARTTLS,Google 会拒绝通过这些端口发送邮件,因此“TLS”仍然是较弱的机会主义选项。但是,它比端口 465 更可能受支持。
编辑 2: @grawity 完成了这项工作,并确定如果不支持 STARTTLS,Google 实际上不会回退到纯文本 SMTP。在配置服务器时,您必须明确选择“不安全”选项。谷歌在确保电子邮件传输安全方面做得非常好。当然,关于 STARTTLS 已经说过的所有内容都是正确的:它需要这个额外的步骤来使 TLS 成为避免降级攻击的强烈要求。
2018 年,官方建议再次更改为在端口 465 上使用隐式 TLS