第1章 概述 1
1.1 网络安全协议的引入 1
1.1.1 TCP/IP协议族中普通协议的安全缺陷 2
1.1.2 网络安全需求 7
1.2 网络安全协议的定义 9
1.3 构建网络安全协议所需的组件 10
1.3.1 加密与解密 10
1.3.2 消息摘要 12
1.3.3 消息验证码 13
1.3.4 数字签名 14
1.3.5 密钥管理 14
1.4 构建一个简单的安全消息系统 18
1.5 影响网络安全协议设计的要素 20
1.5.1 应用的考虑 20
1.5.2 协议栈层次的影响 21
1.5.3 安全性考虑 23
小结 24
思考题 24
第2章 链路层扩展L2TP 26
2.1 引言 26
2.2 点到点协议PPP 27
2.2.1 协议流程 27
2.2.2 帧格式 29
2.3 认证协议PAP和CHAP 34
2.3.1 PAP 34
2.3.2 CHAP 34
2.4 L2T P 35
2.4.1 L2TP架构 36
2.4.2 L2TP协议流程 38
2.4.3 L2TP报文 45
2.5 安全性分析 51
2.6 L2TPv3与L2TPv2的区别 52
2.7 应用 52
小结 53
思考题 53
第3章 IP层安全IPsec 55
3.1 引言 55
3.1.1 历史及现状 56
3.1.2 IPsec提供的安全服务 57
3.1.3 在IP层实现安全的优势与劣势 57
3.1.4 IPsec组成 58
3.1.5 安全策略 60
3.1.6 IPsec协议流程 64
3.2 ISAKMP 65
3.2.1 协商与交换 66
3.2.2 报文及载荷 69
3.3 IKE 83
3.3.1 SA协商 84
3.3.2 模式 88
3.3.3 报文与载荷 94
3.3.4 IKE与ISAKMP比较 96
3.3.5 IKEvl与IKEv2对比 97
3.4 认证首部AH 106
3.5 封装安全载荷ESP 108
3.6 IPsecv2与IPsecv3的差异 109
3.7 IPsec应用 110
3.7.1 典型应用 110
3.7.2 实现方式 112
3.7.3 模拟分析 112
小结 113
思考题 114
第4章 传输层安全SSL和TLS 115
4.1 引言 115
4.1.1 SSL的设计目标 116
4.1.2 历史回顾 116
4.2 SSLv3协议流程 119
4.2.1 基本协议流程 120
4.2.2 更改密码规范协议 122
4.2.3 Finished消息 123
4.2.4 警告协议 124
4.2.5 其他应用 124
4.3 密钥导出 128
4.4 SSLv3 记录 130
4.4.1 规范语言 130
4.4.2 数据处理过程 133
4.4.3 消息格式 135
4.5 TLS与SSLv3的比较 143
4.6 SSLv2简介 149
4.6.1 SSLv2与SSLv3的差异 149
4.6.2 SSLv2握手流程 150
4.6.3 记录格式 153
4.6.4 握手消息 153
4.6.5 性能分析 154
4.7 SSL应用 154
4.7.1 利用SSL保护高层应用安全 155
4.7.2 基于SSL的安全应用开发 158
4.7.3 SSL协议分析 159
小结 159
思考题 160
第5章 会话安全SSH 161
5.1 SSH历史及现状 161
5.2 SSH功能及组成 162
5.3 SSH数据类型 163
5.4 SSH方法及算法描述 164
5.5 SSH传输协议 165
5.5.1 协议流程 165
5.5.2 报文格式 174
5.5.3 共享秘密获取方式的扩展 174
5.6 SSH身份认证协议 175
5.6.1 概述 175
5.6.2 公钥认证方法 177
5.6.3 口令认证方法 179
5.6.4 基于主机的认证方法 180
5.6.5 提示功能 181
5.6.6 键盘交互式认证方法 181
5.7 SSH连接协议 187
5.7.1 基本通道操作 188
5.7.2 交互式会话通道操作 192
5.7.3 TCP/IP端口转发通道操作 197
5.8 SSH应用 200
5.8.1 SFTP 200
5.8.2 基于SSH的VPN 201
5.8.3 SSH产品 202
小结 203
思考题 204
第6章 代理安全Socks 205
6.1 代理 205
6.2 Socks框架 207
6.2.1 CONNECT命令处理过程 207
6.2.2 BIND命令处理过程 208
6.3 Socks4 210
6.3.1 CONNECT请求及状态应答消息 210
6.3.2 BIND请求及状态应答消息 211
6.4 Socks5 212
6.4.1 身份认证扩展 212
6.4.2 请求/应答过程及寻址方法扩展 213
6.4.3 UDP支持 214
6.5 GSSAPI 216
6.5.1 CSSAPI简介 216
6.5.2 Socks5 GSSAPI 217
6.6 Socks应用 224
6.6.1 Socks客户端 224
6.6.2 基于Socks的lPv4/IPv6网关 224
小结 226
思考题 226
第7章 网管安全SNMPv3 228
7.1 SNMP概述 228
7.1.1 历史及现状 229
7.1.2 SNMPv3提供的安全服务 230
7.2 SNMP体系简介 230
7.2.1 MIB 231
7.2.2 SNMPvl消息格式 234
7.3 SNMPv3体系结构 235
7.3.1 SNMP引擎 235
7.3.2 SNMP应用 236
7.4 SNMPv3消息及消息处理模型v3MP 240
7.4.1 消息格式 240
7.4.2 ScopedPDU 241
7.5 USM 247
7.5.1 USM安全机制 247
7.5.2 USM流程 257
7.6 VACM 260
7.6.1 VACM要素 260
7.6.2 VACM管理对象 262
7.6.3 认证流程 264
7.7 序列化 267
7.7.1 数据类型 267
7.7.2 TLV三元组 268
7.7.3 SNMPv3报文序列化 270
7.8 SNMPv3应用 272
小结 272
思考题 274
第8章 认证协议Ke rberos 275
8.1 历史及现状 275
8.2 Kerberos所应对的安全威胁 276
8.3 Kerberos协议 277
8.3.1 思想 277
8.3.2 流程 281
8.3.3 Kerberos跨域认证 282
8.3.4 U2U认证 283
8.4 Kerberos票据和认证符 284
8.4.1 选项和标志 284
8.4.2 票据构成 286
8.4.3 认证符 288
8.5 Kerberos消息 288
8.5.1 消息构成 289
8.5.2 消息交换 297
8.6 Kerberos消息格式 305
8.6.1 基本数据类型 306
8.6.2 票据格式 309
8.6.3 认证符格式 311
8.6.4 Kerberos消息 311
8.7 Kerberos加密和计算校验和的规范 316
8.7.1 配置文件 316
8.7.2 示例 320
8.8 Kerberos应用 325
8.8.1 KDC发现 325
8.8.2 Kerberos GSSAPI 326
8.8.3 Kerberos实现 330
8.9 Windows认证机制 330
8.9.1 Windows网络模型 331
8.9.2 NTLM 331
8.9.3 Windows认证模型 332
8.9.4 Windows Kerberos 334
小结 335
思考题 336
第9章 应用安全 338
9.1 DNS安全DNSsec 338
9.1.1 DNS回顾 338
9.1.2 DNS面临的安全威胁 341
9.1.3 DNSsec回顾 343
9.1.4 DNSsec思想 343
9.1.5 密钥使用 344
9.1.6 DNSsec资源记录 345
9.1.7 DNSsec对DNS的更改及扩充 349
9.1.8 DNSsec应用 351
9.2 Web安全SHTTP 352
9.2.1 HTTP回顾 352
9.2.2 SHTTP思想 354
9.2.3 SHTTP应用 355
9.2.4 封装 355
9.2.5 SHTTP选项 362
9.2.6 SHTTP报文格式 367
9.2.7 示例 369
小结 372
思考题 373
缩略语表 374
参考文献 382