https 加密过程

https是由http通讯,用SSL/TLS(完全传输层协议)来加密数据包的,https主要是提供对网站服务器的身份认证,保护交换数据的隐私和完整性。

传输加密过程:

(1)客户端先向服务端发起https请求,客户端生成一个随机数发给服务端,传输的时候会带上客户端支持的加密方式套件,还带上协议版本号(随机数 + 加密方式套件 + 协议版本号)

(2)服务端收到请求后存放随机数,确认加密方法,也生成一个随机数伴随着公钥(数字证书)一起传给客户端(加密方法+随机数+公钥)

(3)客户端确认服务器证书后对证书进行递归验证并获取公钥,把收到的公钥生成一个预主密钥,再生成一个用公钥加密后的随机数一起发给服务端,还会发一个用hash加密过的内容(预主密钥+随机数)

(4)服务端拿到预主秘钥后,用私钥解密信息拿到预主密钥

(5)客户端和服务端同时对这三个随机数用同一套加密方式算出一个主密钥,所以这个主密钥只有客户端和服务端知道,中间件是破解不了的

(6)客户端finished,发送共享秘钥key加密过的“finished”信号

(7)服务端finished,发送共享秘钥key加密过的“finished”信号

(8)达成安全通信

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