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

HTTPS-RSA握手

RSA握手过程

HTTPS采用了公钥加密和对称加密结合的方式进行数据加密和解密

RSA握手是HTTPS连接建立过程中的一个关键步骤,用于确保通信双方的身份验证和生成对称加密所需的密钥

通过RSA握手过程,客户端和服务器可以协商出一个共享的对称密钥,并确保通信双方的身份验证和数据传输的安全性

通过Wireshark抓包,一共经历了四次握手

image-20230803100913868

TLS第一次握手

image-20230803092145505

  • 客户端向服务器发出Client Hello,客户端向服务器发送一个包含加密套件列表随机数和其他参数的消息,以表示自己支持的加密算法和通信参数
  • Random随机数是生成会话秘钥的材料之一

TLS第二次握手

image-20230803092916687

  • 服务器发送ServerHello:服务器从客户端发送的加密套件列表中选择最合适的加密套件,并返回给客户端一个包含自己的证书(包含公钥)、随机数和其他参数的消息。

  • 服务端的密钥套件为:Cipher Suite: TLS_RSA_WITH_AES_128_GCM_SHA256

  • 一般WITH前面有两个算法,这只有RSA,说明密钥交换算法和签名算法都是RSA

  • 握手后使用AES对称算法

  • 随机数是产生会话秘钥的第二个材料

  • 返回给客户端的证书是包含服务器的公钥的,客户端通过CA的公钥来解密获得服务器的公钥

  • 数字证书的签发和验证流程

TLS第三次握手

image-20230803094942638

  • 客户端生成一个随机数(pre-master),再用服务器的RSA公钥加密该随机数,通过Client key Exchange消息传给服务器
  • 因此,客户端,服务器都有了三个随机数,分别是Client Random,Server Random和pre-master
  • 双方通过这三个随机数生成会话秘钥,用于对后续的HTTP请求响应的加密
  • 生成完会话秘钥后,客户端发送change cipher spec消息给服务端,开始使用会话秘钥进行加密通信
  • 客户端最后再发Encrypted Handshake Message消息把之前数据做一个摘要处理,使用会话秘钥加密发送给服务器,让服务器做验证

TLS第四次握手

image-20230803095537087

  • 服务器也发送一样的消息给客户端,让客户端做验证,如果都没问题,那么握手就完成了,之后就使用会话秘钥进行加密通信了
http://www.lryc.cn/news/113140.html

相关文章:

  • bigemap国土管理行业应用
  • 深入探索 Splashtop Enterprise 的潜力
  • 创建型模式-单例模式
  • 2. Linux安装Git
  • 检查网站是HTTP那种协议与获取域名的ipv6地址
  • 【转】金融行业JR/T0197-2020《金融数据安全 数据安全分级指南》解读
  • FPGA学习——电子时钟模拟(新)
  • 一文读懂快速开发平台
  • Docker实战-操作Docker容器实战(二)
  • redis原理 5:同舟共济 —— 事务
  • FreeRTOS(vTaskList与vTaskGetRunTimeStats)
  • 机器学习---概述(二)
  • OPENCV C++(六)canny边缘检测+仿射变换+透射变换
  • 大量删除hdfs历史文件导致全部DataNode心跳汇报超时为死亡状态问题解决
  • 农商行基于分类分级的数据安全管控建设实践
  • 读写文件(
  • .net core 依赖注入生命周期
  • 栈和队列的实现
  • java中的垃圾收集机制
  • TCP网络服务器设计
  • 4. C++构造函数和析构函数
  • 【Spring Cloud 四】Ribbon负载均衡
  • “星闪”:60%能耗 6倍速度 1/30时延**
  • cocosCreator 之 i18n多语言插件
  • redis 如何保证数据一致性
  • 因果推断(三)双重差分法(DID)
  • neo4j入门实例介绍
  • CGAL-2D和3D线性几何内核-点和向量-内核扩展
  • Ubuntu 22.04 安装docker
  • 电脑维护进阶:让你的“战友”更强大、更持久!