跳至主要内容

HTTPS

HTTPS (Hypertext Transfer Protocol Secure) 是 HTTP 的安全版本,也是現今網際網路上最主要的應用層協定。它透過在 HTTP 和 TCP 之間加入一層 SSL/TLS (Secure Sockets Layer/Transport Layer Security) 加密層,來保護用戶端 (瀏覽器) 和伺服器之間的通訊內容。

為何 HTTPS 至關重要?​

  • 保護使用者隱私: 防止竊聽者(如在公共 Wi-Fi 上的駭客)讀取敏感資訊,如登入憑證、信用卡號碼和個人訊息。
  • 防止內容竄改: 確保使用者收到的內容與伺服器發送的內容完全一致,未經任何中間人(如 ISP、惡意軟體)的修改或注入廣告。
  • 建立使用者信任: 瀏覽器會以明顯的標示(如鎖頭圖示)告知使用者目前連線是安全的,這對於電子商務和線上服務至關重要。
  • 提升搜尋引擎排名: 主流搜尋引擎(如 Google)會給予使用 HTTPS 的網��更高的排名。

核心安全目標​

HTTPS 主要透過 SSL/TLS 協定來達成以下三個目標:

  1. 加密 (Encryption): 確保���訊的 機密性 (Confidentiality)。將傳輸的資料進行加密,即使資料在傳輸過程中被第三方攔截,也無法讀取其真實內容。
  2. 認證 (Authentication): 確保伺服器的 身分鑑別 (Authentication)。透過 SSL/TLS 憑證,來驗證使用者正在連線的伺服器,確實是它所聲稱的那個伺服器。
  3. 完整性 (Integrity): 確保資料的 完整性 (Integrity)。在資料傳輸過程中,會計算一個訊息鑑別碼 (MAC),用來確保資料沒有被竄改。

SSL/TLS 交握 (Handshake)​

當瀏覽器與伺服器建立 HTTPS 連線時,會進行一個稱為「SSL/TLS 交握」的過程,其核心步驟如下:

  1. 建立連線: 客戶端 (瀏覽器) 向伺服器發送 ClientHello 訊息,包含支援的加密套件和一個隨機數。
  2. 伺服器回應: 伺服器回傳 ServerHello,確定使用的加密套件,並附上自己的 SSL/TLS 憑證和另一個隨機數。
  3. 憑證驗證與金鑰交換: 瀏覽器驗證伺服器憑證的有效性,並產生一個「預主密鑰」,用伺服器的公鑰加密後傳送給伺服器。
  4. 建立對稱金鑰: 伺服器用自己的私鑰解密,取得「預主密鑰」。至此,雙方都擁有了足夠的資訊來產生一把相同的「對稱���鑰」。
  5. 加密通訊: 交握完成後,後續的所有通訊都將使用這把高效能的「對稱金鑰」來進行加密和解密。

Let's Encrypt 的貢獻​

Let's Encrypt 是一個免費、自動化且開放的憑證頒發機構 (CA)。它的出現極大地降低了部署 HTTPS 的門檻和成本,讓中小型網站也能輕鬆地免費取得 SSL/TLS 憑證,是推動全球網際網路 HTTPS 化的重要功臣。

總結​

在現代網路環境中,HTTPS 已不再是選項,而是標準配備。它不僅保護了使用者的隱私和資料安全,有效防範中間人攻擊和釣魚網站,更是建立使用者信任感和提升搜尋引擎排名的關鍵因素。