HTTPS传输过程

HTTPS:超文本传输安全协议
相较于HTTP明文传输,HTTPS增加了SSL/TLS进行了加密增加了通信的安全性。
SSL和TLS是两个不同的加密方法,SSL是TLS的前身,现在绝大多数浏览器使用的是TLS,所以着重了解以下TLS的概念即可。

首先了解以下加密的概念,信息传输的过程中为了防止别人监听我们就需要对传输的信息进行加密,加密模式有两种对称加密和非对称加密。

  • 对称加密:双方使用相同的公钥和私钥,容易被暴力破解
  • 非对称加密:两个人使用不同的私钥和公钥

非对称加密的过程:

  • 客户端发送自己的公钥
  • 服务器发送自己的公钥,以及使用客户端公钥加密的自己的私钥
  • 客户端发送使用服务器公钥加密的私钥
  • 现在双方都有对方的私钥和公钥就可以进行信息传输了

对称加密也存在它的问题,比如沟通的对象并不能保证是真实的客户端,一旦服务器的私钥泄漏会造成很大的问题,TLS考虑到这种情况采用了两种策略。

  • 数字证书验证
  • 由非对称加密转向对称加密

数字证书这个东西相信都见过,浏览一些问题网站时经常会遇到浏览器提示对方的数字证书有风险

HTTPS四次握手

  • 客户端发送一个client hello,告诉服务端采用的TLS版本及支持的加密套件,同时还有一个随机数这里记作r1

  • 服务器发送一个server hello,告诉客户端,服务器确认支持的TLS版本号及选择的加密套件,生成随机数r2,同时发送服务器的CA证书,如果服务器需要客户端的数字证书的话在这个阶段发出请求

  • 客户端的浏览器根据自己的证书信任列表判断这个服务器是否可信,没问题的话,客户端发送一个client key exchange,使用CA证书中的公钥加密一个随机数r3(预主密钥),同时告诉服务器接下来使用会话密钥通信并提取所有握手数据的摘要供服务器校验

  • 服务器使用私钥对预主密钥进行解密得到第三组随机数,然后使用约定的加密算法使用三组随机数生成会话密钥,服务器进行最后的响应,通知客户端接下来可以使用会话密钥了,同时把之前握手的数据进行提取摘要发送过去供客户端校验

HTTPS优点

  • 整个过程中私钥并未进行传输所以安全性更高,如果服务器的私有不泄露一般不会出现信息泄漏的情况
  • 引入了CA证书,有了证书的加持连接行为变得可控了许多

下面简单看一下数组证书的内容
在这里插入图片描述

使用数字证书的好处可以举一个例子,比如半夜你正在一个使用HTTP的网站看小说,这个时候你的室友想要整蛊你一下,他就可以通过一些工具模拟成一个中间人,你和他之间进行交换密钥,他和网站交换密钥,它可以修改你发送的信息然后修改之后再转发给服务器,这个过程神不知鬼不觉。

CA证书验证过程

  • 使用颁发证书机构提供的公钥提取数字签名得到一个证书内容的哈希值,然后自己对证书内容进行哈希,比较两段内容是否一样

所以说引入了CA证书后就可以确保和你通信的就是他本人了,他对证书内容进行修改的话也会因为没有颁发机构的私钥而无法得到正确的数字签名。

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

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

相关文章

centos 7 安装磐维(PanWeiDB)数据库(单机)

前置环境准备 文件系统环境要求 文件系统环境所要求的扇区必须为512bytes,查看方法如下: [rootdevops-core-highapp3-b-32 ~]#df -h /apps/ [rootdevops-core-highapp3-b-32 ~]#ll /dev/mapper/vg--docker-lvapp [rootdevops-core-highapp3-b-32 ~]#f…

EfficientNetV2:谷歌又来了,最小的模型,最高的准确率,最快的训练速度 | ICML 2021

论文基于training-aware NAS和模型缩放得到EfficientNetV2系列,性能远优于目前的模型。另外,为了进一步提升训练速度,论文提出progressive learning训练方法,在训练过程中同时增加输入图片尺寸和正则化强度。从实验结果来看&#…

【docker】nexus 本地 maven配置

1、这篇文章中说明了如何搭建私服 【docker】搭建Nexus私服-CSDN博客文章浏览阅读2次。4、点击登陆(账号:admin 秘密:在容器内 /nexus-data/admin.password 文件中)注意我的端口号是 10002,注意你的端口号。7、设置maven-central…

MSTP环路避免实验(华为)

思科设备参考:MSTP环路避免实验(思科) 一,技术简介 MSTP(多生成树协议),MSTP解决了STP和RSTP没有考虑vlan的问题,STP和RSTP将所有的vlan共享为一个生成树实例,无法实现…

获取电商数据的几种方法分享

在数字化时代,电商数据已经成为企业决策的重要依据。无论是市场趋势的洞察、用户行为的分析,还是产品优化和营销策略的制定,都离不开电商数据的支持。本文将分享几种获取电商数据的有效方法,力求在干货满满的同时,也不…

Linux系统网络的实时性评估

