HTTPS建立过程

由于HTTPS建立过程经常忘记,固记录

HTTPS建立流程

  1. 客户端发起SSL连接
  2. 服务端发送证书(证书中包含了服务端公钥)
  3. 客户端根据已有证书判断是否是可信任的(客户端决定是否继续)
  4. 服务端要求客户端发送证书
  5. 验证通过,建立连接
  6. 客户端发送协商请求(询问服务端使用哪种加密算法)
  7. 服务端确定加密算法,发送到客户端
  8. 客户端生成随机字符串,通过协商好的加密算法使用服务端公钥加密发送到服务端
  9. 服务端使用私钥解密得到随机字符串
  10. 随后的数据传输使用得到的随机进行对称加密

1-5步是建立连接的过程
6-9步使用非对称加密传送密钥
10使用对称加密传输数据

非对称加密保证了安全性,对称加密保证了快速性

证书

连接建立初期需要用到证书,证书是一个用于双方确认身份的第三方信任机构。假设没有证书这个概念,那么当服务端向客户端发送公钥的时候,中间人对该请求截取没有发送到客户端,反而使用自己的公钥发送到客户端,客户端使用中间人发布的公钥进行加密,随后发送到中间人,中间人使用私钥解密即可拿到对称密钥。所以单纯使用非对称加密仍然是不安全的,引入证书的概念,证书保证了客户端或者服务端收到的一定是服务端或者客户端发送的请求。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值