深入浅出HTTPS:从原理到实战

深入浅出HTTPS:从原理到实战

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

一本专业的HTTPS书籍,全面讲解了HTTPS领域的相关知识。

内容简介

本书有几个特点:

1)内容全面而新颖,基于RFC文档、国外书籍、社区等一手资料,总结了大部分的HTTPS知识;

2)由浅入深,从基础到进阶全面掌握HTTPS,读者能够轻松构建一个HTTPS网站,并使网站安全性和性能最大化,对于大型网站的HTTPS系统架构和应用架构设计也有指导意义;

3)内容通俗易懂,用语描述精准,充分考虑到读者的阅读和思考习惯,只要具备基础的HTTPS知识和Linux知识就能无障碍阅读;

4)理论结合实践,本书除了让读者掌握HTTPS的交互细节,更注重实践,介绍了很多工具,让读者更好地掌握HTTPS;

5)具有启发性,读者可以通过《深入浅出HTTPS:从原理到实战》开启密码学和HTTPS学习之门,真正做到“深入”。

作者简介

作者虞卫东,网名虞大胆,新浪网高级技术经理。曾先后供职过新浪博客产品部和赶集网移动事业部。在新浪博客工作多年,担任过开发工程师、技术经理、应用架构师等,负责新浪博客的开发、运维、设计、性能优化等工作。在赶集网担任过技术总监,负责赶集网客户端后端开发工作。十余年来一直致力于Web后端开发,积累了丰富的架构设计、开发、运维经验,擅长PHP、Python等开发语言。

章节目录

版权信息

内容简介

序1

序2

前言 我的HTTPS学习之旅

第1章 HTTP介绍

1.1 什么是Web

1.1.1 广义理解Web

1.1.2 Web的组成

1.2 理解HTTP

1.2.1 HTTP的定义

1.2.2 HTTP语义

1.2.3 HTTP的特点

1.3 网络模型

1.3.1 TCP/IP概述

1.3.2 Socket和TCP

1.4 协议安全分析

1.4.1 安全问题举例

1.4.2 协议不安全的根本原因

1.5 Web应用安全

1.5.1 浏览器、HTML和JavaScript

1.5.2 W3C

第2章 密码学

2.1 对于密码学的认知

2.1.1 基本认知

2.1.2 密码学的四个目标

2.1.3 OpenSSL

2.2 随机数

2.2.1 随机数的类型

2.2.2 随机数的工作原理

2.2.3 常见的随机数生成器

2.2.4 密码学算法中的随机数

2.3 Hash算法

2.3.1 加密基元

2.3.2 Hash算法和密码学Hash算法

2.3.3 密码学Hash算法的特性

2.3.4 Hash算法的用途

2.3.5 什么是安全的密码学Hash算法

2.3.6 密码学Hash算法的分类

2.4 对称加密算法

2.4.1 流密码算法

2.4.2 块密码算法

2.4.3 填充标准

2.4.4 对称加密算法实践

2.5 消息验证码

2.5.1 什么是消息验证码

2.5.2 MAC算法的种类

2.5.3 消息验证码算法实践

2.5.4 加密算法不能提供完整性

2.5.5 AD加密模式

2.5.6 AEAD加密模式

2.6 公开密钥算法

2.6.1 理解RSA的内部结构

2.6.2 PKCS标准

2.6.3 RSA加密算法的应用场景

2.6.4 RSA加密算法实践

2.7 密钥

2.7.1 生成密钥

2.7.2 口令和PEB算法

2.7.3 密钥存储和传输

2.8 密钥协商算法

2.8.1 RSA密钥协商算法

2.8.2 DH密钥协商算法

2.8.3 DH算法分类

2.8.4 DH密钥协商算法实践

2.9 椭圆曲线密码学

2.9.1 ECC算法的基本模型

2.9.2 使用OpenSSL了解命名曲线

2.9.3 ECDH协商算法

2.9.4 命名曲线

2.10 数字签名

2.10.1 数字签名的用途

2.10.2 数字签名的流程

2.10.3 RSA数字签名算法

2.10.4 RSA数字签名实践

2.11 DSA数字签名算法

2.11.1 内部结构

2.11.2 DSA算法实践

2.11.3 ECDSA算法

2.11.4 ECDSA算法实践

2.12 算法安全性和性能

2.12.1 密钥长度与算法安全性

2.12.2 密码学性能

第3章 宏观理解TLS

