HTTPS 的加密流程的总结

news2024/11/24 6:35:19

什么是HTTPS

和HTTP一样也是应用层协议,但在HTTP协议的基础上引入了一个加密层(SSL/TLS).
HTTP协议内容都是按照文本的方式明文传输的这导致在传输过程第三方者能够轻易获取传输的内容,而HTTPS在HTTP协议基础上引入一个加密以防止传输内容泄露或被篡改。
因此HTTPS是要比HTTPS更安全的,现在大部分网站采取的也都是HTTPS协议。

加密方式

加密就是把明文(要传输的信息)进行一系列变换,生成密文.
解密就是把密文再进行一系列转换,还原成对应的密文.
在加密和解密的过程中,一般需要一种或者多个中间转换的数据,来辅助这过程的正常进行,这种数据被叫做密钥.其作用就是为了防止他人获取其中的明文,造成隐患。

对称加密

最简单的保证安全的做法,就是引入对称密钥,针对传输的数据(HTTP的header和body)进行加密.
在这里插入图片描述
对称加密其实就是通过同一个 “密钥” ,把明文加密成密文,并且也能把密文解密成明文。
每个客户端,都需要有一把自己的对称密钥(不同客户端的密钥也要不同)如果客户端生成了密钥,就需要把密钥传输给服务器.

如果客户端直接将密钥进行明文传输给服务器,那么黑客也能获得密钥,那么后续的加密操作就没有任何用处了。因此,客户端在传输密钥的时候必须要给密钥进行加密。
在这里插入图片描述
此时,就要想办法,把密钥安全地传输到对端,需要对这个对称密钥进行加密.
此时若使用对称加密,针对刚才对称密钥进行加密,就还是不行.不管搞几层,都是不安全的.
这时,就要使用非对称密钥进行加密了.

非对称加密

非对称加密要用到两个密钥,一个叫做公钥,另一个叫做私钥。私钥就可以对密文解密也可以对明文进行加密,公钥也一样。一般情况来说客户端可以获得公钥,而服务器一般使用私钥.

当客户端拥有公钥时,向服务器发送密钥时步骤如下:

客户端中先用公钥将密钥进行加密形成密文,再将密文发送给服务器
服务器接收到密文后,通过私钥对密文进行解密从而获取客户端给的密钥
再将收到密钥的信息发给客户端,让客户端知道自己已经收到密钥了
之后客户端就使用自己生成的密文进行对称加密来传递明文

在这里插入图片描述
黑客能拿到 888888这样的密文,但是无法解密黑客手里也有公钥,但是没有私钥使用公钥加密,就必须使用私钥解密
只要能够把 888888 安全的传输过去此时后续的通信,就都可以使用对称加密,安全的进行了

注意
此处使用非对称加密,只是用来针对对称密钥进行加密而不会加密 http 的 header 和 body (数据),后续数据的加密还是使用对称加密的.
非对称加密,运算量很大,效率比较低.对称加密,运算量小,效率更高

引入证书

中间人攻击

上述的过程中,依然存在一个严重的问题,中间人攻击.
黑客可以使用中间人攻击的方式,仍然能够拿到对称密钥!
客户端是如何获取到服务器(某个网站)的公钥的?如何确保这个公钥不是被伪造的呢?
在这里插入图片描述解决中间人攻击的关键,需要让客户端能够确认当前收到的公钥,确实是服务器返回的,而不是黑客伪造的!
这时候就引入了证书机制
需要有一个第三方的认证机构,通过第三方机构作保,来确认当前的公钥是有效的.
需要第三方机构对公钥进行认证.
这样客户端和服务器在连接的过程中,而不是简简单单地索取一个公钥了,而是直接向服务器索取一个证书,而相关的公钥就包含在证书里面。
这个证书不是服务器自己生成的,而是第三方机构颁发的,客户端拿到证书之后,就可以根据证书中的信息去第三方机构进行认证,来检验这个证书是否合法,从而确保公钥的可信性。

