【网络原理大花园】https 加密技术的深度解析,让你透彻理解, 建议收藏 ~ ~ ~
在当今数字化时代,HTTPS 如同守护网络安全的坚固防线。它确保了我们在互联网上的通信安全,加密数据,防止信息被窃取和篡改,为我们的在线生活保驾护航。它是连接虚拟世界与真实信任的重要桥梁。
本篇会加入个人的所谓鱼式疯言
❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言
而是理解过并总结出来通俗易懂的大白话,
小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.
🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人能接受我们这个概念 !!!
引言
在当今数字化时代,HTTPS 如同守护网络安全的坚固防线。它确保了我们在互联网上的通信安全,加密数据,防止信息被窃取和篡改,为我们的在线生活保驾护航。它是连接虚拟世界与真实信任的重要桥梁。
目录
-
https
-
加密过程
-
解决网络不安全问题的方案
一. 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 加密的数据 。
最终完成我们的
窃取网络数据
操作, 而这样的过程我们称之为 :中间人攻击
那么以上的问题如何解决? 小伙伴们可以深思一下哦~
三. 解决网络不安全问题的方案
对于上述 “中间人攻击”
的问题
关键的问题就是让客户端识别出公钥是服务器发送的, 并不是黑客伪造的。
于是我们引入 证书机制 , 就需要引入 第三方公证机构 。
由第三方公证机构发布证书, 证书中就包含( 证书发布机构, 证书有效期, 证书所有者, 域名, 数字签名 )
其中数字签名:由公钥加密的一种 参考的依据 , 这是保证证书合法性的关键。
当服务器发送给客户端不是公钥, 而是整个证书了。
下面客户端就会分阶段来验证证书:
- 客户端 把 证书中的各个字段 都再算一次计算出校验和
checkSum1
- 客户端使用 公共机构的公钥 ,对 数字签名进行解密 , 计算校验和
checkSum2
- 如果
checkSum1 = checkSum2
, 证明这个 公钥是正确的 。 如果不相等, 证明这个公钥是有问题的, 浏览器就会弹出警告
, 这个 网站不安全 。
鱼式疯言
补充说明:
这里提及一点的就是获取的 公正机构得到的公钥 是来自设备自带的, 黑客是无法捏造的。
-
https : 清楚的明白了 http 是明文传输数据, 而 https 是密文传输 , 是http的加密版本。
-
加密过程: 在加密过程中 ,首先对 数据进行对称加密 , 对密钥进行非对称加密 , 并提出可能会产生 中间人攻击的网络不安全问题 。
-
解决网络不安全问题的方案: 引入
证书机制
解决 中间人攻击的问题 。
如果觉得小编写的还不错的咱可支持 三连 下 (定有回访哦) , 不妥当的咱请评论区 指正
希望我的文章能给各位宝子们带来哪怕一点点的收获就是 小编创作 的最大 动力 💖 💖 💖
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)