本文已更新,納入了 WireGuard® 和 Stealth VPN 協定。

我們解釋了什麼是 VPN 協定以及它的作用。我們也比較了最常見協定的優缺點,包括 OpenVPN、WireGuard®、IKEv2、PPTP 和 L2TP。

在您信任 VPN 來保護您的網際網路活動之前,您需要確保他們已經落實了必要的保障措施。評估 VPN 較技術性的層面可能很困難。這通常意味著要努力理解一堆不同的首字母縮略詞。

我們已經開始了一系列貼文,解釋我們的一些安全措施,以便人們能夠做出更明智的決定。我們的第一篇貼文 解釋了 HMAC SHA-384 的含義。這篇貼文將探討 VPN 協定、它們的作用、它們如何運作,以及如果 VPN 服務使用 OpenVPN over L2TP (舉例來說) 意味著什麼。

這篇貼文深入探討了 VPN 的一些內部運作方式。雖然我們試圖清楚解釋術語,但如果您具備一些基本的技術知識,這篇貼文會更有用。如果您不確定 VPN 如何運作,在繼續之前閱讀下面連結的文章可能會有幫助。

瞭解 VPN 如何運作

VPN 協定

VPN 仰賴所謂的「通道」在網際網路上兩部電腦之間建立私有網路。VPN 協定,也稱為「通道協定」,是您的裝置用來協商建立您電腦與另一部電腦之間網路的安全已加密連線的指令。

VPN 協定通常由兩個頻道組成:資料頻道和控制頻道。控制頻道負責金鑰交換、驗證和參數交換 (例如提供 IP 或路由和 DNS 伺服器)。如您所猜,資料頻道負責傳輸您的網際網路流量資料。這兩個頻道共同建立並維護安全的 VPN 通道。然而,為了讓您的資料通過這個安全通道,它必須被封裝。

封裝是指 VPN 協定從您的網際網路流量中提取資料位元 (稱為資料封包),並將它們放置在另一個封包內。這額外的一層是必要的,因為您的 VPN 在資料頻道內使用的協定組態不一定與一般網際網路使用的相同。額外的一層允許您的資訊穿越 VPN 通道並到達其正確的目的地。

這一切都有點技術性,所以概括來說:當您連線到 VPN 伺服器時,VPN 會使用其控制頻道來建立共享金鑰,並在您的裝置和伺服器之間進行連線。一旦建立了此連線,資料頻道就開始傳輸您的網際網路流量。當 VPN 討論其效能的優缺點或談論「安全 VPN 通道」時,它指的是其資料頻道。一旦 VPN 通道建立完成,控制頻道接著就負責維護連線的穩定性。

PPTP

點對點通道通訊協定 (PPTP) 是較舊的 VPN 通訊協定之一。它最初是在 Microsoft 的支援下開發的,因此所有版本的 Windows 和大多數其他作業系統都對 PPTP 有原生支援。

PPTP 使用點對點通訊協定 (PPP),其本身就像是一個原始 VPN。儘管相當老舊,PPP 可以驗證使用者 (通常使用 MS-CHAP v2) 並自行封裝資料,讓它處理控制頻道和資料頻道的職責。但是,PPP 不可路由;它無法自行透過網際網路傳送。因此 PPTP 使用通用路由封裝 (GRE) 再次封裝 PPP 封裝的資料,以建立其資料頻道。

遺憾的是,PPTP 沒有任何自己的加密或驗證功能。它依賴 PPP 來實作這些功能 — 這是有問題的,因為 PPP 的驗證系統和 Microsoft 新增到其中的加密 (MPPE) 都很薄弱。

加密:Microsoft 的點對點加密通訊協定 (MPPE(新視窗)),它使用 RSA RC4 演算法。MPPE 的最大強度是 128 位元金鑰。

速度:因為它的加密通訊協定不需要太多的運算能力 (RC4 和只有 128 位元金鑰),PPTP 維持快速的連線速度。

已知弱點:自 1998 年以來,PPTP 已有許多已知的安全弱點。最嚴重的弱點之一利用未封裝的 MS-CHAP v2 驗證來執行中間人 (MITM) 攻擊。

防火牆連接埠:TCP 連接埠 1723。PPTP 使用 GRE 意味著它無法瀏覽網路位址轉譯防火牆,並且是最容易被封鎖的 VPN 通訊協定之一。(NAT 防火牆允許數人在同一時間共享一個公用 IP 位址。這很重要,因為大多數個別使用者沒有自己的 IP 位址。)

穩定性:PPTP 不如 OpenVPN 可靠,在不穩定的網路連線上復原速度也不如 OpenVPN 快。

結論:如果您擔心保護您的資料,沒有理由使用 PPTP。甚至 Microsoft 也建議(新視窗) 其使用者升級到其他 VPN 通訊協定以保護他們的資料。