1.客户端先从服务器获取到证书,证书中包含公钥
2.客户端将证书进行校验
3.客户端生成一个对称密钥,用证书中的公钥进行加密,发送给服务器
4.服务器得到这个请求后用私钥进行解密,得到该密钥
5.客户端以后发出后续的请求,都使用这个对称密钥进行加密。
6.服务器收到这个密文也用这个密钥进行解密。

当然,到了这一步,黑客仍然还有办法!黑客还可以把自己伪装成认证机构,骗客户端安装自己公钥
此时,就可以光明正大的替换掉证书中的数字签名.
至于如何进一步进行反针对,就不再讨论,网络上只有相对的安全.

网络安全中,"攻击”和防御”是一个对抗的过程这个过程,理论上是“无限升级的过程但是实际上,一般来说,防御方还是比攻击方更有优势的.

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

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

相关文章

项目经理不容错过的一个认证——《研发效能(DevOps)工程师国家职业技术认证》

一、引言 在当今的商业环境中,软件研发已成为企业保持竞争力的关键因素之一。项目经理在软件研发中扮演着重要角色,而随着企业对于研发效率的追求,考取《研发效能(DevOps)工程师国家职业技术认证》对于项目经理的职业发展具有重要意义。本文…

许战海战略文库|无增长则消亡:大型制造集团增长困境

竞争环境不是匀速变化,而是加速变化。企业的衰退与进化、兴衰更迭在不断发生,这成为一种不可避免的现实。在过去的100年里,全球经济周期的时间长度明显缩短,周期内的波动也更为剧烈。联合国教科文组织的研究表明,18世纪知识更新的周期约为80到…

什么国产工作流引擎好?

要想提升办公协作效率,获得高效发展,可以借助低代码技术平台的力量。它的轻量级、灵活、易维护、好操作等优势特点都是现代化办公环境里的得力助手,也可以帮助大家打破信息孤岛,连接内部数据资源,为企业未来发展提供强…

在编译源码的环境下,搭建起Discuz!社区论坛和WordPress博客的LNMP架构

目录 一.编译安装nginx 二.编译安装MySQL 三.编译安装PHP 四.安装论坛 五.安装wordpress博客 六.yum安装LNMP架构(简要过程参考) 一.编译安装nginx 1)关闭防火墙,将安装nginx所需软件包传到/opt目录下 systemctl stop fire…

Xcode15+iOS17适配以及遇到的问题

今天更新了 Xcode15,遇到了一些问题,做下记录希望大家少走点坑。 1.iOS17 SDK 安装失败 Xcode更新完成后,打开项目一直显示 no fund iOS17 sdk,根据项目不同提示可能有区别,根据提示下载后提示安装失败,…

【vue+elementUI】输入框样式、选择器样式、树形选择器和下拉框样式修改

输入框样式、选择器样式和下拉框样式修改 1、输入框和选择器的样式修改:2、下拉弹框样式A. 选择器的下拉弹框样式修改B. 时间选择器的下拉弹框样式修改C. vue-treeselect树形下拉框样式 1、输入框和选择器的样式修改: 写在style中不能加scoped&#xff0…

力扣:103. 二叉树的锯齿形层序遍历(Python3)

