[openSSL]TLS 1.3握手分析

news2024/11/15 13:02:21

文章目录

  • 前言
  • 一、ECDHE密钥交换
  • 二、TLS单向身份认证
  • 三、TLS双向身份认证


前言

关于TLS握手网上资料很多,但是有一些写的很不清楚,导致学习时对概念和流程出现混淆,以下是我觉得写得比较清晰和准确的供学习参考。
浅析 TLS(ECDHE)协议的握手流程(图解)
图解ECDHE密钥交换算法
TLS原理与实践(三)tls1.3
以访问百度为例的TLS1.3握手详解

接下来针对ECDHE密钥交换、单向身份认证、双向身份认证来进行分析。注意这3个只是完整TLS握手流程中的一部分。

一、ECDHE密钥交换

ECDHE密钥交换流程中,每一次的流程,客户端和服务端都会临时生成ECDHE私钥和公钥。

注意ECDHE私钥和公钥并不是客户端或者服务器的私钥和公钥,两个概念要区分开。ECDHE私钥和公钥是每次会话都要重新生成的
在这里插入图片描述

  1. ECDHE密钥交换的步骤即是客户端获得服务器随机数和服务器ECDHE公钥;服务器获得了客户端随机数和客户端ECDHE公钥。(密钥的生成可以看链接中的文章)
  2. 这样双方都有了己方的ECDHE私钥和对端的ECHDE公钥,便能够生成预主密钥。
  3. 之后根据两方的随机数以及预主密钥来生成对称密钥。

二、TLS单向身份认证

在这里插入图片描述
单向认证指的是客户端对于服务端的身份认证。

  1. 服务器向客户端发送经过CA机构签名的证书,客户端收到后会使用系统预置的CA根证书来验证该证书的有效行。
  2. 当验证有效,那么客户端会提取出服务器的证书文件,其中包含了服务器的公钥。
  3. 服务器使用私钥对一段消息进行签名,之后发送给客户端,客户端使用提取出的服务器公钥进行验证,从而确认服务端的身份。

验证的主要原理是:一、使用CA根证书来验证服务器证书的有效行;二、使用服务器公钥来验证对方是持有了服务器私钥的,以此确认对方的身份。

三、TLS双向身份认证

双向认证即是既需要认证服务端,也需要对客户端进行认证。认证的基本流程和单向认证是类似的。
在这里插入图片描述

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

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

相关文章

【C++ 面试 - 基础题】每日 3 题(十三)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…

【原创】java+swing+mysql简单图书信息管理系统设计与实现

个人主页:程序员杨工 个人简介:从事软件开发多年,前后端均有涉猎,具有丰富的开发经验 博客内容:全栈开发,分享Java、Python、Php、小程序、前后端、数据库经验和实战 开发背景: 编程小白们刚入…

Lua语言基础学习:安装Lua和Lua库管理工具

Lua语言简介 Lua是一种轻量、高效、可嵌入的脚本语言,由巴西里约热内卢天主教大学的研究小组于1993年开发,Lua的解释器非常小巧,编译后的体积很小(如完整解释器不过200KB),这使得它非常适合嵌入到其他应用程…

基于Linux系统中的 【环境变量】 详细讲解

目录 一、环境变量的基本概念 二、环境变量的认识 1、常见的环境变量 2、查看环境变量的方法 3、环境变量的作用 4、和环境变量相关的命令 5、环境变量的组织方式 6、获取环境变量的方式 1)通过环境参数表获取 2)通过系统调用获取或设置环境变…

微信小程序开发组件和API(附源代码演示)

微信小程序组件参考文档:https://developers.weixin.qq.com/miniprogram/dev/component/ 微信开发者工具下载网址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 小程序开发指南:https://developers.weixin.qq…

Langchain框架深度剖析:解锁大模型-RAG技术的无限潜能,引领AI应用新纪元

