描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302645351丛书名: 网络空间安全丛书
本书是一本系统指南,在前版基础上进行了最新修订,将帮助你从容应对当今的信息安全挑战。
《信息安全原理与实践》是学生、教师和信息安全专业人员的用书。作者Mark Stamp以清晰、易懂和严谨的教学方式讲解了有关信息安全的4个关键组成部分:加密、访问控制、网络安全和软件。另外,本书列举丰富的示例,这些示例阐明了复杂的主题,突出了重要的安全问题,演示了保护数据机密性和完整性的有效方法和策略。
《信息安全原理与实践》(第3版)经过全面修订和更新,新增了关于网络安全基础知识的章节,并扩展介绍了跨站脚本(XSS)攻击、Stuxnet和其他恶意软件、SSH协议、安全软件开发和安全协议。书中的新示例说明了RSA密码体系、椭圆曲线加密、SHA-3,以及包括比特币和区块链在内的散列函数的应用。更新后的习题、表和图有助于读者学习经典密码体系、现代对称加密、公钥加密、密码分析、简单认证协议、入侵和恶意软件检测系统、量子计算等实用知识。这本颇受欢迎的教科书涉及的信息安全方法非常实用: l 涵盖快速发展的信息安全领域的**内容。 l 解释会话密钥、完全正向保密、时间戳、SSH、SSL、IPSec、Kerberos、WEP、GSM和其他认证协议。 l 解决访问控制技术,包括认证和授权、ACL,以及多级安全和隔离项。 l 讨论软件安全问题,从恶意软件检测到安全软件开发。 l 包括教师解决方案手册、PowerPoint幻灯片、讲座视频和其他教学资源。
第1 章 引言 1
1.1 人物角色 1
1.2 Alice 的网上银行 2
1.2.1 机密性、完整性和可用性 2
1.2.2 CIA 并不是全部 3
1.3 关于本书 4
1.3.1 加密技术 5
1.3.2 访问控制 5
1.3.3 网络安全 6
1.3.4 软件 6
1.4 人的问题 7
1.5 原理和实践 7
1.6 习题 8
第Ⅰ部分 加密
第2 章 经典加密 14
2.1 引言 14
2.2 何谓“加密” 15
2.3 经典密码 17
2.3.1 简单代换密码 17
2.3.2 简单代换密码分析 19
2.3.3 “安全”的定义 20
2.3.4 双换位密码 21
2.3.5 一次性密码 22
2.3.6 密码本密码 25
2.4 历史上的经典加密 27
2.4.1 “1876 年大选”的密码 27
2.4.2 齐默尔曼电报 29
2.4.3 VENONA 计划 30
2.5 现代密码史 31
2.6 加密技术分类 34
2.7 密码分析技术分类 35
2.8 小结 36
2.9 习题 37
第3 章 对称密码 42
3.1 引言 42
3.2 流密码 43
3.2.1 A5/1 44
3.2.2 RC4 46
3.3 分组密码 48
3.3.1 Feistel 密码 48
3.3.2 DES 49
3.3.3 3DES 54
3.3.4 AES 56
3.3.5 TEA 58
3.3.6 分组密码模式 60
3.4 完整性 64
3.5 量子计算机和对称加密 65
3.6 小结 67
3.7 习题 68
第4 章 公钥加密 73
4.1 引言 73
4.2 背包加密方案 75
4.3 RSA 79
4.3.1 教科书RSA 示例 80
4.3.2 反复平方 81
4.3.3 加速RSA 83
4.4 Diffie-Hellman 84
4.5 椭圆曲线加密 85
4.5.1 椭圆曲线数学 86
4.5.2 ECC Diffie – Hellman 88
4.5.3 实际的椭圆曲线示例 89
4.6 公钥符号 89
4.7 公钥加密的作用 90
4.7.1 现实世界中的机密性 90
4.7.2 签名和不可否认性 91
4.7.3 机密性和不可否认性 92
4.8 证书和PKI 94
4.9 量子计算机和公钥 96
4.10 小结 97
4.11 习题 98
第5 章 加密散列函数 106
5.1 引言 107
5.2 什么是加密散列函数 107
5.3 生日问题 109
5.4 生日攻击 110
5.5 非加密散列 111
5.6 SHA-3 112
5.7 HMAC 115
5.8 加密散列应用程序 117
5.8.1 在线竞价 117
5.8.2 区块链 118
5.9 各种加密相关主题 125
5.9.1 秘密共享 125
5.9.2 随机数 129
5.9.3 信息隐藏 131
5.10 小结 134
5.11 习题 135
第Ⅱ部分 访问控制
第6 章 认证 146
6.1 引言 146
6.2 认证方法 147
6.3 密码 148
6.3.1 密钥与密码 149
6.3.2 选择密码 149
6.3.3 通过密码攻击系统 151
6.3.4 密码验证 152
6.3.5 密码破解的数学原理 153
6.3.6 其他密码问题 157
6.4 生物识别 158
6.4.1 错误类型 160
6.4.2 生物识别技术示例 160
6.4.3 生物识别错误率 165
6.4.4 生物识别结论 166
6.5 你拥有的东西 166
6.6 双因子认证 167
6.7 单点登录和Web cookie 167
6.8 小结 168
6.9 习题 169
第7 章 授权 177
7.1 引言 177
7.2 授权简史 178
7.2.1 橙皮书 179
7.2.2 通用标准 181
7.3 访问控制矩阵 182
7.3.1 ACL 和能力 183
7.3.2 混淆代理 184
7.4 多级安全模型 185
7.4.1 Bell-LaPadula 187
7.4.2 Biba 模型 188
7.4.3 隔离项 189
7.5 隐秘信道 191
7.6 推理控制 193
7.7 CAPTCHA 194
7.8 小结 196
7.9 习题 197
第Ⅲ部分 网络安全主题
第8 章 网络安全基础 202
8.1 引言 202
8.2 网络基础 203
8.2.1 协议栈 204
8.2.2 应用层 205
8.2.3 传输层 207
8.2.4 网络层 210
8.2.5 链路层 211
8.3 跨站脚本攻击 213
8.4 防火墙 215
8.4.1 包过滤防火墙 216
8.4.2 基于状态检测的包过滤防火墙 218
8.4.3 应用代理 218
8.4.4 纵深防御 219
8.5 入侵检测系统 220
8.5.1 基于特征的入侵检测系统 222
8.5.2 基于异常的入侵检测系统 223
8.6 小结 227
8.7 习题 227
第9 章 简单认证协议 233
9.1 引言 233
9.2 简单安全协议 235
9.3 认证协议 237
9.3.1 利用对称密钥进行认证 240
9.3.2 利用公钥进行认证 243
9.3.3 会话密钥 244
9.3.4 完全正向保密 246
9.3.5 双向认证、会话密钥以及PFS 248
9.3.6 时间戳 248
9.4 “认证”与TCP 协议 250
9.5 零知识证明 253
9.6 协议分析技巧 257
9.7 小结 258
9.8 习题 259
第10 章 现实世界的安全协议 267
10.1 引言 267
10.2 SSH 268
10.3 SSL 270
10.3.1 SSL 和中间人 272
10.3.2 SSL 连接 273
10.3.3 SSL 与IPsec 274
10.4 IPsec 275
10.4.1 IKE 阶段1 276
10.4.2 IKE 阶段2 283
10.4.3 IPsec 和IP 数据报 284
10.4.4 传输和隧道模式 285
10.4.5 ESP 和AH 286
10.5 Kerberos 288
10.5.1 Kerberized 登录 289
10.5.2 Kerberos 票据 290
10.5.3 Kerberos 的安全 291
10.6 WEP 292
10.6.1 WEP 认证 293
10.6.2 WEP 加密 293
10.6.3 WEP 协议的不完整性 294
10.6.4 WEP 的其他问题 295
10.6.5 WEP:底线 295
10.7 GSM 295
10.7.1 GSM 架构 296
10.7.2 GSM 安全架构 298
10.7.3 GSM 认证协议 300
10.7.4 GSM 安全缺陷 300
10.7.5 GSM 结论 303
10.7.6 3GPP 303
10.8 小结 304
10.9 习题 304
第Ⅳ部分 软件
第11 章 软件缺陷与恶意软件 314
11.1 引言 314
11.2 软件缺陷 315
11.2.1 缓冲区溢出 318
11.2.2 不完全验证 328
11.2.3 竞争条件 329
11.3 恶意软件 330
11.3.1 恶意软件示例 331
11.3.2 恶意软件检测 337
11.3.3 恶意软件的未来 339
11.3.4 恶意软件检测的未来 340
11.4 基于软件的各式攻击 340
11.4.1 腊肠攻击 341
11.4.2 线性攻击 341
11.4.3 定时炸弹 343
11.4.4 信任软件 344
11.5 小结 344
11.6 习题 345
第12 章 软件中的不安全因素 353
12.1 引言 353
12.2 软件逆向工程 354
12.2.1 Java 字节码逆向工程 356
12.2.2 SRE 示例 358
12.2.3 防反汇编技术 362
12.2.4 反调试技术 363
12.2.5 软件防篡改 364
12.3 软件开发 366
12.3.1 缺陷和测试 367
12.3.2 安全软件的开发 369
12.4 小结 369
12.5 习题 370
附录 376
拜托,先生或女士,你不看看我的书吗?我花了很多年才写出来的,你不看一下吗?
— Lennon 和McCartney
我讨厌黑盒。我撰写本书的主要目的在于阐明如今信息安全书籍中流行的一些黑盒。另一方面,我不想用琐碎的细节烦扰你——如果这是你想要的,可以去读RFC。因此,本书经常会忽略那些我认为与所要表达的观点无关的细节。你可以判断我是否在这两个相互竞争的目标之间取得了适当的平衡。
我一直在努力持续跟进,以便涵盖广泛的主题。本书的目标是深入讨论每一项内容,以便你能够理解安全问题,同时不会在细节上陷入太多的困境。我还试图定期强调和重申要点,这样就不会错过关键信息。
撰写本书的另一个目标是以生动有趣的方式呈现主题。如果有任何计算主题令人兴奋和富有趣味,那就是信息安全。
我也试图在本书中插入一点幽默。人们说幽默源于痛苦,从笑话的质量来看,可以说我的生活绝对是有魔力的。无论如何,大多数糟糕的笑话都会在脚注中出现,所以它们不会太分散你的注意力。
一些安全教科书提供了大量枯燥的理论。阅读它们就像阅读微积分教科书一样令人兴奋。其他书籍提供了一些看似随机的、不相关的事实,给人的印象是安全根本不是一个真正连贯的主题。还有一些书籍把这个主题描述成一堆高级的管理性陈词滥调。最后,一些书侧重于安全中人的因素。虽然所有这些方法都有它们的作用,但我的看法是,首先,安全工程师必须完全理解底层技术的固有优势和弱点。
信息安全是一个巨大的主题,与其他更成熟的领域不同,这类书应该包括什么内容,或者如何以最佳方式组织它,作者并不完全清楚。我选择围绕以下四个主题来组织本书:
?? 加密技术
?? 访问控制
?? 网络安全
?? 软件
在上述结构中,这些主题富有弹性。例如,在访问控制主题下,包含了传统的认证和授权主题,以及CAPTCHA 之类的非传统主题。软件主题非常灵活,包括软件开发、恶意软件和逆向工程等各种话题。
虽然本书关注的是实际问题,但已尽力涵盖了足够多的基本原则,这样就可以为从事该领域的进一步研究做好准备。此外,我已尽可能地将背景要求降到最低。特别是,数学形式主义被保持在最低限度(附录包含几个基本数学主题的回顾)。尽管存在这种自我强加的限制,但我相信这本书比大多数安全书籍包含了更多实质性的加密技术。学习本书,所需的计算机科学背景也很少——一门介绍性的计算机组织课程(或类似的经验)就足够了。假设你有一些编程经验,那么汇编语言的基本知识在几个章节中会有帮助,但不是强制性的。本书涵盖了网络基础知识,因此不需要具备之前在该领域的知识或经验。
如果你是一名信息技术专业人员,正在努力学习更多关于安全的知识,我建议你阅读整本书。本书中大多数话题都是相互关联的,跳过少数不相关的话题也不会节省太多时间。即使你是某个领域的专家,至少浏览一下我的介绍也是值得的,因为在这个领域使用术语时经常会出现不一致的情况,本书可能会提供一个不同于你在其他书中看到的视角。
如果你在教授一门安全课程,本书包含的内容可能会比一学期的课程所能涵盖的知识稍微多一点。我在本科安全课程上通常遵循的时间表如表1 所示。
表1 教学大纲建议
章节 时长 建议范围
1. 引言 1 全部
2. 经典加密 3 全部
3. 对称密码 4 全部
4. 公钥加密 4 全部
5. 加密散列函数 4 省略5.7 节中的攻击细节
6. 认证 4 全部
7. 授权 2 全部
8. 网络安全基础 3 省略8.5 节
9. 简单认证协议 4 省略9.4 节
10. 现实世界的安全协议 4 省略WEP 或GSM
章节 时长 建议范围
11. 软件缺陷与恶意软件 4 全部
12. 软件中的不安全因素 3 全部
总计 40
安全不是一项观赏性的运动——解答大量的作业习题是学习本书内容的一个重要方面。许多主题在习题中进一步充实,有时会引入额外的主题。底线是你解决的问题越多,你学到的知识就越多。
基于本书的安全课程是个人或团体项目的理想选择。教科书网站(http://www.cs.sjsu.edu/~stamp/infosec/)包括关于密码分析的部分,这是加密项目的一个可能来源。此外,许多作业习题很适合课堂讨论或课堂作业,例如第10 章中的问题16或第11 章中的问题17。
在教科书网站上你可以找到PowerPoint 幻灯片、习题中提到的所有文件、勘误表和许多其他有用的东西。如果第一次教授这门课,我会特别推荐PowerPoint幻灯片,这些幻灯片已经过彻底的“实战检验”,并经过多次改进。
附录中提到的数学知识在本书中是如何应用的呢?初等模运算出现在第3 章和第5 章的几节中,而数论结果需要在第4 章和第9 章的9.5 节中使用。我发现大多数学生都需要温习模运算基础知识。只需要20~30 分钟的课堂时间就可以涵盖模运算的内容,在深入研究公钥加密技术之前,花费这些时间是非常值得的。
附录中简要讨论的置换在第3 章中最为突出,关于离散概率的材料需要在第6 章的密码破解部分找到。
就像任何大型复杂的软件项目都有缺陷一样,可以形而上学地认为本书也会有不足。我想知道你发现的任何问题——或大或小。我将努力在教科书网站上维护一份最新的勘误表。此外,不要犹豫,请为这本书的未来版本提供任何建议。
第3 版的新增内容
本书的几部分被重新组织和扩展,而其他部分(和两个完整的章节)被删除。
网络安全的主要部分涵盖了更广泛的主题,包括网络简介,这使得基于本书的课程更独立。根据本书的使用者反馈,在加密章节中新增了额外的例子,而协议章节已被修改和扩展。第1 版和第2 版包含了一章关于现代密码分析的内容,这一章已从第3 版中删除了,但仍然可以在教科书网站上找到,其他被删除的主题也是如此。
所有的图形都经过了重新处理,变得更清晰、更好。当然,第2 版中所有已知的错误都被改正。作业习题也已进行了更新。
信息安全是一个不断发展的领域,自本书于2005 年首次出版以来,已发生了一些重大变化。然而,第1 版的基本结构大体上保持不变。我相信这些年来本书主题的组织和列表一直保持得很好。因此,对于第3 版,本书的结构变化更多的是进化而不是革命。
在此要说明的是,本书的参考文献和第12 章习题中提到的一些压缩文件读者可通过扫描封底的二维码进行下载。
Mark Stamp
Los Gatos, California
2021 年6 月
评论
还没有评论。