HTTPS 是如何工作的?你知道嗎?
作者:李華 ByteByteGo
HTTPS 確實引入了一定的性能開銷,但隨著現代硬件和協議優化的進步,HTTPS 的性能開銷相對于其安全性帶來的好處已經微不足道,尤其是在 CDN(內容分發網絡)、HTTP/2、TLS 1.3 等優化技術的幫助下。
使用 HTTPS(超文本傳輸安全協議)的主要原因包括以下幾點:
- 數據加密 - HTTPS 使用 TLS(傳輸層安全協議)對數據進行加密,確保在客戶端和服務器之間傳輸的數據不會被中途竊聽或篡改。即使黑客截獲了數據,也難以解密讀取。
- 數據完整性 - HTTPS 可以確保傳輸的數據不會在過程中被篡改。即使惡意攻擊者截獲了數據包,數據包的校驗機制會發現篡改的痕跡,進而拒絕數據的傳遞。
- 身份驗證 - HTTPS 通過數字證書對服務器進行驗證,確保用戶連接到的是真正的目標服務器,而不是被攻擊者偽裝的假服務器。這大大減少了中間人攻擊(Man In the Middle)的風險。
- 提高搜索排名 - 搜索引擎(如 Google)優先顯示使用 HTTPS 的網站。Google 從 2014 年起就開始把 HTTPS 作為網站排名的一個因素。
圖片
HTTPS 如何工作?
- 第 1 步 - 客戶端(瀏覽器)和服務器建立 TCP 連接。
- 第 2 步 - 客戶端向服務器發送 “Client Hello” 信息。該信息包含一套必要的加密算法和它能支持的最新 TLS 版本。服務器回應一個 “Server Hello”,以便瀏覽器知道它是否支持這些算法和 TLS 版本。然后,服務器向客戶端發送 SSL 證書。證書包含公鑰、主機名、有效期等信息。客戶端驗證證書。
- 第 3 步 - 驗證 SSL 證書后,客戶端生成會話密鑰 (Session Key),并使用公開密鑰對其進行加密。服務器收到加密的會話密鑰后,用私鑰解密。
- 第 4 步 - 既然客戶端和服務器都持有相同的會話密鑰(對稱加密),加密數據就會在安全的雙向通道中傳輸。
HTTPS 為什么要在數據傳輸過程中切換到對稱加密?主要有兩個原因:
- 安全性:非對稱加密只能單向傳輸。這意味著,如果服務器嘗試將加密數據發送回客戶端,任何人都可以使用公鑰解密數據。
- 服務器資源:非對稱加密會增加大量數學開銷。它不適合長時間的數據傳輸。
HTTPS 確實引入了一定的性能開銷,但隨著現代硬件和協議優化的進步,HTTPS 的性能開銷相對于其安全性帶來的好處已經微不足道,尤其是在 CDN(內容分發網絡)、HTTP/2、TLS 1.3 等優化技術的幫助下。對于大多數應用場景,HTTPS 帶來的性能影響可以忽略不計,而其提供的安全和信任則是至關重要的。
責任編輯:武曉燕
來源:
ByteByteGo