3.1 TLS/SSL协议综述

3.1.1 TLS/SSL协议的历史

3.1.2 正确认知TLS/SSL协议

3.1.3 TLS/SSL协议的目标

3.1.4 OpenSSL和TLS/SSL的关系

3.1.5 HTTPS和TLS/SSL的关系

3.1.6 TLS/SSL协议的一些实现

3.2 TLS/SSL协议背后的算法

3.2.1 加密算法和MAC算法

3.2.2 密钥协商算法

3.2.3 前向安全性

3.2.4 密钥衍生算法

3.2.5 中间人攻击

3.2.6 PKI

3.3 HTTPS总结

3.3.1 握手

3.3.2 加密

3.4 实施HTTPS网站的必备条件

3.4.1 证书和密钥对

3.4.2 部署和配置HTTPS网站

3.4.3 全站HTTPS策略

3.5 从用户的角度看HTTPS

3.5.1 绿色小锁图标

3.5.2 TLS/SSL握手失败

3.5.3 混合内容

第4章 选择HTTPS的必要性和疑惑

4.1 部署HTTPS的疑惑

4.1.1 网站好像没有隐私数据

4.1.2 复杂性

4.1.3 成本

4.1.4 性能

4.1.5 外部资源不支持HTTPS

4.1.6 收益和时间对比

4.2 部署HTTPS的必要性

4.2.1 HTTP/2带来的性能提升

4.2.2 趋势

4.2.3 企业形象

4.2.4 HTML5的特性

4.2.5 iOS ATS的安全要求

4.2.6 Chrome和Firefox所做的努力

4.2.7 SEO排名和谷歌Analytics

第5章 快速搭建一个HTTPS网站

5.1 HTTPS网站构建分析

5.2 获取证书和密钥对

5.2.1 自签名证书

5.2.2 向CA机构申请证书

5.2.3 使用Let’s Encrypt证书

5.3 部署证书和密钥对

5.3.1 Nginx配置

5.3.2 Apache配置

5.4 测试HTTPS

5.5 301重定向

5.6 HSTS

5.6.1 什么是HSTS

5.6.2 HSTS实践

5.6.3 浏览器支持

5.6.4 HSTS Preloading

5.7 CSP

5.7.1 如何消除混合内容

5.7.2 什么是CSP

5.7.3 浏览器的兼容性

5.7.4 CSP实践

第6章 证书

6.1 X.509标准和PKI

6.1.1 X.509标准

6.1.2 PKI的组成

6.1.3 X.509标准的内容

6.2 证书

6.2.1 ASN.1

6.2.2 证书结构

6.2.3 CSR

6.2.4 证书扩展

6.2.5 证书分类

6.3 证书链

6.3.1 证书类型

6.3.2 信任原理

6.3.3 信任链校验

6.3.4 信任锚

6.3.5 委派和交叉认证

6.3.6 证书完整校验

6.4 CRL

6.4.1 证书过期和吊销

6.4.2 证书被吊销的原因

6.4.3 CRL是什么

6.4.4 CRL校验

6.4.5 CRL的结构

6.4.6 CRL存在的问题

6.5 OCSP

6.5.1 OCSP是什么

6.5.2 OCSP模型概述

6.5.3 OCSP详解

6.6 OCSP封套

6.6.1 OCSP的优缺点

6.6.2 OCSP封套的工作原理

6.6.3 OCSP封套的优点

6.6.4 OCSP封套的兼容性

6.7 OpenSSL命令行管理证书

6.7.1 证书格式

6.7.2 证书的其他格式

6.7.3 获取线上证书

6.7.4 导入证书到根证书库

6.7.5 OpenSSL管理CSR

6.7.6 OpenSSL生成证书

6.7.7 OpenSSL查看证书

6.7.8 校验CRL

6.7.9 校验OCSP

6.7.10 校验OCSP封套

6.8 其他

6.8.1 如何选择一个CA机构

6.8.2 证书的透明度

第7章 Let’s Encrypt免费证书

7.1 Let’s Encrypt

7.1.1 Let’s Encrypt CA机构的特点

7.1.2 Let’s Encrypt证书的特点

7.2 Let’s Encrypt工作原理

7.2.1 域名校验过程

7.2.2 请求、更新、续期、撤销证书流程

7.3 Certbot客户端

7.3.1 安装Certbot客户端

7.3.2 用户注册

7.3.3 获取和安装证书

