最新版本的 TLS —— TLS 1.3 (RFC 8446) 已于昨天发布。这是该协议的第一次重大改革,带来了重大的安全性和性能改进。
TLS 1.3 基于更早的 TLS 1.2,但与 TLS 1.2 也有较大的区别,因为 TLS 1.3 设计的第一个重要目标就是避免之前版本存在的缺陷,主要区别包括:
将密钥协商和认证算法从密码包中分离出来
移除脆弱和较少使用的命名椭圆曲线支持
移除 MD5 和 SHA-224 密码散列函数的支持
请求数字签名,即便使用之前的配置
集成 HKDF 和半短暂 DH 提议
替换使用 PSK 和凭据的恢复
支持 1-RTT 握手并初步支持 0-RTT
通过在 (EC)DH 密钥协议期间使用临时密钥来保证完善的前向安全性
放弃许多不安全或过时特性的支持,包括数据压缩、重新协商、非 AEAD 密码本、静态 RSA 和静态 DH 密钥交换、自定义 DHE 分组、点格式协商、更改密码本规范的协议、UNIX 时间的 Hello 消息,以及长度字段 AD 输入到 AEAD 密码本
禁止用于向后兼容性的 SSL 和 RC4 协商
集成会话散列的使用
弃用记录层版本号和冻结数以改进向后兼容性
将一些安全相关的算法细节从附录移动到标准,并将 ClientKeyShare 降级到附录
添加带有 Poly1305 消息验证码的 ChaCha20 流加密
添加 Ed25519 和 Ed448 数字签名算法
添加 x25519 和 x448 密钥交换协议
Cloudflare 也发布了一篇博客对 TLS 1.3 RFC 8446 进行了详细的介绍,我们不妨关注一下。
在
IETF 中,协议又被称为 RFC。TLS 1.0 是 RFC 2246,TLS 1.1 是 RFC 4346,TLS 1.2 是 RFC
5246。现在,TLS 1.3 则为 RFC 8446。RFC 通常按顺序发布,并保留 46 作为 RFC 编号的一部分。
推动制定 TLS 1.3 协议的主要诉求是:
减少握手的延迟时间
对更多的握手消息进行加密
提高应对跨协议攻击的机动性
删除遗留下来的旧功能
目前 TLS 1.3 RFC 8446 已正式发布,相信随着采用的增加,新协议将使互联网更快、更安全。