HTTPS加密

news/2024/11/29 5:40:43/

目录

  • HTTPS加密
    • 1.加密和解密
    • 2.对称加密
    • 3.非对称加密
    • 4.中间人攻击
    • 5.证书

HTTPS加密

1.加密和解密

  1.明文: 要传递的原始信息。

  2.密文: 经过加密后的信息。

  3.加密就是指将明文(要传输的信息)按照指定的方式进行变换,生成密文。

  4.解密就是指将密文按照指定的方式进行变换,还原成为明文。

  5.在加密通信中,密钥(Key)是指用于加密和解密数据的一个由比特串组成的秘密值,它可以是一个单独的比特串或者一组密钥对。密钥被用于加密和解密数据

2.对称加密

 对称加密是一种常见的加密通信方式,在对称加密中,加密和解密所使用的密钥相同.

 只有在拥有加密和解密密钥的双方之间,才能成功地完成加密和解密的过程。对称加密使用一种特定的算法来将明文数据加密成密文,只有用密钥才能将密文还原成明文。

 优势:如下图所示,使用对称加密后,即使黑客入侵拿到了请求内容,也不知道密钥是什么,自然无法解密,那么他拿到的数据就没有任何意义。而客户端和服务器都知晓密钥,客户端使用密钥加密,服务器使用密钥解密,由此保证了安全性。

 缺点:由于客户端不止一个,每次都会有很多的客户端访问服务器,每个客户端都需要和服务器有其特定的密钥,而每个客户端的密钥都是不同的。
 若是这么多的密钥都由服务器管理未免负载过大,所以最好的方案是客户端生成密钥,然后把这个密钥告诉服务器,服务器保存这个密钥。

在这里插入图片描述

  但是在客户端将密钥告诉服务器的过程是通过网络通信来实现的,那么就很有可能被黑客拦截到。如下图所示,当客户端告诉服务器密钥是1111的时候,黑客就已经拦截了传输数据并且获取到了密钥是1111,那么此后的各种加密解密过程,黑客可以使用手中的密钥进行解密,如此一来,后续的任何操作都毫无意义了。

在这里插入图片描述

3.非对称加密

  为了弥补对称加密的不安全性,保证密钥不泄露,就需要对密钥进行加密,但如果对密钥使用对称加密,解密的时候就要用加密的密钥解密,如此重复套娃,还是会发生密钥的密钥泄露的情况。所以可以使用非对称加密方式对密钥进行处理。
 非对称加密需要使用一对密钥,一个公钥,一个私钥;公钥用来加密,私钥用来解密。

在这里插入图片描述

  1.服务器生成一对公钥和私钥,公钥公开出去,任何人都能拿到公钥,包括黑客,而私钥只有服务器自己有。

  2.客户端拿到公钥后,使用公钥对对称密钥进行加密,将加密后的密钥密文通过网络传输给服务器。

  3.黑客也可以拦截到客户端发出的密文请求,但黑客只有公钥,没有私钥,无法对密文解密,此时密文请求就安全的传输给了服务器。

  4.服务器拿到密文请求后,通过私钥对密文进行解密,得到对称密钥。

  5.黑客没有私钥,无法解密客户端发出的密文请求,也就无法得到对称密钥,那么后续客户端和服务器就可以安全的使用对称密钥进行加密解密了。

4.中间人攻击

 非对称加密看似足够安全,但是仍然存在中间人攻击的风险.具体过程如下图所示:

在这里插入图片描述

  1.服务器生成一对公钥public1和私钥private1,自己持有私钥,将公钥公开出去。

  2.客户端通过网络获取服务器的公钥。而黑客也可以自己生成一堆非对称密钥public2 和 private2,黑客将服务器公开的public1记下来,然后返回给服务器自己生成的公钥public2(模仿服务器来骗客户端)。

  3.客户端拿到假的公钥public2后,使用public2对称密钥1111进行加密。

  4.客户端将密文请求发给服务器时,黑客拦截此请求,并根据自己的私钥private2对客户端的密文请求进行解密,由此得到了对称密钥1111。

  5.为了防止被发现自己在中间搞鬼,黑客b把对称密钥1111通过之前记住的正确的公钥public1重新加密,再继续发送给服务器(模仿客户端来骗服务器)。

  6.服务器拿到该密文请求后,使用自己持有的私钥private1进行解密,得到了1111的对称密钥。

  7.由此,客户端与服务器之间沟通密钥的过程已经完成,后续将按照1111的对称密钥进行交互。黑客作为中间人的身份,伪造双方的请求,已经知晓了对称密钥,所以后续数据传输的加密也形同虚设。

