HTTPS详解

对于HTTPS的了解主要分为这几方面

  1. HTTPS与HTTP在安全上的区别
  2. HTTPS的加密流程
  3. HTTPS1.2 和 1.3 的区别

HTTPS与HTTP在安全上的区别

https = http+ssl/tls
ssl和tls 其实是一个东西,只是维护的公司不同,叫法不一样
在这里插入图片描述
更详细的7层拓扑模型
在这里插入图片描述

7层协议和5层4层之间的转换流程
在这里插入图片描述

安全性上的区别

http 明文传输的,被获取后信息可能被盗取
http 的请求可以被冒充,获取到信息后可以伪造身份模仿请求
http 的请求信息可以被篡改,并且无法识别是否被篡改
无法保证http的真实性

相对于来说
https 传输的内容是加密的,虽然也可以被盗取,但是由于是密文,盗取后也没用
https 发送请求是需要被认证的,无法伪造身份信息
https 内容也可以被篡改,但是由于是加密的内容,篡改后会校验不通过,内容会被判定为无效请求,会要求重发。
通过身份认证,内容加密保证了事务的真实有效

在这里插入图片描述

易用上的区别

安全和效率肯定是反向存在的
由于HTTPS 需要第三方证书认证,所以速度上要慢
在这里插入图片描述

HTTPS 的工作流程

先看http的工作流程

http 建立连接是要3次握手的
在这里插入图片描述

https是要在3次握手之后还要做一系列的加密解密验证
在这里插入图片描述

HTTPS 加密流程

  1. client发起请求
  2. server返回公钥证书(自己保留私钥)
  3. client验证证书(拿到证书后去第三方验证)
  4. client生成对称密钥,用公钥加密后发给service
  5. service 使用私钥解密,得到对称密钥
  6. 双方用对称密钥交互

看出HTTPS 使用的是混合加密类型
在这里插入图片描述

1.2的具体加密过程

在这里插入图片描述

1、首先呢,客户端先向服务端发送加密通信(https)请求,这次请求中包括:
SSL/TSL版本号
加密套件,也就是客户端支持的加密算法列表
产生一个随机数,我们叫他为第1随机数
有一个Client Hello字符串
2、服务器收到请求后,向客户端发出响应:
确认SSL/TSL版本号,如果客户端不支持,那么就关闭通信
确认的加密算法列表
生成一个随机数,我们叫第2随机数
3、服务器再向客户端发送数字证书,这里敲重点了。服务器会把自己的公钥注册到CA(第三方证书机构),然后CA拿自己的私钥对服务器的公钥进行处理并颁发数字证书。
4、服务器将公钥发送给客户端
5、服务器发送Hello Done,表示发送完毕
6、客户端收到服务端一系列响应后,确认数字证书和公钥,没有问题后向服务端发送:
生成一个随机数,我们叫第3随机数或者预主密钥,此预主密钥会通过公钥进行加密
客户端握手结束通知,表示客户端的握手结束
7、服务端收到客户端数据后,使用私钥对加密后的预主密钥进行解密,没有其他人知道预主密钥,因为它加密了,除非服务器私钥泄漏。然后服务端通过第一、二、预主密钥计算出会话密钥。客户端也计算出了会话密钥。
8、服务端向客户端发送:
加密通信算法改变通知,以后通过会话密钥通信
服务端握手结束
到此为止,SSL/TSL握手结束,在此之后都会通过会话密钥来进行加密和解密,也就是对称加密

1.3

1.3 相较于1.2 主要做了算法和握手次数的优化

1.client 把随机数发给service
2.service 拿到 client 的随机数后 用2个随机数和CA信息和公钥 生成pre-master
3.service 把随机数和CA信息和公钥 发个client ,client也生成 pre-master

在这里插入图片描述

在这里插入图片描述

查看证书

certmgr.msc
在这里插入图片描述

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值