HTTPS的工作流程

这篇具有很好参考价值的文章主要介绍了HTTPS的工作流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

hi,大家好,好久不见,今天为大家带来HTTPS协议的工作流程
HTTPS的工作流程

认识HTTPS

加密是什么

HTTPS的工作流程

1.认识HTTPS

HTTPS也是应用层协议,让我们再来回忆一下TCP/IP五层协议模型
HTTPS的工作流程
HTTPS 也是一个应用层协议. 是在 HTTP 协议的基础上引入了一个加密层.
HTTP协议在传输的时候是以文本的形式传输的,就可能会导致被劫持,这里的劫持包括但不限于运营商劫持,黑客劫持,那么我们咋办捏
采用加密的方法,也就是HTTP+SSL=HTTPS
这个加密的方式也比较复杂,我们来具体讲解

2.加密是什么

加密,涉及密码学,加密就是给明文加一个密钥,变成密文,而解密就是给密文加一个密钥,变成明文
加密的方式主要分为两类:
1.对称加密
2.非对称加密

💚对称加密

对称加密就是加密和解密都用同一个密钥.
举个例子
李明和韩美美是一对夫妻,这对夫妻拥有一套房子,李明和韩美美都拥有房子的钥匙,可以对房子的进行加锁和解锁,那么这个过程就是对称加密,因为加密和解密都是这个钥匙

优点:算法公开、计算量小、加密速度快、加密效率高;但是它也存在强大的缺点
缺点:密钥协商过程中,一旦密钥泄露,别人可以获取到密钥,这样也能对密文进行解密。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的独一密钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。

这个时候就引入非对称加密

💚非对称加密

有两个密钥
pub是公钥,用来加密
pri是密钥,用来解密
也可以是pub来加密,pri来解密

优点:安全性更高,公钥是公开的,秘钥是自己保存的,不需要将私钥给别人。 缺点:加密和解密花费时间长、速度慢,只适合对少量数据进行加密

比如加密我用A锁,解密我用B锁,这就是一个非对称加密

HTTPS工作流程

HTTPS工作流程分为以下四个步骤
1.对称加密
2.非对称加密
3.中间人攻击
4.引入证书

🚀1.对称加密
对称加密就是使用对称密钥加密

注意注意:加密针对的是HTTP各种的header和body!!!

HTTPS的工作流程

如果此时发生劫持呢?
HTTPS的工作流程
这里有两种情况
1.黑客没有密钥key,就算拿到密文也没用
2.不同的客户端的密钥都是不同的,那么我在向服务器传输数据之前我要先将自己的密钥告诉服务器,那么要通过网络传输的方式
但是当客户端将带有key的数据传输给服务器的时候就有可能被黑客截获,该怎么办呢
🚀2.引入非对称加密
客户端要把自己的key安全的传输给服务器保证不被劫持,引入非对称加密
服务器要生成一对非对称密钥
客户端要生成一个对称密钥key

画图讲解
HTTPS的工作流程

**

文字讲解:
1.客户端生成一个key,服务器生成一对非对称密钥,pub(公钥)和pri(私钥)
2.客户端向服务器索要pub
3.服务器返回pub给客户端
4.客户端用pub给key加密,传输给服务器
5.服务器使用pri解开对key加密的pub,拿到key
6.服务器告诉客户端拿到了key
7.后续不再使用非对称加密的方式,采用对称加密的方式进行数据的传输

**
注意:
为什么使用一次非对称加密呢?
http传输数据一般都采用对称加密,因为速度快,耗费资源少,采用非对称加密只是为了传输key给服务器,key只传输一次,对称密钥是被加密传送给服务器的,黑客不知道的

黑客知道pub(公钥),但是没有pri(私钥),所以拿不到key的
总结:
非对称加密就用了一次,作用就是为了保护key不被黑客拿到,顺利传输给服务器,后续的传输就是采用对称密钥传送的,因为黑客没有对称密钥key,所以拿不到传输的数据,只有服务器才能拿到

