HTTPS 通信流程

HTTPS 通信流程时序图:
客户端 SSL管理器 证书验证器 证书链构建器 信任存储 吊销检查器 服务器 TLS 1.3 握手开始 ClientHello 支持的TLS版本: 1.0-1.3 加密套件(如 TLS_AES_256_GCM_SHA384) 客户端随机数(32字节) 支持的椭圆曲线(如 X25519, P-256) ServerHello 选择TLS版本: 1.3 选择加密套件 服务器随机数(32字节) 选择椭圆曲线 发送服务器证书(X.509 v3) ServerKeyExchange (ECDHE参数) ServerHelloDone 请求验证证书 解析X.509证书 验证签名算法(RSA-2048/ECDSA) 构建证书链 查询根证书 返回信任锚 验证证书链完整性 验证签名(SHA-256 with RSA) 返回证书链验证结果 验证证书有效期 验证域名(CN/SAN) 验证密钥用途和扩展 检查证书吊销状态 OCSP检查(HTTP) CRL检查 返回吊销状态 返回验证失败 显示证书错误 终止连接 返回验证成功 证书验证通过 ECDHE密钥交换 生成ECDHE私钥 ClientKeyExchange ECDHE公钥 使用HKDF-SHA256密钥导出 计算共享密钥(ECDHE) 导出会话密钥 计算共享密钥(ECDHE) 导出会话密钥 ChangeCipherSpec Finished(AEAD加密) ChangeCipherSpec Finished(AEAD加密) 对称加密通信(AES-256-GCM) 应用数据(AEAD加密) 应用数据(AEAD加密) alt [验证失败] [验证成功] 客户端 SSL管理器 证书验证器 证书链构建器 信任存储 吊销检查器 服务器

这个详细的时序图展示了 HTTPS 通信的完整流程,重点包含以下几个方面:

  1. 客户端发起请求

    • 客户端向服务器发送HTTPS请求,连接到服务器的443端口。
  2. 服务器发送证书

    • 服务器将其数字证书发送给客户端。该证书包含服务器的公钥、证书颁发机构(CA)的签名等信息。
  3. 客户端验证证书

    • 客户端验证证书的有效性,包括证书链验证、有效期检查和域名匹配等。
  4. 密钥交换

    • 客户端生成一个预主密钥(Pre-Master Secret),使用服务器的公钥加密后发送给服务器。
    • 服务器使用其私钥解密,得到预主密钥。
  5. 生成会话密钥

    • 客户端和服务器使用预主密钥、客户端随机数和服务器随机数,通过伪随机函数(PRF)计算得到主密钥(Master Secret)。
    • 主密钥用于生成对称加密的会话密钥。
  6. 加密通信

    • 客户端和服务器使用协商的对称加密算法和会话密钥进行加密通信。

在上述过程中,常用的加密算法包括:

  • 非对称加密算法

    • RSA:用于密钥交换和身份验证。
  • 对称加密算法

    • AES:用于数据加密。
  • 哈希算法

    • SHA-256:用于消息摘要和完整性校验。
相关推荐
落叶_Jim8 小时前
2026年Nginx配置HTTPS全流程-从零到自动续期实战指南
运维·nginx·https
Arman_9 小时前
02 rusty-cat 实战:MeowClient 配置、任务参数、进度回调与暂停恢复
http·https·rust·tokio·文件分片上传·文件分片下载
xiaoxue..14 小时前
HTTPS:更安全的HTTP,从加密原理、数字证书到TLS 握手全解析
网络协议·面试·https
Arman_15 小时前
01 Rust 大文件断点上传下载入门:用 rusty-cat 让上传下载更可靠
http·https·rust·tokio·大量阅读·文件分片上传下载
仍然.2 天前
HTTPS
网络协议·http·https
刃神太酷啦2 天前
《网络基础全链路深度解析:从Socket编程到HTTPS与TCP/UDP内核机制》----《Hello Linux!》(25)
linux·运维·c语言·网络·c++·tcp/ip·https
念越3 天前
HTTPS 安全内核:对称与非对称加密的博弈,数字证书一战定局
java·网络·网络协议·安全·https
游戏开发爱好者83 天前
iOS应用性能监控:Pre-Main与Main函数耗时分析及Time Profiler使用教程
android·ios·小程序·https·uni-app·iphone·webview
zyl837213 天前
Express快速上手
https·node.js·express
Bat U3 天前
JavaEE|网络原理HTTP和HTTPS
网络协议·http·https