OpenVPN -cipher vs -tls-cipher?

信息安全 打开VPN
2021-08-26 05:45:13

我目前-tls-cipher在服务器上使用命令只允许我想要的密码(TLS-DHE-RSA-WITH-AES-256-GCM-SHA384)但也有命令-cipher,而且 OpenVPN 的手册页并不清楚它们之间的区别。谷歌搜索也没有返回任何有用的信息。许多网站也告诉我我也应该使用这两个但不说为什么,我想先在这里检查。

我是否需要使用-tls-cipher+-cipher来确保仅用于AES-256-GCM加密连接?

我正在使用 OpenVPN 2.3。

1个回答

“现代” OpenVPN(2.x,使用 TLS 模式)基本上建立了两个连接:

  1. “控制通道”。这是一个低带宽信道,例如,“数据信道”的网络参数和密钥材料通过该信道进行交换。OpenVPN 使用 TLS 来保护控制通道数据包。

  2. “数据通道”。这是发送实际 VPN 流量的通道。该通道使用在控制通道上交换的密钥材料进行加密。

这两个通道都通过单个 TCP 或 UDP 端口进行双工。

--tls-cipher控制控制信道使用的密码。--cipher连同--auth控制数据通道的保护。

关于安全性,OpenVPN 使用 encrypt-then-mac 作为其数据通道,而不是像 TLS 那样的 mac-then-encrypt。您听到的所有与 CBC 相关的问题都是由于 mac-then-encrypt + CBC 的组合。这意味着从安全角度来看,数据通道的 AES-CBC 非常好。

(而且还没有对数据通道的 GCM 支持。这将在 OpenVPN 2.4 中出现。)