首页/网络/抓包与流量分析速查/密码套件列表判读
应用层报文判读71 条

密码套件列表判读

ClientHello 提供的套件列表与 ServerHello 的选中项:出现弱套件告警或"无共同套件"握手失败时,对照两端列表定位。

密码套件是什么

密码套件(Cipher Suite)是一组算法的编号标识,把密钥交换、身份认证、对称加密、完整性校验四件事打包在一起。ClientHello 携带一个套件列表(TLS 1.2 里按客户端偏好排序,TLS 1.3 只有固定的几个 TLS_AES_* 与 TLS_CHACHA20_* 套件且不排序),ServerHello 用单个字段给出选中项。协商结果就是「客户端列表与目标服务端列表的交集」,交集为空时握手直接失败。

基本信息

关键字段tls.handshake.ciphersuite(选中)、tls.handshake.ciphersuites(列表)
1.3 套件名TLS_AES_128_GCM_SHA256、TLS_CHACHA20_POLY1305_SHA256 等,共五个
1.2 命名结构TLS_密钥交换_认证_WITH_加密_哈希
适用平台Wireshark 4.x / tshark,Linux 与 Windows 表现一致

典型使用场景

  • 合规核查:等保与 PCI DSS 要求消除 RC4、3DES、CBC 类弱套件
  • 定位握手失败:客户端与服务端套件无交集时表现为 handshake_failure(40)
  • 核对负载均衡:确认前端与后端各自实际选用的套件是否一致
  • 排查「证书有效却握手失败」:套件要求的认证算法与证书类型不匹配
  • 升级前后对比:留一份选定套件的基线,验证加固配置真的生效

命令行核对

命令行核对
tshark -r t.pcap -Y "tls.handshake.type==2 && tls.handshake.ciphersuite" -T fields -e ip.src -e tls.handshake.ciphersuite
# 服务端选中项:一行一个目标,便于逐台比对
tshark -r t.pcap -Y "tls.handshake.type==1" -T fields -e ip.src -e tls.handshake.ciphersuites
# 客户端提供的列表,用于判断交集是否为空
tshark -r t.pcap -Y "tls.alert_message.desc==40" # 无共同套件时的典型告警

套件名分段读法

片段含义判读要点
TLS_协议族前缀1.3 与 1.2 前缀相同,不能据此区分版本
ECDHE / RSA / DHE密钥交换方式ECDHE、DHE 支持前向保密,纯 RSA 密钥交换已不推荐
RSA / ECDSA认证与签名算法必须与证书类型匹配,否则列表有交集也会失败
AES_128_GCM / CHACHA20_POLY1305对称加密与模式AEAD 模式优先,CBC 已属待淘汰
SHA256 / SHA384PRF 与完整性哈希SHA1 及以下视为弱
WITH 之后1.3 无此结构1.3 套件不描述密钥交换与认证
TLS 1.3 与 1.2 的套件名不可直接比较:1.3 的五个套件不包含密钥交换与认证信息,这两项在 1.3 里由 supported_groups 与签名算法扩展分别协商,统计时必须按版本分开。
客户端侧抓到的套件列表不等于服务端收到的列表。老式负载均衡、防火墙、代理会裁剪或重排套件,排查「明明有交集却失败」时要在两侧同时抓包比对。

加固检查清单

  • 禁用 RC4、3DES、DES 与所有 NULL 加密套件
  • 优先只留 AEAD 套件:AES-GCM 与 ChaCha20-Poly1305
  • 密钥交换优先 ECDHE,兼顾前向保密与性能
  • 认证算法与证书类型对齐,避免配置了 ECDSA 套件却只挂 RSA 证书
  • 保留一份抓包基线,加固后用同一批客户端复测对比

易错点

  • 只看套件名里的加密算法判断强度:密钥交换与认证算法同样决定强弱,必须四要素一起看
  • 直接比较客户端抓包与服务端配置:中间设备会裁剪列表,结论可能完全相反
  • 只比套件不看证书:认证算法与证书类型不匹配时,即使列表有交集也会握手失败
  • 把 1.3 与 1.2 的套件名混在一张表里统计:命名规则不同,占比会失真
  • 看到 handshake_failure(40) 就断定是套件问题:版本、签名算法、SNI 都会产生同一个告警码,需要逐项排除

数据来源与参考

  • RFC 8446(套件)
  • RFC 5246
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