🚀3.中间人攻击
采用上述的非对称加密就一定能保证key能安全的到达服务器吗?
不能,所谓一山更比一山高,那么黑客也有办法骗过客户端和服务器
采用偷梁换柱的办法,具体咋办到的呢?
还是画个图来看
HTTPS的工作流程
文字讲解:

1.客户端生成一个对称密钥key,服务器生成一对非对称密钥(pub ,pri),与此同时,黑客也生成一对非对称密钥(pub 2, pri2)
2.客户端向服务器索要公钥,服务器将公钥返回给客户端,但是这时黑客用自己的pub2发给了客户端.拦截并记录了pub
3.客户端认为服务器发回来的就是pub2就是公钥
4.客户端将自己的key用pub2加密,然后发送给服务器
5.黑客又截获了用pub2加密的key,并且用pri2进行解密,拿到key,然后再用pub对key再次加密,发送给服务器
6.服务器就收到了pub加密的key,并且对客户端说ok
7.客户端和服务器开始进行后续的数据传输 那么黑客已经拿到了key,后续的数据传输黑客全部都能看到

出现这样的问题,应该怎么办呢?
🚀4.引入证书
HTTPS的工作流程
服务器的生成要向权威机构申请证书,证书就是一个类似对象的东西,里面有服务器的URL,证书的过期时间,颁布证书的机构,服务器的公钥(pub),加密后的签名,这个签名是权威机构针对证书的属性用算法选出一个校验和,然后用证书自己的私钥(pri2)进行加密
客户端拿到证书以后,首先要对证书进行校验

1.得到初始签名:客户端采用系统内置的权威机构的公钥pub2对pri2加密的签名进行解密,拿到初始签名,这个签名的校验和是权威机构算的
2.计算现在的签名:客户端用相同的算法对证书的属性重新计算,得到新的校验和.
3.比较;两个签名是否相同.如果相同,那么说明数据安全,没有被篡改,可进行后续的数据传输 如果不相同,说明证书被篡改了,客户端刘浏览器弹窗报错

这个时候我们可以相对的说,现在数据传输的安全的
有人一定会有疑问,那么黑客不能修改证书的数据吗?

首先我们知道黑客也可以拿到服务器的证书,也能用pub2解密,这个pub2是操作系统内置的,大家都有

1.黑客可以把服务器的公钥替换为自己的公钥
2.可以对证书的属性重新计算签名

但是算完以后要重新加密啊,但是加密要用到权威机构的私钥pri2,但是黑客没有!!!
所以黑客不能篡改数据,传输安全!
当然,没有绝对的安全,这里也只是相对的

最后
整个HTTPS的工作过程涉及到五个密钥
1.进行数据传输的对称加密key
2.对key进行保护的非对称密钥pub,pri
3.权威机构的私钥pri2,权威机构的公钥pub2,这个pub2是系统内置的,都有

今天的讲解就到这,我们下期再见,886!
HTTPS的工作流程文章来源地址https://www.toymoban.com/news/detail-461259.html

