当前位置: 首页 > news >正文

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

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

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

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

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

相关文章:

  • 从语义到推荐:大语言模型(LLM)如何驱动智能选车系统?
  • 蚂蚁百宝箱快速创建智能体AI小程序
  • 【入门级-基础知识与编程环境:计算机的基本构成 (CPU、内存、I/O设备等)】
  • 【算法一周目】分而治之,归并如风:算法中的美学与哲理
  • IEC61850 一致性测试中的 UCA 测试
  • AI大模型学习之基础数学:高斯分布-AI大模型概率统计的基石
  • `toRaw` 与 `markRaw`:Vue3 响应式系统的细粒度控制
  • ad24智能pdf输出的装配图没有四个边角那里的圆孔
  • 学习C++、QT---03(C++的输入输出、C++的基本数据类型介绍)
  • GO语言---数组
  • `teleport` 传送 API 的使用:在 Vue 3 中的最佳实践
  • ffmpeg(七):直播相关命令
  • Python列表常用操作方法
  • 爱高集团引领转型浪潮:AI与区块链驱动香港科技资本新机遇
  • GitHub Copilot快捷键
  • 【AGI】突破感知-决策边界:VLA-具身智能2.0
  • 力扣-72.编辑距离
  • Qt输入数据验证的方法
  • 在 `setup` 函数中使用 Vuex
  • XCVU47P-2FSVH2892E Xilinx Virtex UltraScale+ FPGA AMD
  • php 网站授权/网络营销活动策划
  • 人事处网站开发文献综述/百度高级搜索指令
  • 怎么制作网站app/游戏优化大师下载安装
  • 苏州工业园区两学一做教育网站/全国疫情突然又严重了
  • 网站便捷营销/360seo排名点击软件
  • 创建网站公司 徐州/海口网站关键词优化