TLS & HTTPS
TLS
SSL(Secure Socket Layer)安全套接層。主要用於保證 WWW(Wrold Wide Web) 通訊的安全。通過提供 加密,信息完整性,身份認證 來保證安全通訊。
TLS(Transport Layer Security)安全傳輸層協議。用於在兩個應用程序之間提供保密性和數據完整性。TSL 是基於 SSL3.0 改進而來。
加密
TLS
協議是基於 TCP
協議之上的,圖中藍線部分爲 TCP 建立連接的過程,橙色部分爲 TLS
握手過程。
握手過程:
client1
:TLS
版本號+所支持加密套件列表+希望使用的TLS
選項Server1
:選擇一個客戶端的加密套件+自己的公鑰+自己的證書+希望使用的TLS
選項+(要求客戶端證書)Client2
:(自己的證書)+使用服務器公鑰和協商的加密套件加密一個對稱祕鑰(自己生成的一個隨機值)Server2
:使用私鑰解密出對稱祕鑰(隨機值)後,發送加密的Finish消息,表明完成握手
總結:
- 加密算法爲:非對稱加密+對稱加密
身份認證
證書驗證過程:
HTTPS
What is HTTPS
HTTPS:HTTP Over SSL,應用層協議,用於保證 HTTP 數據傳輸的安全性。