目录 1.使用 cyclictest 测试系统实时性2.测试系统通信实时性2.1 PingPlotter2.2 使用 ping 测试通讯实时性 3. 使用 iperf 测试带宽4.网络性能测试 1.使用 cyclictest 测试系统实时性 安装cyclictest sudo apt-get update sudo apt-get install rt-testscyclictest -p 99 -i…

代码第三十六天:需要添加的硬币的最小数量

需要添加的硬币的最小数量 题目要求: 解题思路 为方便描述,把 0 也算作可以得到的数。 假设现在得到了区间 [ 0 , s − 1 ] [0,s−1] [0,s−1] 中的所有整数,如果此时遍历到整数 x c o i n s [ i ] xcoins[i] xcoins[i],那么…

win10 安装kubectl,配置config连接k8s集群

安装kubectl 按照官方文档安装:https://kubernetes.io/docs/tasks/tools/install-kubectl-windows/ curl安装 (1)下载curl安装压缩包: curl for Windows (2)配置环境变量: 用户变量: Path变…

Python之Opencv教程(2):图像边缘检测

1、什么是边缘检测 OpenCV中的边缘检测是一种常见的图像处理技术,用于检测图像中物体边缘的位置。常用的边缘检测算法包括Sobel算子、Scharr算子、Laplacian算子和Canny边缘检测算法等。下面将介绍使用OpenCV实现这些边缘检测算法的方法。 2、边缘检测的作用 边缘…

STM32 字符数组结束符 “\0”

STM32 字符数组结束符 “\0” 使用字符数组使用printf,string参考 使用字符数组 使用STM32的串口发送数据,核心代码如下: char str[] "hello world!\n\r";while(1) {HAL_UART_Transmit(&huart2, str, sizeof (str), 10);HAL…

【力扣刷题日记】1173.即时食物配送I

前言 练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。 今日题目: 1173.即时食物配送I 表:Delivery 列名类型delivery_idintcustomer_idintorder_datedatecustomer…

Java学生管理系统(附完整代码)两个版本

目录 学生管理系统 需求: 分析: 初始菜单: 学生类: 添加功能: 删除功能: 修改功能: 查询功能: 设计图 学生管理系统(基础版)独立开发 所用方法 代码: Student类: Stud…

LabVIEW双通道太阳射电频谱观测系统

LabVIEW双通道太阳射电频谱观测系统 开发了一个基于LabVIEW平台开发的双通道高速太阳射电频谱观测系统。该系统实时监测太阳射电爆发,具有随机性、持续时间短、变化快等特点。通过高速信号采集卡实现1.5 GS/s的信号采集,时间分辨率可达4ms,频…

类的新功能

类的新功能 默认成员函数 在C11之前,一个类中有如下六个默认成员函数: 构造函数。拷贝构造函数赋值重载析构函数取地址重载函数const取地址函数 其中前四个默认成员函数最重要,后面两个默认成员函数一般不会用到,这里默认成员…

PHPCMS v9城市分站插件

PHPCMS自带的有多站点功能,但是用过的朋友都知道,自带的多站点功能有很多的不方便之处,例如站点栏目没法公用,每个站点都需要创建模型、每个站点都需要单独添加内容,还有站点必须静态化。如果你内容很多这些功能当然无…

虚函数和纯虚函数

虚函数 被virtual修饰的成员函数称为虚函数 定义一个函数为虚函数&#xff0c;是为了使用基类指针调用子类函数。虚函数&#xff0c;不代表函数不被实现。只有纯虚函数才不被实现&#xff0c;纯虚函数定义了一个接口&#xff0c;起到规范的作用。 #include <iostream>…

【AXIS】AXI-Stream FIFO设计实现(四)——异步时钟

前文介绍了几种同步时钟情况下的AXI Stream FIFO实现方式&#xff0c;一般来说&#xff0c;FIFO也需要承担异步时钟域模块间数据传输的功能&#xff0c;本文介绍异步AXIS FIFO的实现方式。 如前文所说&#xff0c;AXI-Stream FIFO十分类似于FWFT异步FIFO&#xff0c;推荐参考前…

B201-SpringBoot整合Shiro

目录 ShiroShiro核心组件SpringBoot整合Shiro1.创建新SpringBoot项目和导包2.自定义Shiro过滤器Realm3.配置类ShiroConfig编写认证和授权规则案例&#xff1a;案例思路改造ShiroConfigAccountController配置视图解析器templates下新建3个页面启动测试 登录认证设置自定义登录页…

【C++庖丁解牛】自平衡二叉搜索树--AVL树

&#x1f341;你好&#xff0c;我是 RO-BERRY &#x1f4d7; 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f384;感谢你的陪伴与支持 &#xff0c;故事既有了开头&#xff0c;就要画上一个完美的句号&#xff0c;让我们一起加油 目录 前言1 AVL树的概念2. AVL…

探索未来的视觉智能:AI视频分析系统的崭新时代

随着人工智能技术的飞速发展&#xff0c;AI视频分析系统正逐渐成为各行业的关注焦点。这些系统不仅可以帮助安防领域实现更智能化的监控&#xff0c;还能在零售、交通、医疗等领域发挥重要作用。本文将深入探讨AI视频分析系统的崭新时代&#xff0c;揭示其未来发展的无限可能。…