開啟 3 天免費試用
註冊即可免費體驗全部高級功能。
*只限新用戶;每位用戶只可獲得一次試用。


ECH 能避免 SNI 封鎖嗎?加密客戶端問候(ECH)在 TLS 客戶端與伺服器成功協商後,可防止路徑觀察者讀取 ClientHelloInner 內的真實伺服器名稱。它不保證連線成功:客戶端和伺服器基建要兼容,客戶端亦要有可用且受支援的 ECH 設定。該設定通常經 DNS 取得,亦可預先設定;目的 IP、時序、流量大小、外層 ClientHello 及可辨識的非 TLS 協議仍可能可見。
VPN 完整指南說明 VPN 隧道的位置。ECH 的範圍較窄:它保護 ECH 客戶端與伺服器之間的敏感 TLS 握手元資料,不是 VPN,亦不會獨自加密整條網絡路徑。
關鍵要點
- ECH 加密 ClientHelloInner,當中可包含真實 SNI 及其他敏感擴充欄位。
- 可見的 ClientHelloOuter 是公開外層,並攜帶 ECH 擴充欄位。
- 客戶端需要可用且受支援的 ECH 設定,通常經 HTTPS/SVCB DNS 記錄取得,亦可預先設定。
- 拒絕及重試是協議流程,所以「已啟用」不等於「已接受」。
- 即使 SNI 受保護,IP、流量分析、端點和協議規則仍可能生效。
傳統 TLS 伺服器名稱指示(Server Name Indication)把要求的主機名稱放入 ClientHello 的 server_name 擴充欄位。RFC 6066 定義 SNI,讓一個地址承載多個名稱的伺服器可在加密應用要求出現前選擇合適證書。[3]這有利虛擬託管,卻向被動觀察者公開名稱。
RFC 9849 把 TLS Encrypted Client Hello 標準化。客戶端建立含敏感值的內層 ClientHello,以 ECH 設定內的公鑰加密,同時發送供面向客戶端基建處理的外層 ClientHello。[1]伺服器接受 ECH 後,TLS 連線以內層握手為準。
ECH 不只保護 SNI 欄位,因為多個敏感擴充欄位都可放在內層訊息。但私隱結論仍有界線:不能解密的路徑觀察者看不到內層值,不代表連線本身不可見。
接入網絡仍需要可路由資料。來源和目的 IP 位於封包標頭,傳輸、大小、方向、時序、連線持續時間和總流量仍可觀察。DNS 如沒有獨立保護亦可能可見。
ClientHelloOuter 保持可見。RFC 9849 定義內層與外層訊息的一致性規則及公開名稱部署機制。[1]ECH 旨在避免透露敏感來源名稱,不保證所有實作的外層位元組完全一致。
TLS 握手成功後,應用數據由 TLS 加密;流量分析仍可使用端點或模式作關聯。網絡供應商可看到哪些 VPN 資訊把同一證據邊界用於另一種加密外層流量。
客戶端需要含參數和公鑰的 ECHConfigList。RFC 9849 定義 TLS 處理,RFC 9848 則定義如何透過 SVCB 與 HTTPS DNS 記錄中的 ech 服務參數分發 ECH 設定。[1][2]
初始取得流程並非必然經過獨立認證。RFC 9849 允許 HTTPS/SVCB 在沒有可驗證真確性或來源資料的情況下分發 ECH 設定,而預先設定和經認證的 DNS 會提供不同保證。客戶端仍要遵循自己的 DNS 與 TLS 安全模型;受保護 DNS 可減少這條路徑的暴露與竄改,但它是另一套協議及部署。[1][2]
設定亦有時效。伺服器可輪換 ECH 密鑰並發佈新設定;過期快取會觸發拒絕,再透過經認證的重試設定復原。復原流程不應因路徑干擾便靜默取消安全要求。
接受 ECH 時,雙方依 RFC 9849 的確認與握手記錄規則使用 ClientHelloInner。[1]敏感名稱不再如傳統 SNI 般明文發送;外層訊息仍是公開信封。
如伺服器無法解密或接受,便可拒絕 ECH 並以標準路徑提供重試設定。客戶端驗證 TLS 連線後才判斷重試是否安全。兼容部署亦可用公開名稱處理外層連線而不透露私人來源服務。
故障表現有多種:過期設定可觸發可復原重試,伺服器錯誤設定可令 TLS 失敗,網絡也可丟棄首個 ClientHello、干擾 DNS、封鎖目的地址或正常放行。診斷應分開「已提出」「已接受」「已拒絕」「已重試」及普通未使用 ECH 的狀態。
| 分支 | 內層名稱是否受保護 | 觀察者仍可見 | 結果界線 |
|---|---|---|---|
| ECH 已提出並獲接受 | 是,前提是密碼機制與端點未失陷 | IP、傳輸、時序、大小、外層訊息 | TLS 可按內層訊息繼續 |
| ECH 被拒絕並附有經認證的重試資料 | 原有內層訊息仍加密 | 拒絕流量與可見元資料 | 客戶端可用有效新設定重試 |
| ECH 不可用 | 沒有 ECH 保護 | 傳統 ClientHello 欄位可能可見 | 由客戶端政策決定普通 TLS |
| 完成前被丟棄 | 加密內層訊息仍可能不可讀 | 目的地與流量模式 | 不能證明原因或位置 |
如果某項規則唯一可用的篩選條件是明文內層伺服器名稱,而客戶端取得有效設定且伺服器接受加密 ClientHello,ECH 能令觀察者失去預期的傳統 SNI 值。
這不等於服務無法被封。政策仍可選取目的 IP 或網段、公開入口、連接埠、可辨識協議,或拒絕無法分類的連線。共享基建會提高地址封鎖的連帶成本,但成本不是技術保證。
網站封鎖概覽比較其他篩選條件。ECH 改變 TLS 元資料的可見性,不會從伺服器應用情境刪除名稱、改變授權或迫使接入網絡傳送連線。
ECH 把敏感擴充欄位移入內層訊息,被動觀察者不能再用不可見值建立指紋。外層 ClientHello 仍有結構、參數、長度和實作選擇,封包時序及大小亦保留。
TLS 指紋按可見特徵分類。ECH 可改變或減少特徵集合,卻不會令所有客戶端產生完全相同流量。填充與謹慎設計的外層訊息有助私隱,但不保證普遍不可區分。
分類不等同身份。指紋會誤報或漏報,加密內層訊息亦可與已知 IP 關聯。「ECH 隱藏 SNI」和「ECH 隱藏所有 TLS 及網絡特徵」是不同主張。
不是。ECH 是 TLS 客戶端與兼容伺服器基建之間的擴充機制;VPN 通常在裝置與 VPN 端點間建立保護路徑,並在內部承載多個應用。VPN 與 HTTPS 的分別解釋兩者層次。
部分 VPN 產品可在控制層或傳輸中使用 TLS,但不表示每條 VPN 連線均有 ECH;瀏覽器亦可在沒有 VPN 時為 HTTPS 使用 ECH。不能按產品名稱推斷協商結果。
AethoVPN 不承諾 ECH 會對每個目的地自動可用,亦不承諾它會令 VPN 流量不可見、繞過 DPI,或保證可穿過封鎖政策存取。應在實際的客戶端與伺服器握手中確認 ECH,並把任何 VPN 保護視為另一層。
只有瀏覽器和目標網站都支援時,ECH 才能起作用。目標網站不支援時,VPN 用另一種方式把伺服器名稱擋在本地網絡視線之外:本地網絡只看到一條到 VPN 伺服器的連線,與網站的握手在隧道內進行。使用 AethoVPN 時,打開網站前先在 App 內連接一個位置,再把結果和只用 ECH 的嘗試對照。開始 AethoVPN 3 天試用,做這項對照。先確認當地法律和網絡規則;亦要知道,此時伺服器名稱會在 VPN 出口之後可見,而不是在你的本地網絡上。
先確認兼容性:客戶端版本、解析器路徑、目標 HTTPS 記錄、已發佈 ECH 設定和伺服器部署。使用明確報告 ECH 狀態的瀏覽器或應用診斷;網頁鎖圖示只證明 TLS,不證明接受 ECH。
若兩端由你管理,把客戶端提出及接受狀態與同一時間的伺服器遙測資料關聯,確認內層名稱、證書及應用來源正確。不要停用證書驗證讓實驗通過。
把私隱與可達性分開。接受 ECH 支持「本次連線的 ClientHelloInner 受保護」,不能證明網絡毫無所知、未來一定使用 ECH,或另一目的地不能按 IP 與行為被封。
不會。路由器需要目的地址轉發封包;ECH 保護 TLS ClientHello 內容,不保護 IP 標頭。
只有客戶端使用有效設定且伺服器接受內層握手時成立。DNS、應用行為、目的基建或退回普通 TLS 的情況仍會留下線索。
ECH 把敏感伺服器名稱放入 ClientHelloInner,同時保留外層握手供部署;伺服器仍需名稱選擇服務。
不會。加密 DNS 保護 DNS 交換;ECH 另需兼容客戶端、已發佈設定和接受它的伺服器基建。
網絡可丟棄連線、地址、連接埠或被分類為 ECH 的流量,是否可行及連帶影響取決於部署與政策。
不會。敏感內層欄位移出被動視野,但外層握手和流量元資料仍因實作、目的地與工作階段而變。
使用明確報告 ECH 協商狀態的客戶端和伺服器診斷。HTTPS 成功或證書有效本身都不能證明。
免責聲明:本文僅提供一般技術資訊。網絡行為和客戶端支援會轉變;測試時請遵守政策,不要停用證書或 DNS 安全檢查。
來源:
Sources checked 2026 年 9 月 13 日。
延伸閱讀:
註冊即可免費體驗全部高級功能。
*只限新用戶;每位用戶只可獲得一次試用。