Nik*_*nov 5 compression encryption vpn openvpn
在最新的稳定 OpenVPN 系列 2.5 中,所有与压缩相关的指令都被视为已弃用。来自维基页面:
不建议使用压缩,并且用户应避免使用压缩功能。为了清楚地表明这一点,
--comp-lzo
不--compress
鼓励并认为已弃用的功能。从2.5开始,这些选项将不再启用压缩,只是启用压缩帧能够接收压缩数据包。
基本上,这些选项现在都是“noop”命令。
为什么?特别是尽管事实上建议在加密之前进行压缩,因为它消除了数据中的冗余,因此使其整体看起来更加随机(例如参见SO 上的这个问题)。有什么问题?
不建议使用压缩,因为它会使连接容易受到Oracle 攻击,特别是压缩 Oracle 攻击。OpenVPN 文档中“openvpn”手册页的“协议选项”下提到了这一点:
安全考虑
压缩和加密是一个棘手的组合。如果攻击者知道或能够控制包含机密的数据包(部分)纯文本,则在启用压缩的情况下,攻击者可能能够提取机密。[...]
基本上,如果攻击者可以影响通过 VPN 发送的明文数据,他们就可以观察压缩大小的变化(由于数据或多或少可压缩)并找出有关数据的信息,即使数据是加密的。
有关详细信息,请参阅VPN 网络上的压缩 Oracle 攻击(Nafeez),并在 OpenVPN Github 存储库中提交 a59fd147 。