Tls

為什麼 SSL 在 TCP 之上?

  • December 13, 2017

顯示 TCP 之上的 SSL 的協議棧圖

為什麼 SSL 不在 TCP(傳輸層)下?

為什麼 SSL 不在 TCP(傳輸層)之下?

因為 SSL 可以使用 TCP

$$ 1 $$傳輸 SSL 記錄,因此 SSL 依賴 TCP 作為服務。 即 SSL 獲取使用者數據流,並將其轉換為一系列記錄;然後它將這些記錄提供給 TCP 進行傳輸。另一方面,接收方的 TCP 堆棧獲取這些記錄並將其交給 SSL 進行解密。

類似地,TCP 獲取它已經給出的數據,並將其轉換為一系列段;然後它將這些段提供給 IP 進行傳輸(因此 TCP 顯示在 IP 之上)。


$$ 1 $$沒有要求 SSL 必須使用 TCP;這只是在實踐中使用的。

顧名思義,安全套接字層建立在套接字之上,它提供無錯誤、有序的數據流。TLS 是 SSL 的不同名稱的繼任者;TLS 1.0 繼承了 SSL 3。TLS 同樣被命名為傳輸層安全性。TCP 是建立在 IP 之上以提供此傳輸層的傳輸控制協議。

TLS 需要兩個可靠、無錯誤、有序的數據流才能執行——它提供兩個安全流作為回報。TLS 適用於任何可靠、有序的流,而不僅僅是 TCP。只是 TCP 是 Internet 傳輸層最常見的流協議。網際網路協議 (IP) 本身不提供這種流媒體功能;它只指定如何路由單個數據包。

請注意,SSL 用於保護許多 Internet 協議的傳輸層。這些協議由 Internet 上的各種服務處理。因此,在此級別具有安全性意味著 SSL 提供特定於應用程序的安全性;每個埠都可以得到保護,有時甚至在協議啟動之後(例如,郵件連接上的 STARTTLS)。

還有一個名為 DTLS 的 TLS 版本,它在 UDP 上執行。UDP 提供無序數據包,DTLS 可用於保護這些數據包。並且 IPSEC 已經被命名為可用於實現網路互連/數據報級別的安全性。

您目前可能正在使用加密站點的安全版本,該站點在連接到應用程序伺服器上的埠號 443 的 TCP 套接字上使用 HTTPS、基於 SSL 的 HTTP(或通過它前面的代理或 SSL 加速器)。

引用自:https://crypto.stackexchange.com/questions/53786