配置

密码套件查询

按 IANA 名称、OpenSSL 名称或十六进制代码搜索 TLS 密码套件,看清它由什么组成、安不安全。

最后核实

密码套件查询帮你在 TLS 密码套件的各种名字之间互相对照,并看清每个套件由什么组成。输入 IANA 名称(如 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256)、OpenSSL 名称(如 ECDHE-RSA-AES128-GCM-SHA256)或十六进制代码(如 0xC0,0x2F),匹配的套件会连同密钥交换、认证、加密、MAC、适用版本和评级一起显示。

怎么用

  1. 在搜索框输入名称的一部分或十六进制代码,结果随输入实时更新。
  2. 列表太长时,可以按 TLS 版本或评级筛选。
  3. 点套件的 IANA 名称,查看它的详情页。

套件名怎么读

TLS 1.2 的名字包含四部分。TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 表示:ECDHE 密钥交换(提供前向安全)、RSA 证书认证、AES-128-GCM 加密(AEAD)、握手 PRF 用 SHA-256。

TLS 1.3 的名字(如 TLS_AES_128_GCM_SHA256)只包含 AEAD 算法和哈希,密钥交换(比如 X25519 或后量子混合的 X25519MLKEM768)和证书类型是单独协商的。

评级的含义

前向安全的密钥交换加 AEAD 加密是当前推荐的组合(RFC 9325)。CBC 模式和 RSA 密钥交换属于旧套件,老服务器上还能见到,新客户端用不到。RC4、3DES、出口级和 NULL 套件不安全,应该关闭。等保测评、漏洞扫描报告里提到的“弱密码套件”,多数就是这几类。要生成只启用安全套件的配置,用 TLS 配置生成器。

常见问题

OpenSSL 名称怎么换成 IANA 名称?

在这里搜 OpenSSL 名称就行;或者在装了 OpenSSL 的机器上执行 openssl ciphers -stdname -V,会列出本机 OpenSSL 支持的每个套件的两种名称和十六进制代码。

应该开启哪些套件?

TLS 1.3 用默认值即可。TLS 1.2 只开 ECDHE 密钥交换加 AES-GCM 或 ChaCha20-Poly1305,也就是 TLS 配置生成器中级档的列表。避免 CBC、RC4、3DES 和静态 RSA 密钥交换。

十六进制代码是什么?

是 ClientHello 和 ServerHello 里实际传输的两字节标识。抓包和部分日志里只显示这个代码,所以这里支持 0x13,0x01、0x1301、1301 等写法。

资料来源

  1. IANA TLS Cipher Suites 注册表
  2. RFC 8446: TLS 1.3(附录 B.4 密码套件)
  3. OpenSSL ciphers
  4. RFC 9325: TLS 安全使用建议