1.什么是Https
即⼯作在 SSL (TLS前身)或 TLS上的 HTTP即加密通信的 HTTP。
SSL和TLS在应用层(HTTP)和运输层(TCP)之间
2.工作原理
先在客户端和服务器之间通过非对称加密通信协商出⼀套对称密钥,每次发送信息之前将内容加密,收到之后解密,达到内容的加密传输。
2.1为什么不直接⽤⾮对称加密
⾮对称加密由于使⽤了复杂了数学原理,因此计算相当复杂,如果完全使⽤⾮对称加密来加密通信内容,会严重影响⽹络通信的性能。
3.HTTPS 连接建⽴的过程
-
Client Hello
客户端向服务器发送 Client Hello(1)(握手信息)以及
-
Server Hello
-
服务器发送证书(微乐发送服务器公钥),信任建⽴
成功建立了信任则会用服务器公钥对信息进行加密
-
Pre-master Secret
客户端发送Pre-master Secret(用服务器公钥加密的随机数),之后结合客户端随机数和服务器随机数算出Master Secret,Master Secret又会生成:
- 客户端通知:将使⽤加密通信
- 客户端发送:Finished
(将上面的所有信息用HMAC加密后发送) - 服务器通知:将使⽤加密通信
- 服务器发送:Finished