跳到主要内容

1. 引言

TLS 1.3 的部分设计目标是消除曾困扰早期协议版本的一类协商空值 (negotiated-null) 漏洞. [RFC8446] 通过组合使用强制的认证加密, 移除 ChangeCipherSpec 握手消息的语义内容, 以及消除所有空密码套件标识符来实现这一点.

在无 PSK 的情况下, TLS 1.3 密钥调度 (key schedule) 以如下操作开始, 该操作使用基于 HMAC 的密钥派生函数 (HMAC-based Key Derivation Function, HKDF) [RFC5869] 派生:

Early Secret = HKDF-Extract(salt=0x00...00, IKM=0x00...00)

全是零. 这个常用协议是最成功地去空值化 (de-nulled) 的协议, 其密钥派生却以一无所有开场.

本规范通过将零字节 IKM 替换为一个密码学派生值来解决这一审美问题, 该值取自一段特定录音, 而这段录音本身也曾遭遇机构性抹除企图.

选择 "Banned in the U.S.A." [BUSA] 并非任意为之. 它承担着结构性重量.