虚拟私人网络(VPN)通过实施安全协议,确保您在网上浏览时获得安全的互联网连接。OpenVPN和WireGuard是当前最著名的两个安全协议。本文将对这两种软件进行比较,涵盖一些重要的参数。
OpenVPN
OpenVPN于2001年发布,自那时起便在安全协议领域占据了无可争议的地位。自发布以来,其安全性和性能一直处于顶尖水平。OpenVPN是一款开源软件,其源代码根据通用公共许可证(GPL)发布。由于其卓越的穿透防火墙能力,OpenVPN成为许多VPN公司的首选。
该软件还便于跨越网络地址转换(NAT),并具有显著的可靠性和灵活性。到目前为止,OpenVPN已被下载近6000万次,为设置添加了多个安全层。所有类型的用户,尤其是云服务提供商和第三方系统集成商,都享受其带来的速度。
WireGuard
WireGuard是一款相对较新的软件,于2019年发布,并对行业的金标准OpenVPN构成了激烈竞争。尽管在行业内的时间较短,但WireGuard已经通过NordVPN的采用及其专有的NordLynx协议取得了显著成就。WireGuard的目的是创建一种比现有协议更简单、更快速的VPN协议。
WireGuard同样是开源软件。然而,根据其创作者Donenfeld的说法,VPN安全的每个方面都有特定的解决方案。其协议在用户数据报协议(UDP)上运行,代码量仅3700行。
OpenVPN与WireGuard的关键比较参数
在本次评测中,我们将重点关注比较OpenVPN和WireGuard的一些关键方面:
- 性能和速度
- 加密和库支持
- 安全性和隐私
- 移动性和兼容性
- 审查结构
- 认证方法
1. 性能和速度
在评估VPN软件性能时,吞吐量和延迟是两个重要因素。吞吐量是指用户连接到网络后可以通过防火墙传递的数据量的测量。另一方面,延迟是指在设备之间发送和接收数据包所花费的时间。
WireGuard的吞吐量为1011 Mbps,而OpenVPN为258 Mbps。如今的计算机系统能够支持多线程处理,因此OpenVPN因其在用户空间的集成而无法提供更快的速度。相比之下,WireGuard集成在内核空间,减少了对CPU的压力。
同样,Ping测试的结果显示WireGuard为0.403毫秒,而OpenVPN为1.541毫秒。使用UDP协议的OpenVPN与使用NordLynx协议的WireGuard在连接350 Mbps的英国全球服务器时,速度测试结果如下:
| 服务器位置 | OpenVPN (UDP) | WireGuard (NordLynx) | |------------|----------------|-----------------------| | 英国 | 135 Mbps | 286 Mbps (快112%) | | 德国 | 131 Mbps | 277 Mbps (快111%) | | 美国 | 142 Mbps | 254 Mbps (快79%) | | 日本 | 139 Mbps | 269 Mbps (快94%) | | 澳大利亚 | 118 Mbps | 207 Mbps (快75%) |
我们的分析:由于UDP协议比TCP更快,建议在OpenVPN上进行UDP速度测试。在NordVPN上,WireGuard的速度远超OpenVPN。它设计为利用多个处理器,并使用更快的加密,使其优于OpenVPN。无论用户连接在哪里,我们都能始终以超过75%的速度连接到WireGuard。在短距离连接中,WireGuard能够提供几乎是OpenVPN速度的两倍。
即使在其他支持WireGuard和OpenVPN的VPN服务(如Surfshark、Mullvad)中,WireGuard也提供更好的速度,除了Mullvad VPN中的英国服务器。私人互联网接入(PIA)的测试结果显示WireGuard速度较低,主要由于其相对不成熟和完全优化不足。总体而言,WireGuard在速度和性能上占据领先地位。
赢家:WireGuard
2. 加密和库支持
OpenVPN的加密算法依赖于OpenSSL库,提供多种加密方法,包括AES、Blowfish、Camellia、ChaCha20、Poly1035、DES和Triple DES等。对于哈希,它包括MDS、MD4、SHA-1和SHA-2、BLAKE2等。对于密钥派生,库中包含RSA、DSA、X25519等。除了为用户数据保护提供完美前向保密(PFS)外,还包括UDP或TCP以添加传输层协议。
与OpenVPN的灵活性不同,WireGuard仅使用固定的算法集。它使用ChaCha20进行加密,Poly1035进行认证,Curve-25519进行ECDH(椭圆曲线Diffie-Hellman),BLAKE2s进行哈希,SipHash24用于哈希表密钥,并支持UDP和PFS。
此外,WireGuard基于公钥加密和强认证,除了提供安全的密钥生成器外,还包括自动密钥管理。预共享密钥的选项也增加了额外的安全层。相比之下,OpenVPN使用证书和私钥进行身份验证和加密。
我们的分析:由于WireGuard的密码和算法集有限,因此如果发现某个算法不安全,必须在设备上更新代码。而OpenVPN则可以使用任何加密密码或认证算法,因此不需要更改代码。
OpenVPN依赖OpenSSL库加密和认证数据。OpenSSL库已经存在多年,并经过严格测试。而WireGuard仅允许使用其专有的ChaCha20加密密码和Poly1305认证。
此外,OpenVPN使用RSA和AES进行数据和控制通道,从而最小化与破解密码和加密密钥相关的攻击可能性。OpenVPN支持的最大加密密钥长度为4096位,而WireGuard的最大密钥长度仅为256位。目前,OpenVPN和WireGuard均没有已知漏洞。然而,WireGuard因代码较少且算法集有限,如果发现问题,则需要进行升级。OpenVPN的攻击面较大,存在更多威胁可能性。
赢家:OpenVPN
3. 安全性和隐私
OpenVPN是最安全的选项之一,但必须正确配置。此外,其代码经过审计,得到了许多专家的支持。同样,WireGuard的代码较小,易于审计,并且没有已知的安全缺陷。由于其较快且相对较新的加密算法,WireGuard极其安全、快速且抗篡改。此外,当发现某个密码或算法存在漏洞时,端点会自动更新到新版本,确保不会使用受损代码。
如果您想确保数据安全,OpenVPN是最佳协议。它不会存储任何用户的个人识别信息,如IP地址。然而,WireGuard的Cryptokey Routing算法会在VPN服务器上存储用户的IP地址,直到服务器重启。因此,它与零日志VPN的概念不太契合,也可能因WebRTC泄漏而暴露您的IP地址。然而,许多知名VPN提供商已经包含了相应的安全措施。
结论
在选择VPN协议时,OpenVPN和WireGuard各有优缺点。OpenVPN在加密和灵活性方面表现出色,适合需要高安全性的用户。而WireGuard则在速度和性能上占据优势,适合对速度有较高要求的用户。根据您的需求,选择最适合的VPN协议,让您的网络体验更加安全和高效。