【网络原理】——图解HTTPS如何加密(通俗简单易懂)

阿华代码,不是逆风,就是我疯

你们的点赞收藏是我前进最大的动力!!

希望本文内容能够帮助到你!!

目录

一:HTTP为什么不安全

二:HTTPS加密过程

1:密码学中的概念

(1)明文

(2)密文

(3)密钥

(4)对称加密

(5)非对称加密

(6)公钥和私钥

2:HTTPS工作过程

(1)引入对称加密

(2)非对称加密

(3)证书加密


一:HTTP为什么不安全

在介绍HTTP的那一篇文章中我们提了一嘴,HTTP是明文传输,不安全的。HTTPS在HTTP的基础上,引入了一个**加密层(SSL)**来保证安全性------防运营商劫持篡改Referer~(可以参考这篇文章)

【网络原理】------HTTP请求头中的属性-CSDN博客

比如我们想要下载一个音乐播放器,点击了下载,蹦出来的并不是这个音乐播放器的下载链接,而变成另一个的了,很常见的挂羊头卖狗肉~

二:HTTPS加密过程

1:密码学中的概念

(1)明文

传输的真实的数据,表达的实际意思

(2)密文

给明文经过加密之后得到的结果就是密文,不直观,不易理解

(3)密钥

可以理解成对照表,比如我们将字符A设置成明文,我给字符A按照ASCII码值进行加密,我们通过ASCII码值表对照,知道了密文97所代表就是A.

(4)对称加密

加密和解密使用的同一个密钥,我们举个简单的例子哈,看下面的图(这种感觉,我称之为偷感)

(5)非对称加密

加密和解密使用的是两个密钥,比如K1密钥和K2密钥,这两者成对的,

使用K1来加密,此时就是K2来解密;使用K2来加密,此时就是K1来解密

(6)公钥和私钥

公开出去,大家都知道的叫做公钥;私自保留的,只有自己知道的叫私钥

2:HTTPS工作过程

由引入我们知道,运营商劫持的根本原因在于"明文传输",于是我们也提出了好几种加密对策,主要针对header和body进行加密

(1)引入对称加密

通过对称加密的方式,针对传输的数据进行加密操作

关键点:

①对称加密,客户端和服务器使用的是同一个密钥

②不同的客户端,需要使用不同的密钥

③TCP建立连接后,在进行SSL握手(交换/传输密钥),最后才是加密传输

注:每个客户端连接到服务器的时候,都要自己生成一个随机密钥,在传输告知给服务器(服务器也可以生成,调换一下角色,关键在于密钥的传输),如果黑客入侵路由器拿到了这个密钥,意味着加密操作就没有意义了。

解决方式:对咱们得密钥也进行加密

(2)非对称加密

主要目的就是为了对"对称密钥"进行加密,确保密钥的安全性

关键点:

①传输问题上,可以让服务器生成公钥和私钥,把公钥传输给客户端,自己手持私钥

②非对称加密消耗CPU的资源远远高于对称加密,所以不能大规模使用

③黑客入侵不了的根本原因:不能对公钥进行解密

注:可以理解成------我持有信箱和和钥匙(私钥),邮递员持有信箱的锁(公钥)

(3)证书加密

问题引入:中间人攻击

上述非对称加密任然有问题------服务器可以生成一对公钥和密钥,那么黑客也可以模仿生成一对假的公钥和秘钥进行冒充

这里我们设置对称秘钥为key,非对称秘钥中公钥为pub,私钥为pri。

解决方式:引入证书

问题关键就是,客户端在拿到公钥的时候,有办法验证这个公钥是真的,不是冒充的

证书 :是一个结构化的数据(里面包含很多数据,比如:服务器的主域名、公钥、证书的有效期,以字符串的形式呈现),需要服务器从第三方公正机构进行申请

注意:

①证书的信息是基于字符串提供,便于后面我们使用算法进行计算

②证书的私钥只有公正机构有,如果黑客用公钥解密证书,并用自己的私钥加密签名,客户端会解密失败,所以黑客无法重新生成加密的签名。

③私钥对应解密的公钥系统电脑自带就有

④校验和是对证书中的字段用(CRC,MD5等)算法得到一个较短的字符串

⑤客户端拿到证书做两件事:对证书签名解密得到校验和1,对证书的字段进行计算得到校验和2,再比较两者

相关推荐
游戏开发爱好者81 小时前
iOS 出海 App 安全加固指南:无源码环境下的 IPA 加固与防破解方法
websocket·网络协议·tcp/ip·http·网络安全·https·udp
2501_915921432 小时前
苹果App上架流程:不用Mac也可以上架的方法
websocket·网络协议·tcp/ip·http·网络安全·https·udp
阿沁QWQ2 小时前
UDP的socket编程
网络·网络协议·udp
DemonAvenger6 小时前
Go中UDP编程:实战指南与使用场景
网络协议·架构·go
2501_916007477 小时前
iOS 性能测试工具全流程:主流工具实战对比与适用场景
websocket·tcp/ip·http·网络安全·https·udp
阿维的博客日记7 小时前
HTTP/3.0的连接迁移使用连接ID来标识连接为什么可以做到连接不会中断
网络·网络协议·http
半路_出家ren7 小时前
第8章:应用层协议HTTP、SDN软件定义网络、组播技术、QoS
网络·网络协议·http·mpls·qos·sdn软件定义网络·组播技术
teeeeeeemo7 小时前
http和https的区别
开发语言·网络·笔记·网络协议·http·https
令狐少侠201110 小时前
ai之对接电信ds后端服务,通过nginx代理转发https为http,对外请求,保持到达第三方后请求头不变
nginx·ai·https
岸边的风1 天前
无需公网IP的文件交互:FileCodeBox容器化部署技术解析
网络·网络协议·tcp/ip