HTTPS的执行流程

HTTPS的执行流程是通过SSL/TLS协议在HTTP基础上实现加密通信的过程,主要分为​​TCP连接建立、TLS握手协商密钥、加密数据传输​​三个阶段。以下是详细流程及核心机制:


一、TCP连接建立

  1. ​客户端发起TCP连接​
    用户在浏览器输入HTTPS网址(如 https://example.com),客户端向服务器发送TCP SYN包,发起三次握手请求。
    • ​三次握手​​:客户端发送SYN → 服务器返回SYN-ACK → 客户端发送ACK确认,完成TCP连接建立

二、TLS握手与密钥协商

  1. ​客户端发起TLS握手请求(Client Hello)​
    客户端发送Client Hello消息,包含支持的TLS版本、加密套件列表(如AES、RSA)、压缩算法及一个随机数(Client Random)

  2. ​服务器响应(Server Hello)​
    服务器返回Server Hello消息,确认使用的TLS版本、加密套件、压缩算法,并发送一个随机数(Server Random)和数字证书

  3. ​证书验证​
    客户端验证服务器证书的有效性,包括:

    • 证书是否由受信任的CA颁发

    • 证书是否过期或被吊销

    • 域名是否匹配

      若验证失败,连接终止;若通过,客户端生成​​预主密钥​​(Pre-Master Secret)

  4. ​密钥交换​

    • ​非对称加密传递预主密钥​​:客户端用服务器公钥加密预主密钥并发送给服务器

    • ​生成会话密钥​​:客户端与服务器基于Client Random、Server Random和预主密钥,通过算法生成​​对称会话密钥​​(Session Key)

    • ​前向保密(可选)​​:若使用Diffie-Hellman算法,即使私钥泄露,历史会话仍无法被解密


三、加密数据传输

  1. ​加密通信​

    • 客户端和服务器交换Finished消息,确认握手完成

    • ​对称加密传输数据​​:所有后续数据均用会话密钥加密(如AES),保障传输效率

    • ​完整性校验​​:通过消息验证码(MAC)或哈希函数(如SHA)验证数据是否被篡改

  2. ​连接关闭​
    通信结束后,双方终止连接并丢弃会话密钥


四、核心机制与优化

  • ​混合加密​​:非对称加密协商密钥(安全但慢) + 对称加密传输数据(高效)
  • ​会话复用​​:若客户端与服务器曾建立连接,可复用会话密钥,减少握手次数
  • ​HTTP/2支持​​:通过多路复用和头部压缩提升HTTPS性能

总结

HTTPS通过​​证书验证身份​​、​​混合加密保障机密性​​、​​完整性校验防篡改​​,实现了安全通信。其核心流程可简化为:
​TCP连接 → TLS握手(验证证书+密钥协商) → 对称加密传输数据​​。现代HTTPS还通过会话复用、前向保密等技术进一步优化安全性和性能