第 4 章 · 手推握手:两大协议现场


第 4 章 · 手推握手:两大协议现场

章节摘要:本章是全册的实操核心:把 TLS 1.3 与 Signal 两个当代主力协议逐条消息手推一遍——每条消息为什么存在、删掉会发生什么、它回应了第 3 章的哪个教训。随后把 TLS、Signal、Noise 与 IPSec/IKEv2 放上同一张桌子,从信任模型、前向保密、元数据暴露与部署成本四个维度做横向对比。读完你能对"选哪个协议"给出有论证的答案,而不只是复述口碑。

学习目标

读完本章,你应当能够:

  1. 徒手画出 TLS 1.3 完整握手的消息序列,说清每条消息携带的密码学材料与它防住的具体攻击;
  2. 解释 TLS 1.3 相对旧版本砍掉什么(静态 RSA 密钥传输、压缩、重协商)为何与安全直接相关;
  3. 手推 Signal 双棘轮的密钥链演化:DH 棘轮管什么、对称棘轮管什么,前向保密与自愈性分别由哪个机制兑现;
  4. 按信任模型、前向保密、元数据暴露、部署成本四个维度,给四个安全信道协议做有取舍论证的选型;
  5. 对一次真实部署(网站、应用内通信、设备间同步)给出协议建议,并说出所选方案不覆盖的威胁。

核心概念速览

本章浓缩成一句话:现代安全信道的设计公理只有一条——任何长期密钥的泄露都不应波及历史的与未来的会话;两个协议用完全不同的结构(分层协商与连续棘轮)兑现了同一条公理。

这张时序图是 4.1 节的骨架。请留意一个与直觉相反的细节:认证(验证证书、确认身份)发生在密钥协商的中途而不是之前——先交换材料、后认证身份,这个顺序正是当年中间人攻击教给行业的编排。

先约定手推记号,本章通用:A → B: 消息 表示 A 向 B 发送一条消息;{内容}K 表示用密钥 K 加密的内容;sigK(内容) 表示用密钥 K 对内容做的签名;H(内容) 表示哈希运算。手推纪律只有一条:每写下一行,必须答得出"敌手此刻知道什么、不知道什么"——答不出就停,那一行通常就是建模含糊的位置。另外交代两条章内路径:时间只够精读一节,选 4.1,它是消息级分析的完整样本;做消息类产品,4.2 优先,双棘轮的思路在多数端到端方案里都有影子。每节的删除实验是本章核心练习,务必动笔。

图 4-1 两大协议的握手骨架对比:分层协商与连续棘轮

图 4-1 两大协议的握手骨架对比:分层协商与连续棘轮

子章节导航

  • 4.1 TLS 1.3 握手逐条手推:从 ClientHello 到 Finished,每条消息的密码学材料、存在的理由、删除实验(删掉它会防不住哪个攻击),以及 1-RTT 与 0-RTT 的取舍——0-RTT 的重放窗口是面试与评审的高频坑。
  • 4.2 Signal 双棘轮与前向保密:把双棘轮拆成 DH 棘轮与对称棘轮两条线手推,讲清前向保密与自愈性分别在哪个动作上兑现,以及初始信任建立为什么是整个体系真正的软肋。
  • 4.3 四大安全信道协议横向对比:TLS、Signal、Noise 框架、IPSec/IKEv2 的四维对比表与选型决策树——不同场景的正确答案不同,本节给的是论证方法而非标准答案。

子章节之间的逻辑关系

三节是一条"纵深到横广"的展开:先在单协议里练手感(4.1),再进入结构更精巧的协议(4.2),最后跳出单个协议做横向比较(4.3)。4.1 与 4.2 的每一处设计都会回指第 3 章的案例——NS 的显式绑定、WEP 的原语条件、心脏出血的实现边界;4.3 的对比则回指第 2 章——选型差异的本质是信任模型与威胁模型的不同。

单协议手推(4.1) ──结构进阶──> 棘轮手推(4.2) ──视野拉开──> 横向对比选型(4.3) │ │ │ 练消息级手感 练结构级手感 练决策级判断 ​

前置知识与后续延伸

前置是 1.3 节的密钥协商演示(本章大量出现"由 DH 共享值派生密钥",不再重推数学)与第 3 章三个案例(本章反复引用)。往后看:第 5 章会把 4.1 的握手写成 ProVerif 模型——手推的每一步都将成为可机器验证的规则;6.1 的后量子迁移则是本章握手结构的又一次改写(临时密钥交换叠上格基算法)。本章是全册动手量最大的一章,建议边读边在纸上画消息序列。

作者与出处
原作者:灏天文库
来源:平台策划编纂
整理人: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U