深入浅出 HTTPS:从原理到实战-虞卫东
- 书名: 深入浅出 HTTPS:从原理到实战
- 作者: 虞卫东
- 简介: 这是一本专业的HTTPS书籍,全面讲解了HTTPS领域的相关知识,内容包括密码学、OpenSSL命令行、证书、TLS协议、HTTPS网站性能优化、HTTPS网站优秀实践、大型网站HTTPS架构设计等。
- 出版时间 2018-06-01 00:00:00
- ISBN: 9787121341786
- 分类: 计算机-编程设计
- 出版社: 电子工业出版社
高亮划线
封面
版权信息
序1
序2
前言
本书的渊源
一些体会
为什么选择本书
什么人适合阅读本书
本书组织结构
示例
反馈
致谢
读者服务
第1章 HTTP介绍
1.1 什么是Web
1.2 理解HTTP
1.3 网络模型
1.4 协议安全分析
1.5 Web应用安全
第2章 密码学
2.1 对于密码学的认知
2.2 随机数
2.3 Hash算法
2.4 对称加密算法
2.5 消息验证码
2.6 公开密钥算法
2.7 密钥
2.8 密钥协商算法
2.9 椭圆曲线密码学
2.10 数字签名
2.11 DSA数字签名算法
2.12 算法安全性和性能
第3章 宏观理解TLS
3.1 TLS/SSL协议综述
-
📌 对于HTTP Web服务器(比如Nginx)来说,基于HTTP RFC实现了所有HTTP规范,在80端口上监听HTTP请求。Nginx服务为了支持HTTPS,需要和HTTP进行区分,监听非80端口,默认是443端口。当接收到HTTPS请求后,Nginx服务器处理了所有TLS/SSL协议通信后,再接着处理HTTP数据。Nginx服务器没有自己实现TLS/SSL协议,调用操作系统上的OpenSSL库来完成TLS/SSL协议的工作,为了灵活使用TLS/SSL协议,Nginx提供了很多指令来配置TLS/SSL协议。 ^35-5990-6246
- ⏱ 2024-03-22 13:26:28
-
📌 对于客户端(比如浏览器)来说,发送HTTPS请求就是连接服务器的443端口,将所有的HTTP数据传递给TLS/SSL协议,最终由TLS/SSL协议传递给TCP传输层。浏览器一般情况不会自行实现TLS/SSL协议,调用操作系统上的OpenSSL库(也可能是其他TLS/SSL协议实现,取决于不同的操作系统、浏览器)完成TLS/SSL协议的工作。 ^35-6275-6446
- ⏱ 2024-03-22 13:30:36
3.2 TLS/SSL协议背后的算法
-
📌 中间人攻击,这是TLS/SSL协议无法解决的问题,必须结合PKI的技术进行解决,PKI的核心是证书,证书背后的密码学算法是数字签名技术。 ^36-1052-1120
- ⏱ 2024-03-22 13:34:19
-
📌 TLS/SSL协议核心就三大步骤:认证、密钥协商、数据加密 ^36-1208-1237
- ⏱ 2024-03-22 13:33:45
-
📌 不管采用哪种密钥协商算法,客户端和服务器端最终会协商出预备主密钥(Premaster Secret),预备主密钥转换为主密钥,主密钥最终再转换为密钥块。 ^36-2484-2560
- ⏱ 2024-03-22 13:48:24
-
📌 那么在某个连接中,客户端和服务器端使用哪种密钥协商算法呢?使用何种密钥协商算法也是由客户端和服务器端共同决定的,或者说由密码套件决定,对于HTTPS来说,在连接阶段必须协商出一个双方认可的密码套件,密码套件是各个密码学算法组合。 ^36-2986-3100
- ⏱ 2024-03-22 13:50:01
-
📌 大概的流程如下:◎客户端向服务器端发起连接请求,服务器端发送RSA密钥对的公钥给客户端。◎客户端通过随机数生成器生成一个预备主密钥,用服务器的公钥加密并发送给服务器端。◎服务器解密预备主密钥,假如能够正确解密,则说明客户端和服务器端共同协商出一个预备主密钥。 ^36-3235-3454
- ⏱ 2024-03-22 13:50:33
-
📌 这就是中间人攻击者,在TLS/SSL协议中,客户端无法确认服务器端的真实身份,客户端访问https://www.example.com,接收到一个服务器公钥,但是无法确认公钥是不是真正属于www.example.com。公钥只是一串数字,需要有一种手段去认证公钥的真正主人,解决方案就是PKI。 ^36-9801-10023
- ⏱ 2024-03-28 13:09:06
-
📌 公开密钥算法中,所有的网络通信都会存在中间人攻击,这是务必要记住的一点,在HTTPS协议中必须引入PKI技术解决身份验证的问题,PKI技术的核心就是证书。 ^36-10052-10129
- ⏱ 2024-03-28 13:09:17
-
📌 浏览器基于对CA机构的信任,有方法校验服务器的身份,和身份证不一样的是,互联网上的证书就是普普通通的文件,客户端如何校验证书呢?如何确认用户的身份呢(银行校验身份证的技术)?解决方案就是数字签名技术。 ^36-12122-12222
- ⏱ 2024-03-28 13:13:21
3.3 HTTPS总结
3.4 实施HTTPS网站的必备条件
3.5 从用户的角度看HTTPS
第4章 选择HTTPS的必要性和疑惑
4.1 部署HTTPS的疑惑
- 📌 Let's Encrypt是一个免费CA机构,其签发和管理证书的过程都是自动化的,相对来说不用人工干预,证书管理非常方便,第7章会重点讲解。 ^41-1595-1665
- ⏱ 2024-05-22 12:19:08