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

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

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

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

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

相关推荐
XMYX-020 分钟前
解决 Apache/WAF SSL 证书链不完整导致的 PKIX path building failed 问题
网络协议·apache·ssl
XXYBMOOO27 分钟前
Qt UDP 通信类详解与实现
开发语言·网络·c++·qt·网络协议·ui·udp
dog2501 小时前
乐观并发: TCP 与编程实践
网络·网络协议·tcp/ip
2501_916008893 小时前
uni-app iOS 日志与崩溃分析全流程 多工具协作的实战指南
android·ios·小程序·https·uni-app·iphone·webview
melonbo4 小时前
c++工程如何提供http服务接口
c++·http
计算机毕设定制辅导-无忧学长4 小时前
MQTT 认证与授权机制实践(二)
网络协议
Jayyih7 小时前
嵌入式系统学习Day30(udp)
网络协议·学习·udp
2501_915106327 小时前
Charles抓包工具在接口性能优化与压力测试中的实用方法
ios·性能优化·小程序·https·uni-app·压力测试·webview
耐达讯通信技术8 小时前
耐达讯自动化RS485与Profinet双向奔赴,伺服驱动器连接“稳稳拿捏”
运维·人工智能·物联网·网络协议·自动化·信息与通信
耐达讯通信技术8 小时前
嘎嘎厉害!耐达讯自动化RS485转Profinet网关就是食品温控的“天选之子”
运维·服务器·网络·人工智能·网络协议·自动化·信息与通信