第1章 计算机攻击与计算机安全 1
1.1概述 1
1.2安全需求 1
1.2.1基本概念 1
1.2.2攻击的现代性 2
1.3安全方法 4
1.3.1可信系统 4
1.3.2安全模型 4
1.3.3安全管理实务 5
1.4安全性原则 5
1.4.1保密性 6
1.4.2认证 6
1.4.3完整性 6
1.4.4不可抵赖性 7
1.4.5访问控制 7
1.4.6可用性 8
1.5攻击类型 8
1.5.1一般意义上的攻击 8
1.5.2技术角度的攻击概念 10
1.5.3实际的攻击 12
1.5.4攻击程序 12
1.5.5对付病毒 14
1.5.6特定攻击 16
1.6本章小结 20
1.7实践练习 20
1.7.1多项选择题 20
1.7.2练习题 21
1.7.3设计与编程 22
第2章 密码技术 23
2.1概述 23
2.2明文与密文 24
2.3替换加密技术 26
2.3.1凯撒加密法 26
2.3.2凯撒加密法的改进版本 27
2.3.3单码加密法 29
2.3.4同音替换加密法 29
2.3.5块替换加密法 29
2.3.6多码替换加密法 30
2.3.7 Playfair加密法 30
2.3.8希尔加密法 35
2.4变换加密技术 37
2.4.1栅栏加密技术 37
2.4.2简单分栏式变换加密技术 37
2.4.3 Vernam加密法 39
2.4.4书加密法/运动密钥加密法 40
2.5加密与解密 40
2.6对称与非对称密钥加密 42
2.6.1对称密钥加密与密钥发布问题 42
2.6.2 Diffie-Hellman密钥交换协议/算法 44
2.6.3非对称密钥操作 49
2.7夹带加密法 51
2.8密钥范围与密钥长度 51
2.9攻击类型 54
2.10案例研究:拒绝服务攻击 57
2.11本章小结 59
2.12实践练习 60
2.12.1多项选择题 60
2.12.2练习题 61
2.12.3设计与编程 61
第3章 对称密钥算法与AES 63
3.1概述 63
3.2算法类型与模式 63
3.2.1算法类型 63
3.2.2算法模式 66
3.3对称密钥加密法概述 72
3.4数据加密标准 73
3.4.1背景与历史 73
3.4.2 DES的工作原理 73
3.4.3 DES的变体 81
3.5国际数据加密算法 84
3.5.1背景与历史 84
3.5.2 IDEA的工作原理 85
3.6 RC4 89
3.6.1背景与历史 89
3.6.2算法描述 90
3.7 RC5 92
3.7.1背景与历史 92
3.7.2 RC5工作原理基本原理 92
3.7.3 RC5的模式 97
3.8 Blowfish 98
3.8.1简介 98
3.8.2操作 98
3.9高级加密标准 101
3.9.1简介 101
3.9.2操作 102
3.9.3一次性初始化处理 103
3.9.4每轮的处理 107
3.10案例研究:安全的多方计算 110
3.11本章小结 111
3.12实践练习 112
3.12.1多项选择题 112
3.12.2练习题 113
3.12.3设计与编程 114
第4章 基于计算机的非对称密钥算法 115
4.1概述 115
4.2非对称密钥加密简史 115
4.3非对称密钥加密概述 116
4.4 RSA算法 118
4.4.1简介 118
4.4.2 RSA示例 118
4.4.3了解RSA的关键 120
4.4.4 RSA的安全性 120
4.5 ElGamal加密 122
4.5.1 ElGamal密钥生成 122
4.5.2 ElGamal密钥加密 122
4.5.3 ElGamal密钥解密 122
4.6对称与非对称密钥加密 123
4.6.1对称与非对称密钥加密比较 123
4.6.2两全其美 123
4.7数字签名 126
4.7.1简介 126
4.7.2消息摘要 128
4.7.3 MD5 131
4.7.4安全散列算法 138
4.7.5 SHA-512 141
4.7.6 SHA-3 143
4.7.7消息认证码 143
4.7.8 HMAC 144
4.7.9数字签名技术 148
4.8背包算法 151
4.9 ElGamal数字签名 151
4.9.1签名过程 152
4.9.2验证过程 152
4.10对数字签名的攻击 152
4.11公钥交换的问题 153
案例研究1:虚拟选举 154
案例研究2:合同签署 155
4.12本章小结 156
4.13实践练习 157
4.13.1多项选择题 157
4.13.2练习题 158
4.13.3设计与编程 158
第5章 公钥基础设施 160
5.1概述 160
5.2数字证书 160
5.2.1简介 160
5.2.2数字证书的概念 161
5.2.3证书机构 162
5.2.4数字证书技术细节 162
5.2.5生成数字证书 164
5.2.6为何信任数字证书 169
5.2.7证书层次与自签名数字证书 172
5.2.8交叉证书 175
5.2.9证书吊销 175
5.2.10证书类型 182
5.3私钥管理 183
5.3.1保护私钥 183
5.3.2多个密钥对 183
5.3.3密钥更新 184
5.3.4密钥存档 184
5.4 PKIX模型 184
5.4.1 PKIX服务 184
5.4.2 PKIX体系结构模型 185
5.5公钥加密标准 186
5.5.1简介 186
5.5.2 PKCS # 5:基于口令加密标准 187
5.5.3 PKCS # 8:私钥信息语法标准 188
5.5.4 PKCS # 10:证书请求语法标准 189
5.5.5 PKCS # 11:加密令牌接口标准 189
5.5.6 PKCS # 12:个人信息交换语法 189
5.5.7 PKCS # 14:伪随机数生成标准 189
5.5.8 PKCS # 15:加密令牌信息语法标准 191
5.6 XML、PKI与安全 191
5.6.1 XML加密 191
5.6.2 XML数字签名 193
5.6.3 XML密钥管理规范 194
5.7用Java创建数字签名 195
案例研究:交叉网站脚本攻击 200
5.8本章小结 202
5.9实践练习 203
5.9.1多项选择题 203
5.9.2练习题 204
5.9.3设计与编程 204
第6章 Internet安全协议 206
6.1概述 206
6.2基本概念 206
6.2.1静态Web页面 206
6.2.2动态Web页面 208
6.2.3活动Web页面 208
6.2.4协议与TCP/IP 209
6.2.5分层组织 211
6.3安全套接层 212
6.3.1简介 212
6.3.2 SSL在TCP/IP协议中的位置 212
6.3.3 SSL工作原理 212
6.3.4关闭与恢复SSL连接 219
6.3.5 SSL的缓冲区溢出攻击 220
6.4传输层安全 220
6.5安全超文本传输协议 221
6.6安全电子事务规范 221
6.6.1简介 221
6.6.2 SET参与者 222
6.6.3 SET过程 222
6.6.4 SET如何达到目的 224
6.6.5 SET技术内幕 224
6.6.6 SET结论 229
6.6.7 SET模型 230
6.7 SSL与SET 231
6.8 3D安全协议 231
6.8.1概述 232
6.8.2幕后情形 233
6.9电子邮件安全性 234
6.9.1简介 234
6.9.2隐私增强型邮件协议 236
6.9.3 PGP 239
6.9.4安全多用途Internet邮件扩展 246
6.9.5域密钥身份识别邮件 250
6.10无线应用程序协议安全性 251
6.10.1简介 251
6.10.2 WAP堆栈 251
6.10.3安全层:无线传输层安全 252
6.11 GSM安全性 253
6.12 3G安全性 255
6.13 IEEE 802.11安全性 257
6.13.1有线等效保密协议 257
6.13.2 IEEE 802.11认证 257
6.13.3 Wi-Fi受保护接入 259
6.14链路安全与网络安全 260
案例研究1:内部分支支付交易的安全防护 261
案例研究2:Cookie与隐私保护 264
6.15本章小结 265
6.16实践练习 267
6.16.1多项选择题 267
6.16.2练习题 268
6.16.3设计与编程 268
第7章 用户认证机制 270
7.1概述 270
7.2认证基础 270
7.3口令 271
7.3.1简介 271
7.3.2明文口令 271
7.3.3口令推导形式 273
7.3.4安全问题 279
7.4认证令牌 280
7.4.1简介 280
7.4.2认证令牌类型 282
7.5基于证书认证 287
7.5.1简介 287
7.5.2基于证书认证工作原理 287
7.5.3使用智能卡 289
7.6生物认证 291
7.6.1简介 291
7.6.2生物认证的工作原理 291
7.7 Kerberos 292
7.7.1简介 292
7.7.2 Kerberos工作原理 292
7.7.3 Kerberos版本5 295
7.8密钥分发中心 296
7.9安全握手的陷阱 297
7.9.1单向认证 297
7.9.2双向认证 301
7.10单次登录方法 304
7.10.1脚本 304
7.10.2代理 305
7.11对认证机制的攻击 305
7.12案例研究:单次登录 306
7.13本章小结 308
7.14实践练习 309
7.14.1多项选择题 309
7.14.2练习题 310
7.14.3设计与编程 311
第8章 加密与安全实现 312
8.1概述 312
8.2 Java加密方案 312
8.2.1简介 312
8.2.2 Java加密体系结构 313
8.2.3 Java加密扩展 316
8.2.4结论 317
8.3使用Microsoft.NET的加密方案 319
8.3.1类模型 319
8.3.2程序员的角度 320
8.4加密工具库 321
8.5 Web服务安全 321
8.6云安全 323
8.7本章小结 324
8.8实践练习 325
8.8.1多项选择题 325
8.8.2练习题 326
8.8.3设计与编程 326
第9章 网络安全、防火墙与VPN 328
9.1概述 328
9.2 TCP/IP简介 328
9.2.1基本概念 328
9.2.2 TCP数据段格式 329
9.2.3 IP数据报文格式 331
9.3防火墙 332
9.3.1简介 332
9.3.2防火墙的类型 334
9.3.3防火墙配置 342
9.3.4非军事区网络 344
9.3.5防火墙的局限性 344
9.4 IP安全性 345
9.4.1简介 345
9.4.2 IPSec概述 346
9.4.3认证头 351
9.4.4封装安全荷载 353
9.4.5 IPSec密钥管理 356
9.5虚拟专用网 358
9.5.1简介 358
9.5.2虚拟专用网的体系结构 359
9.6入侵 360
9.6.1入侵者 360
9.6.2审计记录 361
9.6.3入侵检测 362
9.6.4分布式入侵检测 363
9.6.5 Honeypot技术 363
案例研究1:IP欺骗攻击 363
案例研究2:创建VPN 364
9.7本章小结 365
9.8实践练习 367
9.8.1多项选择题 367
9.8.2练习题 368
9.8.3设计与编程 368
附录A 数学背景知识 370
A.1概述 370
A.2素数 370
A.2.1因子分解 370
A.2.2欧几里得算法 371
A.2.3求模运算与离散对数 372
A.2.4测试素数 372
A.2.5素数的平方根模 372
A.2.6平方余数 372
A.3费尔马定理与欧拉定理 373
A.3.1费尔马定理 373
A.3.2欧拉定理 374
A.4中国剩余定理 374
A.5拉格朗日符号 375
A.6雅可比符号 375
A.7哈塞定理 375
A.8平方互换定理 376
A.9 Massey-Omura协议 376
A.10逆阵计算 376
A.11加密操作模式后面的数学知识 378
附录B 数字系统 379
B.1概述 379
B.2十进制数字系统 379
B.3二进制数字系统 379
B.4八进制数字系统 380
B.5十六进制数字系统 381
B.6二进制数表示 381
附录C 信息理论 383
C.1概述 383
C.2熵与不确定性 383
C.3完美秘密 383
C.4 Unicity距离 384
附录D 实用工具 385
D.1概述 385
D.2认证工具 385
D.3分析工具 385
D.4分组过滤工具 385
附录E Web资源 386
E.1概述 386
E.2邮件列表 386
E.3用户组 386
E.4重要URL 387
E.5重要RFC文档 387
附录F ASN、BER、DER简介 389
F.1概述 389
F.2抽象语法记号 389
F.3用BER与DER编码 390
术语表 393
参考文献 400