HTTPS原理解析

一、对称加密:

原理:客户端、服务端均用同一把秘钥对数据进行加密、解密

暴露的问题:

  1. 密钥 key 只有一把,很容易被截取
  2. 传输的内容被黑客篡改,接收方无法感知

二、非对称加密(公钥加密):

原理:公钥加密数据,只能由私钥解密;私钥加密数据,只能由公钥解密。服务器同时拥有公钥、私钥,将公钥给客户端,客户端用公钥加密,加密后的数据只能由服务器的私钥解密

解决的问题:

  1. 客户端向服务器发送数据安全

暴露的问题:

  1. 无法确定公钥来源、是否被修改
  2. 公钥无异常的情况下,可以保证客户端发送数据安全,但服务器发送的数据无法确保安全。

三、对称加密 + 非对称加密(TLS 握手过程):

原理:

  1. C → S:客户端支持的 TLS 版本、客户端生成的一个随机数 x、支持的加密算法列表
  2. S → C:确认 TLS 版本、服务端生成一个随机数 y、服务端选择一个加密算法
  3. S → C:将 证书+公钥 发送给客户端
  4. C → S:客户端根据自己的证书信任列表判断证书是否可信、客户端生成的一个随机数 z,用公钥加密后(z1)发送给服务端
  5. S、C:服务端用私钥解密 z1 获得 z,服务端用 x、y、z 以及加密算法计算出 “会话秘钥”(客户端同理)【截止目前都是非对称加密】
  6. S → C、C → S:用会话秘钥对数据进行加密、解密【对称加密】

解决的问题:

  1. CA证书可以保证公钥来自真正的服务器,且公钥没有被修改
  2. 随机数 z1 只有服务端能解密,保证了 z 只有客户端和服务端能获取,确定了会话秘钥的安全性

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

麦田里的POLO桔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值