第1章 背景介绍 1
1.1 历史背景 1
1.2 基于黑盒的安全协议分析 3
1.3 目的与方法 5
1.4 概要 5
1.4.1 协议分析模型 6
1.4.2 模型的应用 6
第2章 预备知识 7
2.1 集合与关系 7
2.2 巴科斯范式 8
2.3 符号变迁系统 8
第3章 操作语义 10
3.1 问题域分析 10
3.2 安全协议规范 13
3.2.1 角色项 14
3.2.2 协议规范 16
3.2.3 事件次序 18
3.3 协议执行描绘 20
3.3.1 回合 20
3.3.2 匹配 21
3.3.3 回合事件 23
3.3.4 威胁模型 24
3.4 操作语义 25
3.5 协议规范实例 27
3.6 思考题 28
第4章 安全属性 29
4.1 安全断言事件属性 29
4.2 机密性 30
4.3 认证 32
4.3.1 存活性 32
4.3.2 同步一致性 35
4.3.3 非单射同步一致性 37
4.3.4 单射同步一致性 38
4.3.5 消息一致性 39
4.4 认证继承关系 41
4.5 对NS协议的攻击和改进 44
4.6 总结 49
4.7 思考题 50
第5章 验证 52
5.1 模式 52
5.2 验证算法 58
5.2.1 良构模式 59
5.2.2 可达模式 59
5.2.3 空模式和冗余模式 60
5.2.4 算法概述 61
5.2.5 模式精炼 62
5.3 搜索空间遍历实例 66
5.4 使用模式精炼验证安全属性 70
5.5 启发式算法和参数选择 71
5.5.1 启发式算法 71
5.5.2 选择一个合适的回合数 74
5.5.3 性能 75
5.6 验证单射性 76
5.6.1 单射同步一致性 76
5.6.2 LOOP循环属性 79
5.6.3 模型假设 82
5.7 更多Scyther分析系统的特性 82
5.8 思考题 84
第6章 多协议攻击 85
6.1 多协议攻击概述 86
6.2 实验 86
6.3 测试结果 87
6.3.1 严格类型匹配:无类型缺陷 89
6.3.2 简单类型匹配:基本类型缺陷 90
6.3.3 无类型匹配:所有类型缺陷 90
6.3.4 攻击例子 90
6.4 攻击场景 92
6.4.1 协议更新 92
6.4.2 歧义性身份验证 94
6.5 预防多协议攻击 96
6.6 总结 97
6.7 思考题 97
第7章 基于NSL扩展的多方认证 98
7.1 一个多方身份认证协议 98
7.2 安全分析 101
7.2.1 初步检测 101
7.2.2 正确性证明 102
7.2.3 角色r0p的随机数机密性 105
7.2.4 初始化角色r0p的非单射同步一致性 106
7.2.5 非初始化角色rxp的随机数机密性 107
7.2.6 非初始化角色rxp的非单射同步一致性 107
7.2.7 所有角色的单射同步一致性 108
7.2.8 类型缺陷攻击 108
7.2.9 消息最小化 108
7.3 模式变体 109
7.4 弱多方认证协议 111
7.5 思考题 112
第8章 历史背景和进阶阅读 114
8.1 历史背景 114
8.1.1 模型 114
8.1.2 早期分析工具 114
8.1.3 逻辑 114
8.1.4 验证工具 115
8.1.5 多协议攻击 117
8.1.6 复杂度分析 117
8.1.7 符号化模型和计算模型之间的差异 117
8.1.8 消除安全分析和代码实现之间的差异 118
8.2 可选方法 119
8.2.1 建模框架 119
8.2.2 安全属性 120
8.2.3 验证工具 122
参考文献 125