一文彻底搞懂 TSL 流程

文章目录

  • 1. 什么是 TSL
  • 2. TSL 流程
  • 3. CA 签发流程

1. 什么是 TSL

HTTPS(Hyper Text Transfer Protocol Secure)是基于 HTTP 协议之上的安全通信协议,它使用 TLS 或 SSL 加密协议来保护网络通信的安全性和隐私性。

TLS(Transport Layer Security)是 HTTPS 使用的加密协议,它的前身是 SSL(Secure Sockets Layer),用于在通信双方之间建立安全连接并保护数据的传输。

TLS 协议提供了以下主要功能:

  • 加密通信: TLS 使用加密算法对数据进行加密,确保数据在传输过程中不被窃取或篡改。

  • 身份验证: TLS 使用数字证书来验证通信双方的身份,确保通信的可信度和安全性。

  • 完整性保护: TLS 使用消息摘要算法来验证数据的完整性,防止数据在传输过程中被篡改。

HTTPS 通信的基本流程如下:

  • 客户端发起连接: 客户端向服务器发起连接请求,请求建立 HTTPS 连接。

  • 服务器响应: 服务器收到客户端请求后,返回一个证书,证书中包含了服务器的公钥等信息。

  • 证书验证: 客户端验证服务器返回的证书的有效性,包括验证证书的颁发者、有效期等信息,确保服务器的身份可信。

  • 密钥协商: 客户端和服务器协商选择一种加密算法,并交换用于加密通信的密钥。

  • 加密通信: 客户端和服务器使用协商好的加密算法和密钥进行数据加密和解密,确保通信的隐私和安全。

2. TSL 流程

在这里插入图片描述
TLS 握手过程可以分为四个阶段,每个阶段都涉及到客户端和服务器之间的交互。以下是 TLS 握手的四个阶段:

1.TLS 第一次握手:客户端向服务器发起加密通信请求,发送 ClientHello 消息。

客户端主要发送以下信息:

  • 支持的 TLS 协议版本,如 TLS 1.2。
  • 客户端生成的随机数(Client Random),用于生成「会话密钥」的一部分。
  • 客户端支持的密码套件列表,如 RSA 加密算法。

2.TLS 第二次握手:服务器收到客户端请求后,向客户端发送 ServerHello 消息作为响应。

服务器回应的内容包括:

  • 确认的 TLS 协议版本,如果浏览器不支持,则关闭加密通信。
  • 服务器生成的随机数(Server Random),用于生成「会话密钥」的一部分。
  • 确认的密码套件列表,如 RSA 加密算法。
  • 服务器的数字证书(Certificate)。

3.TLS 第三次握手:客户端收到服务器的响应后,首先通过 CA 公钥确认服务器的数字证书的真实性。

如果证书验证通过,客户端从数字证书中取出服务器的公钥,并用该公钥加密报文,向服务器发送以下信息:

  • 一个随机数(pre-master key),该随机数将被服务器的私钥解密。
  • 加密通信算法改变通知,表示随后的信息都将使用「会话密钥」加密通信。
  • 客户端握手结束通知,表示客户端的握手阶段已经结束。

4.TLS 第四次握手:服务器收到客户端的第三次握手消息后,通过协商的加密算法,计算出本次通信的「会话密钥」。

然后,服务器向客户端发送以下信息:

  • 加密通信算法改变通知,表示随后的信息都将使用「会话密钥」加密通信。
  • 服务器握手结束通知,表示服务器的握手阶段已经结束。
  • 客户端和服务器的握手阶段全部结束,建立安全连接,可以开始进行加密通信。

3. CA 签发流程

在这里插入图片描述
1.服务方S向第三方机构CA提交申请,其中包括公钥、组织信息和个人信息(域名)等信息,但不包括私钥。

2.CA收到申请后,通过线上、线下等多种手段对提供的信息进行验证,包括但不限于组织的合法性、企业的注册情况、域名的所有权等。

3.经过验证后,如果申请者提供的信息真实有效,CA会签发认证文件,即数字证书。

