px">8.6.1 什么是HMAC 193
8.6.2 HMAC的步骤 194
8.7 对消息认证码的攻击 196
8.7.1 重放攻击 196
8.7.2 密钥推测攻击 198
8.8 消息认证码无法解决的问题 199
8.8.1 对第三方证明 199
8.8.2 防止否认 199
8.9 本章小结 200
8.10 小测验的答案 200
第9章 数字签名——消息到底是谁写的 203
9.1 羊妈妈的认证 204
9.2 本章学习的内容 204
9.3 数字签名 204
9.3.1 Alice的借条 204
9.3.2 从消息认证码到数字签名 205
9.3.3 签名的生成和验证 206
9.3.4 公钥密码与数字签名 207
9.4 数字签名的方法 209
9.4.1 直接对消息签名的方法 209
9.4.2 对消息的散列值签名的方法 211
9.5 对数字签名的疑问 214
9.5.1 密文为什么能作为签名使用 214
9.5.2 数字签名不能保证机密性吗 214
9.5.3 这种签名可以随意复制吗 215
9.5.4 消息内容会不会被任意修改 215
9.5.5 签名会不会被重复使用 216
9.5.6 删除签名也无法“作废合同”吗 216
9.5.7 如何防止否认 217
9.5.8 数字签名真的能够代替签名吗 217
9.6 数字签名的应用实例 218
9.6.1 安全信息公告 218
9.6.2 软件下载 219
9.6.3 公钥证书 220
9.6.4 SSL/TLS 220
9.7 通过RSA实现数字签名 220
9.7.1 用RSA生成签名 220
9.7.2 用RSA验证签名 221
9.7.3 具体实践一下吧 221
9.8 其他的数字签名 222
9.8.1 ElGamal方式 222
9.8.2 DSA 223
9.8.3 ECDSA 223
9.8.4 Rabin方式 223
9.9 对数字签名的攻击 223
9.9.1 中间人攻击 223
9.9.2 对单向散列函数的攻击 224
9.9.3 利用数字签名攻击公钥密码 224
9.9.4 潜在伪造 225
9.9.5 其他攻击 226
9.10 各种密码技术的对比 226
9.10.1 消息认证码与数字签名 226
9.10.2 混合密码系统与对散列值签名 227
9.11 数字签名无法解决的问题 227
9.12 本章小结 227
9.13 小测验的答案 228
第10章 证书——为公钥加上数字签名 229
10.1 本章学习的内容 230
10.2 证书 230
10.2.1 什么是证书 230
10.2.2 证书的应用场景 230
10.3 实际生成一张证书 233
10.3.1 赛门铁克的Digital ID免费试用服务 233
10.3.2 生成证书 233
10.3.3 显示证书 234
10.3.4 证书标准规范 236
10.4 公钥基础设施(PKI) 237
10.4.1 什么是公钥基础设施 237
10.4.2 PKI 的组成要素 238
10.4.3 认证机构的工作 240
10.4.4 证书的层级结构 241
10.4.5 各种各样的PKI 242
10.5 对证书的攻击 243
10.5.1 在公钥注册之前进行攻击 244
10.5.2 注册相似人名进行攻击 245
10.5.3 窃取认证机构的私钥进行攻击 245
10.5.4 攻击者伪装成认证机构进行攻击 246
10.5.5 钻CRL的空子进行攻击(1) 246
10.5.6 钻CRL的空子进行攻击(2) 247
10.5.7 Superfish 248
10.6 关于证书的Q&A 249
10.6.1 为什么需要证书 249
10.6.2 通过自己的方法进行认证是不是更安全 250
10.6.3 为什么要相信认证机构 251
10.7 本章小结 252
10.8 小测验的答案 253
第3部分 密钥、随机数与应用技术 255
第11章 密钥——秘密的精华 257
11.1 本章学习的内容 258
11.2 什么是密钥 258
11.2.1 密钥就是一个巨大的数字 258
11.2.2 密钥与明文是等价的 260
11.2.3 密码算法与密钥 260
11.3 各种不同的密钥 260
11.3.1 对称密码的密钥与公钥密码的密钥 260
11.3.2 消息认证码的密钥与数字签名的密钥 261
11.3.3 用于确保机密性的密钥与用于认证的密钥 262
11.3.4 会话密钥与主密钥 263
11.3.5 用于加密内容的密钥与用于加密密钥的密钥 264
11.4 密钥的管理 264
11.4.1 生成密钥 264
11.4.2 配送密钥 265
11.4.3 更新密钥 265
11.4.4 保存密钥 266
11.4.5 作废密钥 267
11.5 Diffie-Hellman密钥交换 268
11.5.1 什么是Diffie-Hellman密钥交换 268
11.5.2 Diffie-Hellman密钥交换的步骤 268
11.5.3 Eve能计算出密钥吗 270
11.5.4 生成元的意义 271
11.5.5 具体实践一下 272
11.5.6 椭圆曲线Diffie-Hellman密钥交换 273
11.6 基于口令的密码(PBE) 274
11.6.1 什么是基于口令的密码 274
11.6.2 PBE加密 275
11.6.3 PBE解密 276
11.6.4 盐的作用 277
11.6.5 口令的作用 279
11.6.6 通过拉伸来改良PBE 279
11.7 如何生成安全的口令 279
11.7.1 使用只有自己才能知道的信息 280
11.7.2 将多个不同的口令分开使用 280
11.7.3 有效利用笔记 281
11.7.4 理解口令的局限性 281
11.7.5 使用口令生成和管理工具 282
11.8 本章小结 282
11.9 小测验的答案 283
第12章 随机数——不可预测性的源泉 285
12.1 骡子的锁匠铺 286
12.2 本章学习的内容 286
12.3 使用随机数的密码技术 286
12.4 随机数的性质 287
12.4.1 对随机数的性质进行分类 287
12.4.2 随机性 288
12.4.3 不可预测性 289
12.4.4 不可重现性 289
12.5 伪随机数生成器 291
12.6 具体的伪随机数生成器 292
12.6.1 杂乱的方法 293
12.6.2 线性同余法 293
12.6.3 单向散列函数法 296
12.6.4 密码法 298
12.6.5 ANSI X9.17 300
12.6.6 其他算法 302
12.7 对伪随机数生成器的攻击 303
12.7.1 对种子进行攻击 303
12.7.2 对随机数池进行攻击 303
12.8 本章小结 304
12.9 小测验的答案 304
第13章 PGP——密码技术的完美组合 307
13.1 本章学习的内容 308
13.2 PGP 简介 308
13.2.1 什么是PGP 308
13.2.2 关于OpenPGP 309
13.2.3 关于GNU Privacy Guard 309
13.2.4 PGP的功能 310
13.3 生成密钥对 311
13.4 加密与解密 314
13.4.1 加密 314
13.4.2 解密 316
13.5 生成和验证数字签名 319
13.5.1 生成数字签名 319
13.5.2 验证数字签名 321
13.6 生成数字签名并加密以及解密并验证数字签名 324
13.6.1 生成数字签名并加密 324
13.6.2 解密并验证数字签名 324
13.7 信任网 328
13.7.1 公钥合法性 328
13.7.2 场景1:通过自己的数字签名进行确认 328
13.7.3 场景2:通过自己完全信任的人的数字签名进行确认 329
13.7.4 场景3:通过自己有限信任的多个人的数字签名进行确认 330
13.7.5 公钥合法性与所有者信任是不同的 331
13.7.6 所有者信任级别是因人而异的 331
13.8 本章小结 333
13.9 小测验的答案 333
第14章 SSL/TLS ——为了更安全的通信 335
14.1 本章学习的内容 336
14.2 什么是SSL/TLS 336
14.2.1 Alice在Bob书店买书 336
14.2.2 客户端与服务器 337
14.2.3 用SSL/TLS承载HTTP 338
14.2.4 SSL/TLS的工作 339
14.2.5 SSL/TLS也可以保护其他的协议 340
14.2.6 密码套件 340
14.2.7 SSL与TLS的区别 341
14.3 使用SSL/TLS进行通信 341
14.3.1 层次化的协议 341
14.3.2 1 TLS记录协议 343
14.3.3 2-1握手协议 344
14.3.4 2-2密码规格变更协议 350
14.3.5 2-3警告协议 351
14.3.6 2-4应用数据协议 351
14.3.7 主密码 351
14.3.8 TLS中使用的密码技术小结 353
14.4 对SSL/TLS的攻击 353
14.4.1 对各个密码技术的攻击 353
14.4.2 OpenSSL的心脏出血漏洞 353
14.4.3 SSL 3.0的漏洞与POODLE攻击 354
14.4.4 FREAK攻击与密码产品出口管制 354
14.4.5 对伪随机数生成器的攻击 355
14.4.6 利用证书的时间差进行攻击 355
14.5 SSL/TLS用户的注意事项 356
14.5.1 不要误解证书的含义 356
14.5.2 密码通信之前的数据是不受保护的 356
14.5.3 密码通信之后的数据是不受保护的 356
14.6 本章小结 357
14.7 小测验的答案 357
第15章 密码技术与现实社会 ——我们生活在不完美的安全中 359
15.1 本章学习的内容 360
15.2 密码技术小结 360
15.2.1 密码学家的工具箱 360
15.2.2 密码与认证 362
15.2.3 密码技术的框架化 362
15.2.4 密码技术与压缩技术 362
15.3 虚拟货币——比特币 365
15.3.1 什么是比特币 365
15.3.2 P2P 网络 366
15.3.3 地址 366
15.3.4 钱包 367
15.3.5 区块链 367
15.3.6 区块的添加 368
15.3.7 交易 369
15.3.8 挖矿 369
15.3.9 确认 370
15.3.10 匿名性 371
15.3.11 信任的意义 371
15.3.12 比特币小结 372
15.4 追寻完美的密码技术 372
15.4.1 量子密码 373
15.4.2 量子计算机 374
15.4.3 哪一种技术会率先进入实用领域 374
15.5 只有完美的密码,没有完美的人 375
15.5.1 理论是完美的,现实是残酷的 375
15.5.2 防御必须天衣无缝,攻击只需突破一点 375
15.5.3 攻击实例1:经过PGP加密的电子邮件 376
15.5.4 攻击实例2:用SSL/TLS加密的信用卡号 377
15.6 本章小结 379
附录 椭圆曲线密码
密码技术综合测验 381
附录A 椭圆曲线密码 382
附录B 密码技术综合测验 392
参考文献 401
资源截图:
嗨,这是一条评论。 要开始审核、编辑及删除评论,请访问仪表盘的“评论”页面。 评论者头像来自Gravatar。