HTTPS的加密方式介绍

一.HTTPS的概念

目录

二.HTTPS和HTTP的体系结构

HTTP体系结构

HTTPS体系结构

三.为什么要引入HTTPS

被篡改情况举例如下

四.什么是加密,解密,密钥

五.加密的方式

1.对称加密

对称加密演示图(假设客户端生成密钥)

使用对称加密产生的问题

a.服务器需要维护每个客户端和每个密钥的关联关系

示意图如下

解决方案示意图如下

引入非对称加密的背景

2.非对称加密

a.非对称加密的常见概念

b.对称加密和非对称加密的特点

非对称加密的工作原理图

六.中间人攻击

1.中间人攻击的示意图

[七 .数字证书(校验机制)](#七 .数字证书(校验机制))

申请颁发证书的大致流程

数字签名

总结证书(校验机制)流程和结论

数字证书(校验机制)解决中间人攻击的示意图


HTTPS是一个应用层协议,是在HTTP协议的基础上引入了一个加密层(SSL or TLS)。

二.HTTPS和HTTP的体系结构

HTTP体系结构

HTTPS体系结构

三.为什么要引入HTTPS

HTTP协议内容都是按照文本的方式明文传输的,这就会导致在传输过程中出现一些被篡改的情况。

被篡改情况举例如下

这样黑客就会很容易地进行篡取。 在互联网上,明文传输是一件非常危险的事情。

HTTPS就是在HTTP的基础上进行了加密,进一步的来保证用户的信息安全的。

四.什么是加密,解密,密钥

加密就是把明文 (要传输的信息)进行一系列变换,生成密文。

解密就是把密文在进行一系列变换,还原成明文。

在这个加密和解密的过程中,往往需要一个或者多个中间的数据,辅助进行这个过程,这样的数据成为密钥。

五.加密的方式

加密的方式有很多种,但是整体上可以分成两大类:对称加密和非对称加密。

1.对称加密

对称加密其实就是通过同一个**密钥,**把明文加密成密文,并且也能把密文解密成明文。客户端和服务器最开始通信的时候,就需要一方生成唯一的密钥,再通过网络传输给另一方。

对称加密演示图(假设客户端生成密钥)

引入对称加密之后,即使数据被截获,由于黑客不知道密钥是啥,因此就无法进行解密 ,也就不知道请求的真实内容是啥了。

使用对称加密产生的问题

a.服务器需要维护每个客户端和每个密钥的关联关系

服务器同一时刻其实是给很多客户端提供服务的,这么多客户端,每个人用的密钥必须是不同的(如果是相同的密钥,意味着黑客可以自己搞个客户端,就能拿到密钥了)。因此服务器需要维护每个客户端和每个密钥之间的关联关系,这是一个很麻烦的事情。

示意图如下

为了解决上述的问题,可以在客户端和服务器建立连接的时候,双方协商 确定这次的密钥是啥

解决方案示意图如下

引入非对称加密的背景

但是如果直接把密钥明文传输,那么黑客也能获得密钥了,此时后续的加密操作就形同虚设了,因此密钥的传输也必须加密传输。即使再给密钥进行加密,但是新的密钥始终是明文的。为了解决这个问题,引入非对称加密

2.非对称加密

a.非对称加密的常见概念

非对称加密要用到两个密钥,一个叫做公钥 ,一个叫做私钥

公钥和私钥是配对的。最大的缺点就是运算速度非常慢,比对称加密要慢得多。

  • 通过公钥对明文加密,变成密文
  • 通过私钥对密文解密,变成明文

也可以反着用

  • 通过私钥对明文加密,变成密文
  • 通过公钥对密文解密,变成明文

b.对称加密和非对称加密的特点

对称加密:运算速度快,开销小,适合针对大量数据进行加密

非对称加密:运算速度慢,开销大,加密小的数据还行,加密大量数据,非常耗时

非对称加密的工作原理图

  • 客户端在本地生成对称密钥,通过公钥加密,发送给服务器。
  • 由于中间的网络设备没有私钥,即使截获了数据,也无法还原出内部的原文,也就无法获取到对称密钥。
  • 服务器通过私钥解密,还原出客户端发送的对称密钥,并且使用这个对称密钥加密给客户端返回的响应数据。
  • 后续客户端和服务器的通信都只用对称加密即可。由于该密钥只有客户端和服务器两个主机知道,其他主机 / 设备不知道密钥即使截获数据也没有意义。
  • 由于对称加密的效率比非对称加密高很多,因此只是在开始阶段协商密钥的时候使用非对称加密,后续的传输仍然使用对称加密。

但是上述的加密还是有一定问题。 黑客可以通过特殊手段,来获取对称密钥,破坏后续传输的安全性,这种手段是中间人攻击

六.中间人攻击

1.中间人攻击的示意图

  • 服务器生成公钥pub1,私钥pri1
  • 客户端生成对称密钥key
  • 黑客自己生成公钥pub2,私钥pri2

则也正如图中所说,关键是要给客户端(唐三藏)配一个孙悟空,用孙悟空的火眼金睛来区分出这个公钥是黑客生成的,还是服务器生成的。这就需要引入数字证书 (校验机制)

七 .数字证书(校验机制)

申请颁发证书的大致流程

数字签名

数字签名本质上是一个被加密的检验和,校验和是把要检验的数据部分(包含证书的有效期是什么时候,证书的颁发机构是谁,服务器的公钥是谁,服务器的拥有者是啥)代入一个固定的公式,算出的一个数字。

总结证书(校验机制)流程和结论

1.把关键信息(如公钥)作为输入生成校验和

2.针对校验和加密(第三方认证机构,也生成一对非对称密钥pri2,pub2,使用pri2进行加密)

输入的值相同,得到的校验和就是相同的

输入的值不同,得到的校验和,大概率是不相同的

校验和不同,输入的初始值就是不同的

数字证书(校验机制)解决中间人攻击的示意图

相关推荐
发光小北6 小时前
四路can转WIFI在现场应用中有什么问题?
网络协议
zxanz111 小时前
网站为什么需要 SSL 证书来实现 https?
https
长按助力退休13 小时前
HTTP缓存从强缓存到协商缓存,前端性能优化第一步
http
Lsetea16 小时前
curl报58 unable to set private key file:客户端证书与私钥加载排查
运维·https·ssl证书·openssl·curl
Lsetea16 小时前
OpenSSL报certificate is not yet valid:error 9与notBefore时间排查
linux·运维·https·ssl证书·openssl
2501_9159090617 小时前
iOS应用从开发到上架App Store的完整发布流程与步骤指南
android·ios·小程序·https·uni-app·webview
刘马想放假17 小时前
网络链路备份与高可用技术详解:从 Dual-WAN、LACP 到 SD-WAN 与 MPTCP
网络协议
Zelman17 小时前
第07章-数据中心网络
后端·网络协议
Smoothcloud润云19 小时前
GPU服务器租用实例DNS与HTTPS下载排障实战
大数据·运维·服务器·人工智能·https·gpu算力
网络小江20 小时前
上网第四十八课:抓包实战入门——Wireshark 读懂第一个包
网络协议