当前位置: 首页 > article >正文

05.HTTPS的实现原理-HTTPS的握手流程(TLS1.2)

05.HTTPS的实现原理-HTTPS的握手流程(TLS1.2)

  • 简介
  • 1. TLS握手过程概述
  • 2. TLS握手过程细化
  • 3. 主密钥(对称密钥)生成过程
  • 4. 密码规范变更

简介

主要讲述了混合加密流程完成后,客户端和服务器如何共同获得相同的对称密钥,并通过该密钥进行数据的加密和解密。详细介绍了HTTPS的加密过程,并进一步阐述了TLS握手过程,包括客户端发送Client Hello请求给服务器,告知其支持的TLS版本、生成的随机数以及密码套件等信息,以便服务器根据这些信息与客户端协商并建立安全的连接。

1. TLS握手过程概述

TLS握手过程包括四次握手
1.客户端首先发送Client Hello请求。
2.服务器收到Client Hello后,发送Server Hello、Server Random、Certificate、Server Key Exchange、Server Hello Done等报文。
3.客户端收到服务器端的报文后,生成主密钥并加密后发送给服务器端。
4.服务器端收到客户端的加密数据后,用私钥解密,得到主密钥。
5.双方使用主密钥进行对称加密,完成数据传输。

在这里插入图片描述

2. TLS握手过程细化

在TLS1.2协议中,主密钥(对称密钥)由双方交换参数、协商算法各自生成。不再由客户端生成后,加密传输给服务端。

1.Client Hello包含TLS版本、随机数(Client Random)、密码套件(CipherSuites)等信息。
2.Server Hello确认收到Client Hello,并发送Server RandomECDHE密钥交换算法、Certificate、Server Key Exchange、Server Hello Done等报文。
3.Client收到服务器端的报文后,生成客户端参数(Client Key Exchange),并用服务器端的公钥加密后发送给服务器端。
4.服务器端收到客户端的加密数据后,用私钥解密,生成主密钥。与此同时,客户端也生了相同的主密钥。
5.客户端和服务器端分别用主密钥进行数据加密和解密。

3. 主密钥(对称密钥)生成过程

1.客户端验证完服务器端的合法性后,生成自己的客户端参数(Client Key Exchange),并用服务器端的公钥加密后发送给服务器端。
2.服务器端收到客户端的加密数据后,用私钥解密,得到客户端参数。
3.客户端和服务器端分别用两个参数(Client Key Exchange、Server Key Exchange),通过协商好的ECDHE算法生成预主密钥。然后预主密钥再次和两个随机数(Client Random、Server Random)进行ECDHE算法计算,生成主密钥
4.主密钥用于后续的数据加密和解密。

4. 密码规范变更

1.在生成主密钥后,客户端和服务器端改变密码规范,从非对称加密变为对称加密。
2.使用主密钥进行数据的加密和解密,提高安全性。

往期文章参考:
01.HTTPS的实现原理-HTTPS的概念
02.HTTPS的实现原理-HTTPS与HTTP的区别详解
03.HTTPS的实现原理-HTTPS的工作流程
04.HTTPS的实现原理-HTTPS的混合加密流程


http://www.kler.cn/a/452814.html

相关文章:

  • 【大语言模型】ACL2024论文-34 你的模型能区分否定和隐含意义吗?通过意图编码器揭开挑战
  • 美食推荐系统|Java|SSM|JSP|
  • w~视觉~3D~合集5
  • 如何编写 Prompt
  • 笔记工具--MD-Markdown的语法技巧
  • OSI 网络 7 层模型
  • Let‘s encrypt 免费 SSL 证书安装
  • [Unity Shader][图形渲染]【游戏开发】 Shader数学基础8 - 齐次坐标
  • Docker部署Sentinel
  • vue 基础学习
  • 赛博错题本
  • android 登录界面编写
  • 在UE5中调用ImGui图形界面库
  • Mysql的MHA高可用及故障切换
  • 3.银河麒麟V10 离线安装Nginx
  • VisionPro开发使用交互反馈系统(Affordance System)
  • 自定义 SpringBoot Starter
  • 联通软研院:基于OceanBase落地检索增强生成 (RAG) 的应用实践
  • 基于Spring Boot的工商局商家管理系统
  • 不在广东想把自己的IP变成广东怎么办