现代 TLS(TLS 1.2 / TLS 1.3)不使用单一“加密算法”,而是由密钥交换、身份认证、对称加密与完整性校验四类算法协同组成的密码套件(Cipher Suite)。浏览器与服务器协商时,必须双方都支持的套件才能完成 HTTPS 加密连接。未正确配置算法会导致握手失败、证书验证中断或被现代浏览器标记为“不安全”。
该结构决定了 HTTPS 加密强度与兼容性边界。
负责在不暴露密钥的前提下协商出共享密钥。TLS 1.2 支持 RSA、ECDHE、DHE;TLS 1.3 已废弃静态 RSA 和 DH,仅保留前向安全的 ECDHE(如 x25519、secp256r1)。生产环境中若仍启用 DHE(非椭圆曲线),需确保 DH 参数 ≥2048 位,否则 Chrome 会拒绝连接。ECDHE 是当前唯一推荐方案,也是 DV SSL证书 默认协商基础。
验证服务器(及可选客户端)身份,依赖数字签名。常见组合包括 RSA-SHA256、ECDSA-SHA384、EdDSA(Ed25519)。RSA 签名仍广泛用于传统证书,但 ECDSA 在国密SSL证书中更高效。注意:SHA-1 已被所有主流浏览器完全拒收,任何含 SHA-1 签名的证书链将导致“NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM”错误。
TLS 1.3 强制使用 AEAD(Authenticated Encryption with Associated Data)算法,如 AES-GCM(128/256)、ChaCha20-Poly1305。TLS 1.2 允许 CBC 模式(如 AES-CBC),但存在 POODLE、Lucky13 等漏洞风险,Nginx/Apache 官方已默认禁用。实际部署中,若需兼容 Windows Server 2008 R2 或 Android 4.4 以下设备,需谨慎保留 AES-CBC,但必须配合 TLS_FALLBACK_SCSV 防降级。
| 维度 | 参考标准 | 工程师建议 |
|---|---|---|
| 密钥交换 | TLS 1.3:仅 ECDHE;TLS 1.2:ECDHE/RSA/DHE | 禁用 DHE(除非有合规审计要求),优先 x25519;RSA 密钥长度 ≥2048 位 |
| 签名算法 | RFC 8446 要求 SHA-256+,禁止 MD5/SHA-1 | 新签发证书必须使用 SHA-256 或更高;EV SSL证书强制要求 SHA-256+ |
| 对称加密 | TLS 1.3:AES-GCM/ChaCha20;TLS 1.2:AES-GCM/CBC/RC4(已废弃) | 禁用 RC4、3DES、NULL 加密套件;OpenSSL 配置应包含 !aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!SRP:!CAMELLIA |
某金融客户曾因 Nginx 配置中残留 ssl_ciphers DEFAULT,导致部分 iOS 12 设备协商出 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA —— 该套件虽通过 PCI DSS 基础扫描,但触发 Safari 15 的“不推荐加密”警告。我们最终采用 ssl证书工具 扫描全站,并将 cipher suite 显式锁定为 ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256,问题彻底解决。真实生产环境永远要以浏览器实际行为为准,而非理论支持列表。
证书链中中间 CA 的签名算法也影响最终协商结果。例如,即使服务器证书是 ECDSA-SHA384,若中间证书由 RSA-SHA1 签发(如某些老旧 Digicert 中间件),Chrome 会直接终止连接。务必使用 SSL证书链下载 工具校验完整信任路径。
Q:TLS 1.3 还支持 RSA 密钥交换吗?
A:不支持。TLS 1.3 废除了所有静态密钥交换机制,RSA 仅可用于证书签名,密钥协商必须通过 ECDHE 完成,这是保障前向安全的硬性要求。
Q:为什么我的网站在 Firefox 正常,但在 Edge 报“SEC_ERROR_UNKNOWN_ISSUER”?
A:大概率是证书链缺失或中间 CA 未被 Windows 根存储信任。Edge 使用 Windows CryptoAPI,而 Firefox 使用自有 NSS 存储。建议用 DNS解析记录查询 验证 A/AAAA 记录无劫持,并重新部署完整证书链。
Q:国密SSL证书使用什么加密算法?
A:基于 SM2(非对称)、SM3(哈希)、SM4(对称加密),符合 GM/T 0024-2014 标准,需搭配国密 TLS 协议栈(如 OpenSSL 3.0+ 国密引擎),不兼容国际版 Chrome/Firefox,须使用支持 SM TLS 的浏览器或网关代理。
加密您的网站,赢得客户信任!