密碼學 - SSL/TLS 協議



SSL(安全套接字層)協議及其更高階和安全的TLS(傳輸層安全)協議,用於保護在兩點之間傳送的資料安全,通常是使用者的Web瀏覽器和Web/應用程式伺服器,防止攻擊者(或網際網路服務提供商)訪問和篡改這些資料。大多數網站所有者和運營商必須實現SSL/TLS,以安全地傳輸敏感資料,例如密碼、支付資訊和其他被認為是私人的個人資訊。

什麼是SSL/TLS協議?

SSL/TLS(安全套接字層/傳輸層安全)加密協議提供安全的線上通訊。它通常用於保護客戶端(例如Web瀏覽器)和伺服器之間敏感資料的傳輸,例如登入憑據、信用卡號碼或其他個人資訊。

SSL/TLS依靠數字證書來驗證伺服器的真實性。這些證書由受信任的證書頒發機構(CA)頒發,幷包含伺服器的詳細資訊,例如其公鑰和域名。客戶端在與伺服器建立連線時,會驗證證書未被篡改且是真實的。這可以防止中間人攻擊,攻擊者充當兩個端點之間的中間人,假裝自己是可信的伺服器,從而訪問他們的通訊。

此外,SSL/TLS保證資料完整性,以便資料在伺服器傳送後以未更改的形式到達客戶端。為此,它使用訊息認證碼(MAC),這些碼使用加密方法計算,然後附加到傳輸的資訊中。然後,客戶端計算MAC,並將其與接收到的MAC進行比較,從而確保資料的正確性。如果它們匹配,則資料未被修改。

SSL/TLS不僅提供資料完整性和機密性,還提供伺服器身份驗證。伺服器透過在SSL/TLS握手過程中出示其數字證書來向客戶端驗證其身份。客戶端可以驗證證書的真實性以及它是否連線到預期的伺服器。

SSL/TLS協議是為了解決安全漏洞並提高效率而建立的。最常用的版本是SSL 3.0、TLS 1.0、TLS 1.1、TLS 1.2和TLS 1.3。每個版本的釋出都包含新的安全特性和改進,例如更強大的加密演算法和更安全的握手過程。

SSL/TLS如何工作?

SSL/TLS同時使用非對稱加密和對稱加密來確保資料在傳輸過程中的完整性和機密性。非對稱加密用於在客戶端和伺服器之間建立安全連線,而對稱加密用於在安全會話內交換資料。

要使用SSL/TLS加密,網站需要為其Web伺服器或域名擁有SSL/TLS證書。設定後,證書允許客戶端和伺服器在後續步驟中安全地檢查加密級別:

  • 客戶端使用安全URL(HTTPS)連線到伺服器。
  • 客戶端從伺服器接收其公鑰和證書。
  • 客戶端與受信任的根證書頒發機構進行驗證,以確保證書的真實性。
  • 協商伺服器和客戶端都支援的最高強度加密。
  • 客戶端使用伺服器的公鑰加密會話(秘密)金鑰,並將其返回給伺服器。
  • 伺服器使用其私鑰解密客戶端通訊,並啟動會話。
  • 客戶端和伺服器之間傳送的資料現在使用會話金鑰(對稱加密)進行加密和解密。

現在,客戶端和伺服器使用HTTPS(SSL/TLS + HTTP)進行通訊。大多數瀏覽器會在位址列中顯示一個鎖圖示來驗證這一點。HTTPS使用443埠進行通訊。

離開網站時,這些金鑰會丟失。下次訪問時會生成一組新的金鑰並協商新的握手。

SSL/TLS的實現

為了確保計算機之間線上通訊的安全,您需要實現SSL/TLS。這些過程如下:

  • 獲取證書 - 首先,您需要從一個組織獲取一個單獨的證書。像身份證一樣,此證書包含有關您的計算機的資訊,並顯示其安全性。
  • 安裝證書 - 獲取證書後,您需要將其安裝到您的計算機上。這類似於將身份證放在錢包裡。
  • 調整設定 - 接下來,您需要調整計算機上的某些設定,以確保啟用SSL/TLS。這就像更改手機設定以啟用Wi-Fi。
  • 選擇安全協議 - 您還需要選擇計算機與其他計算機線上通訊時最有效和最安全的方法。這就像在旅行時選擇最安全的路線。
  • 保護客戶端連線 - 在開發應用程式或程式時,務必確保使用SSL/TLS與其他計算機進行安全通訊。
  • 測試一切 - 一旦一切設定完畢,您需要進行測試以確保其正常執行。

SSL/TLS證書的版本