数字证书包含以下信息:

  • 申请者的公钥
  • 申请者的组织信息和个人信息(域名等)
  • 签发机构CA的信息
  • 证书的有效时间
  • 证书序列号等信息的明文
  • 同时,数字证书中还包含一个签名,用于验证证书的真实性和完整性。

签名的产生算法如下:

  • 使用散列函数对公开的明文信息(包括申请者信息、CA信息、有效时间等)计算信息摘要。
  • 然后,采用CA的私钥对信息摘要进行加密,得到密文,即签名。

这样生成的数字证书具有CA的数字签名,可以确保证书的真实性和完整性,同时可以被其他方用来验证证书的有效性。

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

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

相关文章

模拟游戏《幸福工厂》好玩吗?《幸福工厂》怎么在mac电脑上打开?

关于《幸福工厂》这款游戏是否好玩,普遍的玩家反馈和评价表明,《幸福工厂》(Satisfactory)因其深度的工厂建造模拟、自由度极高的探索以及精美的图形表现而受到许多玩家的喜爱。它允许玩家在一个开放的世界中规划并建立复杂的生产…

DeepL Pro3.1 下载地址及安装教程

DeepL Pro是DeepL公司推出的专业翻译服务。DeepL是一家专注于机器翻译和自然语言处理技术的公司,其翻译引擎被认为在质量和准确性方面表现优秀.DeepL Pro提供了一系列高级功能和服务,以满足专业用户的翻译需求。其中包括: 高质量翻译&#xf…

Vue3+Vite Nginx部署 跨域

打包项目 webstorm打开项目之后,在Terminal执行打包命令 pnpm run build:prod 复制到Nginx 打包完成之后,生成的包在根目录dist,把dist目录拷贝到Nginx放网站目录下:\nginx-1.25.2\html\divided ,dist改名了divided 修改配置…

基于Java+SpringBoot+vue仓库管理系统设计与实现

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

归并排序---分治法

1、算法的概念 归并排序:是创建在归并操作上的一种有效的排序算法。算法是采用分治法的一个非常典型的应用,且各层分治递归可以同时进行。归并排序的思路简单,速度仅次于快速排序,为稳定排序算法,一般用于对总体无序&…

鸿蒙OS开发实战:【网络管理HTTP数据请求】

一、场景介绍 应用通过HTTP发起一个数据请求,支持常见的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。 二、 接口说明 HTTP数据请求功能主要由http模块提供。 使用该功能需要申请ohos.permission.INTERNET权限。 涉及的接口如下表,…

Nest安装及使用~

前提条件 请确保您的操作系统上安装了 Node.js(版本 > 16) 📚要查看指南,请访问 https://docs.nestjs.com/ 📚要查看中文 指南, 请访问 https://docs.nestjs.cn/ $ node -v v16.18.1 $ npm -v 7.x.x安…

基于YOLOV8+Pyqt5光伏太阳能电池板目标检测系统

1、YOLOV8算法 YOLOv8 是当前效果较好的目标检测 算法,它的核心网络来源于 DarkNet-53,该网络初次在 YOLOv3[11] 中被引入,并深受 ResNet[12] 的影响。DarkNet-53 使用了残差机制,并连续添加了卷积模块来加强其功能性。 这 53 层…

微服务之分布式事务概念

微服务之分布式事务概念 CAP定理和Base理论 CAP定理 CAP定理在1998年被加州大学的计算机科学家 Eric Brewer 提出,分布式系统有三个指标: 一致性(Consistency)可用性(Availability)分区容错性&#xff…

线上系统时间慢八个小时的排查之路

最近有一个新项目上线,在上线时,突然发现时间与正常时间对不上,少了八个小时;但我丝毫不慌,这不就是个时区的问题吗,简单,但是这一次它给我深深的上了一课,一起来看整个排查过程吧。…

交替子数组计数 - 力扣题解

