0

我正在编写一些代码来解析 TLS 数据包并遇到了一个奇怪的问题。我不认为官方 IANA 页面是最新的,因为我发现了组、密码和出现在流量中但不在这些页面上的扩展:

上述页面缺少:

  • 分机 13172 (NPN)
  • 组:1035、10794、16696、23130、31354、35466、51914
  • 密码:102、129、52243、52244、57363、65279、65413

我觉得这种差异与 TLS 1.3 有关,但我似乎找不到 TLS 1.3 值的类似参考(IANA 真的彻底检查了 TLS 1.3 中的所有值吗?)

4

1 回答 1

0

(扩展)NPN 从未标准化;而是选择了 ALPN。草稿应该仍然可用。

(组)10794=0x2a2a 23130=0x5a5a 31354=0x7a7a 35466=0x8a8a 51914=0xcaca 都是“GREASE”值,并且在注册表中指向 RFC 8701。我不知道 1035=0x40b 和 16696=0x4138 可能是什么。

(密码)根据 Java 源和较旧的 OpenSSL 源,在失败的 EXPORT1024 草案中定义了 102=0x0066,尽管它(单独)实际上并不限于 1024/56 强度。https://github.com/tls-check/TLS-Check/blob/master/lib/Net/SSL/CipherSuites.pm同意这一点,并且有 52243=0xCC13 和 52244=0xCC14 作为 Chrome 在某些时候使用的 CHACHA 套件过去的时间(标准化之前)和 65279=0xFEFF 作为 RSA_FIPS_WITH_3DES_EDE_CBC_SHA_alias;它没有 57363=0xE013。 https://tlsfingerprint.io/top/ciphers CC13、CC14 为 'LEGACY' CHACHA、FEFF 相同,而 E013 为未知,所有这些都很少出现在 ClientHello(offer)中,也从未出现在 ServerHello(result)中。65413=0xFF85 在私人使用范围内,可以是任何东西。

TLS1.3 具有所有新密码套件 0x13xx,它们在功能上与旧密码套件不兼容,因为它们不再指定密钥交换和服务器身份验证;这在 8446 中进行了解释。 1.3在 7919 和 8422(和 8701)的修改后使用与较低协议相同的组. 它还使用几乎相同的 hash+sigalg 对,现在称为 SignatureSchemes,但更改了 ECDSA 值以约束曲线,并为 RSA-PSS 添加了新值(名义上需要向后移植到 1.2,尽管这可能会完成仅在实现 1.3 的实现中)。1.3 保留了现有的扩展,尽管有些不再使用(例如 renegotiation-info extended-master encrypt-then-mac 和 point-formats 由于协议更改而不适用于 1.3,尽管它们仍然可以在 1.3 报价中允许服务器接受 1.2 或更低版本)并添加了几个新的。

PS:IANA 没有“大修”任何东西。虽然它对某些资源(如地址)具有主要控制权,但对于标准跟踪规范和标准行动或类似的注册管理机构,IANA 仅记录和发布相关 IETF 工作组提出并经 IESG 批准的决定。

于 2021-05-04T11:49:33.537 回答