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加密过程

Https加密过程

1、Https采用混合加密过程

Https加密分为建立连接前的连接阶段,和建立连接后的通信阶段。

在连接阶段,Https采用非对称加密方式进行连接,公钥加密,私钥解密

2、Https通过摘要算法和数字签名

为了保证数据传输的安全性,发送方==>根据内容计算出一个指纹,和内容一起发送, 接收方===>根据内容生成一个指纹,然后根据指纹进行比对。若不一样,内容则被修改过。

指纹的实现就是通过摘要算法实现的。 摘要算法计算内容的哈希值,这个哈希值是唯一的,而且不能通过哈希值反推内容。

==========>但是并不能证明发送方的内容是客户端发送的,有可能恶意攻击,为了证明指纹是客户端的,

==========>采用非对称加密算法,一个公钥,一个是私钥。公钥和私钥是双向加解密的,

若是公钥加密,私钥解密====》保证传输内容的安全性,只有持有私钥的人才能解密出内容

若是私钥加密,公钥解密====》保证消息不会被冒充,只有持有私钥的人才能对内容生成指纹

数字签名算法辨识采用私钥加密内容的哈希值,公钥解密。

3、数字证书

摘要算法保证和数据的完整性

数字签名保证消息来源的可靠性

但是还是缺少身份认证的环节,有可能伪造出一对 公钥私钥,当进行私钥加密,公钥解密的时候,用自己的私钥做成数字签名。

====》既然公钥私钥可以 成对伪造,那就把公钥向权威机构进行校验合法性,如果公钥能解密数字证书,那就是真的公钥

Https的连接过程

Https建立连接的流程是在三次握手之后,再加上一次SSL校验

SSL协议基本流程:

  • 客户端向服务器索要并验证服务器的公钥

  • 双方协商生产会话秘钥

  • 双方使用回话密钥进行加密通信

详细流程:

  • 客户端向服务器发送加密通信请求:客户端支持的SSL版本,客户端生成的随机数,客户端支持的密码套件列表
  • 服务端确认SSL/TLS协议版本,如果不支持,则关闭加密通信; 服务端生成随机数,服务端确认密码套件列表,服务端数字证书
  • 客户端确认数字证书真实性,证书没问题,则取出公钥,进行加密报文===》客户端加密随机数,发送给服务端; 加密通信算法改变通知,表示后续的信息将用私钥通信。

有了这三个随机数,客户端和服务端使用双方协商的算法,各自生成本次会话的秘钥

  • 服务端生成会话密钥之后,向客户端发送:随后的通信将用会话秘钥进行通信,服务端握手结束,返回数据供客户端校验

数字证书的生成过程;

  • 首先CA会将持有者的公钥、信息、有效时间等信息打成一个包,然后对这些信息进行Hash计算,得到一个Hash值

  • CA使用自己的私钥将Hash值加密,生成数字签名

  • 最后将数字签名添加在文件证书上,形成数字证书

客户端校验数字证书:

  • 客户端使用同样的Hash算法获取证书的Hash值H1
  • 浏览器收到证书后使用CA的公钥解密数字签名内容,得到一个Hash值H2
  • 如果H1与H2相同,则证明为可信赖的证书
  网络协议 最新文章
使用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:13 
 
开发: 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 10:04:42-

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