认识 https 以及 https的通信流程

这篇具有很好参考价值的文章主要介绍了认识 https 以及 https的通信流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

现在我们所熟知的网站都是 https 协议,比如 https://www.baidu.com/、https://www.taobao.com/等,几乎看不到 http 协议。因为http 在发送请求的时候,请求正文和响应正文的数据是不会加密的,这就增加了我们信息泄漏的隐患,而https相当于在发送请求之前会对有效载荷进行加密。


目录

一、什么是https

二、加密方式

1、对称加密

2、非对称加密

三、如何选择加密算法?

1、对称加密

2、非对称加密

(1) 一对 公钥和私钥

(2) 两对 公钥和私钥

3、对称加密 + 非对称加密

四、总结


一、什么是https

简单来说, https = http + TSL/SSL ,其中TSL/SSL是数据的加密/解密层。https是应用层协议,应用层被加密以后,下三层就不会被加密了。应用层对有效载荷进行封装处理以后,直接送入加密层进行加密,然后再发给下面的传输层;当请求传递到对方主机以后,进入应用层之前需要先解密,然后再处理请求,并做出响应。响应的发送、接收与上述过程相同,也是需要先加密,到了对方主机再解密

https 协议保证网络中的数据总是被加密的!

认识 https 以及 https的通信流程

二、加密方式

加密方式一般分为了两种,对称加密 和 非对称加密。

1、对称加密

所谓对称加密,就是 加密 和 解密 使用的是同一把钥匙。加密和解密的过程可以简单理解为:

源数据A  异或  密钥B = 加密数据 C  (加密过程)

加密数据C  异或 密钥B = 源数据 A   (解密过程)

2、非对称加密

所谓非对称加密,就是 加密 和 解密 使用的不是同一把钥匙,这两把钥匙分别是 公钥私钥。(公钥一般是全世界公开的,私钥只有加密者自己知道)。

这样的话就分为了两种情况,一种是 持有私钥的一方接收数据,另一种就是 持有私钥的一方发送数据。

- 持私钥方接收数据:公钥加密,私钥解密。既然别人给自己发,肯定只有自己可以解,也就是只有持有私钥的一方可以解。

- 持私钥方发送数据:私钥加密,公钥解密。既然自己给别人发,肯定希望别人去解,私钥只能自己有,所以只能让别人用公钥解密。

三、如何选择加密算法?

那么https在实际过程中是如何选择加密算法的呢?纯对称加密?纯非对称加密?对称加密 + 非对称加密?答案是第三种,对称加密+非对称加密。至于原因,下面逐一分析。

1、对称加密

对称加密在一开始就存在一个问题,浏览器要用密钥AAA 来对数据进行加密,服务端要如何得知 密钥AAA呢?如果先直接给服务端发送 明文密钥AAA,可能存在第三方将密钥拦截。这样的话,在之后的通信过程中,浏览器所发送的数据即便是被加密了,第三方也能解密。因此,单纯的对称加密是绝对不可行的

认识 https 以及 https的通信流程

注意:最开始的密钥协商阶段,发送的密钥必须是明文,如果浏览器给密钥加密了,服务端就无法解密,这就回到了最开始的话题,服务端要如何解密??

2、非对称加密

(1) 一对 公钥和私钥

既然是非对称加密,必然存在至少一对 公钥 和 私钥。最开始也是密钥协商阶段,浏览器发送第一次请求,服务端把公钥发送给浏览器。

认识 https 以及 https的通信流程

接下来就可以进行数据交互了,浏览器将数据用公钥A加密发送给服务端,服务端使用私钥解密,即便中间被第三方拦截也没事,因为公钥加密的数据只有私钥可以解,而只有服务端持有私钥。这就保证了浏览器发给服务器的数据是安全的!

问题来了,服务端发送给浏览器的数据怎么办,私钥加密吗?私钥加密的数据可以使用公钥来解,但是因为公钥是公开的,浏览器能解,第三方也能解。因此,一对 公钥和私钥 的方式只保证了单向的数据安全,这种做法不可行

认识 https 以及 https的通信流程

(2) 两对 公钥和私钥

既然一对只能保证单向的,那么两对呢?答案是理论上可行。在密钥协商阶段,双方就把用于加密的公钥进行交换,一是保证了数据交互阶段在网络里的数据一定的加密的;二是保证了发给对方的数据只有对方可以解,第三方即便拿到了,也无济于事。

但是,非对称加密加密和解密特别费时间!因此,这种方式也不可行!

认识 https 以及 https的通信流程

3、对称加密 + 非对称加密

实际上是结合了两种加密方式,对称加密不费时,但不安全;非对称加密较为安全,但特别费时。因此我们可以各取其优点,密钥协商阶段就采用非对称加密的方式,稳当当的把公钥交换好;数据交互阶段有了前面的保障,就采用对称加密的方式,正常通信即可。

首先是密钥协商阶段,浏览器发起请求,服务端就把公钥交给 浏览器。还没完,浏览器生成 对称密钥 MMM,浏览器将 MMM 使用公钥A加密,将加密的结果XXX,发送给服务端;服务端用自己的私钥解密,得到 MMM。这样的话,双方就安全的拿到了 对称密钥 MMM。(因为第三方即便拿到 XXX 也无法解密)

认识 https 以及 https的通信流程

到了数据交互阶段,对称密钥MMM都只有对方知道,第三方无法获取到对称密钥,这样的话,就保证了数据交互的安全性。所谓的安全不是第三方拿不到才叫安全,而是第三方即便拿到了,也无法处理,这才是安全。

