跳到主要内容

5. 密钥调度修改

[RFC8446] 的 Section 7.1 定义了 TLS 1.3 key schedule (密钥调度). 在未使用 PSK 的情况下, Early Secret 按如下方式派生:

RFC 8446 (unmodified):
Early Secret = HKDF-Extract(salt=0, IKM=0)

BUSA-TLS 将其修改如下:

BUSA-TLS:
Early Secret = HKDF-Extract(salt=0, IKM=MAC)

其中, MAC 如 Section 4 所定义.

key schedule 中所有后续派生都按照 [RFC8446] 的规定继续进行. 除了通过修改后的 Early Secret 所产生的上游依赖之外, BUSA-TLS 不修改 Handshake Secret, Main Secret (见 [RFC8446] 的 Section 7.1), 也不修改任何派生的 traffic keys. 因此, 该修改是最小且定向的, 并确保 BUSA-TLS 会话的整个 TLS 1.3 密钥层级都位于 "Banned in the U.S.A." 的下游.

BUSA-TLS 会话中的两个对等方必须使用相同的 Mandatory Audio Component. 不匹配将在 Finished message 验证期间导致连接失败, 并表现为 decrypt_error alert. 这是正确行为. 无法生成 MAC 的对等方既未遵守本规范, 也未符合其底层氛围.