TLS 1.1 (传输层安全协议 1.1)
定义
TLS 1.1 是 2006 年以 RFC 4346 发布的 TLS 第二个版本,主要为 CBC 加入显式 IV,2021 年与 TLS 1.0 一起被 RFC 8996 废弃。
TLS 1.1 是 TLS 的第二个版本,2006 年 4 月以 RFC 4346 发布。它的改动集中在 CBC 加密的安全修补上:每条记录携带显式的初始向量,不再沿用上一条记录最后一个密文块;填充错误改为和 MAC 校验失败返回同一种告警,以增加填充预言攻击的难度。
为什么重要
TLS 1.1 几乎没有独立流行过,因为两年后发布的 TLS 1.2 带来了基于 SHA-256 的密钥派生和 AEAD 密码套件。TLS 1.1 仍沿用 TLS 1.0 那套基于 MD5/SHA-1 的伪随机函数,只支持 CBC 和流密码。浏览器在 2020 年中把它和 TLS 1.0 一起移除(Chrome 84、Edge 84、Firefox 78),RFC 8996 在 2021 年 3 月正式废弃了这两个版本。对公网 HTTPS 站点来说,现在的最低版本实际上就是 TLS 1.2。等保测评或第三方扫描报告里出现"支持 TLS 1.1"时,处理方式和 TLS 1.0 完全相同。
例子
用 nmap 自带脚本列出服务器接受的协议版本和密码套件:
nmap --script ssl-enum-ciphers -p 443 example.com
配置合理的服务器只会出现 TLSv1.2 和 TLSv1.3 两段。在 Nginx 中关闭 TLS 1.1:
ssl_protocols TLSv1.2 TLSv1.3;
常见误区
- TLS 1.1 是个折中选择。 它和 TLS 1.0 同时被废弃、同时被浏览器移除,不存在"只能用 1.1、不能用 1.2"且值得为之降低安全性的客户端群体。
- 有了显式 IV,CBC 就安全了。 显式 IV 解决了后来被 BEAST 演示的可预测 IV 问题,但先 MAC 后加密的 CBC 结构仍会受到 Lucky Thirteen 这类时序攻击。
- 关闭 TLS 1.1 需要换证书。 协议版本是服务器配置,现有证书无需任何改动。