第一部分 基础知识 2
第1章 网络安全概述 2
1.1 网络安全的背景 2
1.1.1 网络安全的重要性 2
1.1.2 网络面临的安全威胁 4
1.2 网络安全的概念 5
1.2.1 网络安全的定义 5
1.2.2 网络安全体系结构 6
1.3 网络安全保障体系 9
1.3.1 网络安全标准化工作 9
1.3.2 网络安全保障体系建设 11
1.3.3 中国网络安全保障体系 13
1.4 网络安全的研究问题 15
1.4.1 网络防攻击问题 15
1.4.2 信息安全保密问题 16
1.4.3 网络安全漏洞问题 17
1.4.4 内部安全防范问题 18
1.4.5 网络防病毒问题 19
1.4.6 数据备份与恢复问题 19
1.5 本章总结 20
1.6 本章习题 21
第2章 数据加密与认证技术 23
2.1 数据加密概述 23
2.1.1 基本概念 23
2.1.2 密码编码 23
2.1.3 密码分析 25
2.2 对称密码技术 26
2.2.1 基本概念 26
2.2.2 DES 27
2.2.3 AES 29
2.2.4 IDEA 30
2.2.5 Blowfish 31
2.2.6 RC系列 32
2.2.7 操作模式 33
2.3 公钥密码技术 37
2.3.1 基本概念 37
2.3.2 RSA 38
2.3.3 ECC 41
2.3.4 Diffie-Hellman 41
2.4 消息认证技术 42
2.4.1 基本概念 42
2.4.2 散列函数 44
2.4.3 数字签名 46
2.5 密钥分发技术 49
2.5.1 基本概念 49
2.5.2 Kerberos 50
2.5.3 X.5 09证书 52
2.5.4 PKI 53
2.6 本章总结 55
2.7 本章习题 55
第3章 网络通信与应用安全技术 57
3.1 网络通信安全概述 57
3.1.1 网络体系结构 57
3.1.2 网络通信安全 59
3.1.3 VPN技术 61
3.2 数据链路层安全技术 62
3.2.1 PPTP协议 62
3.2.2 L2TP协议 65
3.2.3 L2F协议 67
3.3 网络层安全技术 68
3.3.1 IPSec概述 68
3.3.2 安全关联 70
3.3.3 AH协议 70
3.3.4 ESP协议 72
3.3.5 IKE协议 73
3.4 传输层安全技术 75
3.4.1 SSL协议 75
3.4.2 SSH协议 79
3.4.3 SOCKS协议 81
3.5 应用层安全技术 82
3.5.1 S/MIME协议 82
3.5.2 SHTTP协议 83
3.5.3 SET协议 83
3.6 本章总结 84
3.7 本章习题 85
第4章 访问控制与防火墙技术 87
4.1 访问控制概述 87
4.1.1 基本概念 87
4.1.2 网络访问控制 88
4.2 防火墙技术 90
4.2.1 基本概念 90
4.2.2 防火墙类型 91
4.2.3 防火墙系统 95
4.3 NAT技术 99
4.3.1 基本概念 99
4.3.2 NAT类型 100
4.4 物理隔离技术 101
4.4.1 基本概念 101
4.4.2 典型的物理隔离技术 103
4.5 本章总结 104
4.6 本章习题 105
第5章 网络攻防与入侵检测技术 107
5.1 网络攻防概述 107
5.1.1 基本概念 107
5.1.2 网络攻击 108
5.1.3 网络防御 111
5.2 网络攻击技术 113
5.2.1 网络信息收集 113
5.2.2 网络弱点发现 116
5.2.3 网络欺骗攻击 120
5.2.4 拒绝服务攻击 123
5.3 入侵检测技术 125
5.3.1 基本概念 125
5.3.2 入侵检测系统 127
5.3.3 入侵检测方法 129
5.3.4 入侵防御系统 130
5.4 计算机取证技术 131
5.4.1 基本概念 131
5.4.2 计算机取证方法 132
5.4.3 蜜罐取证技术 134
5.5 本章总结 135
5.6 本章习题 136
第6章 恶意代码与计算机病毒防护技术 138
6.1 恶意代码概述 138
6.1.1 基本概念 138
6.1.2 恶意代码分类 139
6.2 计算机病毒 140
6.2.1 基本概念 140
6.2.2 计算机病毒分类 142
6.3 网络蠕虫 144
6.3.1 基本概念 144
6.3.2 网络蠕虫分类 146
6.4 木马与垃圾邮件 147
6.4.1 基本概念 147
6.4.2 木马分类 149
6.4.3 垃圾邮件 150
6.5 其他恶意代码 152
6.5.1 僵尸病毒 152
6.5.2 间谍软件 154
6.5.3 Rootkit 155
6.6 恶意代码防护 156
6.6.1 恶意代码技术 156
6.6.2 恶意代码检测 157
6.7 本章总结 159
6.8 本章习题 160
第二部分 编程实践 164
第7章 基于字符映射的消息加密程序设计 164
7.1 编程要求 164
7.2 相关知识 164
7.2.1 置换密码 164
7.2.2 Socket编程 164
7.2.3 Windows线程 167
7.3 程序设计 168
7.4 程序测试 172
7.5 扩展提高 173
第8章 基于DES的消息加密程序设计 174
8.1 编程要求 174
8.2 相关知识 174
8.2.1 DES加密 174
8.2.2 DES每轮操作 175
8.2.3 DES解密 177
8.3 程序设计 177
8.4 程序测试 180
8.5 扩展提高 181
第9章 基于MD5的文件完整性检测程序设计 182
9.1 编程要求 182
9.2 相关知识 182
9.2.1 单向散列函数 182
9.2.2 MD5算法简介 183
9.2.3 MD5算法分析 183
9.2.4 MD5的安全性 187
9.2.5 MD4算法与SHA-1算法 187
9.3 程序设计 187
9.4 程序测试 192
9.5 扩展提高 193
第10章 基于RSA的文件安全检测程序设计 194
10.1 编程要求 194
10.2 相关知识 194
10.2.1 公钥密码系统 194
10.2.2 数论基础 195
10.2.3 RSA密码系统 196
10.3 程序设计 198
10.4 程序测试 204
10.5 扩展提高 205
第11章 基于OpenSSL的Web服务器程序设计 207
11.1 编程要求 207
11.2 相关知识 207
11.2.1 HTTP协议 207
11.2.2 OpenSSL库 209
11.3 程序设计 213
11.4 程序测试 217
11.5 扩展提高 218
第12章 基于图片的信息隐藏程序设计 219
12.1 编程要求 219
12.2 相关知识 219
12.2.1 信息隐藏 219
12.2.2 图像文件格式 222
12.2.3 LSB算法 224
12.3 程序设计 226
12.4 程序测试 229
12.5 扩展提高 231
附录A RFC文档 232
附录B 参考答案 235
参考文献 239