0Pricing
Cyber Security Academy · 课时

密码套件

协商加密方式

密码套件 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。

什么是加密套件?

加密套件是多个加密算法的命名组合,TLS 连接会一起使用这些算法。

在握手期间,客户端和服务器会从共享列表中协商要使用的套件。

套件名称的组成

TLS 1.2 套件名称将多个算法组合在一起。

例如:ECDHE_RSA_WITH_AES_128_GCM_SHA256。

  • ECDHE = 密钥交换
  • RSA = 身份验证
  • AES_128_GCM = 批量加密
  • SHA256 = 消息认证 / PRF

密钥交换组件

密钥交换算法决定如何建立共享秘密。

  • ECDHE和DHE提供前向保密。
  • 静态RSA密钥交换(旧式,已在 TLS 1.3 中移除)不提供前向保密。

身份验证组件

身份验证算法用于证明服务器身份,并与其证书的密钥类型相关联。

  • RSA证书使用 RSA 签名。
  • ECDSA证书使用椭圆曲线签名,这类签名更小且速度更快。

批量加密

批量加密算法用于加密实际的应用程序数据。

  • AES-GCM和ChaCha20-Poly1305是现代 AEAD 加密算法。
  • 较旧的CBC模式更弱,正在逐步淘汰。

AEAD 加密算法

像 AES-GCM 这样的AEAD(带关联数据的认证加密)算法,可以在一步操作中同时提供加密和完整性保护。

TLS 1.3 要求使用 AEAD,从而消除了旧模式中的一类与填充相关的攻击。

TLS 1.3 的简化套件

TLS 1.3 的加密套件名称短得多,因为密钥交换和身份验证是分别协商的。

例如:TLS_AES_128_GCM_SHA256只命名了批量加密算法和哈希算法。

列出可用的加密套件

您可以列出当前 OpenSSL 构建所支持的加密套件。

openssl ciphers -v 'HIGH:!aNULL:!MD5'

协商顺序

服务器通常会选择加密套件。启用服务器加密套件偏好后,服务器会选择双方支持的最强套件,而不是让客户端决定。

这样可以防止客户端引导连接使用较弱的加密算法。

ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';

选择安全的加密套件

安全配置的最佳实践:

  • 要求使用前向保密(ECDHE/DHE)。
  • 使用AEAD加密算法(GCM 或 ChaCha20)。
  • 禁用RC4、3DES 和 CBC等旧式加密算法。
  • 仅优先使用TLS 1.2 和 1.3。

测试您的配置

测试服务器实际协商出的结果,包括它接受或拒绝的加密套件。

nmap --script ssl-enum-ciphers -p 443 example.com

快速检查

在套件 ECDHE_RSA_WITH_AES_128_GCM_SHA256 中,哪一部分提供了前向保密?

总结

您了解到加密套件包含密钥交换、身份验证、批量加密和哈希算法。

  • ECDHE提供前向保密。
  • 像 AES-GCM 这样的AEAD加密算法可以同时保护数据和完整性。
  • TLS 1.3 使用简化的套件名称。

接下来,我们将重点验证服务器的证书。

常见问题解答

「密码套件」课时是免费的吗?

是的 — 「密码套件」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。

「密码套件」这节课中我会学到什么?

协商加密方式 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cyber Security Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「密码套件」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cyber Security Academy 课中编写并运行代码吗?

能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. TLS 握手
  2. 密码套件
  3. 证书验证
  4. 常见 TLS 攻击
← 返回 Cyber Security Academy