OpenVPN 是如何工作的?
我對 OpenVPN 使用的技術感到困惑。官方網站提到它使用 SSL/TLS 代替 IKEv1/IKEv2,並使用 IPSec ESP 來保護數據,但它與 IPSec 不兼容。
OpenVPN 的安全模型基於使用 SSL/TLS 進行會話身份驗證和使用 IPSec ESP 協議進行 UDP 上的安全隧道傳輸。OpenVPN 支持用於會話身份驗證的 X509 PKI(公鑰基礎設施)、用於密鑰交換的 TLS 協議、用於加密隧道數據的 OpenSSL 密碼獨立 EVP 介面以及用於驗證隧道數據的 HMAC-SHA1 算法。
使用 OpenSSL 庫的所有加密、身份驗證和認證功能來保護您的私有網路流量,因為它在 Internet 上傳輸
OpenVPN 與 IPSec、IKE、PPTP 或 L2TP 不兼容。
來源:https ://openvpn.net/index.php/component/content/article/55.html
還有維基百科資訊:
它使用自定義安全協議
$$ 9 $$利用 SSL/TLS 進行密鑰交換 OpenVPN 使用 OpenSSL 庫來提供數據和控制通道的加密
OpenVPN 使用兩種不同的協議。對於標準和最常見的設置,稱為控制通道的 TLS 鏈路用於交換對稱密鑰。然後,此對稱密鑰用於加密第二個協議,即數據通道,它使用 OpenVPN 協議本身。該協議與 IPSec 不同,但它基於IPSec ESP,這是一種通過 UDP 協議安全傳輸數據的協議,普通 TLS 無法做到(在創建協議時,DTLS,即 TLS over UDP ,尚不存在)。請注意,這意味著您可能正在使用多個密碼進行加密。您可能會發現控制通道使用 AES 交換密鑰,該密鑰將用於使用 Blowfish 加密數據通道。
將控制通道與 TLS 一起使用並不是加密數據通道的唯一方法。您還可以將 OpenVPN 配置為使用預共享的靜態密鑰,該靜態密鑰將直接用於派生對稱密鑰以進行數據通道加密。這失去了前向保密性,但繞過了使用控制通道使用 TLS 交換密鑰的需要。