VPN 協定是您的 VPN 應用程式用來設定、保護和管理您與 VPN 伺服器連線的一組指示。OpenVPN 是一種沒有已知漏洞的 VPN 協定,能有效繞過某些線上審查。OpenVPN 還具有支援多種平台和裝置的優勢。

雖然存在閉源的 OpenVPN 實作版本,但也有免費且開源的社群版本。

在本文中,我們將深入探討 OpenVPN 的運作原理、它如何保護 Proton VPN 社群的安全,以及它與其他 VPN 協定的比較。如果您已經瞭解 VPN 的運作原理,本文對您將大有幫助。

進一步瞭解 VPN 的運作原理

OpenVPN 最初於 2001 年發行,在速度、效能和效率方面已開始顯露歲月痕跡。然而,它仍被廣泛認為是安全的,2013 年美國國家安全局(NSA)吹哨者愛德華·史諾登(Edward Snowden)披露的文件更強化了這一觀點。

取得 Proton VPN

這些文件強烈指出,只要您不使用預共用金鑰(新視窗),OpenVPN 就是當時唯一一個 NSA 無法破解的常用 VPN 協定。WireGuard® 是更現代且安全的 VPN 協定,在 2013 年時尚未開發出來。雖然 WireGuard 速度更快、更輕量且更高效,但仍無法與 OpenVPN 經受過實戰檢驗的可靠記錄相比。

OpenVPN 優點:

  • 開放原始碼
  • 經受過實戰檢驗的安全防護
  • 可透過 UDP 或 TCP 運作
  • 支援廣泛

OpenVPN 缺點:

  • 目前的效能仍無法與 WireGuard 媲美(儘管相關改進工作正在進行中)
  • 相對龐大且複雜的代碼庫