L2TP/IPSec

第二層通道通訊協定 (L2TP) 意在取代 PPTP。L2TP 可以自行處理驗證並執行 UDP 封裝,所以在某種程度上,它可以形成控制和資料頻道。但是,與 PPTP 類似,它本身不增加任何加密。雖然 L2TP 可以傳送 PPP,但為了避免 PPP 固有的弱點,L2TP 通常與網際網路通訊協定安全性 (IPSec) 套件配對,以處理其加密和驗證。

IPSec 是一個靈活的架構,可以套用到 VPN 以及路由和應用程式層級的安全性。當您使用 L2TP/IPSec 連線到 VPN 伺服器時,IPSec 會協商共享金鑰,並驗證您的裝置和伺服器之間的安全控制頻道的連線。

IPSec 接著封裝資料。當 IPSec 執行此封裝時,它會套用驗證標頭並使用封裝安全性酬載 (ESP)。這些特殊標頭會將數位簽署新增至每個封包,讓攻擊者無法在不警示 VPN 伺服器的情況下竄改您的資料。

ESP 加密封裝的資料封包,讓攻擊者無法讀取它們 (而且,取決於 VPN 的設定,也會驗證資料封包)。一旦 IPSec 封裝了資料,L2TP 會使用 UDP 再次封裝該資料,以便它可以通過資料頻道。

數種 VPN 通訊協定,包括 IKEv2,使用 IPSec 加密。雖然通常是安全的,但 IPSec 非常複雜,這可能導致實作不佳。L2TP/IPSec 在大多數主要作業系統上都受到支援。

加密:L2TP/IPSec 可以使用 3DES 或 AES 加密,雖然鑑於 3DES 現在被認為是弱密碼,它很少被使用。

速度:在使用相同的加密強度時,L2TP/IPSec 通常比 OpenVPN 慢。這主要是因為 OpenVPN 使用的 AES 加密在大多數常見處理器上都有硬體加速。

已知弱點:L2TP/IPSec 是進階的 VPN 通訊協定,但一份 外洩的 NSA 簡報(新視窗) 顯示情報機構已經找到了竄改它的方法。此外,由於 IPSec 的複雜性,許多 VPN 供應商使用預先共享金鑰(新視窗) 來設定 L2TP/IPSec。

防火牆連接埠:UDP 連接埠 500 用於初始金鑰交換,UDP 連接埠 5500 用於 NAT 穿透,UDP 連接埠 1701 允許 L2TP 流量。因為它使用這些固定連接埠,L2TP/IPSec 比其他一些通訊協定更容易被封鎖。

穩定性:L2TP/IPSec 不如一些更進階的 VPN 通訊協定穩定。它的複雜性可能導致頻繁的網路中斷。

結論:L2TP/IPSec 的安全性無疑是對 PPTP 的改進,但它可能無法保護您的資料免受進階攻擊者的侵害。其較慢的速度和不穩定性也意味著,只有在沒有其他選項時,使用者才應考慮使用 L2TP/IPSec。

IKEv2/IPSec

網際網路金鑰交換版本二 (IKEv2) 是一個相對較新的通道通訊協定,實際上是 IPSec 套件本身的一部分。Microsoft 和 Cisco 合作開發了原始的 IKEv2/IPSec 通訊協定,但現在有許多開放原始碼的迭代版本。

IKEv2 透過使用 Diffie–Hellman 金鑰交換(新視窗) 演算法驗證您的裝置和 VPN 伺服器之間的安全通訊頻道,來設定控制頻道。IKEv2 接著使用該安全通訊頻道建立所謂的安全關聯,這僅僅意味著您的裝置和 VPN 伺服器正在使用相同的加密金鑰和演算法進行通訊。

一旦建立了安全關聯,IPSec 可以建立通道,將已驗證的標頭套用到您的資料封包,並使用 ESP 封裝它們。(同樣,取決於使用的密碼,ESP 可以處理訊息驗證。) 封裝的資料封包接著會再次封裝在 UDP 中,以便它們可以通過通道。

IKEv2/IPSec 在 Windows 7 及更新版本、macOS 10.11 及更新版本,以及大多數行動作業系統上受到支援。

加密:IKEv2/IPSec 可以使用一系列不同的密碼編譯演算法,包括 AES、Blowfish 和 Camellia。它支援 256 位元加密。

速度:IKEv2/IPSec 是一種快速的 VPN 通訊協定,雖然通常不如硬體加速的 OpenVPN 或 WireGuard 快。

已知弱點:IKEv2/IPSec 沒有已知的弱點,只要正確實作並配合 Perfect Forward Secrecy,幾乎所有 IT 安全專家都認為它是安全的。