5.证书

  为了避免出现中间人攻击的隐患,就需要想办法让客户端能够识别其获取到的公钥是服务器发布的正版公钥,还是黑客伪造的虚假公钥,此时就需要引入第三方的公证机构,证书 = 公钥 + 身份标识;其交互过程如下图所示:

在这里插入图片描述

  客户端在校验证书时,通常会执行以下步骤:

  1.客户端向服务器请求证书:客户端发起与服务器的连接请求时,会要求服务器提供数字证书。

  2.客户端获取证书:服务器将数字证书传输给客户端。证书通常包括服务器的公钥、证书颁发机构(CA)的公钥、证书有效期和服务器域名等信息。客户端获取证书后会对证书的有效性进行校验。

  3.校验证书:客户端使用颁发机构的公钥对证书进行解密,从而获得服务器的公钥。接着,客户端计算服务器公钥的指纹,并将该指纹与数字证书中的指纹进行比较,以确保证书未被篡改或伪造。

  4.建立信任:如果客户端成功验证了数字证书的有效性,那么客户端将信任该数字证书,并将服务器的公钥保存在本地。客户端和服务器之间的通信将使用该公钥进行加密和解密。


http://www.ppmy.cn/news/500641.html

相关文章

使用逻辑回归LogisticRegression来对我们自己的数据excel或者csv数据进行分类--------python程序代码,可直接运行

文章目录 一、逻辑回归LogisticRegression是什么?二、逻辑回归LogisticRegression进行分类的具体步骤二、逻辑回归LogisticRegression进行二分类的详细代码三、逻辑回归LogisticRegression的广泛用途总结 一、逻辑回归LogisticRegression是什么? 逻辑回…

一篇文章教你如何使用git管理项目

GIT git区域 工作区 git add 修改的内容提交到暂存区 git status 查看状态 暂存区 临时存放修改过的文件,不存放真正的内容 git commit -m "message" 版本库 保存最终提交的commit 记录历史版本 每一次commit add new ver 每一次commit 提交有head头部索…

Spring Cloud学习一

一、系统架构演变 系统架构大体经历了几个过程:单体应用架构—>垂直应用架构—>分布式架构—>SOA架构—>微服务架构,以及正在默默无闻兴起的Service Mesh(服务网格化) 1、单体应用架构 早期的互联网,一般的…

《吃豆人》问世 | 历史上的今天

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2023 年 5 月 22 日,在 1994 年的今天,知名中文论坛曙光 BBS 站开通。1994 年 4 月 20 日,建立在中科院和北京大学、清华大学之间的中…

计算机单词 硬件类、软件类、网络类、其他

Computer Vocabulary In Common Use 一、硬件类(Hardware) 二、软件类(Software) 三、网络类(Network) 四、其它 CPU(Center Processor Unit)中央处理单元 mainboard主板 RAM(random access memory)随机存储器(内存) ROM(Read Only Memory)只读存储器 Floppy Disk软盘…

【历史上的今天】5 月 22 日:Windows 3.0 发布;虚幻引擎诞生;《吃豆人》问世

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2022 年 5 月 22 日,在 1994 年的今天,知名中文论坛曙光 BBS 站开通。1994 年 4 月 20 日,建立在中科院和北京大学、清华大学之间的…

Bootstrap 环境安装

文章目录 Bootstrap 环境安装下载 Bootstrap 文件结构预编译的 BootstrapBootstrap 源代码 HTML 模板实例Bootstrap CDN 推荐 Bootstrap 环境安装 Bootstrap 安装是非常容易的。本章将讲解如何下载并安装 Bootstrap,讨论 Bootstrap 文件结构,并通过一个实…

HTTPS加密:保障网站安全的重要手段

💂 个人网站:【海拥】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 目录 前言什么是HTTPS加密&a…