应用层协议 -- HTTPS 协议

ops/2024/9/25 0:55:50/

目录

一、了解 HTTPS 协议

1、升级版的 HTTP 协议

2、理解“加密”

二、对称加密

1、理解对称加密

2、对称加密存在的问题

三、非对称加密

1、理解非对称加密

2、中间人攻击

3、CA 证书和数字签名

四、总结


一、了解 HTTPS 协议

1、升级版的 HTTP 协议

  • HTTPS 也是⼀个应用层协议,是在 HTTP 协议的基础上引入了一个加密层 SSL/TSL。加密是 HTTPS 协议的一个重要的保护措施。

2、理解“加密”

  • “加密”是指将传输的明文经过一些手段转化为密文。
  • “解密”是指将密文再次通过一些手段转化为明文。
  • 在加密和解密的过程中,通常需要一个或多个中间数据进行辅助,这样的数据称为“密钥”。
  • 加密的方式有很多,但整体可以分为“对称加密”和“非对称加密”两大类。

二、对称加密

1、理解对称加密

  • 对称加密是指通过一个密钥,既可以将明文变为密文,也可以将密文变为明文,即对称加密使用的算法是可逆的
  • 假设数据被截获,由于黑客不知道密钥是什么,因此无法进行解密,数据安全。
https://img-blog.csdnimg.cn/direct/d99a7fb32e65495cb31d93158c07983d.png" width="610" />
对称加密

2、对称加密存在的问题

  • 对于服务器端,需要与许多客户端进行数据交互,如果所有交互都使用同一个密钥,则密钥会非常容易被破解(比如伪装成客户端的黑客)。
  • 这种情况下,一旦密钥被破解,则使用该密钥加密的所有数据,都将暴露。
  • 但如果给每个客户端都提供一个不同的密钥,则服务器需要维护的密钥数据量会变得非常庞大,维护成本也会变大。
  • 为了避免以上情况,我们将采取非对称加密的方法。

三、非对称加密

1、理解非对称加密

  • 非对称加密是指,密钥为一组,分成公钥和私钥。公钥公开,私钥由服务器端持有,不对外公开。
  • 公钥加密的数据只有私钥能解密,私钥加密的数据只有公钥能解密
  • 在客户端每次与服务器建立连接时,服务器端将持有的公钥发送给客户端。
  • 后续交互中,客户端就可以使用公钥加密数据,并将加密后的数据安全的传输到服务端,而不用担心数据暴露(因为只有私钥能解密)。
  • 但是还有一个问题,非对称加密最大的缺点在于运算速度非常慢。
  • 因此,非对称加密常用在客户端和服务器“协商密钥”的阶段,后续的数据传输,仍使用对称加密
https://img-blog.csdnimg.cn/direct/1c1fad7b5f2642d7b1f43153b995984d.png" width="618" />
非对称加密和对称加密混合使用

2、中间人攻击

  • 以上的非对称加密混合对称加密的方法,看似天衣无缝,但实际上仍存在一个问题,即“中间人攻击”。
  • 通过中间人攻击,黑客可以获取到对称密钥。
https://img-blog.csdnimg.cn/direct/e6de14af7beb4ebe83510babbcd50142.png" width="641" />
中间人攻击

3、CA 证书和数字签名

  • CA 证书是指,服务端在使用HTTPS前,需要向 CA 机构申领一份独一无二的数字证书,数字证书里含有证书申请者的信息、公钥信息等。
  • 在申请证书时,CA 机构会将数字证书中的各个字段,通过一系列算法,计算得到校验和。
  • 再使用 CA 机构自己的私钥,加密这个校验和,最终得到的就是数字签名,数字签名包含在 CA 机构发布的证书中。
  • CA 机构的公钥,会被内置到各个客户端中。
  • 在客户端和服务器进行交互时,服务器会将证书发送给客户端。
  • 客户端得到证书后,根据证书的各个字段,使用和CA机构一样的算法,计算得出校验和
  • 再使用内置的公钥,解密证书中的数字签名,得到又一个校验和
  • 将两个校验和进行比较,如果相同,则证书没有被篡改,反之则发现证书已经被篡改,发现发生了中间人攻击,并以此采取后续措施。

https://img-blog.csdnimg.cn/direct/b3c1780eaf574abca925ce941b58919d.png" width="617" />


四、总结

  • 以上过程中,使用了三组密钥,分别是:
            用于加密普通数据的对称密钥
            由服务端提供的,一组用于加密对称密钥的非对称密钥
            由CA机构提供的,一组用于加密服务端信息(包括公钥)的非对称公钥
  • 通过以上步骤,HTTPS协议通过三组密钥,有效的保护了网络数据传输的安全。


http://www.ppmy.cn/ops/15470.html

相关文章

图像修复技术在AI去衣中的深度应用与探索

随着人工智能技术的飞速发展,图像修复技术在AI去衣领域的应用日益广泛。本文旨在深入探讨图像修复技术在AI去衣中的核心作用,并介绍一些专业的技术名词及其深刻解释。 一、引言 图像修复技术作为计算机视觉领域的重要分支,旨在通过算法对图…

Stream流对list<map>的操作

Map<String,Object> map new HashMap<>();map.put("name","张三");map.put("age","30");map.put("sex","男");map.put("addr","深圳");List<Map<String,Object>> l…

jmeter5.4.1源码编译(IDEA)问题解决

问题现象&#xff1a;最近想更深入的研究下jmeter5.4.1的原理及功能具体实现&#xff0c;从官网down了个源码&#xff0c;在本地使用IDEA工具导入项目、编译时&#xff0c;报以下错误&#xff1a; class jdk.internal.loader.ClassLoaders$PlatformClassLoader cannot be cast…

Process in Semiconductor(半导体工艺)

Front-End Process in Semiconductor 引言正文Front-endBack-endFront-end of lineProcess flowBack-end of lineSiN seal layerCVDLPCVDPECVDSOI PSVSOI ACTSOI PSV+引言

redis中的缓存穿透问题

缓存穿透 缓存穿透问题&#xff1a; 一般请求来到后端&#xff0c;都是先从缓存中查找数据&#xff0c;如果缓存中找不到&#xff0c;才会去数据库中查询数据。 而缓存穿透就是基于这一点&#xff0c;不断发送请求查询不存在的数据&#xff0c;从而使数据库压力过大&#xff…

Linux打开html

在 Linux 系统中&#xff0c;您可以使用默认的 Web 浏览器打开 HTML 文件。一般来说&#xff0c;您可以采用以下两种方式打开 HTML 文件&#xff1a; 使用终端命令行打开 HTML 文件 打开终端并进入到 HTML 文件所在目录&#xff0c;然后输入以下命令&#xff1a; xdg-open f…

在线Latex公式编辑网站

在线LaTeX公式编辑器-编辑器 (latexlive.com) LaTeX&#xff08;常被读作/ˈlɑːtɛk/或/ˈleɪtɛk/&#xff0c;正确读音:/ˈlɑːtɛx/音译&#xff1a;拉泰赫&#xff0c;写作 $\LaTeX$&#xff09;&#xff0c;是一种基于TeX的排版系统&#xff0c;由美国计算机科学家莱斯…

数字时代的社交王者:探索Facebook的社交帝国

引言&#xff1a;社交媒体的霸主 在数字化浪潮席卷全球的当下&#xff0c;社交媒体已然成为人们日常生活中不可或缺的一部分&#xff0c;而Facebook则是这个领域的不二之选。作为全球最大的社交网络&#xff0c;Facebook不仅拥有庞大的用户群体&#xff0c;更在技术创新、社会…