图书简介:
第1章 古典密码 1
1.1 古典密码方案 1
1.1.1 羊皮传书 2
1.1.2 藏头诗、藏尾诗 2
1.1.3 恺撒密码 2
1.2 对称密码模型 2
1.2.1 对称密码模型的概念 3
1.2.2 古典密码方案讨论 3
1.2.3 对称密码模型再讨论 4
1.3 密码分类 5
1.3.1 替代密码、置换密码和乘积
密码 5
1.3.2 对称密码和公钥密码 6
1.3.3 分组密码和流密码 6
1.4 如何设计好的密码算法 6
1.4.1 单表替代密码 6
1.4.2 Playfair密码 8
1.4.3 Vigenere密码 9
1.4.4 自动生成密钥密码 13
1.4.5 Vigenere密码的安全性 13
1.5 对称密码的标杆 13
1.6 简单的置换密码 14
1.6.1 Rail Fence密码 14
1.6.2 行置换密码 14
1.7 转子机 14
1.8 隐写术 15
1.8.1 伪装式保密通信 15
1.8.2 数字水印 16
习题 16
第2章 现代分组密码 17
2.1 分组密码的一般原理 17
2.1.1 理想的分组密码 17
2.1.2 SPN 18
2.1.3 Feistel密码 23
2.2 DES算法 24
2.2.1 DES算法的历史 24
2.2.2 DES算法的结构 25
2.2.3 DES算法的安全分析 31
2.3 AES算法——Rijndael 32
2.3.1 Rijndael的数学基础和设计
思想 33
2.3.2 算法说明 36
习题 43
第3章 公钥密码 44
3.1 对称密码的密钥交换问题 44
3.2 公钥密码模型的提出 45
3.2.1 公钥密码模型 45
3.2.2 密码学的两种密码 46
3.2.3 公钥密码的历史 46
3.3 设计公钥密码的基本要求 46
3.4 数字签名 47
3.5 RSA算法 48
3.5.1 数论知识 48
3.5.2 算法原理 49
3.5.3 RSA密钥生成 50
3.5.4 RSA算法的加密和解密
过程 51
3.5.5 模指数算法 51
3.5.6 RSA算法的可逆性证明 52
3.5.7 RSA算法的安全性 53
3.5.8 对RSA算法的其他攻击 55
3.6 公钥密码的特征总结 57
3.6.1 公钥密码的原理总结 57
3.6.2 公钥密码算法的基础 57
3.6.3 单向函数 58
3.7 DH算法 59
3.7.1 DH算法的数学基础 59
3.7.2 DH算法的具体内容 60
3.8 椭圆曲线密码算法 61
3.8.1 椭圆曲线 61
3.8.2 有限域上的椭圆曲线 62
3.8.3 椭圆曲线上的点数 64
3.8.4 明文嵌入椭圆曲线 64
3.8.5 椭圆曲线上的密码算法 65
3.9 SM2算法 67
3.9.1 基本参数 67
3.9.2 密钥产生 68
3.9.3 加密算法 68
3.9.4 解密算法 69
习题 70
第4章 报文鉴别与哈希函数 72
4.1 安全服务与安全需求 72
4.1.1 保密性 72
4.1.2 完整性 72
4.1.3 可用性 73
4.1.4 可认证 73
4.1.5 抗抵赖 73
4.1.6 总结 74
4.2 报文鉴别的安全需求 74
4.2.1 报文鉴别安全需求的三重
含义 74
4.2.2 实现报文鉴别的方案 75
4.3 报文加密 75
4.3.1 对称密码加密报文实现报文
鉴别 75
4.3.2 公钥密码加密报文实现报
文鉴别 76
4.3.3 公钥密码加密报文方案的
总结 78
4.4 报文鉴别码 78
4.4.1 报文加密的缺点 78
4.4.2 报文鉴别码的定义 78
4.4.3 报文鉴别码的用法 78
4.4.4 报文鉴别码的性质 80
4.4.5 构造报文鉴别码算法 80
4.5 哈希函数 81
4.5.1 哈希函数的定义和性质 81
4.5.2 哈希函数的应用 82
4.5.3 经典的哈希算法 85
4.5.4 SHA-512 85
4.6 生日攻击 87
4.7 HMAC 89
4.7.1 HMAC的设计目标 90
4.7.2 算法描述 90
4.7.3 HMAC的安全性 92
4.8 SM3算法 93
4.8.1 SM3算法的描述 93
4.8.2 SM3算法的安全性 95
习题 96
第5章 流密码 98
5.1 简单流密码 98
5.1.1 同步流密码与LFSR 99
5.1.2 异步流密码 100
5.2 对流密码的攻击 101
5.2.1 已知明文攻击 101
5.2.2 攻击方法实例 102
5.3 随机比特序列生成 104
5.3.1 随机数生成的原则 104
5.3.2 TRNG、PRNG和PRF 104
5.3.3 对PRNG的随机性测试 105
5.3.4 设计PRNG 107
5.3.5 专门的PRNG 107
5.3.6 基于分组密码的PRNG 110
5.4 RC4算法 114
5.4.1 初始化S 115
5.4.2 产生密钥流 115
5.4.3 RC4算法的强度 117
习题 117
第6章 国密对称密码 118
6.1 国密算法的概况 118
6.1.1 对称密码算法 118
6.1.2 非对称密码算法 119
6.1.3 哈希算法 120
6.2 SM4算法 120
6.2.1 算法参数 120
6.2.2 基本密码构件 121
6.2.3 加密算法和解密算法的
描述 123
6.3 ZUC算法 125
6.3.1 算法中的符号及含义 125
6.3.2 算法结构 126
6.3.3 算法运行 130
6.3.4 基于ZUC的保密性
算法128-EEA3 131
习题 133
第7章 公钥基础设施 134
7.1 公钥密码回顾 134
7.1.1 公钥密码提供的安全服务 134
7.1.2 公钥的用途 135
7.2 PKI的动机 135
7.2.1 公钥应用面临的主要问题 135
7.2.2 单CA模型 136
7.3 数字证书的格式 138
7.3.1 X.509证书 138
7.3.2 证书实例 139
7.3.3 证书注销机制 140
7.4 PKI的组成 141
7.4.1 组件之间的关系 141
7.4.2 核心组件 143
7.5 PKI中的信任关系 144
7.5.1 层次结构信任模型 145
7.5.2 交叉认证 147
7.5.3 其他信任模型与桥CA 149
7.6 PKI的应用 151
7.6.1 PKI相关标准 151
7.6.2 PKI安全服务与应用 152
习题 153
第8章 身份认证 155
8.1 身份认证的基本概念 155
8.2 基于口令的身份认证 156
8.2.1 基于口令的身份认证的一般
过程 156
8.2.2 字典攻击与UNIX口令 157
8.2.3 动态口令 159
8.3 口令猜测攻击 160
8.3.1 口令猜测攻击的类型 161
8.3.2 基于规则的方法 162
8.3.3 基于统计学模型的方法 162
8.3.4 基于深度学习的方法 163
8.4 质询与应答认证技术 166
8.4.1 对称密钥实现质询与应答认证
技术 166
8.4.2 公钥实现质询与应答认证
技术 169
8.5 Needham-Schroeder协议 169
8.5.1 Needham-Schroeder协议解决的
问题 170
8.5.2 Needham-Schroeder协议的
细节 171
8.6 Kerberos协议 173
8.6.1 Kerberos协议解决的问题 174
8.6.2 Kerberos协议的引入协议 176
8.6.3 Kerberos协议的完整对话 179
习题 181
第9章 Web安全 183
9.1 Web和电子商务安全问题
分析 183
9.1.1 Web系统的脆弱性 183
9.1.2 HTTP的安全性分析 183
9.1.3 在网络基础设施中提供安全
服务 185
9.2 SSL协议和TLS协议 185
9.2.1 SSL协议总述 186
9.2.2 SSL记录协议 187
9.2.3 SSLv3.0到TLSv1.2的握手
协议 189
9.2.4 TLSv1.3的握手协议 193
9.2.5 低延时握手设计思想 198
9.2.6 SSL协议和TLS协议版本
总结 200
9.3 IPSec协议 202
9.3.1 安全联盟 202
9.3.2 工作模式 203
9.3.3 AH协议 204
9.3.4 ESP协议 206
9.3.5 IKE协议 207
9.4 SET协议的双重数字签名 208
9.4.1 SET协议介绍 208
9.4.2 双重数字签名 209
9.4.3 在线交易的案例 210
习题 213
第10章 区块链 214
10.1 分布式账本的安全需求 214
10.2 完整性需求 215
10.2.1 哈希指针 216
10.2.2 Merkle树 217
10.3 共识协议解决的基本问题 218
10.3.1 出块节点选举与主链
共识 219
10.3.2 公开链与许可链 220
10.4 出块节点选举 221
10.4.1 工作量证明机制 221
10.4.2 权益证明机制 223
10.5 主链共识 224
10.5.1 比特币共识案例分析 224
10.5.2 概率性共识 227
10.5.3 确定性共识 231
10.6 身份标识与交易签名 233
10.6.1 交易的记录与验证 233
10.6.2 匿名性与安全需求总结 235
习题 236
第11章 防火墙与入侵检测系统 237
11.1 防火墙基本介绍 237
11.1.1 内网与外网 237
11.1.2 防火墙的发展历程 238
11.2 防火墙类型 239
11.2.1 包过滤防火墙 240
11.2.2 电路级网关防火墙 243
11.2.3 应用层网关防火墙 244
11.2.4 状态检测防火墙 246
11.3 防火墙的部署 247
11.4 入侵检测 249
11.4.1 入侵检测的概述 249
11.4.2 IDS与防火墙的比较 250
11.5 入侵检测的方法与案例 251
11.5.1 端口扫描攻击的原理 252
11.5.2 端口扫描检测的目标与
困难 252
11.5.3 端口扫描的一般防御 253
11.5.4 端口扫描的常见检测
算法 253
11.5.5 阈值随机游走算法 254
习题 256
第12章 数字水印 257
12.1 数字水印的概述 257
12.1.1 数字水印的定义 257
12.1.2 数字水印的应用 257
12.1.3 数字水印的框架 258
12.2 图像介质水印的分类 258
12.3 基于空域的水印算法 259
12.3.1 加性噪声水印算法 259
12.3.2 LSB算法 260
12.3.3 Patchwork算法 261
12.4 基于频域的水印算法 262
12.4.1 基于DCT的水印算法 262
12.4.2 基于DFT的水印算法 263
12.4.3 基于DWT的水印算法 266
12.5 其他图像介质水印算法 268
12.5.1 基于SVD的水印算法 268
12.5.2 基于分形的水印算法 268
习题 269
展开
当今世界,互联网与无线通信技术的发展及普及改变了我们的生活方式,使得我们在信息安全方面面临着严峻挑战。党的二十大报告中强调:“推进国家安全体系和能力现代化,坚决维护国家安全和社会稳定。”信息安全作为国家安全体系的重要组成部分,是我国现代化产业体系中不可或缺的部分,在未来的发展中承担托底的重担,确保信息安全也是维护整个社会稳定运转的必要条件。
信息安全是一个涉及广泛且交叉领域的综合学科,仅工程技术领域就涵盖广泛,包括密码学、网络应用安全、网络攻防、访问控制、代码安全、信息隐藏等多细分学科。这些不同学科层次的安全保障需要利用数学、电子、信息、通信、计算机等多个学科的知识,汇集长期积累的经验和最新的发展成果。面对如此纷繁复杂的学科内容,作为引领学生进入信息安全学科领域的一本教材,“吾生也有涯,而知也无涯”。本书没有蜻蜓点水般面面俱到,而是通过面(广泛覆盖)与点(重点深入)的结合,引领学生体会信息安全领域的基本分析框架和思考方法。
在教学内容的编排上,本书以信息安全学科发展过程中的经典科学问题的提出、解决和发展为各章节的逻辑主线组织教学内容。面向信息安全零基础的学生,从剖析简单朴素的安全问题开始,逐步加深问题的难度,在一个个安全问题的提炼与解决过程中,使学生潜移默化地接受信息安全思维训练。根据讲授进程设计章问题(贯穿整章教学内容的科学问题)、节问题(某一节要解决的问题),让学生参考和运用学习内容给出解决方法或进行思考评论,主动地学习,不断地思考问题,自己动手解决问题。此外,面向国家战略科技需求,本书大幅增加了国密算法的设计与分析等教学内容。
本书开篇以一个较低起点引导学生思考,即信息安全的经典问题之一“通信保密”,因此第1~3章最初的逻辑主线是如何提供通信保密的密码服务,介绍了古典密码、现代分组密码、公钥密码。伴随公钥密码的讲解,在第3章和第4章完成了关键转折,关注的安全问题开始扩展,提炼了抽象层面的5种信息安全需求:保密性、完整性、可用性、可认证、抗抵赖。第4章面向如何提供报文鉴别中的完整性、可认证、抗抵赖3个安全服务,给出了报文鉴别码和哈希函数的解决方案,并在后续章节逐步发展和完善了这种信息安全问题的分析框架和方法。
本书的后半部分面向相对具体的领域应用问题,讲解信息安全的经典解决方案与领域最新成果的前沿专题。例如,针对公钥在实际使用过程中如何分发的问题,给出了公钥基础设施的解决方案;针对分布式环境下如何实现身份认证防止重放攻击的问题,介绍了经典的Kerberos协议;面向分布式账本数据的完整性保护问题,分析了区块链解决方案等。章节的组织确保了内容之间有着清晰的逻辑关系和延伸,提供了系统性且可扩展的信息安全典型解决方案和思考方法。
本书包含配套教学资源,读者可登录华信教育资源网(www.hxedu.com.cn)注册后免费下载。
本书为工业和信息化部“十四五”规划教材,国家级一流本科课程配套教材。本书配套MOOC,读者可在中国大学MOOC平台搜索“信息安全”课程(授课教师:李景涛)学习。
本书的部分内容是在复旦大学的信息安全类课程教学中得到发展和完善的,感谢所有学生和助教的帮助。特别感谢研究生助教路宏、孟扬二、赵来旺、张浩然、雷哲、黄易凡、刘楷文等对本书做出的贡献。
本书在编写过程中参考了国内外的有关著作和文献,特别是杨波、李子臣、Stallings、张凤军等教授的著作。
本书究竟能否达到编著者的目的还有待实践的检验,我们真诚地欢迎读者及同行的批评意见和建议。本书的出版得到了电子工业出版社的大力支持,在此谨向他们表示衷心的感谢!
编著者
展开