點對點隧道協定 (PPTP) 是一種 VPN 協定,用於保護您的裝置與 VPN 伺服器之間的連線。作為最古老的 VPN 協定之一,PPTP 存在多個安全性問題,目前已被視為過時。
儘管如此,因其對大量舊版軟體和硬體具有廣泛相容性、設定簡單、輕量化特點,再加上企業升級其舊有 PPTP 內部網路 VPN 系統的成本高昂,意味著在 2021 年,該協定仍被廣泛使用。
什麼是 VPN 協定?
VPN 協定是傳輸協定和加密標準的組合,用於在您的裝置與 VPN 伺服器之間建立安全連線,並在數據傳輸時進行加密。
VPN 協定應提供以下三項要素:
- 驗證 – 阻止未授權的使用者連線至 VPN 伺服器
- 機密性 – 使用加密技術確保無人能存取(「監聽」)在 VPN 網路上傳送的封包內容
- 完整性 – 偵測傳輸的數據是否遭到任何形式的竄改
現今使用的 VPN 協定包括:
- PPTP
- L2TP/IPsec
- IKEv2 (/IPsec)
- OpenVPN
- WireGuard®
- SSTP
- SoftEther
- Cisco AnyConnect(及其開源變體 OpenConnect)- 這些協定幾乎僅用於企業內部 VPN,而非像 Proton VPN 這樣的商業 VPN 服務。
什麼是 PPTP VPN?
歷史
PPTP 的技術規範由 Microsoft 創立的聯盟開發,旨在透過撥接網路建立 VPN 連線,並於 1999 年發布。Microsoft 迅速為 Windows 95 新增了 PPTP 支援,使其很快成為各地企業內部網路的預設 VPN 協定。
支援
在過去的 20 多年中,幾乎所有具備 VPN 功能的平台都已內建對 PPTP 的支援,且 Windows 11、Android 12、大多數 Linux 發行版以及絕大多數具備 VPN 功能的路由器仍繼續原生支援該協定。
然而,Apple 在 2018 年從 iOS 10+ 和 macOS 10.12 Sierra 中移除(新視窗)了對 PPTP 的支援,並建議不要在其舊版作業系統上使用該協定。
較新版本的 Chrome OS 並不直接支援 PPTP,但可以在支援 Google Play 商店的 Chromebook 上,使用 Android 子系統來設定 PPTP 連線。
運作原理
PPTP 是一種隧道協定(新視窗),其本身並非完整的 VPN 協定。加密與驗證由點對點協定(新視窗) (PPP) 處理,但 PPP 不包含將封包引導至其目的地的路由機制。
PPTP 透過連接埠 1723 建立與 VPN 伺服器的 TCP 連線,並使用一般路由封裝(新視窗) (GRE) 重新封裝 PPP IP 封包。這些封包使用Microsoft 點對點加密(新視窗) (MPPE) 進行加密,該加密採用最大金鑰大小為 128 位元的 RSA RC4 串流密碼(新視窗)。
驗證通常是透過 MS-CHAP(現為 v2)協定進行。(雖然可以(新視窗)使用更安全的 AEP-TLS,但這涉及部署伺服器憑證系統,在很大程度上否定了最初使用 PPTP 的優勢。)
速度
PPTP 是一種非常簡單且輕量的 VPN 協定。這使其具有良好的速度表現(特別是在處理能力較低的裝置上),並能在行動裝置上提供良好的電池續航力。與更安全(但也更繁瑣)的 OpenVPN 協定相比,這一點尤其明顯。
安全性
眾所周知,PPTP 存在許多嚴重的安全性問題。其中最嚴重的一個是可能存在未封裝的 MS-CHAP v2 驗證,這會使攻擊者能夠利用密碼學漏洞來獲取使用者憑證。
利用此漏洞,密碼學傳奇人物 Moxie Marlinspike 於 2012 年首次發布的工具,可在一天內破解(新視窗) PPTP。該漏洞導致 Microsoft 親自建議(新視窗)改用 L2TP/IP、IKEv2、IPsec 或 SSTP。
在 2019 年,Microsoft 還發布了一份「適用性聲明(新視窗)」,指出 MS-CHAP v2 所使用的驗證方法容易受到字典攻擊(新視窗)。更糟糕的是,PPTP 用於加密數據的 RC4 密碼容易受到位元翻轉攻擊(新視窗)。
因此,當《明鏡週刊(新視窗)》於 2014 年披露從吹哨者愛德華·史諾登(Edward Snowden)處獲得的文件,證實美國國家安全局(NSA)能輕易存取使用 PPTP 保護的數據時,人們並不感到意外。

抗審查能力
PPTP 使用 TCP 連接埠 1723,而由 GRE 封裝的封包則使用 IP 協定號碼(新視窗) 47,這兩者都很容易被防火牆封鎖。
總結
PPTP 不是一種安全的 VPN 協定,絕不應在任何需要考量安全性的情況下使用。
其易用性、輕量化特點以及幾乎無處不在的支援,意味著在不需要考量安全性的情況下,它仍能發揮作用。例如,當您需要克服 ISP 流量限制、解除地理限制網站的封鎖,以及在出國旅遊時串流播放已訂閱的 Netflix 內容時,都是其適用場景。
然而,在 Proton VPN,我們認為這種過時協定的安全缺陷使其無法達到預期目的,且現代商業 VPN 服務向其使用者提供 PPTP 作為選項是不負責任的行為。
在 Proton VPN,我們僅提供在最高安全設定下執行的密碼學安全 VPN 協定。這些協定為:
- OpenVPN
- IKEv2
- WireGuard
常見問題
PPTP 使用哪個連接埠?
PPTP 使用 TCP 連接埠 1723。
什麼是 PPTP passthrough?
所有路由器都使用網路位址轉換(NAT)來將傳入和傳出連線對應到與其連線的本機裝置。然而,並非所有路由器都清楚如何處理使用較舊 VPN 協定(例如 PPTP、IPSec 和 L2TP)加密的封包。
為了處理使用這些 VPN 協定的流量,路由器必須支援 VPN passthrough。如果不支援,VPN 流量將會被路由器阻擋。PPTP passthrough 會將 PPTP 所使用的基本 GRE 協定替換為加強版本,其中包含可用於識別 PPTP 用戶端並正確路由其封包的呼叫 ID。
大多數現代路由器都包含 VPN passthrough,可以處理受此問題影響的所有常見 VPN 協定(包括 PPTP)。除此之外,現代 VPN 協定(例如 OpenVPN、IKEv2 和 WireGuard)不受此問題影響,因為它們在設計時就已考慮到並為了解決此問題。
我需要 PPTP 用戶端嗎?
大多數支援 VPN 的裝置和作業系統都包含內建的 PPTP VPN 用戶端。一個主要的例外是 Apple 裝置,它們已不再支援 PPTP。Apple 的這一做法非常明智,因為更現代的 VPN 協定不僅能做到 PPTP 的所有功能,而且安全性要高得多。