⭐简单说两句⭐ ✨ 正在努力的小新~ 💖 超级爱分享,分享各种有趣干货! 👩‍💻 提供:模拟面试 | 简历诊断 | 独家简历模板 🌈 感谢关注,关注了你就是我的超级粉丝啦! &…

HarmonyOS实战开发-如何实现一个简单的健康生活应用(下)

获取成就 本节将介绍成就页面。 功能概述 成就页面展示用户可以获取的所有勋章,当用户满足一定的条件时,将点亮本页面对应的勋章,没有得到的成就勋章处于熄灭状态。共有六种勋章,当用户连续完成任务打卡3天、7天、30天、50天、…

MySQL中如何进行多表查询

目录 一、子查询 1.什么是子查询 2.注意事项 二、联结查询 1.什么是联结 2.内部联结(等值联结) ①WHERE语句 ②ON语句 3.自联结 4.自然联结 5.外部联结 三、组合查询 1.什么是组合查询 2.UNION规则 *本节涉及概念来源于图灵程序设计丛书&a…

【前端面试3+1】07vue2和vue3的区别、vue3响应原理及为什么使用proxy、vue的生命周期中在什么时期给接口发请求、【找出数组最大公约数】

一、vue2和vue3的区别 1.性能优化: Vue 3在性能方面有很大的提升,主要是通过虚拟DOM的优化和响应式系统的改进实现的。 虚拟 DOM 重构:Vue 3 中对虚拟 DOM 进行了重构,使得更新算法更加高效,减少了更新时的开销&#x…

14 - grace数据处理 - 泄露误差改正 - 空域滤波法(Mascon法)

@[TOC](grace数据处理 - 泄露误差改正 - 空域滤波法(Mascon法)) 空域法的基本思想是假设地面某区域的质量变化是由一系列位置已知、质量未知的质量块(小范围区域)引起的,那么将GRACE反演的结果归算到n个质量块上的过程就是泄露信号恢复的过程。个人理解是这样的:假定已知研…

gtsam::Pose3的compose()函数作用

#include <gtsam/geometry/Pose3.h> #include <iostream> int main(int argc, char** argv) {// B 的旋转量为绕 x 轴旋转 180 度gtsam::Pose3 B gtsam::Pose3(gtsam::Rot3(0, 1, 0, 0), gtsam::Point3(1, 2, 0));// A 的旋转量为绕 z 轴旋转 180 度gtsam::Pose3 A…

Linux零基础入门之华为欧拉系统安装

一、名词解释 Linux&#xff1f; Linux是一个开源的免费的操作系统&#xff0c;功能与windows一样。具有处理器管理&#xff0c;存储管理&#xff0c;设备管理&#xff0c;文件管理&#xff0c;作业管理等功能。 可以俗称为Linux操作系统&#xff0c;组织或个人&#xff0c;…

【FIFO】Standard / FWFT FIFO设计实现(一)——同步时钟

标准FIFO 本文使用位扩展的方式实现标准FIFO&#xff0c;原理可参考【AXIS】AXI-Stream FIFO设计实现&#xff08;一&#xff09;——基本模式&#xff0c;核心代码如下&#xff1a; logic [FIFO_DEPTH_WIDTH : 0] rd_ptr_r d0, wr_ptr_r d0;always_ff (posedge clk) beginif…

软考108-上午题-【结构化开发】-杂题+小结

一、杂题 真题1&#xff1a; 真题2&#xff1a; 真题3&#xff1a; 真题4&#xff1a; 数据流图到软件体系结构的映射 根据数据流的特点&#xff0c;可以将数据流图分为&#xff1a; 变换型数据流图事务型数据流图 其对应的映射分别为&#xff1a; 变换分析事物分析 一个…

网安学习笔记-day11,FTP服务器

FTP服务器 FTP介绍 FTP(File Transfer Protocol)文件传输协议 端口号&#xff1a;TCP 20/21 工作方式&#xff1a; 主动模式被动模式 服务器部署 准备阶段 配置IP windowsXP 192.168.1.21&#xff08;也可DHCP自动获取&#xff09; Windows2003 192.168.1.1 安装万维网…