防火牆連接埠:UDP 連接埠 500 用於初始金鑰交換,UDP 連接埠 4500 用於 NAT 穿透。因為它總是使用這些連接埠,IKEv2/IPSec 比其他一些通訊協定更容易被封鎖。

穩定性:IKEv2/IPSec 支援 Mobility and Multihoming 通訊協定,使其比大多數其他 VPN 通訊協定更可靠,特別是對於經常在不同 WiFi 網路之間切換的使用者。

結論:憑藉強大的安全性、高速度和更高的穩定性,IKEv2/IPSec 是一個好的 VPN 通訊協定。然而,最近 WireGuard 的推出意味著幾乎沒有理由選擇它而不是更新的 VPN 通訊協定。

OpenVPN

OpenVPN 是一個開放原始碼的通道通訊協定。與依賴 IPSec 套件的 VPN 通訊協定相反,OpenVPN 使用 SSL/TLS 來處理其金鑰交換並設定其控制頻道,以及獨特的 OpenVPN 通訊協定來處理封裝和資料頻道。

這意味著它的資料頻道和控制頻道都已加密,這使得它與其他 VPN 通訊協定相比有些獨特。它透過第三方軟體在所有主要作業系統上受到支援。

加密:OpenVPN 可以使用 OpenSSL(新視窗) 程式庫中包含的任何不同密碼編譯演算法來加密其資料,包括 AES、RC5 和 Blowfish。

進一步瞭解 AES 加密

速度:當使用 UDP 時,OpenVPN 維持快速的連線,雖然 IKEv2/IPSec 和 WireGuard 通常被認為更快。

已知弱點:OpenVPN 只要實作了足夠強度的加密演算法和 Perfect Forward Secrecy,就沒有已知的弱點。它是關注資料安全的 VPN 的業界標準。

防火牆連接埠:OpenVPN 可以設定為在任何 UDP 或 TCP 連接埠上執行,包括 TCP 連接埠 443,它處理所有 HTTPS 流量,使其非常難以被封鎖。

穩定性:OpenVPN 總體上非常穩定,並具有對抗審查的 TCP 模式。

結論:OpenVPN 安全、可靠且開放原始碼。它是目前使用的最佳 VPN 通訊協定之一,特別是對於主要關注資料安全的使用者。它透過 TCP 路由連線的能力 (見下文) 也使其成為規避審查的好選擇。然而,雖然它缺乏 OpenVPN 的反審查優勢,WireGuard 也是安全的,而且比 OpenVPN 更快。

WireGuard®

WireGuard(新視窗) 是一個開放原始碼的 VPN 通訊協定,它安全、快速且有效率。

加密:WireGuard 使用 ChaCha20 進行對稱加密 (RFC7539(新視窗))、Curve25519 進行匿名金鑰交換、Poly1305 進行資料驗證,以及 BLAKE2s 進行雜湊 (RFC7693(新視窗))。它自動支援 Perfect Forward Secrecy。

速度:WireGuard 使用新的、高速的密碼編譯演算法。例如,ChaCha20 比同等強度的 AES 密碼簡單得多,而且幾乎一樣快,即使大多數裝置現在都在硬體中內建了 AES 的指令。結果是 WireGuard 提供快速的連線速度,並且 CPU 需求低。

已知弱點:WireGuard 已經過各種正式驗證,為了被納入 Linux 核心,WireGuard Linux 程式碼基底由第三方獨立稽核(新視窗)

防火牆連接埠:WireGuard 可以設定為使用任何連接埠,通常透過 UDP 執行。但是,Proton VPN 也在我們的大多數應用程式中提供 WireGuard TCP。

穩定性:WireGuard 是一個非常穩定的 VPN 通訊協定,並引入了其他通道通訊協定沒有的新功能,例如在更換 VPN 伺服器或更換 WiFi 網路時維持 VPN 連線。

結論:WireGuard 是一個最先進的 VPN 通訊協定,它快速、有效率且安全。它不像 OpenVPN 那樣「身經百戰」,也不提供 OpenVPN 基於 TCP 的反審查功能 (見下文),但對於大多數人來說,在大多數時候,它是我們建議使用的 VPN 通訊協定。

進一步瞭解 WireGuard

OpenVPN 與 WireGuard

Stealth

Stealth 是由 Proton 開發的新 VPN 通訊協定。有了它,您可以存取受審查的網站並在社群媒體上與人通訊,即使常規 VPN 通訊協定被您的政府或組織封鎖。

Stealth 基於透過 TLS 通道的 WireGuard。因此它使用與 WireGuard 相同的加密,並增加了一層 TLS 加密。除此之外,它與 WireGuard 相同 (如上所述)。

**進一步瞭解** **Stealth**

其他重要術語

