丹摩征文活动 |【网络原理】关于HTTP的进化之HTTPS的加密原理的那些事

前言

🌟🌟本期讲解关于HTTPS的重要的加密原理~~~

🌈感兴趣的小伙伴看一看小编主页:****GGBondlctrl-CSDN博客

🔥 你的点赞就是小编不断更新的最大动力

🎆那么废话不多说直接开整吧~~

目录

📚️1.HTTPS重要概念

1.1HTTPS的基本概念

1.2HTTPS的由来

1.3加密的基本认知

1.基本概念

2.加密的方式

📚️2.HTTPS的加密过程

2.1引入对称加密

2.2引入非对称加密

2.3中间人攻击

1.问题产生

2.解决问题

3.验证证书

📚️3.总结


📚️1.HTTPS重要概念

1.1HTTPS的基本概念

HTTPS:所谓的HTTPS可以理解为HTTP的进化,他是属于应用层协议,即在HTTP的基础之上引入了加密层(SSL);

那么为什么要进行加密的操作呢??由于HTTP是有明文进行传输的,所以在传输的过程中就会出现别篡改的情况,那么此时就要进行加密了~~

1.2HTTPS的由来

在之前就有一个比较严重的问题:"运营商劫持"

那么这里就有以下的图片演示:

那么我们进行正常下载的时候,这里的下载的网址和连接就是天天动听的,但是经过运营商劫持之后,就改变下载的链接了;

可以看到此时就改变了这里的下载的链接,可以看到一个大大的"qq"哈哈哈~~~

那么此时就有人问了,为什么这里的运营商可以篡改这里链接??当然这里的网络是由路由器和交换机来进行连接,才组成的网络,那么此时运营商就可以进行解析这里的HTTP协议,那么就可以进行篡改了~~~

那么此时具体的过程就是如下的:

解释:

此时就是先给天天动听的服务器发送请求,但是由于用的是运营商的路由器和交换机,那么此时运营商就会进行获取到这里的HTTP,那么解析之后,最后本来要返回的天天动听的链接,结果是QQ浏览器

那么最终就使得这里要对于HTTP来进行加密了,所以引入了加密SSL,HTTPS的诞生~~

1.3加密的基本认知

1.基本概念

经过上面的分析,我们知道这里解决的办法就是加密了,那么什么是加密呢?

加密:所谓的加密,就是拨正数据安全的重要手段

补充:

所谓的安全是相对的安全,毕竟魔高一尺,道高一丈嘛,这里没有绝对的安全,但是如果破解密码的成本高于了加密内容的价值,那么此时这里就是真正的安全的

明文:即要传输的真实的数据,表达的实际的意思

密文:针对明文进行加密后得到的结果不是很好理解的,不直观的

密钥:即破解明文和加密密文的一个工具

2.加密的方式

所谓的加密,这里主要是有两种的加密的方式:

对称加密:即加密和解密用的是同一个密钥

**非对称加密:**即加密和解密使用的是两种不同的密钥,k1或者k2,一个负责解密一个负责进行加密

注意:这里的重要一点就是,非对称加密的特点就是,一把是公钥(就是可以公开的钥匙),另一把是私钥(就是没有被公开的钥匙)

📚️2.HTTPS的加密过程

在上述的描述中,只要针对HTTPS进行解密了就能得到HTTP,所以本质就是对这里header,body进行加密处理,来进行对于上述的数据进行保护

2.1引入对称加密

主要的具体过程:

1.对称加密的时候,客户端和服务器用的是同一个密钥

2.不同的客户端要使用不同的密钥

那么此时的具体图像就是如下所示:

那么此时就会出现一个巨大的问题,客户端生成的密钥要告诉服务器俩进行密文的解析,那么这里的对称的密钥就会被黑客拿到,那么此时就不是毫无作用吗??

结论:这里的对称密钥是不可以进行加密的操作,所以这里还要对于对称密钥进行加密

2.2引入非对称加密

特点:非对称加密的加密解密的成本是非常高的(消耗CPU的资源),少用是没有什么问题的,但是大规模使用就不可取了;

具体的加密的情况就是如下的:

解释:

首先服务器生成一个私钥给自己,公钥进行加密给客户端,然后将密文通过对称密钥进行加密后再用公钥对对称密钥进行加密,由于只有私钥能够进行解析,所以黑客就不知道这的对称密钥,那么服务器解析后,就知道了要使用的对称密钥是啥,后序就用这个对称密钥进行传输

注意:

1.只要在告诉服务器我们使用的对称密钥是啥,并且不被黑客进行获取,后续使用对称密钥进行加密就安全了;

2.这里的非对称密钥加密加密的对象是对称密钥,而不是密文本身

总结:

这里就是服务器先告诉客户端,要使用的加密的公钥是啥,然后客户端发送被加密的对称密钥给服务器,那么这里互相交换密钥的过程就是SSL的握手

2.3中间人攻击

那么此时上述的问题就得到解决了吗?其实不然这里还是存在一定的问题的,这里的主要的问题就是中间人攻击

