HTTPS 通信流程

news2025/2/23 15:59:56

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:用于消息摘要和完整性校验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2303971.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全链路优化:如何让单点登录认证接口并发性能翻倍?

背景 最近针对一个单点登录认证项目进行性能优化,在 8核 16G 环境下的认证并发能力从每秒800次提升至每秒1600次,性能提升一倍,整理此次优化过程中的相关性能优化操作总结和大家分享一下。 Nginx配置优化 在并发认证场景下,Ngi…

http代理IP怎么实现?如何解决代理IP访问不了问题?

HTTP代理是一种网络服务,它充当客户端和目标服务器之间的中介。当客户端发送请求时,请求首先发送到代理服务器,然后由代理服务器转发到目标服务器。同样,目标服务器的响应也会先发送到代理服务器,再由代理服务器返回给…

USC安防平台之地图临近资源列表

USC安防平台通过配置多层地图,并把相关的摄像机和门禁对象配置到数据上,用户可以方便的在地图上查看并操作。 但是对于大型的视频监控项目,同一个经纬度可能安装了很多台摄像机,这时候就需要显示同一个经纬度的临近资源列表&…

JavaScript数组方法reduce详解

JavaScript数组方法reduce详解 目录 JavaScript数组方法reduce详解一,前言二,核心语法三,案例1.求和2.找最大值3.数组转对象4.复合操作(同时实现 map filter) 四,常见错误1.空数组没有初始值2.没有返回累加…

计算机毕业设计SpringBoot+Vue.js服装商城 服装购物系统(源码+LW文档+PPT+讲解+开题报告)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

Web自动化中Selenium下Chrome与Edge的Webdriver常用Options参数

目录 引言 说明 Add_argument() 添加方式 常用参数 Add_experimental_option() 添加方式 常用方法 任务结束后仍然保持浏览器打开 禁用“Chrome 正受到自动测试软件的控制”提示 设置下载路径 禁用弹窗拦截 禁用图片加载 禁用 JavaScript 注意 引言 …

现代未来派品牌海报徽标设计无衬线英文字体安装包 THANKS LAB

THANK LAB 是一种高级未来主义的软字体,将时尚的现代设计与光滑圆润的边缘相结合,营造出大胆而平易近人的美感。这款字体非常适合品牌、海报、标题、UI/UX 和科幻主题项目,旨在激发创造力。THANK LAB Futuristic Soft Font 完全支持拉丁字母、…

【算法通关村 Day6】二叉树层次遍历

树与层次遍历青铜挑战 理解树的结构 通过中序和后序遍历序列恢复二叉树是一个经典的二叉树构建问题。给定二叉树的中序遍历序列和后序遍历序列,我们可以利用以下步骤进行恢复。 思路: 后序遍历的特点: 后序遍历的最后一个节点是树的根节点…

安全面试2

文章目录 简单描述一下什么是水平越权,什么是垂直越权,我要发现这两类漏洞,那我代码审计要注意什么地方水平越权:垂直越权:水平越权漏洞的审计重点垂直越权漏洞的审计重点 解释一下ssrf漏洞原理攻击场景修复方法 横向移…

【JavaScript进阶】构造函数数据常用函数

目录 本章节用到的所有素材都可以找到:素材自取~~~~ 1、深入对象 1.1创建对象三种方式 1.2 构造函数 练习 利用构造函数创建多个对象 实例化执行过程 1.3实例成员&静态成员 2. 内置构造函数 2.1 Object 2.2 Array 练习 员工涨薪计算成本 2.3 St…

在PiscTrace开发者版上直接处理图像色阶分布

在图像处理和计算机视觉中,色阶分布(或称灰度分布)是描述图像中像素强度分布的一个重要概念。它对于理解图像的亮度、对比度、纹理和细节等方面具有关键作用。通过色阶分布的分析,我们能够获得图像的整体信息,从而帮助…

趣味数学300题1981版-十五个正方形

分析:移动两根变成11个正方形很简单: 移动4根变成15个正方形,分析: 一个田字格包含5个正方形,若要15个正方形需要3个田字格,如果3个田字格完全不重合,需要6*318根火柴。如果合并正方形的边&…

Selenium实战案例1:论文pdf自动下载

在上一篇文章中,我们介绍了Selenium的基础用法和一些常见技巧。今天,我们将通过中国科学:信息科学网站内当前目录论文下载这一实战案例来进一步展示Selenium的web自动化流程。 目录 中国科学:信息科学当期目录论文下载 1.网页内…

nginx 反向代理 配置请求路由

nginx | 反向代理 | 配置请求路由 nginx简介 Nginx(发音为“Engine-X”)是一款高性能、开源的 Web 服务器和反向代理服务器,同时也支持邮件代理和负载均衡等功能。它由俄罗斯程序员伊戈尔西索夫(Igor Sysoev)于 2004…

用户中心项目教程(十)---注册里面的重定向排查和相关的修改

文章目录 1.注册逻辑的设计和实现2.解决自带的这个重定向的问题3.增加属性的相关操作4.关于如何修改页面上面的绿色按钮 1.注册逻辑的设计和实现 上次说到了的是登录功能,我们使用数据库里面存在的这个存在的账户和密码进行登录,但是是无法进行跳转的&a…

根据音频中的不同讲述人声音进行分离音频 | 基于ai的说话人声音分离项目

0.研究背景 在实际的开发中可能会遇到这样的问题,老板让你把音频中的每个讲话人的声音分离成不同的音频片段。你可以使用au等专业的音频处理软件手动分离。但是这样效率太慢了,现在ai这么发达,我们能否借助ai之力来分离一条音频中的不同的说…

【单片机】【UDS】 (单帧与多帧) 数据传输

对于使用 CAN 的诊断通信系统,每个单帧 (SF)、 第一帧 (FF)、 连续帧 (CF) 或流控 制帧 (FC) 有 8 字节数据场;其中单帧的 CAN_DL≤8 且第一帧的 FF_DL≤4095;下表 中已定义 每个报文的类型。 CAN FD 帧的数据场支持最大 64 个字节&#xff0…

WebXR教学 02 配置开发环境

默认操作系统为Windows 1.VS Code VS Code 是一款轻量级、功能强大的代码编辑器,适用于多种编程语言。 下载 步骤 1:访问 VS Code 官方网站 打开浏览器(如 Chrome、Edge 等)。 在地址栏输入以下网址: https://code.v…

MySql数据库运维学习笔记

数据库运维常识 DQL、DML、DCL 和 DDL 是 SQL(结构化查询语言)中的四个重要类别,它们分别用于不同类型的数据库操作,下面为你简单明了地解释这四类语句: 1. DQL(数据查询语言,Data Query Langu…

宇树科技13家核心零部件供应商梳理!

2025年2月6日,摩根士丹利(Morgan Stanley)发布最新人形机器人研报:Humanoid 100: Mapping the Humanoid Robot Value Chain(人形机器人100:全球人形机器人产业链梳理)。 Humanoid 100清单清单中…