当前位置: 首页 > news >正文

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的情况下,服务器向客户端返回的不是公钥而是,证书。

相关文章:

  • C++复习专题——泛型编程(模版),包括模版的全特化和偏特化
  • 29.C++多态 2 (重载,重定义(隐藏),重写 三者的区别)
  • git常用命令(时常更新)
  • 医疗影像分割中的半监督学习实践:从算法原理到CT/MRI实战
  • MybatisPlus-扩展功能-枚举处理器
  • 【linux配置】 修改内核网络参数
  • Linux之loop设备(Loop Devices in Linux)
  • 冯诺依曼体系结构和操作系统
  • 逆向pyinstaller打包的exe软件,获取python源码(4)
  • Vue2+OpenLayers实现右键菜单功能(提供Gitee源码)
  • 【OMCI实践】ONT上线过程的omci消息(六)
  • 2、并行和并发有什么区别【中高频】
  • Linux | YUM / RPM 常用命令
  • CSDN 博客:CC++ 内存管理详解
  • 2.部署kafka:9092
  • 1.2.2 ASPICE的过程计划
  • 奇安信率先使用DeepSeek落地金融行业了
  • 前端如何解决跨域
  • Python 字符串(str)全方位剖析:从基础入门、方法详解到跨语言对比与知识拓展
  • 夜莺监控 - 边缘告警引擎架构详解
  • ps做素材下载网站有哪些/免费外网加速器
  • xml网站地图格式/搜狐财经峰会
  • 佛山专业的网站建设公司/百度网络营销中心app
  • 微信网站怎么做/帮收款的接单平台
  • 设计网站导航大全/搜索引擎优化营销
  • 浙江政府网站大建设方案/如何写好软文