1.问题产生

在黑客进行截取信息的时候,他也可以创建一个公钥和私钥,那么此时就会出现一个情况,在告诉客户端公钥的时候,黑客就发送自己的公钥给客户端,那么此时就出现问题了(偷梁换柱)

解释:

首先在服务器在传输公钥的时候,进行了偷梁换柱的操作,改为了自己的生成的公钥,然后客户端通过这个公钥进行加密后,然后黑客就可以通过自己的私钥进行解析(问题的出现,黑客拿到了对称密钥),然后再返回的时候,在用服务器的公钥进行加密(此时,服务器根本察觉不到这个加密的异常)

那么后续使用这个对称密钥就会导致,黑客能够解析加密的密文,那么这样就不安全了;

注意:上述的原因主要是因为客户端无法辨公钥是否为服务器的;

2.解决问题

在上述的问题描述中我们知道一个比较重要的问题,就是要证明这个公钥是来自服务器的,那么此时就有解决的办法了;

身份证明:"证书",这边要求服务器提供自己的证书;

**什么是证书:**证书是一个结构化的数据(包含很多的属性,以字符串的形式来进行提供的),提供的信息主要是:服务器域名,公钥,证书的有效期

**证书的来源:**证书的搭建服务器的人,从第三方公正机构进行申请的

由于证书携带公钥,此时的过程就是:

解释:

此时就可以通过证书进行身份的证明,以及告诉客户端公钥是啥,此时就可以进行这个公钥进行对称密钥的加密操作

那么这里的问题就是:黑客不会篡改证书里面的公钥吗?

当然是不会的,这里在客户端拿到证书之后,会进行证书的真伪的验证~~~

3.验证证书

这里的证书的内容包含:

服务器的域名,证书的有效时间,服务器的公钥,公正机构信息,证书的签名

**主要这里的证书的签名:**主要是公正机构发布证书的时候,就会对于证书内容进行校验和,然后通过私钥进行加密,此时就构成了一个签名(这里的对应的公钥在常见的系统中)

那么此时客户端拿到这里的证书之后,就会有如下的操作:

1、用系统内置公钥进行解析,获取得到这里的校验和是多少

2、按照同样的校验和算法进行计算,重新得到一个校验和

此时若两个校验和是一样的那么就表示这个证书的公钥的服务器的,然后就可以通过这个公钥进行加密;(如果被黑客篡改了公钥,此时的校验和就是不相同的)

注意:这里黑客也能进公钥的解密,主要是为了防止篡改公钥

那么这里的解决的问题如下:

1、如果黑客进行了公钥的篡改,但是不修改签名,那么此时的校验和肯定是对不上的,那么就被识别出来的

2、如果黑客篡改了公钥,和修改了签名,由于黑客不知道加密的私钥是什么,那么用自己的私钥进行加密后,在客户端使用系统提供的公钥这边就解析不了

3、如果黑客自己申请一个证书,来替换公共机构提供给服务器的证书呢?此时由于域名不一样,此时解析出来域名都不是服务器的,那么就知道这个公钥有问题了

总结:通过上述的一系列的操作后,从根本上解决了黑客篡改证书的情况

那么最后在上述的讨论中,这里的安全都是基于非对称密钥体系的加密过程,这个过程不是绝对的安全的,只不过破解这里的加密体系消耗的计算量很大(因为:破解的成本高于了被破解的内容的总体的价值,那么就是安全的)这里的加密主要是提高了破解的成本~~~

📚️3.总结

💬💬本期小编主要是讲解了HTTPS的加密原理过程,先从HTTPS的基本认识,到加密的认知,以及加密的过程,最后提出加密存在的漏洞,以及如何进行解决提出了解决办法~~

🌅🌅🌅~~~~最后希望与诸君共勉,共同进步!!!


💪💪💪以上就是本期内容了, 感兴趣的话,就关注小编吧。

😊😊 期待你的关注~~~

相关推荐
_微风轻起11 分钟前
linux下网络编程socket&select&epoll的底层实现原理
linux·网络
网安墨雨1 小时前
iOS应用网络安全之HTTPS
web安全·ios·https
vortex52 小时前
Burp与其他安全工具联动及代理设置教程
网络·安全
xserver23 小时前
ensp 基于端口安全的财务部网络组建
网络·安全
从后端到QT4 小时前
boost asio 异步服务器
服务器·网络·tcp/ip
Blankspace学4 小时前
Wireshark软件下载安装及基础
网络·学习·测试工具·网络安全·wireshark
墨水\\4 小时前
Ansible部署及基础模块
服务器·网络·ansible
手心里的白日梦4 小时前
网络计算器的实现:TCP、守护进程、Json、序列化与反序列化
网络·tcp/ip·json
不吃鱼的羊4 小时前
Excel生成DBC脚本源文件
服务器·网络·excel
敲代码娶不了六花5 小时前
对计算机网络中“层”的理解
网络·网络协议·tcp/ip·计算机网络