Proton VPN 在我們所有的應用程式中均支援 OpenVPN:

  • Windows 
  • macOS
  • Android
  • Android TV(透過 Smart Protocol
  • iOS 和 iPadOS
  • Linux 應用程式和 CLI
  • Chrome OS

OpenVPN 如何確保我的安全?

OpenVPN 使用多種加密技術來保護您的資料安全,且沒有已知的漏洞。大多數現代 OpenVPN 實作版本(包括 Proton VPN 的實作)所採用的技術有:

AES

進階加密標準(AES)是一種對稱金鑰密碼,用於對透過 VPN 連線傳輸的資料進行加密和解密。

它已通過美國國家標準與技術研究院(新視窗)(NIST)的認證,並被美國政府用來保護機密資料。AES 的最大金鑰大小為 256 位元(AES-256),美國政府認為 AES-256 足以保護「最高機密」資訊(新視窗)

當作為 OpenVPN 加密套件的一部分使用時,AES 可以在 AES-CBC(密碼塊鏈結)或 AES-GCM(伽羅瓦/計數器模式)模式下使用。為了瞭解 Proton VPN 的運作原理,您只需要了解 AES-GCM 即可

雖然兩者同樣安全,但更現代的 AES-GCM 是一種關聯資料的認證加密(新視窗)(AEAD)密碼,除了保護資料安全之外,還能驗證資料。雖然仍需要 HMAC SHA(見下文)來驗證 TLS 連線,但 AES-GCM 在驗證資料方面比 SHA 更高效(因此也更快)。

進一步瞭解 AES 加密

RSA

OpenVPN 依賴 AES 來保護您的資料安全,但為了透過 VPN 連線傳送資料,OpenVPN 套用了公開金鑰密碼學(新視窗)。這種密碼系統使用非對稱金鑰交換,您的資料會使用您預期收件者公開共享的公開金鑰進行加密。然後,這些資料只能由收件者的秘密私有金鑰解密,.

非對稱金鑰加密能有效在網際網路上秘密傳送資料,但與 AES 等對稱加密系統相比,它的速度 較慢。這就是為什麼它主要用於 VPN 中,以驗證 VPN 用戶端和 VPN 伺服器之間的連線。OpenVPN 為此使用了 RSA 密碼系統(新視窗)

RSA 金鑰長度幾乎可以是任何大小,但 4096 位元的金鑰已足夠安全,且不會產生高昂且浪費的運算開銷而導致您的連線變慢。

DHE

迪菲-赫爾曼金鑰交換(新視窗)(DHE)可以用來保護 TLS 金鑰交換,與 RSA 類似,不同之處在於它還提供了前向保密(轉寄保密)(新視窗)。前向保密(轉寄保密)確保每個工作階段都使用新的金鑰,因此即使某個工作階段遭入侵,也不會影響其他工作階段。前向保密(轉寄保密)可確保攻擊者無法使用單一遭入侵的金鑰來解密歷史 VPN 工作階段。

然而,由於 DHE 重複使用有限的主質數集,因此可能容易受到Logjam 攻擊(新視窗)。如果使用足夠大的金鑰大小,這個問題就不用那麼擔心,但使用它來保護 TLS 金鑰交換仍存在爭議。

因此,Proton VPN 在 OpenVPN 加密套件中利用 DHE 支援來提供前向保密(轉寄保密),但不用於保護金鑰交換本身。

HMAC SHA

OpenVPN 使用 HMAC SHA 來驗證 TLS 金鑰交換中使用的 TLS 憑證。這可以防止中間人攻擊。

密碼雜湊函數(新視窗)SHA 家族(新視窗)用於驗證資料。當對一組資料執行這些複雜的數學函數時,它會建立一個唯一的指紋。如果該資料只要有任何一個位元發生變化,SHA 指紋也會隨之改變。

眾所周知,SHA-1(一種 160 位元的雜湊函數)容易受到碰撞攻擊(新視窗),但 SHA-2 仍被認為是安全的。更重要的是,OpenVPN 無論如何只使用 SHA 來計算雜湊訊息驗證代碼(新視窗)(HMAC)值。這些值比單獨的 SHA 演算法更難被攻擊,以至於甚至連 SHA-1 對於 HMAC 來說仍然被認為是足夠安全的(新視窗)

Open VPN 頻道

OpenVPN 使用兩個獨立的頻道在您的裝置與 VPN 伺服器之間安全地傳輸資料。

OpenVPN 運作原理概述

資料頻道

在透過 VPN 通道傳送您的資料之前,OpenVPN 會使用對稱金鑰密碼對其進行加密。

Proton VPN 使用高達 AES-256 的 GCM 模式來驗證資料。

控制頻道

一旦資料已加密,就可以透過 VPN 通道傳送。控制頻道會在 VPN 用戶端和 VPN 伺服器之間建立 TLS 連線。這使用對稱金鑰密碼進行保護,但使用非對稱金鑰交換。

Proton VPN 的對稱加密演算法最高採用 AES-256-GCM,並搭配 RSA-4096 與 HMAC SHA-384 雜湊驗證來驗證 TLS 憑證。我們使用的加密套件也包含 Diffie-Hellman 金鑰交換 (DHE),以提供前向保密。

OpenVPN 能突破 VPN 審查嗎?

OpenVPN 的一大優勢在於它可以在 UDP 和 TCP 傳輸協定上運作,這兩種協定是處理網際網路數據傳送的兩大主要協定。UDP 速度較快,而 TCP 較為可靠,但這種彈性的主要優勢在於 TCP 有助於突破政府和其他組織的網路審查。

進一步瞭解 UDP 和 TCP 之間的差異

TCP 連接埠 443 是由保護網頁安全的加密標準 HTTPS(新視窗) 所使用。這使得 OpenVPN 在 TCP 連接埠 443 上運作時,若不封鎖所有 HTTPS 流量,就很難阻擋 OpenVPN,進而使 OpenVPN 能夠用於繞過低階的 VPN 封鎖。

然而,更進階的深層封包檢測形式可以輕鬆辨別 HTTPS 與 VPN 封包之間的差異。

進一步瞭解深層封包檢測

OpenVPN 接受過審計嗎?

在群眾募資活動後,OpenVPN 2.4 於 2016 年由 OSTIF 和 QuarksLab 進行了獨立審計(新視窗)。結果非常正面,唯一發現的嚴重/高風險漏洞僅涉及易受阻斷服務攻擊的影響,並未影響使用者的安全性。此問題也很快就得到了修復。

然而,2016 年已經是相當一段時間以前的事了,在撰寫本文時,OpenVPN 2.6.1 是最新的版本。

OpenVPN 與 WireGuard

較新的 WireGuard 協定安全、快速且高效,這就是為什麼 Proton VPN 現在將其用作我們的預設 VPN 協定。OpenVPN 在 TCP 上運作的能力相較於原生 WireGuard 仍具優勢,但 Proton VPN 現在也開發了可在 TCP 上運作的 WireGuard 版本。

進一步瞭解 WireGuard

WireGuard 也是我們 Stealth 混淆協定的基礎,該協定在規避審查封鎖方面比在 TCP 上運作 OpenVPN 有效得多。

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

OpenVPN 的安全性比 WireGuard 經過更多實戰測試,這點可能仍對某些人有吸引力,但除非您目前的裝置不支援 WireGuard,否則幾乎沒有理由選擇它而非 WireGuard。

結語

多年來,OpenVPN 實際上是預設的 VPN 協定,因此在路由器和其他具備連網功能的裝置上仍得到非常好的支援。它依然高度安全,但與更先進的 WireGuard(特別是 Proton VPN 對此新協定的自訂實作)相比,優勢微乎其微。