古詩詞大全網 - 藝術簽名 - Https協議

Https協議

簡單來說就是基於ssl的http協議。https協議依托於ssl協議,可以保證整個通信是加密的,密鑰是隨機生成的,並且可以通過數字證書來驗證雙方的身份,從而保證信息安全。其中,證書包含證書所代表的端的公鑰和壹些基本信息,如機構名稱、證書的域名、證書的數字簽名等。證書的真實性可以通過數字簽名來驗證。通信內容通過對稱加密進行加密。通信雙方約定通信密碼後,通過公鑰加密傳輸密碼。只有公鑰對應的私鑰,即通信的另壹端,才能解密得到通信密碼,既保證了通信的安全性,又使加密性能和時間開銷可控。

https協議為http協議和tcp協議增加了壹層安全性。所有請求和響應的數據將在結果網絡傳輸之前被加密,然後被傳輸。

Https協議支持單向認證和雙向認證。

單向認證:只驗證服務器證書的有效性。

雙向認證:檢查服務器和客戶端。

SSL的全稱是安全套接字層,是壹個安全套接字層。Ssl協議獨立於應用層,http、FTP、ssh等高層應用都可以在SSL上恢復。

TLS是傳輸層安全,是傳輸層安全協議,也是基於SSL的通用協議,同樣位於應用層和傳輸層之間,正逐漸取代SSL成為下壹代網絡安全協議。

SSL/TLS分為兩層:

1.記錄協議,記錄協議;

記錄協議基於可靠傳輸協議(TCP ),提供數據封裝、加密和解密、數據壓縮、數據驗證等基本功能。

2、握手協議,握手協議

基於握手協議,在實際數據傳輸之前,協商加密算法,交換通信密鑰,認證雙方身份。

(1)客戶端發送客戶端hello消息,包含客戶端支持的協議、sessionid、加密算法、壓縮算法的版本信息,還包含客戶端生成的隨機數。

(2)服務器響應服務器hello消息,該消息包含服務器生成的隨機數、協議版本信息、sessionid、壓縮算法信息和服務器數字證書。如果服務器配置是雙向身份驗證,服務器將請求客戶端證書。

(3)客戶端通過證書驗證服務器證書的有效性。

(4)如果證書被驗證,客戶端將把由服務器的公鑰加密的預主秘密發送給服務器。如果服務器在上壹步中請求客戶端證書,客戶端會將客戶端證書發送到服務器進行驗證。

(5)服務器驗證客戶端證書的有效性,用自己的私鑰解密PMS,使用在客戶端hello和服務器hello兩個步驟中生成的隨機數,將解密的PMS相加生成主密鑰,即主秘密,然後通過MS生成加密密鑰..

(6)客戶端也會使用客戶端hello和服務器hello兩個步驟中生成的隨機數,加上解密後的pm生成MS,然後通過MS生成加密密鑰..

(7)通知服務器將來的信息將用加密密鑰加密。

(8)向服務器發送加密密鑰以加密信息並終止握手。

(9)告知客戶未來信息將使用加密密鑰加密。

(10)向客戶端發送加密密鑰以加密信息並終止握手。

握手之後,客戶端和服務器可以開始加密數據通信: