简述HTTPS传输原理

Https 为了兼顾安全与效率,同时使用了对称加密和非对称加密。数据是被对称加密传输的,对称加密过程需要客户端的一个密钥,为了确保能把该密钥安全传输到服务器端,采用非对称加密对密钥进行加密传输。总体来说,对数据进行对称加密,对对称加密所要使用的密钥通过非对称加密传输。

HTTPS 在传输过程中涉及到三个密钥

  • 服务端的公钥和私钥,用来进行非对称加密
  • 客户端生成随机密钥,用来对数据进行对称加密传输

步骤简述

  1. 客户端向服务端发送HTTPS请求,连接到服务端的443端口。
  2. 服务端生成公钥私钥,私钥自己保留,公钥公用。
  3. 服务端将自己的公钥发送给客户端。
  4. 客户端收到服务端的公钥后,通过内置证书进行验证。如果公钥合格,客户端生成一个随机数,用于后面对数据进行对称加密,即客户端密钥。
  5. 客户端发起第二次HTTP请求,对加密之后的客户端密钥发送给 服务端。
  6. 服务端收到客户端发过来的密文后,用自己的私钥对其进行非对称解密,解密后得到客户端的密钥,然后用密钥对数据进行对称加密,
  7. 服务端返回密文数据。
  8. 客户端收到密文数据,进行对称解密,得到服务端发送的数据。

简述HTTPS传输原理_第1张图片

你可能感兴趣的:(网络传输,https)