IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> https的加密过程 -> 正文阅读

[网络协议]https的加密过程

http与https的协议架构

在这里插入图片描述
HTTPS相对于HTTP,实际就是多了一层安全层。
所以实际 HTTPS = HTTP + SSL/TLS。

http在网络上是明文发送的,只要有点http基础的人就可以看懂,所以为了防止第三方进行偷看同时进行篡改的问题,便有了https。

对称加密

在这里插入图片描述
发生方和接收方用同样的规则为数据进行加密。
常见的算法有:RC4,DES,3DES,AES,ChaCha20
比较安全的是AES,ChaCha20,

缺点

这样只要有第三方知道加密的规则,这样就很容易破解了。
所以密钥泄漏就成了问题,而对于服务端来说,要安全的通信,所以与每个客户端的密钥肯定不能是相同的,对于成千上万的客户端,会有成千上万个密钥,所以密钥保存也就成了问题。

非对称加密

在这里插入图片描述
数据经过公钥加密就只能被私钥解密,数据经过私钥加密就只能被公钥解密

如果应用到客户端和服务端的话
在这里插入图片描述

服务端拥有成对的公钥和私钥。
客户端向服务端请求公钥,接着客户端给服务端发送信息时,先使用公钥进行加密,这样就只能使用服务端的私钥才能解密了。

常见的算法有:DH,DSA,RSA,ECC,
常用的是RAS和ECC

缺点

它的速度很慢,效率很低。

对称加密与非对称加密结合

在这里插入图片描述
客户端先向服务端请求公钥,接着把RandKey使用公钥进行加密,服务端使用私钥进行解密,得到了Randkey,接着服务端和客户端使用
先使用对称加密把Randkey发送过去,再使用对称加密发送信息。

下面是得到RandKey的详细过程
在这里插入图片描述

 第一步 客户端先向服务端打招呼,并把支持的TLS版本,加密套件,以及生成的第一个随机数(称为第一个随
 机数)发给服务端
 第二步 服务端也向客户端打招呼,并把支持的TLS版本,加密套件,以及自己生成的一个随机数(称为第二个
 随机数)发送给客户端
 第三步 服务端把证书发送给客户端
 第四步 服务端把公钥发送给客户端
 第五步 服务端告诉客户端已经完成了
 第六步 客户端再生成一个随机数(称为预主密钥),经过上面的的公钥加密,发送给服务端
 第七步 服务端根据第一个随机数和第二个随机数再加上预主密钥生成会话密钥,客户端同样也根据第一个随
 机数和第二个随机数再加上预主密钥生成会话密钥,接着双方使用会话密钥进行加密

第一步到第六步:为非对称加密。
当生成会话密钥后,双方的通信为对称式加密

缺点

中间人私发公钥

不过,这样第三方可以伪装成服务端,把自己的公钥给客户端发去,与客户端进行通信。
在这里插入图片描述

中间人伪装身份

同时,第三方也可以伪装成客户端
在这里插入图片描述
此时,为了解决下面问题,就有了CA证书

CA证书

使用第三方权威机构来颁发公钥和私钥。

服务端往往先向CA机构请求颁发CA证书,它里面包含公钥和私钥。然后它就使用证书里面的公钥和私钥作为它的公钥和私钥。
而作为客户端来说,它验证服务端公钥的合法性时,可以从CA机构那里拿到根证书,从而可以来验证对方公钥的合法性,从而可以判断是否是第三方冒充。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-09-04 01:45:01  更:2022-09-04 01:45:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 8:02:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码