Https 原理

  HTTPS 是为了解决 HTTP 在数据传输方面的安全性问题而出现的一种新的应用层协议,该协议通过在会话层中加入SSL/TSL安全传输协议来实现数据的加密解密和保证数据的完整性以及身份验证。

  HTTP 协议的问题在于通过明文传输数据,不会对数据的完整性进行校验,请求和相应不会对通信双方进行身份验证,从而衍生出窃听,伪造和否认这个三个网络安全问题。明文造成窃听,不进行身份验证造成否认(发送方否认恶意数据的发送),不校验数据的完整性带来了可以对数据进行任意篡改,伪造。

  1.对明文传输的数据进行加密

  对称加密和非对称加密(公开密钥加密)。对称加密一个很重要的特点是通信双方通过相同的密钥进行加密和解密,它带来了“钥匙交付问题”,即中间人通过窃听也能获取到密钥,从而对加密的数据进行解密得到明文信息,无法完全解决窃听问题。公开密钥加密:解密密钥在其中一方,发送公钥给另一方进行加密。中间人窃听由于没有私钥无法解密数据。带来的问题是加密解密比较耗时同时无法确认公钥的可靠性。TSL 通过混合加密来解决这些问题。

  混合加密分为两个步骤: 1.通过公开密钥加密传递密钥 2. 通过速度更快的对称加密密钥传递数据。

  HTTPS的认证过程:客户端向服务器端发送HTTPS请求,服务器端发送包含公钥的数字证书给客户端,客户端为了验证公钥的真实性,会向数字证书的颁发机构校验数字证书,通过之后,会拿出数字证书的公钥,加密随机生成的私钥,发送给服务器端,服务器端通过自己的私钥解密客户端发送的秘钥得到数据私钥。之后客户端和服务器端就可以通过对称加密来传输数据。

  

  

原文地址:https://www.cnblogs.com/wust-hy/p/13792631.html