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

1、https的全过程

目录

  • 一、概述
  • 二、SSL过程如何获取会话秘钥
    • 1、首先认识几个概念:
    • 2、没有CA机构的SSL过程:
    • 3、没有CA机构下的安全问题
    • 4、有CA机构下的SSL过程

一、概述

https是非对称加密和对称加密的过程,首先建立https链接需要经过两轮握手:

  1. TCP三次握手确认双方可通信,
  2. 然后进行SSL握手双方获取会话秘钥(在此期间是非对称加密的过程)

之后双方通过会话秘钥进行数据交互(此过程是对称加密过程)。

二、SSL过程如何获取会话秘钥

1、首先认识几个概念:

  • 非对称加密:存在一把公钥一把私钥,公钥可公开,私钥只能私有,公私钥可以双向加密解密。
  • 公钥加密,私钥解密: 保证内容的安全不被破解,因为只有私有能解密公钥的加密后的内容。
  • 私有加密,公钥解密:保证内容不被篡改,首先私钥对内容进行加密得到数字签名,然后将公钥+内容+数字签名一起发送,客户端拿到后用公钥对数字签名进行解密,得到的结果如果和内容一样,则说明内容没有被篡改。

2、没有CA机构的SSL过程:

  • 服务器持有私钥和公钥,浏览器需要访问服务器
  • 服务器发送公钥给浏览器
  • 浏览器创建一个会话私钥,用服务器的公钥给会话私有加密
  • 浏览器发送加密后的会话私钥给服务器
  • 服务器用私钥解密,得到会话私钥
  • 双方使用会话私钥进行对称加密
    在这里插入图片描述

3、没有CA机构下的安全问题

此过程存在一个问题,在服务器发送公钥的时候,黑客可以拦截公钥,然后自己伪造一对公私钥,将自己的公钥发给浏览器,浏览器将会话秘钥发回后,用自己的私钥解开得到会话秘钥,再把将浏览器的公钥进行加密然后返还给服务器,服务器和浏览器丝毫不知道中间发生了什么,会话私钥就被黑客持有了,之后的加密通话都被黑客一览无余。
在这里插入图片描述

4、有CA机构下的SSL过程

前面我们发现,服务器发送公钥的时候被黑客替换了,原因是浏览器并没有验证公钥是否是服务器的公钥。因此我们需要一个第三方权威机构来帮忙证明公钥就是服务器的。其实权威机构也有自己的公钥和私钥,公钥内置在浏览器中,私有用来对服务器的公钥进行加密得到数字签名,并把这个签名给到服务器。而浏览器证明公钥是服务器的过程其实就是用浏览器中内置的CA机构的公钥对服务器给的数字签名进行解密,得到的结果如果和服务器给的公钥一致,即可证明公钥没有被篡改,也即改公钥就是浏览器的。
在此之前,服务器需要先跟CA机构申请数字签名。如下图
在这里插入图片描述

得到数字签名后,会将数字签名和公钥一起返回发送个浏览器,浏览器再对公钥进行验证。
在这里插入图片描述
简述:

  • 服务器向CA机构提供公钥,CA机构使用机构私钥对服务器公钥进行加密,得到数字签名。
  • 将数字签名返回给服务器,每个浏览器都内置有CA机构的机构公钥。
  • 浏览器请求发起,服务器将数字签名和公钥一起发送给浏览器。
  • 浏览器使用内置的机构公钥对数字进去进行解密,如果解密结果与服务器公钥一致,则验证通过,继续之后的会话私钥交换。
http://www.lryc.cn/news/436239.html

相关文章:

  • 抢鲜体验 PolarDB PG 15 开源版
  • UEFI——使用标准C库
  • [全网首发]怎么让国行版iPhone使用苹果Apple Intelligence
  • C语言-综合案例:通讯录
  • XWiki中添加 html 二次编辑失效
  • 外贸|基于Java+vue的智慧外贸平台系统(源码+数据库+文档)
  • Elasticsearch:无状态世界中的数据安全
  • 动手学习RAG:迟交互模型colbert微调实践 bge-m3
  • springboot 整合quartz定时任务
  • erlang学习: Mnesia Erlang数据库3
  • 善于善行——贵金属回收
  • 用CSS 方式设置 table 样式
  • Elasticsearch7.x 集群迁移文档
  • 高空抛物检测算法的应用场景解析
  • Leetcode 无重复字符的最长子串
  • 用命令行的方式启动.netcore webapi
  • Spring6详细学习笔记(IOC+AOP)
  • @RequestMapping 基于哪个库进行通信
  • GPIO(General Purpose Input/Output)输入/输出
  • 两个pdf合并成一个pdf,这些pdf合并小技巧了解下
  • Transformer学习(2):自注意力机制
  • 分类预测|基于粒子群优化径向基神经网络的数据分类预测Matlab程序PSO-RBF 多特征输入多类别输出 含基础RBF程序
  • 【React】Vite 构建 React
  • 算法刷题:300. 最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组
  • 【linux】一种基于虚拟串口的方式使两个应用通讯
  • 并行程序设计基础——并行I/O(3)
  • 性能测试-jmeter脚本录制(十五)
  • 关系型数据库 - MySQL I
  • 解锁AI写作新境界:5款工具让你的论文创作事半功倍
  • 一文读懂多组学联合分析产品在医学领域的应用