到了这里,关于HTTPS的工作流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RabbitMQ工作流程详解

    (1)生产者连接RabbitMQ,建立TCP连接(Connection),开启信道(Channel) (2)生产者声明一个Exchange (交换器),并设置相关属性,比如交换器类型、是否持久化等 (3)生产者声明一个队列井设置相关属性,比如是否排他、是否持久化、是否自动删除等 (4)生产者通过bindingKey (绑定Key) 将交换器

    2024年02月13日
    浏览(45)
  • AES工作流程

    工作流程 模式 1:加密 ⚫ 复位EN 重置AES模块 ⚫ 设置模式寄存器mode[1:0]=00,设置流数据处理模式寄存器CHMOD[1:0] ⚫ 写AES_KEYRx寄存器,CTR和CBC模式下写AES_IVRx寄存器 ⚫ 写EN=1,使能AES ⚫ 写AES_DINR 寄存器4次 ⚫ 等待CCF标志置起 ⚫ 从AES_DOUTR分4次读出加密结果 ⚫ 对于同一个key,重

    2024年02月01日
    浏览(47)
  • 机器学习工作流程

    机器学习的定义 机器学习的工作流程 获取到的数据集的特性 1、什么是机器学习 机器学习是 从数据中自动分析获得模型,并利用模型对未知数据进行预测。 2、机器学习工作流程 机器学习工作流程总结 1、获取数据 2、数据基本处理 3、特征工程 4、机器学习(模型训练)

    2024年02月04日
    浏览(66)
  • SpringMVC的工作流程

    SpringMVC的工作流程图 SpringMVC的工作流程 1. 用户通过客户端向服务器发送请求,请求会被 SpringMVC的前端控制器DispatcherServlet所拦截。 2. DispatcherServlet拦截到请求后,会调用HandlerMapping处理器映射器。 3. 处理器映射器根据请求URL找到具体的处理器,生成处理器对象及处理器拦

    2024年01月24日
    浏览(49)
  • 简述springMVC工作流程

    Spring MVC是一个基于Java的开源MVC框架,用于构建Web应用程序。它通过将应用程序分解为模型(Model)、视图(View)和控制器(Controller)三个部分,以提高应用程序的可维护性和可扩展性。以下是Spring MVC的基本工作流程: 客户端发送请求: 客户端通过浏览器或其他客户端发送

    2024年02月05日
    浏览(50)
  • STM32 工作流程

    工作流程: 上电后,芯片复位启动 MCU通过指令/数据总线从FLASH中读取指令或数据,配合解析执行,然后再通过RAM和通用寄存器(R0~R12的内部寄存器)处理可变数据 根据执行的指令,配置和操作外设的寄存器,从而驱动对应的外设实现具体的功能 配合上层组合逻辑,结合外设

    2024年02月11日
    浏览(41)
  • 软件测试工作流程

    流程体系介绍 在以往的项目工作中,我参与过,需求评审、测试计划制定、测试用例编写、测试用例执行、测试脚本编写、测试脚本的执行,进行回归测试、验收测试、编写阶段性测试报告等工作 需求分析,需求评审(RPD、产品原型图) 制定测试计划、评审测试计划、优化

    2024年02月05日
    浏览(44)
  • MapReduce概述及工作流程

    mapreduce原语(独创) mapreduce工作流程(重点) MR作业提交流程(重点) YARN RM-HA搭建(熟练) 运行自带的wordcount(了解) 动手写wordcount(熟练) MapReduce原语 hadoop MapReduce框架可以让你的应用在集群中 可靠地 容错地 并行 处理TB级别的数据 1024TB=1PB  1024PB=1EB  1024EB=1ZB MapReduc

    2023年04月08日
    浏览(46)
  • SpringCloud Gateway工作流程

    具体的流程: 用户发送请求到网关 请求断言 ,用户请求到达网关后,由Gateway Handler Mapping(网关处理器映射)进行Predicates(断言),看一下哪一个符合路由规则,选择对应的过滤器进行处理 上面是使用 application.yml 对网关进行路由规则的制定 - id: api_route : 这是路由的标识符

    2024年03月23日
    浏览(29)
  • Kubernetes架构和工作流程

    目录 一、kubernetes简介 1.k8s的由来  2.为什么用 k8s ? 3.k8s主要功能 二、k8s集群架构与组件 1.Master 组件 1.1Kube-apiserver 1.2Kube-controller-manager  1.3Kube-scheduler 2.Node组件 2.1Kubelet 2.2Kube-Proxy 2.3docker 或 rocket 3.配置存储中心 3.1etcd 三、k8s创建pod的工作流程 四、k8s核心概念 1.Pod 2.Pod控制器

    2024年02月14日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包