四、总结

现在我们了解了,https其实就是在http的基础上做了一层加密工作,加密的方式采用的是对称加密和非对称加密结合的方式。这样并没有结束,我们了解的只是一个框架,看似没有问题,实际上在密钥协商阶段,是存在被第三方攻击的风险的,这就有了"CA证书"的存在。我们的浏览器也有这个东西,设置 — 隐私 — 管理证书。文章来源地址https://www.toymoban.com/news/detail-443328.html

到了这里,关于认识 https 以及 https的通信流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Https协议】http的孪生兄弟,你了解多少呢,认识Https,Https工作原理之对称加密与非对称加密

    前言: 大家好,我是 良辰丫 ,这篇文章我们就来学习一下Https协议,了解Https的工作原理,对称加密以及非对称加密.💞💞💞 🧑个人主页:良辰针不戳 📖所属专栏:javaEE初阶 🍎励志语句:生活也许会让我们遍体鳞伤,但最终这些伤口会成为我们一辈子的财富。 💦期待大家三

    2024年02月10日
    浏览(43)
  • 跨链桥真的不能碰?一文详解跨链桥的分类以及过去、现在与未来

    本文将介绍跨链桥是什么并将跨链桥进行分类与比较,搭配一些著名跨链桥攻击事件进行分析。 跨链桥是一个在不同链之间负责传递“讯息”的桥,至于是什么样的讯息,接下来会介绍。跨链桥的例子包含Multichain、Celer、XY、Nomad、Rainbow Bridge、Hop等等。 链是不知道彼此的存

    2024年02月03日
    浏览(42)
  • 【STM32】串口通信乱码(认识系统时钟来源)

    使用 stm32f407 与电脑主机进行串口通信时,串口助手打印乱码,主要从以下方面进行排查: 检查传输协议设置是否一致(波特率、数据位、停止位、校验位) 检查MCU外部晶振频率是否和库函数设置的一致 最终发现是外部晶振频率和库函数不一致的问题。 我们要检查的是 AP

    2024年02月12日
    浏览(37)
  • 【MMU】认识 MMU 及内存映射的流程

    MMU(Memory Manager Unit),是内存管理单元,负责将虚拟地址转换成物理地址。除此之外,MMU 实现了内存保护,进程无法直接访问物理内存,防止内存数据被随意篡改。 MMU: TLB模块:用于缓存从虚拟地址到物理地址的转换结果 TWU模块:负责完成页表的查过程 Cache:        

    2024年02月14日
    浏览(35)
  • 2023-06-12:如果一个正整数自身是回文数,而且它也是一个回文数的平方,那么我们称这个数为超级回文数。 现在,给定两个正整数 L 和 R (以字符串形式表示), 返回包含在范围 [L, R] 中

    2023-06-12:如果一个正整数自身是回文数,而且它也是一个回文数的平方,那么我们称这个数为超级回文数。 现在,给定两个正整数 L 和 R (以字符串形式表示), 返回包含在范围 [L, R] 中的超级回文数的数目。 输入:L = \\\"4\\\", R = \\\"1000\\\"。 输出:4。 答案2023-06-12: 该算法的基本

    2024年02月08日
    浏览(52)
  • Linux信号概念、认识、处理动作 ( 2 ) -【Linux通信架构系列 】

    点击进入系列文章总目录 C++技能系列 Linux通信架构系列 C++高性能优化编程系列 深入理解软件架构设计系列 高级C++并发线程编程 期待你的关注哦!!! 现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everything is for the future of dream weaving wings, let the dre

    2024年02月11日
    浏览(43)
  • 【PACS源码】认识PACS的架构和工作流程

           PACS系统的基本组成部分包括:数字影像采集、通讯和网络、医学影像存储、医学影像管理、各类工作站五个部分。          而目前PACS系统的软件架构选型上看,主要有C/S和B/S两种形式。        C/S架构,即Client /Server(客户机/服务器)架构,将运算任务合理分配到

    2024年02月11日
    浏览(39)
  • 我们在追求什么?以及我们将通往何方?记录AIGC共建者大会的一次演讲

    ‍‍ ​ 下一秒: 这个世界真如我们所见那样吗? 大家好,我是shadow。在特赞主办的AIGC创建者大会上,我分享了作为多重职业身份所从事的一些有意思的事情: 作为创作者 ,生成式人工智能展示了TA的才华,让每一位普通人,拥有了一支富有创意的文案和视觉团队。 AI的想

    2024年02月13日
    浏览(45)
  • ES6+--》熟知JS中的async函数

    目录 async函数 await 表达式 async使用形式 async读取文件 async发送AJAX请求 与生成器(Generator)相比 async函数的返回值为 promise 对象,promise对象的结果由async函数执行的返回值决定。async函数能使得异步操作变得更加方便,简而言之就是 Generator 的语法糖。 定义async函数,特点是即便

    2024年01月17日
    浏览(41)
  • 人工智能内心的黑暗秘密以及我们如何愚弄它

    前言 在大数据和算力的支撑下,机器学习、深度学习和强化学习成了当前人工智能的主流方向。人工智能究竟学到了什么?让它能够准确地回答人类的问题。人工智能是否具有可解释性?它是否知道自己学到的是什么?这些问题都是还未明确解决的难题。 本文继续分享《A

    2024年04月22日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包