我正在阅读有关 OpenVPN 2.6.6 配置的文档,但我对 TLS 密码有疑问。
我运行这个命令:
openvpn --show-tls
我看到以下信息:
Available TLS Ciphers, listed in order of preference:
For TLS 1.3 and newer (--tls-ciphersuites):
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
TLS_AES_128_GCM_SHA256
For TLS 1.2 and older (--tls-cipher):
TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384
它针对 TLS 版本列出。我想使用 TLS 1.3,因此似乎推荐的选项是 TLS_AES_256_GCM_SHA384,因为它是按优先顺序列出的。
如果我没错的话,椭圆密码比非椭圆密码更安全,但是 TLS 1.3 不推荐使用任何椭圆密码,只推荐 AES。
所以我的问题是,我可以在 TLS 1.3 中使用椭圆密码吗?为什么不建议在 TLS 1.3 中使用椭圆密码?
我问这个问题是因为后来,对于另一个选项,比如 tls 证书配置文件,使用配置文件 suiteb,它看起来最安全,它仅与 SHA256/SHA384、ECDSA 与 P-256 或 P-384 兼容。
那么总的来说,使用椭圆密码是不是比不使用椭圆密码更好呢?为什么 OpenVPN 不推荐在 TLS 1.3 中使用它?
答案1
所以我的问题是,我可以在 TLS 1.3 中使用椭圆密码吗?为什么不建议在 TLS 1.3 中使用椭圆密码?
ECDHE 是仅有的TLSv1.3 中的选项。这是新版本中主要变化的一部分;FFDHE 已被删除,任何形式的静态 DH 或静态 RSA 密钥交换也已被删除。
你为 v1.3 准备一个单独的列表是因为密码套件命名也发生了变化——除其他外,密钥交换算法不再被提及,因为只有一个选项,不是因为它根本不再存在了。
(ECDHE 不是密码,它是一种密钥交换算法。)
证书类型同样从密码套件命名中删除,因为证书对临时 DH 没有影响——因此,由于 ECDHE 是唯一的选择,因此没有必要根据您是否拥有 RSA 证书或 ECDSA 证书来设置单独的密码套件。