题目: 给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历 。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 来源:力扣(LeetCode&#…

远程监控电脑软件有哪些?远程桌面监控软件哪个好用

随着科技的发展,远程桌面监控软件已经成为企业和个人用户的重要工具。它们可以帮助用户在任何地方、任何时间监控和管理远程计算机。本文将详细介绍远程桌面监控软件是什么,有哪些常见的远程桌面监控软件。 首先,我们来了解一下什么是远程桌面…

win系统环境搭建(一)——Windows安装一些小工具

windows环境搭建专栏🔗点击跳转 win系统环境搭建(一)——Windows安装一些小工具 本系列windows环境搭建开始讲解如何给win系统搭建环境,本人所用系统是腾讯云服务器的Windows Server 2022,你可以理解成就是你用的wind…

gpu cuda 数组求和优化

欢迎关注更多精彩 关注我&#xff0c;学习常用算法与数据结构&#xff0c;一题多解&#xff0c;降维打击。 问题描述 给定1个数组&#xff0c;利用gpu求和并返回结果。 cpu 算法 #include <math.h> #include<vector> #include<time.h> #include <stdio…

了解:iperf网络性能测试工具

当进行网络性能测试时&#xff0c;可以使用iperf这个开源工具。iperf是一款网络测试工具&#xff0c;它能够测试TCP或UDP带宽质量&#xff0c;以及单向和双向吞吐量。使用iperf进行网络性能测试首先需要在被测试的两台计算机上安装iperf。 如何安装iperf&#xff1f; 在Debia…

HTTP请求行详解

目录 一、认识URL 二、认识方法 2.1 GET方法 2.2 POST方法 2.3 其他方法 请求行也就是HTTP请求的第一行&#xff0c;接下来将对第一行内容进行详细解释 一、认识URL 平时我们俗称的 "网址" 其实就是说的 URL (Uniform Resource Locator 统一资源定位符)。互联网上的…

利用哈希表封装unordered_map和unordered_set

目录 一、迭代器1.1 普通迭代器1.1.1 operator 1.2 const迭代器1.3 代码实现 二、封装unordered_set三、封装unordered_map 一、迭代器 1.1 普通迭代器 1.1.1 operator 对于哈希桶结构&#xff0c;它的迭代器应该如何设计呢&#xff1f;我们仅封装一个Node的指针就行了吗&am…

扬帆配资:首个国家层面电力现货市场 建设规则出炉

9月18日&#xff0c;国家发改委、国家动力局发布了已于近日印发的《电力现货商场底子规则&#xff08;试行&#xff09;》&#xff08;下称《规则》&#xff09;&#xff0c;作为国家层面的首个电力现货商场制作规则文件&#xff0c;推进构建全国一致电力商场系统。 扬帆配资&…

VB过程的递归调用,辗转相除法求最大公约数

VB过程的递归调用&#xff0c;辗转相除法求最大公约数 过程的递归调用&#xff0c;辗转相除法求最大公约数 Private Function gys(ByVal m%, ByVal n%) As IntegerDim r%r m Mod n m大或者n大都无所谓&#xff0c;这个不影响计算&#xff0c;由于辗转相除法的算法&#xff0c…

高阶数据结构——图

图 图的基本概念 图的基本概念 图是由顶点集合和边的集合组成的一种数据结构&#xff0c;记作 G ( V , E ) G(V, E)G(V,E) 。 有向图和无向图&#xff1a; 在有向图中&#xff0c;顶点对 < x , y >是有序的&#xff0c;顶点对 < x , y > 称为顶点 x 到顶点 y 的…

Weblogic反序列化漏洞(CVE-2018-2628/CVE-2023-21839复现)

内容目录 Weblogic反序列化漏洞(CVE-2018-2628/CVE-2023-21839)weblogic中间件CVE-2018-2628漏洞描述影响版本漏洞复现修复方案 CVE-2023-21839漏洞描述影响版本漏洞复现修复方案 Weblogic反序列化漏洞(CVE-2018-2628/CVE-2023-21839) weblogic中间件 WebLogic是美国Oracle公司…

Day 00 python基础认识与软件安装

1、基础认识 首先&#xff0c;我们先来区分、了解一些知识点 编程&#xff0c;编程语言 编程&#xff1a;用代码写一个程序 编程语言&#xff1a;用那种语法规则编写程序 &#xff08;人与计算机之间进行交流的工具&#xff1a;c、c、java、python、php、go……&am…

win系统环境搭建(四)——Windows安装mysql8压缩包版本

windows环境搭建专栏&#x1f517;点击跳转 win系统环境搭建&#xff08;四&#xff09;——Windows安装mysql8压缩包版本 本系列windows环境搭建开始讲解如何给win系统搭建环境&#xff0c;本人所用系统是腾讯云服务器的Windows Server 2022&#xff0c;你可以理解成就是你用…

openGauss学习笔记-74 openGauss 数据库管理-创建和管理视图

文章目录 openGauss学习笔记-74 openGauss 数据库管理-创建和管理视图74.1 背景信息74.2 管理视图74.2.1 创建视图74.2.2 查询视图74.2.3 查看某视图的具体信息74.2.4 删除视图 openGauss学习笔记-74 openGauss 数据库管理-创建和管理视图 74.1 背景信息 当用户对数据库中的一…