文章目录 前言一、Langchain 框架概述二、大模型-RAG技术原理三、应用示例1.RAG案例一(私有文档直接读取-问答)2.RAG案例二(Vue上传文件结合文件内容回答问题)3.RAG案例三(Vue秒传文件结合文件内容回答问题&#xff09…

C语言——预处理详解(上)

目录 引言 预定义符号 define 定义常量 #define 定义宏 带有副作用的宏参数 宏替换的规则 宏和函数的对比 引言 在C语言编程中,预处理是编译前的关键步骤,它负责处理如宏定义、条件编译和文件包含等指令。今天我们来学习一下有关C语言——预处理…

洛谷 3道 函数 题目 题解 (超详细)

题目目录: No.1 B2137 判决素数个数 No.2 B2138 最大质因子序列 No.3 B2140 二进制分类 OK,开始正文! 第一题: B2137 判决素数个数 题目描述 求 X,Y 之间的素数个数(包括 X 和 Y)。 输入…

LB-8100A 推拉力测试机精密推拉力试验机

LB-8100A 多功能推拉力测试机广泛应于与 LED 封装测试、IC 半导体封 装测试、TO 封装测试、IGBT 功率模块封装测试、光电子元器件封装测试、汽 车领域、航天航空领域、军工产品测试、研究机构的测试及各类院校的测试 研究等应用。 多功能推拉力测试机精密推拉力试验机 *设备硬件…

地热模拟软件opengeosys-OGS安装和学习1

1.下载地址 官网:https://www.opengeosys.org/ 界面Gina:https://discourse.opengeosys.org/t/gina-version-3-24/175 https://teambeam.bgr.de/my/drive/folder/68(注意下载压缩包,有些注册表需要处理) 2.处理 下…

视频汇聚平台智能边缘分析一体机分析平台摄像头异常位移算法识别检测

智能边缘分析一体机在摄像头异常位移检测方面扮演着关键角色,它利用先进的图像处理技术和机器学习算法来实时监测摄像头状态,判断是否发生了非预期的位移。下面是智能边缘分析一体机如何检测摄像头异常位移的详细步骤: 1. 图像帧对比&#x…

内部排序(二路归并、基数、计数)

【内部排序(插入、交换、选择)】 一、二路归并排序 1. 算法思想与实现步骤 1)算法思想: 二路归并排序是一种分治算法。它将待排序的序列分为两个子序列,分别对这两个子序列进行排序,然后将两个已排序的子…

安美数字酒店宽带运营系统 weather.php 任意文件读取漏洞复现

0x01 产品简介 HiBOS酒店宽带运营系统是由安美世纪(北京)科技有限公司开发的一套专为酒店设计的宽带管理系统。该系统旨在提升酒店宽带服务的运营效率和安全性,为酒店客人提供稳定、高速、便捷的上网体验。 0x02 漏洞概述 安美数字酒店宽带运营系统 weather.php …

【Linux】快速入门系列(四) —— Linux实用操作

Linux实用操作 前言:先换个阿里的源一、各类小技巧 — 快捷键(一)强制停止 CtrlC(二)退出或登出 CtrlD(三)历史命令搜索的三种方式(四)光标移动快捷键(五&…

无人机之机架布局篇

一、“十”字型 “十”字布局适合刚接触无人机的初学者,是起初最先发展的布局。 优点:控制简单,首尾明确,俯仰和横滚运动仅需改变一对电机的转速。 缺点:机体前向视角易被螺旋桨遮挡,灵活性有所不足&…

DHCP服务(服务名dhcpd,端口UDP /67和UDP/68)

目录 前言 配置文件 DHCP服务器的配置 下载安装DHCP服务 编辑配置文件 重启服务 客户端测试 配置客户端网卡 重启网卡 前言 DHCP动态主机配置协议是一种网络协议,提供了动态配置IP地址的功能,允许服务器自动为网络上的设备分配IP地址和其他网络…

自动化测试面试常用题库

自动化面试题记录整理(部分答案自己整理) selenium中如何判断元素是否存在? 没有提供原生的方法判断元素是否存在,一般我们可以通过定位元素异常捕获的方式判断selenium中hidden或者是display = none的元素是否可以定…

8080端口被占怎么处理?

一、Windows系统 1、 按住WinR输入CMD打开命令行窗口 2、运行以下命令来查看占用端口 8080 的程序的 PID(进程标识符),可以看到PID是12040 netstat -ano | findstr 8080 3、 运行以下命令来终止占用端口 8080 的程序: taskkill /p…

精彩回顾 | 风丘科技亮相2024名古屋汽车工程博览会

2024年7月17日-19日,风丘科技联合德国IPETRONIK亮相日本名古屋汽车工程博览会。该展会面向汽车行业不同应用场景,包括新的eAxle、FCEV、ADAS、测试测量系统和ECU测试等相关技术,是一个专为活跃在汽车行业前线的工程师和研究人员举办的汽车技术…

腾讯云 AI代码助手 | 尽享 AI时代下的程序员福利

腾讯云 AI代码助手 | 尽享 AI时代下的程序员福利 前言腾讯云AI代码助手智能补全代码信息(代码补全)精准修复错误代码(代码优化)清晰解释既有代码(解释代码)按需生成单元测试(生成单元测试&#…