在查看不同 VPN 通訊協定的比較時,您可能遇到了一些您不熟悉的縮寫或技術術語。我們在此解釋其中一些最重要的術語。

TCP 與 UDP

傳輸控制通訊協定 (TCP) 和使用者資料包通訊協定 (UDP) 是裝置可以透過網際網路相互通訊的兩種不同方式。它們都在網際網路通訊協定上執行,該協定負責向 IP 位址傳送資料封包以及從 IP 位址接收資料封包。

當您看到通道通訊協定使用 TCP 連接埠或 UDP 連接埠時,這意味著它使用這兩種通訊協定之一在您的電腦和 VPN 伺服器之間設定連線。

VPN 通訊協定是使用 TCP、UDP 還是兩者,會顯著影響其效能。TCP 主要專注於準確地傳遞資料,透過執行額外的檢查來確保資料順序正確,如果不正確則進行更正。

這聽起來像是一個好功能,但執行檢查需要時間,導致效能較慢。在 TCP 上執行 VPN (TCP over TCP) 可能會減慢您的連線速度,這稱為 TCP 崩潰 (TCP meltdown)。

例如,如果您有 TCP 流量通過 OpenVPN TCP 通道,而通道中的 TCP 資料偵測到錯誤,它將嘗試補償,這可能導致 TCP 通道過度補償。此過程可能會導致您的資料傳遞出現嚴重延遲。

但是,這對於對抗審查也是有好處的。這是因為 HTTPS(新視窗) 流量使用 TCP 連接埠 443,所以如果您將 VPN 連線路由到相同的連接埠,它看起來就像普通的加密 VPN 流量。

在連接埠 443 上執行 VPN 流量的能力是使用 OpenVPN (和 WireGuard,如果使用 Proton VPN 自訂的該通訊協定 TCP 實作) 的最大優勢之一。

進一步瞭解 TCP 和 UDP

Perfect Forward Secrecy

Perfect Forward Secrecy 是加密通訊的關鍵安全元件。它指的是管理您的加密金鑰如何產生的作業。如果您的 VPN 支援 Perfect Forward Secrecy,它將為每個工作階段 (即每次您建立新的 VPN 連線時) 建立一組獨特的金鑰。

這意味著即使攻擊者以某種方式獲得了您的一個金鑰,他們也只能使用它來存取該特定 VPN 工作階段的資料。您其餘工作階段的資料將保持安全,因為不同的獨特金鑰保護著它們。這也意味著即使您的 VPN 私有金鑰暴露,您的工作階段金鑰也將保持安全。

Proton VPN 應用程式使用的通訊協定

我們創立 Proton VPN 是為了確保社運人士、異議人士和記者擁有安全且私有的網際網路存取權限。為了保持 Proton 社群的安全,我們只使用受信任和經過審查的 VPN 通訊協定。以下清單顯示了我們不同的應用程式支援哪些 VPN 通訊協定:

  • Windows:OpenVPN、WireGuard® 和 Stealth
  • macOS:OpenVPN、IKEv2、WireGuard 和 Stealth
  • Android:OpenVPN、WireGuard 和 Stealth
  • iOS/iPadOS:OpenVPN、IKEv2、WireGuard 和 Stealth
  • Linux:OpenVPN 和 WireGuard

您可以在 UDP 或 TCP 模式下使用 OpenVPN 和 WireGuard。

瞭解如何變更 VPN 通訊協定

我們的 Windows、macOS、Android 和 iOS/iPadOS 應用程式支援 Smart Protocol。這是反審查功能,可智慧地探測網路以發現最佳效能或繞過審查所需的最佳 VPN 通訊協定組態。

例如,它可以根據需要使用不同的連接埠,自動從 IKEv2 切換到 OpenVPN,或從 OpenVPN UDP 切換到 OpenVPN TCP。

進一步瞭解 Smart Protocol

我們所有的應用程式都使用 VPN 通訊協定支援的最強安全設定。OpenVPN、WireGuard 和 IKEv2/IPSec 是絕大多數 IT 安全專家同意是安全的唯一通訊協定。

我們拒絕提供任何使用 PPTP 或 L2TP/IPSec 的 VPN 連線 (即使它們執行起來更便宜且更容易設定),因為它們的安全性不符合我們的標準。

當您登入 Proton VPN 時,您可以確信您的 VPN 連線正在使用最新和最強的通道通訊協定。

致上誠摯的問候,
Proton VPN 團隊

取得 PROTON VPN

您可以在社群媒體上關注我們,以隨時掌握最新的 Proton VPN 發布消息:

Twitter (新視窗)| Facebook(新視窗) | Reddit(新視窗)

若要取得免費的 Proton Mail 加密電子郵件帳號,請造訪:proton.me/mail(新視窗)