7.3.4 Certbot Nginx插件

7.3.5 Certbot Apache插件

7.3.6 Certbot Webroot插件

7.3.7 Certbot Standalone插件

7.3.8 Certbot Manual插件

7.3.9 Certbot管理证书

7.3.10 Certbot查看证书

7.3.11 Certbot撤销证书

7.3.12 Certbot Revoking证书

7.3.13 Certbot高级操作

7.4 Let’s Encrypt的其他信息

第8章 TLS协议分析

8.1 如何理解RFC文档

8.2 描述语言

8.3 TLS/SSL协议概述

8.4 TLS记录层协议

8.4.1 连接状态

8.4.2 TLS记录层协议的处理步骤

8.5 TLS/SSL握手协议

8.5.1 Client Hello子消息

8.5.2 Server Hello子消息

8.5.3 Server Certificate子消息

8.5.4 Server Key Exchange子消息

8.5.5 Server Hello Done子消息

8.5.6 Client Key Exchange子消息

8.5.7 计算主密钥和密钥块

8.5.8 Change Cipher Spec协议

8.5.9 Finished子消息

8.6 扩展

8.6.1 ECC椭圆曲线扩展

8.6.2 signed_certificate_timestamp

8.6.3 Status Request扩展

8.6.4 renegotiation_info重协商扩展

8.6.5 ALPN扩展

8.6.6 Maximum Fragment Length扩展

8.6.7 SNI扩展

8.6.8 Signature Algorithms扩展

8.7 基于Session ID的会话恢复

8.7.1 什么是会话

8.7.2 Session ID的工作原理

8.7.3 Session ID的优缺点

8.8 SessionTicket

8.8.1 SessionTicket的应用场景

8.8.2 SessionTicket的交互流程

8.8.3 SessionTicket TLS扩展

8.8.4 NewSessionTicket握手子消息

8.8.5 两种会话恢复方式如何共存

8.9 使用Wireshark学习TLS/SSL协议

8.9.1 Wireshark的几个使用技巧

8.9.2 使用Wireshark分析TLS/SSL协议

第9章 HTTPS性能和安全

9.1 密码套件

9.1.1 密码套件编号

9.1.2 关键字和关键字修饰符

9.1.3 密码套件一览

9.2 安全性

9.2.1 已知的安全漏洞

9.2.2 常规建议

9.2.3 密码套件

9.2.4 前向安全性

9.2.5 证书

9.2.6 从客户端审视安全性

9.2.7 应用层安全建议

9.3 性能

9.3.1 网络层优化

9.3.2 应用层优化

9.3.3 HTTP/2优化

9.3.4 TLS/SSL优化

9.3.5 TLS/SSL优化方案

第10章 HTTPS网站实战

10.1 工具化配置HTTPS

10.1.1 SSL Configuration Generator

10.1.2 Cloudflare推荐的配置

10.2 自动化测试HTTPS网站

10.2.1 SSL Server Test

10.2.2 SSL Client Test

10.2.3 SSL Pulse

10.3 OpenSSL命令行工具

10.3.1 s_client工具

10.3.2 s_schmerver工具

10.3.3 其他工具

10.4 实战HTTPS网站部署

10.4.1 使用Nginx+OpenSSL部署HTTPS网站

10.4.2 使用Nginx+BoringSSL部署HTTPS网站

10.5 大型网站部署HTTPS

10.5.1 系统架构

10.5.2 HTTPS网站的部署方式

10.5.3 其他部署问题

反侵权盗版声明

深入浅出HTTPS:从原理到实战是2018年由电子工业出版社出版,作者虞卫东。

得书感谢您对《深入浅出HTTPS:从原理到实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
深度学习高手笔记·卷1:基础算法 电子书
本书从算法理论、算法源码、实验结果等方面对深度学习算法进行分析和介绍。
机器学习实战 电子书
《机器学习实战》面向日常任务的高效实战内容,介绍并实现机器学习的主流算法。
深入React技术栈 电子书
全面讲述React技术栈的原创图书,pure render专栏主创倾力打造,覆盖React、Flux、Redux及可视化等内容。
深度学习 电子书
深度学习是机器学习的一个分支,它能够使计算机通过层次概念来学习经验和理解世界。
SolidWorks 2020中文版机械设计从入门到精通 电子书
本书以SolidWorks 2020中文版为基础,帮助你掌握软件操作技巧,适合入门使用。