HTTPS

目录

一、了解加密和解密

1、对称加密(只有一个密钥 key ):

2、非对称加密(有两个密钥,一个 pub,一个 pri)

HTTPS的基本工作流程

1、使用对称密钥

2、非对称加密

3、中间人攻击

4、通过证书来确认


一、了解加密和解密

1、对称加密(只有一个密钥 key ):

  1. 明文 + key = 密文
  2. 密文 + key = 明文

加密和解密使用的是同一个密钥(速度快)

2、非对称加密(有两个密钥,一个 pub,一个 pri)

pub -> 公钥

pri -> 私钥

对于这两个密钥来说,谁做公钥,谁做私钥都行(能给别人的就叫公钥,自己留着的就要私钥)

  1. 明文 + pub = 密文
  2. 密文 + pri = 明文

或者

  1. 明文 + pri = 密文
  2. 密文 + pub = 明文

无所谓,都是一样的

HTTPS的基本工作流程

加密对象:针对 HTTP 中的 Header 和 body 进行加密

1、使用对称密钥

 

对称加密

 

2、非对称加密

用非对称加密来加密对称密钥key进行传输

但是这样子就真的安全了吗???

并不是!!!

既然不安全,怎么个不安全呢?

3、中间人攻击

中间人攻击

既然非对称加密也不安全,那到底怎么才能安全呢?

4、通过证书来确认

中间人攻击的破解关键在于对服务器发送来的pub是否能够信任,通过证书就能做到这一点

证书包含以下内容:

  • 服务器的URL
  • 证书的过期时间
  • 颁布证书的机构是啥
  • 服务器自己的公钥 pub(不需要传输服务器的公钥了,证书上有)

都是明文的

还有一项加密后的签名:

先对证书的所有属性,计算一个校验和,再由证书颁布机构,使用自己的私钥对这个签名进行加密

引入证书

 

这时候有人可能会说,那把权威机构给黑了,不就拿到 pri2 了嘛,还是那句话,安全并不是决定的,当破解数据的价值超过了数据本身的价值,那就是安全的。要黑权威机构,这花费的力气不是还更大嘛。

通过证书的引入,可以确保客户端拿到的的确是服务器发送过来的公钥,而不是黑客的。这个时候再通过用服务器发送来的公钥加密客户端自己生成的对称密钥 key 就能够实现安全的传输数据了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值