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

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

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

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

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

相关推荐
虎王物联7 小时前
工业Modbus TCP协议深度实战:STM32 HAL库实现从机通信与数据上云
stm32·物联网·网络协议·tcp/ip·嵌入式
++==10 小时前
RESTful详解:核心思想、框架、与HTTP的区别,API的设计风格
后端·http·restful
楷哥爱开发10 小时前
TikTok Shop新加坡本土店入驻:如何选择新加坡本土住宅IP?
网络·网络协议·tcp/ip
huashengzsj16 小时前
企业OV泛域名证书价格多少?2026年市场报价与选购指南
网络协议·http·https
qq_4017004116 小时前
TCP 粘包问题深度解析:嵌入式网络开发的常见坑与解决方案
服务器·网络·qt·网络协议·tcp/ip
IT小白杨16 小时前
2026游戏工作室环境隔离指南:从设备指纹到移动IP的部署实践
前端·经验分享·网络协议·tcp/ip·游戏·安全架构·指纹浏览器
GitLqr16 小时前
从 TCP 底层看实时通信:为什么 SSE 往往比 WebSocket 更香?
websocket·http·openai
2401_8685347816 小时前
运维工程师大厂 Nginx 面试题(二)
linux·网络协议
XUEYUAN521217 小时前
代理日志分析与监控:代理池健康状态巡检与分级告警体系搭建(运维实战)
运维·网络·网络协议·tcp/ip·算法·架构
酒神dnspup18 小时前
服务器端口检测怎么做?用 DNSPup 核对开放端口、监听服务与暴露风险
网络·网络协议·http·ssl证书·http状态码·服务器端口