愛伊米

什麼是SSL?https如何保證資料傳輸安全

什麼是SSL?

SSL 代表安全套接字層。它是一種用於加密和驗證應用程式(如瀏覽器)和 Web 伺服器之間傳送的資料的協議。 身份驗證 , 加密 Https 的加密機制是一種共享金鑰加密和公開金鑰加密並用的混合加密機制。

什麼是SSL?https如何保證資料傳輸安全

SSL/TLS 協議作用:認證使用者和服務,加密資料,維護資料的完整性的應用層協議加密和解密需要兩個不同的金鑰,故被稱為非對稱加密;加密和解密都使用同一個金鑰的對稱加密。優點在於加密、解密效率通常比較高 HTTPS 是基於非對稱加密的, 公鑰是公開的,

(1)客戶端向伺服器端發起 SSL 連線請求;

(2) 伺服器把公鑰傳送給客戶端,並且伺服器端儲存著唯一的私鑰;

(3)客戶端用公鑰對雙方通訊的對稱秘鑰進行加密,併發送給伺服器端;

(4)伺服器利用自己唯一的私鑰對客戶端發來的對稱秘鑰進行解密;

(5)進行資料傳輸,伺服器和客戶端雙方用公有的相同的對稱秘鑰對資料進行加密解密,可以保證在資料收發過程中的安全,即是第三方獲得資料包,也無法對其進行加密,解密和篡改。

什麼是SSL?https如何保證資料傳輸安全

因為數字簽名、摘要是證書防偽非常關鍵的武器。 “摘要”就是對傳輸的內容,透過 hash演算法計算出一段固定長度的串。然後,在透過 CA 的私鑰對這段摘要進行加密,加密後得到的結果就是“數字簽名”

SSL/TLS 協議的基本思路是採用公鑰加密法,也就是說,客戶端先向伺服器端索要公鑰,然後用公鑰加密資訊,伺服器收到密文後,用自己的私鑰解密。

如何保證公鑰不被篡改?

將公鑰放在數字證書中。只要證書是可信的,公鑰就是可信的。

公鑰加密計算量太大,如何減少耗用的時間?

每一次對話(session),客戶端和伺服器端都生成一個”對話金鑰”(session key),用它來加密資訊。由於”對話金鑰”是對稱加密,所以運算速度非常快,而伺服器公鑰只用於加密”對話金鑰”本身,這樣就減少了加密運算的消耗時間。

(1)客戶端向伺服器端索要並驗證公鑰。

(2)雙方協商生成”對話金鑰”。

(3)雙方採用”對話金鑰”進行加密通訊。上面過程的前兩步,又稱為”握手階段”(handshake)。

《計算機網路》書本:

SSL 工作過程,A:客戶端,B:伺服器端

1。協商加密演算法:A 向 B 傳送 SSL 版本號和可選加密演算法,B 選擇自己支援的演算法並告知 A

2。伺服器鑑別:B 向 A 傳送包含公鑰的數字證書,A 使用 CA 公開發布的公鑰對證書進行驗證

3。會話金鑰計算:A 產生一個隨機秘密數,用 B 的公鑰進行加密後傳送給 B,B 根據協商的演算法產生共享的對稱會話金鑰併發送給 A。

4。安全資料傳輸:雙方用會話金鑰加密和解密它們之間傳送的資料並驗證其完整性