概述

HTTP 是超文本传输协议,是明文传输的,存在安全风险。HTTPS 解决了 HTTP 不安全的缺陷,在 TCP 和 HTTP 层之间加入了 SSL/TLS 安全协议,使得报文能够加密传输

HTTPS 在 TCP 三次握手后,还需要进行 SSL/TLS 握手才能进行加密报文传输

HTTP 默认端口为 80,HTTPS 默认端口为 443

HTTPS 需要申请 CA 证书,来保证服务器的身份是可信的

客户端与服务端使用非对称加密将一个秘钥传递给对方,双方使用此秘钥通过对称加密通信。

HTTPS 的原理

HTTP 由于是明文传输,存在监听、篡改、冒充等风险

HTTPS 如何解决以上风险?

  • 混合加密的方式实现信息的机密性,解决了窃听的风险。
  • 摘要算法的方式来实现完整性,它能够为数据生成独一无二的「指纹」,指纹用于校验数据的完整性,解决了篡改的风险。
  • 将服务器公钥放入到数字证书中,解决了冒充的风险。

1. 混合加密

HTTPS 使用对称加密非对称加密结合的混合加密方式:

  • 在通信建立前采用非对称加密的方式来交换会话密钥
  • 在通信过程中全部使用对称加密的会话密钥的方式加密明文数据

2. 摘要算法和数字签名

3. 数字证书

HTTPS 建立连接的过程