SSL/TLS 的演进
在学习SSL和TLS握手过程中书上计算机网络自顶向下的方法和博客文章总会有一些出入和矛盾点让我摸不着头脑所以我通过 AI 对 SSL 和 TLS 各个版本握手模式进行了总结希望帮到大家SSL/TLS 的演进史本质上是一部“安全性”与“性能”不断博弈的进化史。为了方便记忆和面试我将其总结为版本演进、密钥交换演进和加密模式演进三个维度。1. 协议版本演进从诞生到“大繁至简”版本发布年份地位与现状核心改进 / 变化SSL 1.0/2.01994/95已废弃初始尝试存在严重设计缺陷如中间人攻击。SSL 3.01996已废弃互联网安全的基础。后因 POODLE 漏洞被彻底停用。TLS 1.01999已废弃SSL 3.1 的升级版标准化的开始。TLS 1.12006逐渐退出增强了防御 CBC 模式攻击的能力引入显式 IV。TLS 1.22008当今主流里程碑版本。引入 SHA-256支持AEAD模式是目前应用最广的版本。TLS 1.32018未来标准大刀阔斧的改革。砍掉废旧算法1-RTT 握手强制前向安全安全性与速度质变。2. 密钥交换模式演进从“传输”到“协商”这是决定“对称密钥如何产生”的关键RSA 时代TLS 1.2 以前的主流机制客户端生成密钥用服务器公钥加密发送。槽点不支持前向安全 (Forward Secrecy)。一旦服务器私钥泄露历史记录全部玩完。DH / DHE 时代过渡期机制双方交换参数计算密钥不传输密钥本身。槽点纯 DH 计算量巨大导致服务器 CPU 负载极高。ECDHE 时代TLS 1.2 主流 TLS 1.3 唯一机制椭圆曲线版的 DH。优势前向安全 性能极佳。它是目前 HTTPS 的标配方案。3. 加密与完整性模式演进从“分两步”到“合一”这是你之前看书MtE和学到 AEAD 产生矛盾的地方阶段一MtE (MAC-then-Encrypt) —— 《自顶向下》教材版逻辑1. 算 MAC2. 填充 Padding3. 加密。痛点容易受到 Padding Oracle 攻击。接收方必须解密后才能验证 MAC给了黑客通过报错时间差猜测明文的机会。阶段二EtM (Encrypt-then-MAC) —— 修补版逻辑1. 加密2. 对密文算 MAC。改进接收方先看 MAC不对直接丢弃不给黑客解密报错的机会。阶段三AEAD (认证加密) —— 现代版代表AES-GCM, ChaCha20-Poly1305。逻辑加密的同时计算认证标签Tag。改进彻底抛弃独立的 MAC 密钥。不仅更安全且硬件加速效率极高不再需要复杂的“切四片密钥”逻辑。4. 总结现在的 TLS 1.3 剩下了什么为了彻底安全TLS 1.3 像一个“洁癖者”把不干净的、慢的全部砍掉了砍掉 RSA 密钥交换强制使用 ECDHE保证每一条流量都具备前向安全。砍掉所有非 AEAD 算法不再支持分步的 MAC 计算只有 AES-GCM 等高效 AEAD。砍掉握手往返从 2-RTT 压缩到 1-RTT甚至 0-RTT重连。最经典的TLS 1.2 RSA CBC(MtE)模式最能体现“公钥解密、私钥解密”和“分层校验”的教科书逻辑。而现代工业界TLS 1.3为了性能和安全已经把这些逻辑封装或合并了。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2535065.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!