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为什么安全和ca证书的原理解析 -> 正文阅读

[网络协议]https为什么安全和ca证书的原理解析

加密算法

https最大的优点是安全,既然要讲解安全原理,那就得从根源讲起。
密码学上,经典加密算法包括对称加密算法的非对称加密算法。

对称加密算法

经典就是凯撒密码,比如说,我规定,我传输的数据,全部后移3位,接收方接收到的数据后,在前移三位,可以得到明文。
对称加密算法的最大特点是对称,也就是说,双方需要事先知道加密解密的规则。然而,互联网上的传输最难的就是这个,怎么事先商量好?这个不太现实,也不好实现,因为你商量规则的过程,同样不安全。

非对称加密算法

非对称加密算法,主要包括公钥和密钥:
需要满足这三点:
公钥加密,私钥解密,公钥不能被公钥解密(私钥加密,公钥解密)
只要满足这三点的算法,都可以算是非对称加密算法,需要注意的是,私钥加密,公钥也可以反过来解密,只要公钥或者私钥,就不行。
非对称加密算法的执行过程:
客户端申请请求,服务器发送公钥给客户端,客户端拿到公钥去给自己要传输的数据加密,讲加密后的数据传送到服务器,服务器用自己的密钥解密。
可能出现的问题:
中间的不法分子,可以截取服务器发送给你的公钥,然后,伪造一个他自己的公钥传输给你,此时,你用假公钥封装了数据,传输后,他就可以用自己的密钥解开你的数据。这样你的数据就泄露了。

CA证书

如何解决非对称加密算法的漏洞问题呢?可以通过ca机构来解决。
ca机构:其实就是一些公益性的机构,会和服务器进行交互,对服务器的公钥进行包装,这个包装过程,其实也是一次非对称加密:其实就是用自己的私钥对服务器的公钥再次加密,生成新的ca机构的公钥,也就是证书,然后,将ca机构自己的公钥,直接内嵌到操作系统中
ca原理解析:
为什么前面说非对称加密不安全?因为中间者可以篡改服务器传输过来的公钥。
因此,只要解决了篡改的问题,让中间者不能私自篡改服务器公钥,非对称加密不就安全了嘛。那么,为什么ca证书能保证服务器的公钥不能被篡改呢?
ca证书做了什么?ca机构用自己的私钥对服务器公钥进行了二次加密,然后,将ca的公钥内嵌进了操作系统。
先说二次加密:
二次加密后,中间者,可以获取到吗?当然可以。获取到后,可以解密吗?嵌入操作系统的公钥,中间者也知道,当然可以解密,解密后,中间者就可以功能获取到服务器传过来的公钥,可是,此时,中间者却不能更改这个公钥,为什么不能修改这个公钥呢?
ca公钥嵌入操作系统
因为如果中间者篡改了服务器的公钥,传到客户端后,用ca嵌入到操作系统的公钥再去解密,数据就会不对了,此时,相当于,客户端解密后,就得明白数据被改了(注意:ca是用自己的私钥对数据进行加密,然后讲公钥嵌入到操作系统
https其实就是这么一套流程来保证数据传输的安全

总结

说白了,ca就是用自己的私钥对服务器传输的公钥进行二次加密,然后将ca自己的公钥嵌入操作系统,嵌入操作系统这个操作的本质,其实就是把ca的加密解密过程写死了属于是,写死了的后果,就会导致,中间者就算拿服务器传输到公钥,也不能更改,因为过程写死了,你一旦改了,就能被认出来,从而解决了非对称加密环节的漏洞。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-07-21 21:50:39  更:2022-07-21 21:50:47 
 
开发: 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 5:06:24-

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