我在哪里可以找到所有已分配的 TLS 扩展、组、密码的列表?

Where can I find a list of all assigned TLS extensions, groups, ciphers?

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

以上页面缺少:

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

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

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

(Ciphers) 根据 Java 来源和较旧的 OpenSSL 来源,102=0x0066 在失败的 EXPORT1024 草案中定义,尽管它(单独)实际上并不限于 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(提供)中,从不出现在 ServerHello(结果)中。 65413=0xFF85 在私人使用范围内,可以是任何东西。

TLS1.3 拥有所有新的密码套件 0x13xx,它们在功能上与旧的不兼容,因为它们不再指定密钥交换和服务器身份验证;这在 8446 中有解释。在 7919 和 8422(和 8701) 的修改之后,1.3 使用与较低协议相同的组 。它还主要使用相同的散列+信号对,现在称为 SignatureSchemes,但更改了 ECDSA 值以约束曲线,并为 RSA-PSS 添加了新值(名义上需要向后移植到 1.2,尽管这可能只会在实现 1.3 的实现中完成)。 1.3 保留了现有的扩展,尽管有些不再使用(例如重新协商信息扩展主加密-然后-mac 和点格式由于协议更改不适用于 1.3,尽管它们仍然可以在1.3 提供允许服务器在 1.2 或更低版本接受)并添加几个新的。

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