HTTPS的工作流程

news/2025/1/12 12:20:08/

hi,大家好,好久不见,今天为大家带来HTTPS协议的工作流程
在这里插入图片描述

认识HTTPS

加密是什么

HTTPS的工作流程

1.认识HTTPS

HTTPS也是应用层协议,让我们再来回忆一下TCP/IP五层协议模型
在这里插入图片描述
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!!!

在这里插入图片描述

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

画图讲解
在这里插入图片描述

**

文字讲解:
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能安全的到达服务器吗?
不能,所谓一山更比一山高,那么黑客也有办法骗过客户端和服务器
采用偷梁换柱的办法,具体咋办到的呢?
还是画个图来看
在这里插入图片描述
文字讲解:

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.引入证书
在这里插入图片描述
服务器的生成要向权威机构申请证书,证书就是一个类似对象的东西,里面有服务器的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!
在这里插入图片描述


http://www.ppmy.cn/news/107705.html

相关文章

openGauss子事务管理分析(PLpgSQL中的异常子事务)

1 背景 PostgreSQL中的存储过程不支持使用savepoint、rollback to。原因是PG的存储过程中,异常处理使用子事务来实现的,也就是一旦发生异常,当前procedure的begin块中执行过的所有语句都会直接回滚: procedurebegininsert into …

TCP/IP协议详解笔记——ARP协议和RARP协议

TCP/IP协议详解笔记——ARP协议和RARP协议 ARP:地址解析协议 工作过程 帧格式 以太网目的地址:目的主机的硬件地址。目的地址全为1的特殊地址是广播地址。 以太网源地址:源主机的硬件地址。 帧类型:对于ARP协议&#…

C/C++ 友元(Friend)机制的利弊关系【友元函数、友元类】

前言: 友元(Friend)是C中的一个特殊机制,它可以实现在某些情况下,一个类的私有成员可以被其他类或者函数访问,从而保证代码的灵活度和可维护性。本篇文章将全面介绍C中的友元机制,包括友元函数、…

618电商节必看:如何提高APP广告变现效率?备战攻略分享!

​随着618电商节的临近,各大电商平台开始了激烈的促销活动。在这个时候,作为APP开发者,如何让自己的APP脱颖而出,吸引更多用户,并将流量变现成为一大难题。本文将为您提供一些备战攻略以及参数优化,助力开发…

C语言学习分享(第八次)------数据的存储

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:C语言学习分享⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习更多C语言知识   🔝🔝 数据的存储 1. 前言🚩2…

二进制安装Kubernetes(K8s)集群---从零安装教程(带证书)

一、实验环境 1、安装说明 selinux iptables off 官方网站:https://kubernetes.io/zh-cn/docs/home 主机名IP系统版本安装服务master0110.10.10.21rhel7.5nginx、etcd、api-server、scheduler、controller-manager、kubelet、proxymaster0210.10.10.22rhel7.5nginx、…

Spring Boot如何实现定时任务调度?

Spring Boot如何实现定时任务调度? Spring Boot提供了非常方便的方式来实现定时任务调度,我们可以使用Spring框架自带的Scheduled注解来实现。在本文中,我们将介绍如何使用Scheduled注解进行定时任务调度。 什么是定时任务调度? …