为什么要引入 Https?
1.http 的通信方式
通信都是明文传输,可以被中间层截获,甚至篡改。
2.使用对称加密
对称加密是请求方与服务方使用相同的密钥进行加解密,效率高效。
3.请求方与服务方如何协定这个密钥
引入非对称加密安全传输这个密钥,请求方使用非对称公钥加密对称加密密钥X,而只有服务方拥有非对称私钥,可以解密。一旦发送方与服务方确定密钥X,就可以安全进行通信了。
4.保证非对称加密的公钥和私钥
从网络传输,都会有被截获、篡改的可能。
引入 CA 机构,操作系统会包含主流 CA 机构公钥,保证各个客户端可以安全获取服务方公钥。
服务方向 CA 机构申请证书,如一个网站管理员申请证书挂载到网站,客户端请求服务方时,服务方会返回证书信息(私钥加密信息),客户端会遍历公钥去验证证书的真实性,验证成功就会生成随机密钥X,然后用公钥加密发送给服务方,服务方用私钥解密并获取密钥X。确定密钥X之后,所有通信将都使用密钥X加密传输。
这样就保证了发送方与服务方的对称加密传输。
网络参考图: