HTTPS的加密方式介绍

发布于:2025-06-22 ⋅ 阅读:(23) ⋅ 点赞:(0)

一.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进行加密)

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

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

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

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


网站公告

今日签到

点亮在社区的每一天
去签到