HTTPS-概述

一、什么是https

https是为了解决http的安全问题,在http和tcp中间加了一层SSL/TSL安全层,加密通信,防窃取、篡改

二、https传输流程

  • TCP三次握手之后,进行SSL/TLS握手
  • 客户端发送hello,告知服务端自己支持的SSL协议版本、支持的加密算法和一个随机数
  • 服务端确认客户端的hello,并发送serverHello,告诉客户端要用的SSL版本、加密算法、自己的CA数字证书(包含非对称加密的公钥和一系列CA验证字段,保证数字证书不能被中间人劫持伪造)和一个随机数
  • 客户端收到服务端的serverHello后,通过操作系统拿到CA证书的公钥解密服务端的CA证书,获取到服务器的公钥(非对称加密的公钥),客户端生成一个新的密钥(对称加密)并通过服务器的公钥(非对称加密的)加密后发送给服务端
  • 服务端收到密钥(对称加密)后,用自己的私钥(非对称加密)解密获得密钥(对称加密)
  • 此后双方都通过密钥(对称加密)对通信加密即可
posted @ 2022-03-29 22:17  hugeQAQ  阅读(539)  评论(0编辑  收藏  举报