前向保密与临时密钥交换
理解 PFS、DHE 与 ECDHE,以及临时密钥为何重要
前向保密与临时密钥交换 是 CoddyKit 上的免费 Cryptology Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cryptology Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cryptology Academy 课程共包含 4 节课。
欢迎
前向保密可以确保:即使长期密钥遭到泄露,过去的会话仍然安全。如今,大多数安全标准都要求具备这一特性。
什么是前向保密
完美前向保密(PFS):长期密钥遭到泄露,并不会允许攻击者解密此前记录的流量。每个会话都使用全新的临时密钥,并在使用后销毁。
没有 PFS 的 TLS 1.2 为什么不安全
TLS 1.2 的 RSA 密钥交换存在这样的风险:攻击者多年来持续记录加密流量,之后窃取服务器的 RSA 私钥。这样一来,攻击者就能追溯解密所有已存储的会话。NSA 的 PRISM 计划正是出于这一原因而存储流量。
临时 Diffie-Hellman(DHE)
DHE:每个参与方都会为每个会话生成全新的 DH 密钥。会话密钥经过派生后用于通信。双方在握手完成后都会删除临时私钥。长期密钥仅用于身份验证。
ECDHE:椭圆曲线 DHE
ECDHE = 临时 ECDH。对于每个 TLS 会话:生成全新的 EC 密钥对 → 交换 → 派生会话密钥 → 删除私钥。它是 TLS 1.3 中的主流方案。在相同安全性下,速度约为 DHE 的 10 倍。
TLS 1.3 强制要求 PFS
TLS 1.3 要求使用临时密钥交换。所有密码套件都使用 ECDHE 或 DHE。RSA 密钥交换已被完全移除。0-RTT(早期数据)是唯一的 PFS 例外。
0-RTT 及其权衡
TLS 1.3 的 0-RTT 会在握手完成前发送数据。它使用预共享会话票据——无需重新进行密钥交换即可恢复会话。这样以牺牲重放保护和严格的前向保密性为代价,换取单轮延迟。
SSH 中的前向保密性
SSH 在密钥交换(密钥交换过程)期间使用临时 DH/ECDH。主机密钥用于验证服务器身份。会话密钥由临时密钥交换派生,并在会话结束后丢弃。PFS 是内置的。
双棘轮算法
Signal 协议使用双棘轮:初始 ECDH 之后,每条消息都会推进棘轮并派生新密钥。每条消息都具备前向保密性和入侵后恢复能力(未来保密性)。
HSM 与长期密钥保护
即使使用 PFS,保护长期身份验证密钥仍然很重要。它们用于证明服务器身份,而不是用于加密。HSM 可确保私钥无法导出,即使服务器 OS 已遭到入侵。
在您的服务器上验证 PFS
使用 OpenSSL 检查:
openssl s_client -connect yoursite.com:443 -cipher 'ECDHE'
或者在线检查:Qualys SSL Labs(ssllabs.com/ssltest)会评估您的 TLS 配置,并专门测试前向保密性。
快速检查
与静态 RSA 密钥交换不同,ECDHE 为什么能够提供前向保密性?
回顾
前向保密性是现代安全性的基础。接下来我们将深入研究 RSA 安全性——教科书式漏洞和填充方案。
常见问题解答
「前向保密与临时密钥交换」课时是免费的吗?
是的 — 「前向保密与临时密钥交换」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cryptology Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cryptology Academy 课程共包含 4 节课。
「前向保密与临时密钥交换」这节课中我会学到什么?
理解 PFS、DHE 与 ECDHE,以及临时密钥为何重要 你通过在浏览器中直接运行的动手代码来练习 Cryptology Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cryptology Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cryptology Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「前向保密与临时密钥交换」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cryptology Academy 课中编写并运行代码吗?
能。每节 Cryptology Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 密钥分发问题
- Diffie-Hellman 密钥交换数学
- ECDH:用于密钥交换的椭圆曲线
- 前向保密与临时密钥交换