章节摘要:本章是全册方法的第一次综合演练。三个案例按同一套解剖程序展开——先写出它当初声称的安全命题,再走一遍攻方思路的逻辑链,然后定位命题的哪个要素被击穿,最后复盘防御设计如何因此改写。Needham-Schroeder 案例展示协议逻辑层的缝隙如何潜伏十七年,WEP 案例展示密码原语误用如何让整条产品线失守,心脏出血案例展示实现层的裂缝如何让理论安全一夜归零。读完你能独立用这套程序解剖任何一起新的安全事件。
读完本章,你应当能够:
三个案例合并成一句话:命题的每一要素——敌手前提、系统假设、不可行陈述——都曾被人真实地击穿过,而且击穿它的从来不是"算力不够"这种浪漫理由,而是逻辑缝隙、原语误用与实现裂缝这些平淡的疏忽。
三节是同一套解剖程序在三个不同层的重复演练:3.1 在协议逻辑层,3.2 在原语使用层,3.3 在实现层。顺序刻意从"最学术"排到"最工程"——先看最纯粹的逻辑漏洞(它对模型的依赖最清晰),再看原语误用(模型对了一半),最后看实现事故(模型完全无能为力的辖区)。三层走完,你对 2.1 节"符号模型辖区"的理解会从概念变成体感。
逻辑层失守(3.1) ──同一解剖程序──> 原语层失守(3.2) ──同一解剖程序──> 实现层失守(3.3) │ │ │ 消息拼接的缝隙 原语误用的级联 代码边界的裂缝 教训: 显式绑定 教训: 机制不得拼凑 教训: 理论不豁免实现

安全史上的著名事件远不止三起,选这三起做解剖教学,标准有三。其一,层次覆盖:三起分别落在协议逻辑层、密码原语层与实现层,对应第 1 章分层图的三个不同高度——你会在每个高度各做过一次俯瞰,而不是在同一层反复打转。其二,教训可迁移:NS 的"显式绑定"如今长成了 TLS 1.3 的转录签名,WEP 的"机制拼凑"演成了今天评审里否决自定义加密方案的理由,心脏出血的"实现审计"则催生了整套内存安全议程——三条教训都活着,都能映射到你明天的工作。其三,复盘材料完整:三起都有公开的攻击描述、后续的协议修订与社区讨论,你可以拿本册的解剖程序去核验每一步,而不是听凭转述。
落选的案例也交代一句:各类凭证泄露事件的主因多在运营与口令策略,协议层能做的有限,放进本章会模糊"协议分析"的边界——它们在 6.3 节以案号形式出场。案例教学的纪律是少而透:三起吃透,胜过三十起听过。
本章需要第 1 章的四要素拆解(每节开场都会用)与 2.1 节的四项敌手能力(每个攻击思路都能对应到其中某项)。读完本章,第 4 章的手推握手会带着这些案例的"抗体"进行——你会发现 TLS 1.3 的每一个设计决定几乎都能对应到某个历史案例的某个教训;第 5 章的机器验证则会回答一个本章悬置的问题:NS 这类逻辑缝隙,能不能在发表当年就被机器找出来(能,这正是形式化方法的价值所在)。