第1章 安全协议实施安全性分析与验证现状 1
1.1 引言 1
1.2 能够获取安全协议客户端实施和安全协议服务器端实施 1
1.2.1 程序验证 1
1.2.2 模型抽取 3
1.3 仅能够获取安全协议客户端实施 6
1.3.1 网络轨迹 6
1.3.2 模型抽取 8
1.4 不能获取安全协议客户端实施和安全协议服务器端实施 10
1.4.1 指令序列 11
1.4.2 网络轨迹 16
1.4.3 流量识别 20
参考文献 39
第2章 Applied PI演算与其BNF范式 51
2.1 引言 51
2.2 Applied PI演算语法及语义 51
2.3 Applied PI演算BNF范式 55
参考文献 58
第3章 一阶定理证明器ProVerif及应用 59
3.1 引言 59
3.2 一阶定理证明器ProVerif 59
3.3 ProVerif的输入和输出 63
3.4 自动化分析OpenID Connect安全协议安全性 64
3.4.1 OpenID Connect安全协议 64
3.4.2 应用Applied PI演算对OpenID Connect安全协议形式化建模 67
3.4.3 利用Proverif验证OpenID Connect安全协议秘密性和认证性 70
3.4.4 分析结果 72
3.5 自动化分析PPMUAS身份认证协议安全性 73
3.5.1 PPMUAS身份认证协议 73
3.5.2 应用Applied PI演算对PPMUAS身份认证协议形式化建模 75
3.5.3 利用Proverif验证PPUMAS身份认证协议秘密性和认证性 78
3.5.4 分析结果 78
3.6 自动化分析改进的OpenID Connect安全协议认证性 81
3.6.1 改进的OpenID Connect安全协议 81
3.6.2 应用Applied PI演算对改进的OpenID Connect安全协议形式化建模 83
3.6.3 利用ProVerif验证改进的OpenID Connect安全协议认证性 87
3.6.4 分析结果 87
3.7 自动化分析Mynah安全协议认证性 91
3.7.1 Mynah安全协议 91
3.7.2 应用Applied PI演算对Mynah安全协议形式化建模 93
3.7.3 利用ProVerif验证Mynah安全协议认证性 95
3.7.4 分析结果 96
参考文献 97
第4章 概率进程演算Blanchet演算与其BNF范式 99
4.1 引言 99
4.2 Blanchet演算语法及语义 99
4.3 Blanchet演算BNF范式 106
参考文献 109
第5章 自动化安全协议证明器CryptoVerif及应用 110
5.1 引言 110
5.2 自动化安全协议证明器CryptoVerif 110
5.2.1 结构 110
5.2.2 证明目标 115
5.2.3 语法 117
5.3 自动化分析TLS 1.3 握手协议安全性 119
5.3.1 TLS 1.3 握手协议 119
5.3.2 应用Blanchet演算对TLS 1.3 握手协议形式化建模 121
5.3.3 利用CryptoVerif验证TLS 1.3 握手协议的秘密性和认证性 127
5.3.4 分析结果 131
参考文献 133
第6章 自动化抽取安全协议Blanchet演算实施模型 135
6.1 引言 135
6.2 Swift语言子集SubSwift语言及其BNF范式 136
6.3 Swift语言到Blanchet演算映射模型 139
6.4 Swift语言到Blanchet演算语句映射关系 141
6.5 Swift语言类型到Blanchet演算类型映射关系 144
参考文献 144
第7章 安全协议抽象规范模型生成工具Swift2CV 146
7.1 引言 146
7.2 Swift2CV架构 146
7.3 Swift2CV词法分析器 149
7.4 Swift2CV语法分析器 154
7.5 Swift2CV语法树遍历器 157
7.6 Swift2CV语法树注解器 163
7.7 Swift2CV使用手册 165
参考文献 166
第8章 典型安全协议Swift实施安全性分析 167
8.1 引言 167
8.2 OpenID Connect协议Swift实施安全性 168
8.2.1 OpenID Connect协议Swift实施 168
8.2.2 OpenID Connect协议Blanchet实施 171
8.3 Oauth2.0协议Swift实施安全性 173
8.4 TLS1.2 协议Swift实施安全性 174
参考文献 175
第9章 基于消息构造的安全协议实施安全性分析 176
9.1 引言 176
9.2 基于API trace的安全协议消息构造方法 177
9.2.1 Net-trace解析 178
9.2.2 API trace解析 180
9.2.3 Token定位 181
9.2.4 安全函数重构与消息构造 183
9.3 安全协议服务器端抽象模型生成 185
9.3.1 安全协议服务器端响应消息解析 185
9.3.2 安全协议服务器端抽象模型生成方法 186
9.4 基于消息构造的安全协议实施安全性分析方法 189
参考文献 191
第10章 安全协议实施安全性分析工具SPISA 192
10.1 引言 192
10.2 SPISA架构 193
10.3 SPISA Net-trace解析器 194
10.4 SPISA API trace解析器 195
10.5 SPISA Token定位器 196
10.6 SPISA安全函数重构器 197
10.7 SPISA服务器端模型生成器 198
10.8 SPISA测试 199
参考文献 200
第11章 典型认证系统安全性分析 201
11.1 引言 201
11.2 RSAAuth认证系统安全性分析 203
11.2.1 请求消息构造 203
11.2.2 服务器端抽象模型生成 206
11.2.3 分析结果 207
11.3 腾讯QQ邮件认证系统安全性分析 207
参考文献 208
第12章 基于网络轨迹的安全协议实施安全性分析 209
12.1 引言 209
12.2 安全协议实施本体架构 210
12.3 面向多个混合安全协议轨迹的安全协议格式逆向分析 212
12.3.1 轨迹分割 213
12.3.2 IF分布拟合 214
12.3.3 IF分类 214
12.3.4 轨迹聚类 216
12.3.5 格式推断 216
12.4 安全协议轨迹到安全协议实施本体的映射方法 216
12.4.1 预处理 218
12.4.2 Token匹配 218
12.4.3 Msg匹配方法 218
12.4.4 Flow匹配方法 220
12.5 基于网络轨迹的安全协议实施安全性分析方法 221
12.6 讨论 223
参考文献 224
第13章 安全协议实施安全性分析工具NTISA 226
13.1 引言 226
13.2 NTISA架构 226
13.3 格式解析器FA 227
13.3.1 Token分割模块 227
13.3.2 曲线拟合模块 228
13.3.3 字符分类模块 229
13.3.4 轨迹分类模块 229
13.3.5 协议格式推断模块 230
13.4 语义解析器SA 230
13.4.1 安全协议实施本体模块 231
13.4.2 Token匹配模块 231
13.4.3 Msg匹配模块 232
12.4.4 Flow匹配模块 233
13.5 实施安全分析器ISA 233
13.5.1 轨迹标记模块 234
13.5.2 映射分析模块 234
13.5.3 非本体Token分析模块 235
参考文献 235
第14章 某认证平台安全协议实施安全性分析 236
14.1 引言 236
14.2 数据获取 236
14.3 格式解析 237
14.3.1 Token分割 237
14.3.2 曲线拟合 237
14.3.3 字符与轨迹分类 238
14.3.4 协议格式推断 239
14.3.5 语义解析 241
14.3.6 安全协议实施本体构造 242
14.3.7 Token权值计算 243
14.3.8 Msg匹配 245
14.3.9 Flow匹配 246
14.4 分析结果 248
参考文献 249