什么是SSL?
SSL 代表安全套接字層。它是一種用于加密和驗證應用程序(如瀏覽器)和 Web 服務器之間發送的數據的協議。 身份驗證 , 加密 Https 的加密機制是一種共享密鑰加密和公開密鑰加密并用的混合加密機制。
SSL/TLS 協議作用:認證用戶和服務,加密數據,維護數據的完整性的應用層協議加密和解密需要兩個不同的密鑰,故被稱為非對稱加密;加密和解密都使用同一個密鑰的對稱加密。優點在于加密、解密效率通常比較高 HTTPS 是基于非對稱加密的, 公鑰是公開的,
(1)客戶端向服務器端發起 SSL 連接請求;
(2) 服務器把公鑰發送給客戶端,并且服務器端保存著唯一的私鑰;
(3)客戶端用公鑰對雙方通信的對稱秘鑰進行加密,并發送給服務器端;
(4)服務器利用自己唯一的私鑰對客戶端發來的對稱秘鑰進行解密;
(5)進行數據傳輸,服務器和客戶端雙方用公有的相同的對稱秘鑰對數據進行加密解密,可以保證在數據收發過程中的安全,即是第三方獲得數據包,也無法對其進行加密,解密和篡改。
因為數字簽名、摘要是證書防偽非常關鍵的武器。 “摘要”就是對傳輸的內容,通過 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.安全數據傳輸:雙方用會話密鑰加密和解密它們之間傳送的數據并驗證其完整性
更多關于網絡安全培訓的問題,歡迎咨詢千鋒教育在線名師,如果想要了解我們的師資、課程、項目實操的話可以點擊咨詢課程顧問,獲取試聽資格來試聽我們的課程,在線零距離接觸千鋒教育大咖名師,讓你輕松從入門到精通。