本篇会加入个人的所谓鱼式疯言

❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言

而是理解过并总结出来通俗易懂的大白话,

小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.

🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人能接受我们这个概念 !!!

在这里插入图片描述

引言

在当今数字化时代,HTTPS 如同守护网络安全的坚固防线。它确保了我们在互联网上的通信安全,加密数据,防止信息被窃取和篡改,为我们的在线生活保驾护航。它是连接虚拟世界与真实信任的重要桥梁。

目录

  1. https

  2. 加密过程

  3. 解决网络不安全问题的方案

一. https

在这里插入图片描述

1. https 的初识

当我们学完 http 协议后, 那么https 又是什么呢?

其实 https 本质上没有特别神秘, 它其实就在 http 的基础上 加入了 加密机制

从而保证在网络通信的过程中, 防止他人监听或篡改传输的数据, 从而保证 网络安全其他的机制和 http 是一样的。

也就是说 https 是 http 的升级加密版

2. https 的核心概念

  • 明文 : 需要传输的 原始数据

  • 密文 : 对 明文进行加密 得到一个让别人不能理解的数据

  • 加密明文 -> 密文

  • 解密密文 -> 明文

  • 密钥 : 进行 加密 / 解密的 重要数据 或 辅助工具

小伙伴们一定好奇, https 是怎么对数据加密 , 并且怎么不被 黑客 给监视和篡改的。

鱼式疯言

总结概括

http 是 明文传输, https 是 密文传输其他没有本质区别

下面就让我们来瞧瞧吧 ! ! !

2. 加密方式

在 https 协议下, 主流的两种加密方式:

  • 对称加密
  • 非对称加密

<1>. 对称加密

对称加密: 通信双方都使用 同一套的密钥 进行 加密 / 解密 。

也就是说: 对称加密是: 服务器使用 密钥A加密 , 传输给客户端是使用 密钥B解密 , 反过来传输也是如此。

<2>. 非对称加密

非对称加密: 通信双方使用 两套的密钥进行加密 / 解密

对于非对称加密: 我们一般给客户端的是密钥:公钥

一般给服务器端的密钥: 私钥

也就是说: 客户端使用 公钥加密传输 , 服务器这边就必须 用私钥解密

而服务器使用 私钥加密传输 , 客户端这边就必须 使用公钥解密


了解了 https 的核心概念 和 加密方式, 下面让小编仔细讲讲 https 的加密过程吧 💥💖💖

二. 加密过程

1. 密文传输

在这里插入图片描述

如上图:

  • 首先我们使用 对称加密 进行传输, 由客户端 生成一套密钥 , 然后把 该数据使用该密钥进行加密
  • 于是客户端这边传输一个密文数据明文密钥
  • 服务器那边 , 当接收到了来自客户端发送过来的 密钥 后, 服务器就可以利用 该套密钥 去客户端发来的数据进行解密, 并且当 服务器需要响应客户端数据 时, 同时也 使用这套密钥进行加密传输

上述过程虽然进行了加密, 但是这样的加密过程真的能保证 网络安全 吗?

答案是不行的 ! ! !

2. 对称加密的问题

在这里插入图片描述

如上图:

如果使用明文密钥对传输, 当客户端发送给服务器时, 如果有黑客入侵网络设备,

这时黑客不仅会接收到 密文数据 , 而且也会接收到 明文的密钥 , 只要黑客得到了这套密钥, 就可以随时 解密来自服务器和客户端的数据 ,并且随时可以篡改数据, 无法保证 网络安全性


竟然产生的这样的问题, 我们该采取怎么样的方案去应对呢?

3. 解决对称密文的方案

对于解决对称密文的方案, 有小伙伴肯定会有以下这种想法

那么我们再生成一套密钥再进行 密文加密 , 但是小伙伴们有没有考虑过再进行 加密的新的密钥也必须明文传输, 不然服务器怎么能解密呢? 那这样黑客还是能获取到密钥 , 只是时间问题。

那么聪明的程序猿们,就想出了一套利用 非对称加密对密钥加密

在这里插入图片描述

如上图:

首先服务器给每个客户端生成一组专门的公钥 ,

服务器这边持有私钥, 客户端这边持有公钥

当服务器使用私钥加密传输, 客户端只能使用公钥解密接收, 然后客户端使用公钥加密, 服务器这边只能使用私钥接收。

鱼式疯言

黑客需要的黑的是 客户端的网络设备 , 只要黑客没有拿到私钥, 就无法得到客户端的 明文数据


这时就可以防止黑客看到正在的密钥是什么了 ?

但是你以为这样就结束了吗? 那你也太小瞧黑客了 !

其实还有可能出现下面问题:


4. 非对称加密的问题——中间人攻击

主公我有一计, 我们截胡敌方公钥, 再捏造一对公钥和私钥发送给敌军, 敌军怎么知道是私钥还是公钥。

小伙伴们是否理解该过程呢?

在这里插入图片描述

如上图:

黑客操作流程为:

首先当服务器生成一套密钥: 私钥priv1公钥 pub1 发送给 客户端 pub1 , 而 黑客截胡这段 pub1

然后黑客自己捏造一套 私钥priv2公钥 pub2 , 把 pub2 发送给 客户端, 当客户端 基于pub2 加密的数据 , 黑客就可以用自己 priv2 轻松的解密成明文数据

最后黑客再把戏演足, 给服务器发送 基于 pub1 加密的数据

最终完成我们的 窃取网络数据 操作, 而这样的过程我们称之为 : 中间人攻击


那么以上的问题如何解决? 小伙伴们可以深思一下哦~

三. 解决网络不安全问题的方案

对于上述 “中间人攻击” 的问题

关键的问题就是让客户端识别出公钥是服务器发送的, 并不是黑客伪造的。

于是我们引入 证书机制 , 就需要引入 第三方公证机构

在这里插入图片描述

由第三方公证机构发布证书, 证书中就包含( 证书发布机构, 证书有效期, 证书所有者, 域名, 数字签名 )

其中数字签名:由公钥加密的一种 参考的依据 , 这是保证证书合法性的关键。

当服务器发送给客户端不是公钥, 而是整个证书了。

下面客户端就会分阶段来验证证书:

  1. 客户端 把 证书中的各个字段 都再算一次计算出校验和 checkSum1
  1. 客户端使用 公共机构的公钥 ,对 数字签名进行解密 , 计算校验和 checkSum2
  1. 如果 checkSum1 = checkSum2 , 证明这个 公钥是正确的 。 如果不相等, 证明这个公钥是有问题的, 浏览器就会 弹出警告, 这个 网站不安全

鱼式疯言

补充说明

这里提及一点的就是获取的 公正机构得到的公钥 是来自设备自带的, 黑客是无法捏造的。

  • https : 清楚的明白了 http 是明文传输数据, 而 https 是密文传输 , 是http的加密版本。

  • 加密过程: 在加密过程中 ,首先对 数据进行对称加密对密钥进行非对称加密 , 并提出可能会产生 中间人攻击的网络不安全问题

  • 解决网络不安全问题的方案: 引入 证书机制 解决 中间人攻击的问题

如果觉得小编写的还不错的咱可支持 三连 下 (定有回访哦) , 不妥当的咱请评论区 指正

希望我的文章能给各位宝子们带来哪怕一点点的收获就是 小编创作 的最大 动力 💖 💖 💖

在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