目录
目 录
第1章 安全概念导论 1
1.1 引言 2
1.2 安全需求 2
1.2.1 基本概念 2
1.2.2 攻击的现代性 3
1.3 安全方法 5
1.3.1 可信系统 5
1.3.2 安全模型 6
1.3.3 安全管理实践 6
1.4 安全原则 7
1.4.1 保密性 7
1.4.2 认证 8
1.4.3 完整性 8
1.4.4 不可抵赖性 9
1.4.5 访问控制 9
1.4.6 可用性 9
1.5 安全服务与机制 10
1.5.1 安全服务 10
1.5.2 安全机制 12
1.5.3 与安全机制相关的安全服务 13
1.5.4 道德与法律问题 13
1.6 攻击类型 14
1.6.1 攻击概述 14
1.6.2 技术角度的攻击 15
1.6.3 实际攻击 17
1.6.4 无线网络攻击 18
1.6.5 攻击程序 19
1.6.6 杀毒 22
1.6.7 特定攻击 23
本章小结 26
重要术语与概念 27
概念检测 27
问答题 28
第2章 密码技术 29
2.1 基本术语 30
2.2 明文和密文 31
2.3 替换技术 34
2.3.1 凯撒密码 34
2.3.2 改进版凯撒密码 34
2.3.3 单字母密码 36
2.3.4 同音替换密码 37
2.3.5 多字母替换密码 37
2.3.6 多表替换密码 37
2.3.7 Playfair密码 39
2.3.8 希尔密码 43
2.4 变换技术 44
2.4.1 栅栏加密技术 44
2.4.2 简单分栏式变换加密技术 45
2.4.3 Vernam 密码(一次一密) 46
2.4.4 书本密码/运行密钥密码 47
2.5 加密与解密 47
2.6 对称与非对称密钥加密 49
2.6.1 对称密钥加密与密钥分配问题 49
2.6.2 Diffie-Hellman密钥交换/协议算法 52
2.6.3 非对称密钥操作 57
2.7 隐写术 59
2.8 密钥范围与密钥大小 59
2.9 攻击类型 62
本章小结 65
重要术语与概念 66
概念检测 67
问答题 67
第3章 基于计算机的对称密钥加密算法 68
3.1 算法类型与模式 68
3.2 算法模式 72
3.2.1 电子密码本模式 72
3.2.2 密码块链接模式 73
3.2.3 密码反馈模式 74
3.2.4 输出反馈模式 75
3.2.5 计数器模式 77
3.3 对称密钥加密概述 78
3.4 数据加密标准(DES) 79
3.4.1 背景与历史 79
3.4.2 DES的工作原理 80
3.4.3 DES的变种 89
3.5 块密码设计原则 92
3.6 国际数据加密算法(IDEA) 93
3.6.1 背景与历史 93
3.6.2 IDEA的工作原理 93
3.7 Blowfish 99
3.7.1 简介 99
3.7.2 操作 99
3.8 高级加密标准(AES) 103
3.8.1 简介 103
3.8.2 操作 104
3.8.3 一次性初始化过程 104
3.8.4 每轮的过程 109
3.8.5 AES的安全性 112
3.9 性能对比 112
本章小结 113
重要术语与概念 115
概念检测 115
问答题 116
第4章 基于计算机的非对称密钥算法 117
4.1 非对称密钥加密简史 117
4.2 非对称密钥加密概述 118
4.3 RSA算法 120
4.3.1 简介 120
4.3.2 RSA的例子 121
4.3.3 理解RSA的最难点 122
4.3.4 RSA的安全性 123
4.4 ElGamal加密 124
4.4.1 ElGamal密钥生成 124
4.4.2 ElGamal密钥加密 124
4.4.3 ElGamal密钥解密 125
4.5 对称密钥加密与非对称密钥加密 125
4.5.1 对称密钥加密与非对称密钥加密的比较 125
4.5.2 两全其美 126
4.6 数字签名 129
4.6.1 简介 129
4.6.2 消息摘要 130
4.6.3 SHA-512 135
4.6.4 SHA-3 139
4.6.5 消息认证码(MAC) 139
4.6.6 HMAC 140
4.6.7 数字签名技术 144
4.7 背包算法 148
4.8 ElGamal数字签名 148
4.8.1 签名 148
4.8.2 验证 149
4.9 对数字签名的攻击 149
4.10 其他一些算法 149
4.10.1 椭圆曲线密码学(ECC) 150
4.10.2 ElGamal 150
4.10.3 公钥交换问题 151
本章小结 152
重要术语与概念 153
概念检测 153
设计与编程练习 153
第5章 公钥基础设施 155
5.1 数字证书 156
5.1.1 简介 156
5.1.2 数字证书的概念 156
5.1.3 证书机构(CA) 158
5.1.4 数字证书技术细节 158
5.1.5 生成数字证书 160
5.1.6 为何要信任数字证书 166
5.1.7 证书层次结构和自签名数字证书 168
5.1.8 交叉认证 171
5.1.9 证书吊销 172
5.1.10 证书类型 179
5.1.11 漫游证书 179
5.1.12 属性证书 180
5.2 私钥管理 181
5.2.1 保护私钥 181
5.2.2 多个密钥对 181
5.2.3 密钥更新 182
5.2.4 密钥归档 182
5.3 PKIX模型 182
5.3.1 PKIX服务 182
5.3.2 PKIX架构模型 183
5.4 公钥加密标准(PKCS) 184
5.4.1 简介 184
5.4.2 PKCS#5——口令加密(PBE)标准 185
5.4.3 PKCS#8?——私钥信息语法标准 186
5.4.4 PKCS#10——?证书请求语法标准 186
5.4.5 PKCS#11——加密令牌接口标准 187
5.4.6 PKCS#12——个人信息交换语法标准 187
5.4.7 PKCS#14——伪随机数生成标准 187
5.4.8 PKCS#15——加密令牌信息语法标准 188
5.5 XML、PKI与安全 189
5.5.1 XML加密 189
5.5.2 XML数字签名 190
5.5.3 XML密钥管理规范(XKMS) 192
5.6 用Java创建数字证书 193
本章小结 198
重要术语与概念 199
概念检测 199
设计与编程练习 200
第6章 Internet安全协议 201
6.1 安全套接层(SSL) 202
6.1.1 简介 202
6.1.2 SSL在TCP/IP协议族中的位置 202
6.1.3 SSL的工作原理 203
6.1.4 关闭和恢复SSL连接 210
6.1.5 SSL的缓冲区溢出攻击 211
6.2 传输层安全(TLS) 211
6.3 3D安全协议 212
6.3.1 协议概述 212
6.3.2 幕后发生了什么 213
6.4 加密货币与比特币 214
6.5 电子邮件安全 216
6.5.1 简介 216
6.5.2 PGP 218
6.5.3 安全的多用途Internet邮件扩展(S/MIME) 226
6.5.4 域名密钥识别邮件(DKIM) 231
6.5.5 Wi-Fi保护访问(WPA) 231
本章小结 232
重要术语与概念 233
概念检测 233
设计与编程练习 233
第7章 用户认证机制 234
7.1 认证基础 235
7.2 密码 235
7.2.1 简介 235
7.2.2 明文密码 235
7.2.3 密码派生 237
7.2.4 密码的相关问题 245
7.3 认证令牌 246
7.3.1 简介 246
7.3.2 认证令牌的类型 248
7.3.3 智能卡的使用 255
7.4 生物特征认证 256
7.4.1 简介 256
7.4.2 生物特征认证的工作原理 256
7.4.3 生物识别技术 256
7.5 Kerberos 257
7.5.1 简介 257
7.5.2 Kerberos的工作原理 257
7.5.3 Kerberos版本 5 262
7.6 密钥分发中心 262
7.7 安全握手陷阱 263
7.7.1 单向认证 264
7.7.2 双向认证 267
7.8 对认证方案的攻击 270
本章小结 271
重要术语与概念 271
概念检测 272
设计与编程练习 272
第8章 加密与安全的实际实现 273
8.1 使用Java的加密解决方案 273
8.1.1 简介 273
8.1.2 Java密码体系结构(JCA) 274
8.1.3 Java加密扩展(JCE) 277
8.1.4 结论 278
8.2 使用.NET框架的加密解决方案 279
8.2.1 类模型 279
8.2.2 程序员的角度 281
8.3 加密工具包 281
8.4 安全与操作系统 282
8.4.1 操作系统结构 282
8.4.2 TCP/IP漏洞 284
8.4.3 UNIX中的安全性 284
8.4.4 Windows安全 286
8.5 数据库安全 287
8.5.1 数据库控制 287
8.5.2 用户和数据库的权限 289
8.5.3 权限的类型 289
8.5.4 对象权限 290
8.5.5 收回权限 296
8.5.6 过滤表的权限 297
8.5.7 统计数据库 298
8.6 云安全 301
本章小结 301
重要术语与概念 302
概念检测 302
设计与编程练习 303
第9章 网络安全 304
9.1 TCP/IP简介 304
9.1.1 基本概念 304
9.1.2 TCP段格式 306
9.1.3 IP数据报格式 307
9.2 防火墙 309
9.2.1 简介 309
9.2.2 防火墙的种类 310
9.2.3 防火墙配置 319
9.2.4 非军事区(DMZ)网络 321
9.2.5 防火墙的限制 322
9.3 IP安全 322
9.3.1 简介 322
9.3.2 IPSec概述 324
9.3.3 认证头(AH) 329
9.3.4 封装安全载荷(ESP) 331
9.3.5 IPSec密钥管理 334
9.4 虚拟专用网(VPN) 336
9.4.1 简介 336
9.4.2 VPN架构 337
9.5 入侵 338
9.5.1 入侵者 338
9.5.2 审核记录 339
9.5.3 入侵检测 340
9.5.4 分布式入侵检测 341
9.5.5 蜜罐 341
本章小结 341
重要术语与概念 343
概念检测 344
设计与编程练习 344
附录A 数学背景知识 345
A.1 简介 345
A.2 素数 345
A.2.1 因子分解 345
A.2.2 欧几里得算法 346
A.2.3 模运算与离散对数 347
A.2.4 素性测试 347
A.2.5 模素数平方根 347
A.2.6 平方剩余 347
A.3 费马定理与欧拉定理 347
A.3.1 费马定理 348
A.3.2 欧拉定理 348
A.4 中国剩余定理 349
A.5 拉格朗日符号 350
A.6 Jacobi符号 350
A.7 Hasse’s定理 350
A.8 二次互反律 350
A.9 Massey-Omura协议 351
A.10 计算矩阵的倒数 351
A.11 加密操作模式后的数学知识(参考:第3章) 352
附录B 数制 354
B.1 简介 354
B.2 十进制数制 354
B.3 二进制数制 354
B.4 八进制数制 355
B.5 十六进制数制 356
B.6 二进制数的表示 356
附录C 信息论 358
C.1 简介 358
C.2 熵与不确定性(等价性) 358
C.3 完善保密 358
C.4 唯一解距离 359
附录D ASN、BER、DER简介 360
D.1 简介 360
D.2 抽象语法表示1号(ASN.1) 360
D.3 用BER和DER编码 361
重要术语 364
参考文献 372
10
密码学与网络安全(第4版)
11
目 录