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

1.HTTP与HTTPS区别

HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

2.加密方式

(1)对称加密

对称加密就是客户端和服务器使用同一个密钥,这个密钥既可以实现加密,也可以实现解密,客户端传输的数据(HTTP协议中的header和body)被密钥加密之后,将密文和密钥兜传到服务器,服务器再这个密钥解密拿到明文。
缺陷:这种只进行对称加密的行为其实无异于掩耳盗铃,因为在传输过程中密钥也被传输了,那么黑客在传输过程中间的网络设备也可以轻松获取到密文和密钥之后进行解析篡改,但是我们在传输过程中无法避开中间的网络设备,因此我们就需要将这个对称密钥进行进一步加密

(2)非对称加密

非对称加密涉及两个密钥,公钥和私钥,公钥就是人人都能获取到,私钥就是只有自己才知道,可以使用公钥来进行加密,使用私钥来解密,或者反过来
例如服务器生成一对公钥和私钥,公钥进行加密,那么公钥加密后的内容就只能用私钥进行解密,服务器将公钥通过网络传输给客户端,客户端再生成一对对称密钥(对称密钥的计算开销要远远小于非对称加密,如果我们使用对称加密来加密数据,通过非对称加密加密对称密钥,那么计算量很小,而且只需要传一次,因此十分节省成本),客户端通过获得的公钥对自己生成的对称密钥进行加密,然后将密文和加密后的对称密钥传输给服务器,服务器通过自己的私钥解密对称密钥,再用对称密钥解密密文获取明文
缺陷:上述过程还是存在问题,就是服务器生成的公钥需要通过中间人传输到客户端,那么中间人如果劫持到这个服务器发来的公钥,并且自己生成一对新的公钥和私钥,将原本要传输的公钥替换成自己生成的公钥,客户端这时收到的公钥是黑客生成的,然后通过黑客生成的公钥对对称密钥进行加密,中间人收到后可以通过私钥对这个对称密钥解密,之后得到数据,再通过服务器传来的公钥进行加密,传给服务器,这样谁都不知道中间经历了第三者的攻击,神不知鬼不觉的盗取数据

(3)引入第三方公信机构

为了解决上述的“中间人攻击”,我们就需要引入一个第三方公信机构来证明这个公钥是一个合法公钥,服务器在开始上线的时候,需要提供一些相关的资质,来申请一个证书,服务器所申请的公钥就放在证书之中,当客户端尝试获取公钥时,就不仅仅是获取公钥了,而是获取整个证书,这时就可以判断公钥的可信性。客户端如何验证这个证书不是伪造的呢:1.证书上自身有一些校验机制 2.向公信机构求证 如果黑客伪造了证书,浏览器就会弹框警报
fiddler抓包HTTPS的过程:
其实我们在用fiddler进行抓包HTTPS时,就是利用到了中间人攻击,我们手动的选择信任fiddler的证书,让fiddler可以从中获取到HTTPS协议,但是fiddler不会篡改数据,而只是将数据呈现出来

  网络协议 最新文章
使用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:49 
 
开发: 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 4:38:49-

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