https:原理

目录

1.数据的加密

1.1对称加密

1.2非对称加密

2.数据指纹

2.1数据指纹实际的应用

3.数据加密的方式

3.1只使用对称加密

3.2只使用非对称加密

3.3双方都使用对称加密

3.4非对称加密和对称加密一起使用

4.中间人攻击

5.CA证书

5.1什么是CA证书

CA证书的验证

6.https的原理


1.数据的加密

什么是加密?什么是解密?

加密就是将明文通过密钥 加密变成密文。

解密就是通过密钥将密文解密变成明文

1.1对称加密

对称加密就是加密和解密都是用的同一份密钥。

特点:计算速度快,计算量小,加密效率高,算法公开。

1.2非对称加密

非对称加密就是使用两个密钥公钥(公开的密钥)和私钥(不公开的密钥),可以一个用来加密,另一个密钥进行解密。

可以通过公钥加密变成密文,用私钥解密变成明文。也可以反着用。

特点:算法复杂,加密速度慢。

2.数据指纹

数据指纹或者叫数据摘要,对数据进行唯一的标识,假如有一段文本数据,通过哈希算法将这段文本数据进行映射成一个 定长的字符串,这个字符串就是这段文本数据的"指纹",也就是说如果这段文章被人修改了,哈希算法映射的字符串会发生很大的改变,就可以知道这段文章是否被人修改过。

2.1数据指纹实际的应用

百度网盘的秒传机制

我们向百度网盘传输数据的时候,首先会在自己的电脑上,使用哈希算法映射出一个唯一的数据指纹,百度网盘回拿着生成数据指纹去搜索,如果搜索到了,说明已经有其他用户上传过这个数据了,你想要上传的这个数据在百度网盘的服务器中已经存在了,也就不需要重复上传了。

3.数据加密的方式

3.1只使用对称加密

这时候问题就出现了,客户端向服务器发送了一个密文数据,但是服务器并不知道密钥啊,无法对密文进行解析,所以这种方式是一定不行的。

3.2只使用非对称加密

看似客户端向服务器发送数据是安全的,实则不然。

每次加请求都是用非对称加密会很慢的。

3.3双方都使用对称加密

看似客户端和服务器发送数据都是安全的,实则不然。

只有一方使用对称加密都够慢的了,更别说双发都用了,直接淘汰。

3.4非对称加密和对称加密一起使用

这种方式看似又安全又快,实则不然。

4.中间人攻击

上面四种方法到底不安全到哪里呢?

直接将看似最完美的非对称和对称加密一起用的方式推翻,其他的方式也自然不攻自破了。

首先毋庸置疑,数据传输的过程中都要进行数据的路由与转发,问题就出现在这里。

中间人攻击的核心就是,服务器第一次返回的公钥进行偷梁换柱。

5.CA证书

5.1什么是CA证书

中间人攻击最主要的就是没有办法去甄别客户端收到的公钥是否是被篡改过了,解决了这个问题,自然就解决了中间人攻击。https引入了CA证书解决去解决这个问题,CA证书是需要去CA认证的机构去申请的。

申请的时候需要提供公司的信息,网站的域名,申请人,最重要的服务器的公钥。

CA证书主要构成,一段明文数据 + 签名(对数据指纹进行加密)。

签名:就是对这段明文数据描述的数据指纹进行了加密。

加密是用的是CA机构的私钥加密。

CA证书的验证

如果中间人对公钥进行了修改,数据指纹会对不上的。

如果对签名进行修改,那么AC公钥将无法解析,因为只有是AC机构私钥的加密,才能被浏览器进行解析。

6.https的原理

那么https的原理就很好理解的,我们在方案4的情况下,服务器向客户端返回的不是公钥而是,证书。

相关推荐
若风的雨18 分钟前
【deekseek】P2P通信路由过程
服务器·网络协议·p2p
inputA26 分钟前
【LwIP源码学习6】UDP部分源码分析
c语言·stm32·单片机·嵌入式硬件·网络协议·学习·udp
玉笥寻珍42 分钟前
Web安全渗透测试基础知识之HTTP参数污染篇
网络·网络协议·安全·web安全·http
Think Spatial 空间思维2 小时前
【SSL部署与优化】如何为网站启用HTTPS:从Let‘s Encrypt免费证书到Nginx配置
nginx·https·证书·部署·ssl·配置·优化
玉笥寻珍2 小时前
Web安全渗测试基础知识之SSL交互异常利用篇
网络协议·安全·web安全·网络安全·交互·ssl
what_20184 小时前
分布式2(限流算法、分布式一致性算法、Zookeeper )
分布式·网络协议·rpc
彬彬醤4 小时前
查询电脑伪装IP,网络安全速查攻略!
网络·网络协议·tcp/ip·安全·web安全·http·https
还有几根头发呀5 小时前
常见 RPC 协议类别对比
网络协议
兴达易控6 小时前
ABB电机控制和保护单元与Profibus DP主站转Modbus TCP网关快速通讯案例
网络协议
江边垂钓者6 小时前
HTTP、HTTPS、SSH区别以及如何使用ssh-keygen生成密钥对
http·https·ssh