我想加强我的 OpenVPN 设置。该网络是第 3 层 vpn。我相信它们已经非常适合今天的标准,我将在下面发布它们。我目前使用aes-256-cbc
,但我想增加位数。是否有可能拥有比 256 更高的 AES 位?
客户端配置:
client
dev tun
proto tcp
remote example.zapto.org 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
tls-auth ta.key 1
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384
auth SHA512
tls-version-min 1.2
cipher AES-256-CBC
comp-lzo
verb 3
服务器配置:
port 1194
proto tcp
dev tun
ca ./easy-rsa2/keys/ca.crt
cert ./easy-rsa2/keys/server.crt
key ./easy-rsa2/keys/server.key
dh ./easy-rsa2/keys/dh4096.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.10.10.0 255.255.255.0"
keepalive 10 120
tls-auth ./easy-rsa2/keys/ta.key 0
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384
auth SHA512
tls-version-min 1.2
remote-cert-tls client
cipher AES-256-CBC
comp-lzo
user openvpn
group openvpn
persist-key
persist-tun
status openvpn-status.log
verb 3
简短的回答是增加密钥大小不会使其变硬。AES 256 被认为是安全的。没有针对 AES 加密的重大已知攻击,甚至 AES-128 通常也被认为是安全的 - 没有已知的攻击可以比AES 的蛮力恢复更快的明文恢复。
蛮力几乎是不可能的。即使使用 128 位密钥,每秒测试十亿个密钥,您也需要数万亿年的计算才能破解它。
所以不要试图通过增加密钥大小来强化它。那是错误的树吠叫。
更好的方法是确保关键材料的隐私。例如使用Yubikeys来存储证书的私钥,以确保它们不能被复制。使用 HSM 保护根证书密钥,或在生成所需数量的证书后将其删除。使用 AppArmour 或 SELinux 强化主机,并确保它位于具有明确定义的防火墙规则来控制流量的 DMZ 中。等等。
简而言之:关注密钥长度是浪费时间。XKCD#538 总结得很好:
加密功能不太可能成为您设置中的薄弱环节,更有可能的问题是不安全的配置或过时的软件,甚至是物理设备的安全性。
您可以列出客户端和服务器上的可用密码:
在 2018 年的原始 OpenVPN 2.4.4 版本中,您最多可以使用 AES- 256。
很简单,答案是否定的。
256
inaes-256-cbc
指的是 AES密钥大小。我对您在这里所说的比特率一词的含义感到困惑。AES 可以使用以下密钥大小实现 - 128/196/256 位,如 NIST 标准中所述。在上述情况下,更高的密钥大小对应于更高的安全性。OpenVPN 使用OpenSSL库来提供加密功能。OpenSSL 库为您提供了许多对称密钥密码。他们中的大多数人都有已知的漏洞。在安全的密钥中,只有RC5提供了高达 2040 位的密钥长度。但是,仍然建议使用 AES-256。这是因为 15 年来,AES 已经击败了数千名密码分析员的密码分析尝试。