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

HTTPS的加密方式

HTTPS

通过上述了解,我们对HTTP有了相对深刻的认识,但是HTTP有个问题——它 “明文传输” 的特点,导致了它有安全的漏洞,为了应对这种情况,就基于HTTP发明了HTTPS加密协议(SSL/TLS 协议)

SSL/TLS 协议

为了加密传输的内容,服务器和客户端就引入 “密钥” 这个东西,负责加密&解密

主流的HTTPS加密方式有对称加密、非对称加密和应对中间人攻击的证书加密

  1. 对称加密

    客户端 / 服务器生成一个密钥,同时对方也拥有这个密钥。这个密钥既可以加密,也可以解密,是客户端随机生成的,不同客户端对应不同的密钥,再通过网络传输给服务器

    像这种一把锁控制全部的方法,传输效率高,但安全系数低,上面说是客户端通过网络传输密钥,那传输的过程中就很容易被窃取,毕竟传输 “密钥是xxx” 这个信息并没有加密

    在这里插入图片描述

  2. 非对称加密

    是对称加密的更进一步的的加密方式

    拥有两把钥匙,pub公钥是公共的,负责加密;pri私钥是私有的,负责解密,公匙谁都可以拥有,但私钥只在服务器手里,黑客如果想得到私钥就只能黑进服务器,安全系数增加

    公钥就想是锁头,谁都能上锁,私钥就是钥匙,只有一把

    这种传输方式虽然更加安全,但是又加多了一把锁,占用的系统资源是比较多的,效率不高
    在这里插入图片描述

  3. 对称加密+非对称加密

    聪明的人们就想到了通过两者结合的方式。第一次把对称加密的钥匙,通过非对称加密的方式,传输给对方,这样黑客就不知道对称密钥是多少了,接下来的文件就只需要通过对称密钥进行加密,效率增加
    在这里插入图片描述

  4. 中间人攻击

    但是上述这种方式就绝对安全吗?道高一尺魔高一丈,黑客可以冒充对方的方式,来间接的窃取,belike双面间谍

    具体的流程如图所示
    在这里插入图片描述

  5. 证书加密

    为了应对这种情况,引入了证书的机制

    证书是一个结构化的字符串,由第三方公证机构办法给服务器的

    所以在客户端申请访问服务器时,都会先索要服务器的证书,证明 “你是你”

    具体流程如图所示

    在这里插入图片描述

    从图中能看出,pub3 / pri3 跟平时的用途不太一样? 这里的pub3是负责解密,pri3负责加密;跟加密通信的pub加密,pri解密不同?

    • 前者是签名机制
    • 后者是通信机制

    这是因为两者的目标不一样。

    • 签名机制是 “我要让别人知道这真的是我发的,且内容没被改过” ,所以私钥要我自己保存着,签名确实是我发出的(pri在我这,只有我能加密)

    • 通信机制是 “我要让别人(只有拥有私钥的人)能解密”,所以只有他有pri能解密

这就是HTTPS,在HTTP的基础上,引入了加密层。像这种加密方式就是 SSL/TLS 协议。

所以能大致理解成HTTPS == HTTP + SSL/TLS 协议(●’◡’●)

这就是我对HTTPS加密方式的总结,希望看到这里对你有所帮助,如有错误欢迎指出,祝愿各位身体健康~

http://www.dtcms.com/a/507515.html

相关文章:

  • vue3提升 -- 1
  • Ubuntu从零开始配置Git
  • 做网站499微信网站设计制作
  • 网站开发充值功能经营管理培训课程
  • 使用 grubby工具进行多内核管理和切换的核心操作
  • LeetCode每日一题——三角形的最大周长
  • 英飞凌CoolSiC mosfet现在采用TO-247PLUS-4
  • Altium Designer(AD24)原理图符号库绘图按钮总结
  • 西安开发网站的公司西安网站建设ruiqinet
  • 自建网站 备案html5手机网站开发视频
  • spring 中 HttpStatus 与 ResponseEntity
  • 网站开发如何入账建设银行网站
  • C++ 圆台体积和表面积计算程序(Program for Volume and Surface area of Frustum of Cone)
  • 从 0 到 1 搭智能路侧停车系统:SpringCloud Nacos/Feign/Seata 全链路实现(源码可复用)
  • Bootstrap5 导航栏
  • 【基础理论】位置向量|位置编码学习笔记
  • 基于8051+PROTEUS仿真实例006-单只数码管循环显示0~9
  • 如何解决 pip install -r requirements.txt 子目录可编辑安装缺少 pyproject.toml 问题
  • C# 里的 KeyValuePair<TKey, TValue>
  • Speckit 简明教程
  • 明知手机忘带却不着急回去拿,因为可以远程控制
  • 深入理解 CSS 表格布局:table-layout 的秘密与实战详解(附费用报销单案例)
  • rsync+sersync实现数据实时双向同步
  • ppt模板去哪个网站下载德州核酸检测最新公告
  • 迅为RK3568开发板OpenHarmony系统南向驱动开发手册-UART应用开发编译源码
  • java面试-0216-HashMap和LinkedHashMap、TreeMap、HashTable√、ConcurrentHashMap区别?
  • 【文献分享】KADAIF:一种针对复杂微生物组数据的异常检测方法
  • React Native开发AndroidIOS流程完整指南
  • 身份证实名认证接口在金融领域的应用:筑牢风控第一道防线
  • 视频图像数据接入指南