以下是各種SSL/TLS證書版本:

  • SSLv2 − 安全套接字層 (SSL) 的第一個版本,曾被廣泛接受用於保護網際網路連線。然而,由於其自身的弱點,目前已被認為是過時且不安全的。
  • SSLv3 − 除了解決了 SSLv2 的漏洞外,SSLv3 還增加了新的功能,例如 SHA-1 雜湊函式支援和密碼套件協商。但是,由於存在像 POODLE(已降級舊版加密的填充預言機)攻擊之類的缺陷,SSLv3 也被認為是不安全的。
  • TLS 1.0 − TLS 1.0(傳輸層安全協議)取代了 SSLv3,提供了顯著的安全改進。它相容訊息認證碼 (MAC) 和更強大的加密方法。TLS 1.0 目前已被認為是過時的,幷包含許多已知的漏洞。
  • TLS 1.1 − 除了提供新的功能,例如支援額外的密碼套件以及能夠為了向後相容性而升級到更早的 SSL/TLS 版本的能力外,TLS 1.1 還修復了 TLS 1.0 中發現的一些漏洞。但 TLS 1.1 也被認為是過時的,幷包含已知的弱點。
  • TLS 1.2 − 目前最常用和最安全的協議版本是 TLS 1.2。更好的密碼套件、對認證加密的支援以及增強對像“針對 SSL/TLS 的瀏覽器漏洞利用”和“壓縮比率資訊洩露簡易方法”等攻擊的防護,只是它相較於早期版本所提供的安全增強功能中的一部分。
  • TLS 1.3 − 最新的協議版本 TLS 1.3,比 TLS 1.2 提供了顯著的安全增強功能。除了更快的連線和增強的針對升級和金鑰洩露嘗試的保護外,它還提供了更好的隱私保護。

SSL 和 TLS 的共同特點

SSL 和 TLS 是加密伺服器、應用程式、使用者和系統之間資料的通訊協議。它們透過對網路連線的雙方進行身份驗證來提供安全的資訊交換。

1995 年,Taher Elgamal 與 SSL 開發團隊一起,推出了面向公眾的 SSL 2.0。SSL 的主要目標是在網際網路上實現安全通訊。在 SSL 經過多次修改之後,Tim Dierks 和 Christopher Allen 於 1999 年建立了 TLS 1.0 來替代 SSL 3.0。

  • 目標 − 在 SSL 停止使用之前,TLS 是一種安全的通訊技術,允許身份驗證和加密。TLS 和 SSL 都使用數字證書來加快握手過程,並在 Web 伺服器和瀏覽器之間提供加密通訊。
  • 術語 − 由於 TLS 是 SSL 的直接替代品,所有 SSL 版本均不再受支援。但是,有時會使用術語 SSL 來描述 TLS 連線。TLS 協議和 TLS 證書通常被稱為縮寫詞 SSL 和 SSL/TLS。
  • HTTPS 的應用 − HTTP 是一種協議或一組通訊標準,用於在任何網路上進行客戶端-伺服器通訊。在不安全的 HTTP 連線上實現安全的 SSL/TLS 協議被稱為 HTTPS。您的瀏覽器在建立連線之前,會使用 TLS 驗證網站的 TLS 或 SSL 證書。伺服器對現代安全標準的接受可以透過其 TLS 和 SSL 證書來驗證。證書的驗證可以在您瀏覽器的位址列中找到。加密的真實連線的位址列顯示為 https:// 而不是 http://。“s”代表“安全”。

SSL 和 TLS 之間的區別!

安全套接字層 (SSL) 是一種通訊協議,或規則集合,它使用網路在兩個裝置或應用程式之間提供安全連線。在透過網際網路交換登入憑據或機密資訊之前,建立信任並驗證對方的身份非常重要。您的瀏覽器或應用程式可能已經使用 SSL 技術在任何網路上建立了一個安全、加密的通訊通道。但 SSL 是一種過時的技術,存在一些安全問題。

傳輸層安全協議 (TLS) 是 SSL 的更新版本,它解決了已知的 SSL 錯誤。TLS 保持對加密通訊通道的支援,並更有效地執行身份驗證。

特性 SSL 協議 TLS 協議
定義 首個廣泛使用的安全協議 SSL 的繼任者,解決了其缺陷
安全性 容易受到已知攻擊 提供改進的安全特性
版本 SSL 2.0、SSL 3.0、TLS 1.0(基於 SSL 3.0) TLS 1.0、TLS 1.1、TLS 1.2、TLS 1.3(最新)
用途 已棄用,不推薦使用 當前網際網路安全的標準
遺留 遺留協議 用於安全連線的現代協議

SSL/TLS 證書的型別

以下是 SSL/TLS 證書的型別:

  • 域驗證 (DV) 證書 − 這些是簡單的證書,僅驗證域。它們易於獲取,通常用於個人網站或部落格。
  • 組織驗證 (OV) 證書 − 與 DV 證書不同,這些證書不僅確認域所有權,還驗證有關組織的其他次要詳細資訊,例如名稱和位置。它們提供更高的信任級別,這就是大多數企業和組織使用它們的原因。
  • 擴充套件驗證 (EV) 證書 − 此型別在所有其他型別中提供最高級別的驗證。它必須經過非常嚴格的驗證,甚至在頒發之前必須確認網站背後的法律實體。實際上,瀏覽器會為具有 EV SSL 的網站顯示綠色位址列,從而表明其高度的可靠性。電子商務網站和金融機構通常會選擇此證書,因為它具有強大的身份驗證功能。

SSL/TLS 使用哪種型別的加密?

SSL/TLS 使用非對稱加密(通常稱為公鑰密碼學)和對稱加密。

非對稱加密使用兩個獨立但數學上相關的金鑰,通常稱為金鑰對:公鑰和私鑰。公鑰用於加密,而私鑰保密並用於解密。這使得兩個人可以在不交換秘密金鑰的情況下安全地進行通訊。SSL/TLS 在初始握手期間使用非對稱加密來建立安全連線並交換對稱加密金鑰。

對稱加密使用相同的金鑰進行加密和解密。一旦建立了安全的非對稱加密連線,SSL/TLS 就會切換到對稱加密來傳輸資料。這是因為對稱加密通常更快更有效地加密大量資料。

廣告