ger*_*ijk 8 security openvpn tls
在我启用 TLS 的 OpenVPN 配置中,我想使用通过使用tls-auth. 好消息是,它按预期工作。但是,我对可选key-direction参数有疑问(作为tls-auth选项的第二个参数或作为key-direction选项)。
手册页中对配置参数的描述如下(版本 2.3.x,相关代码段):
--tls-auth file [direction]
Add an additional layer of HMAC authentication on top of the TLS control
channel to protect against DoS attacks.
In a nutshell, --tls-auth enables a kind of "HMAC firewall" on OpenVPN's
TCP/UDP port, where TLS control channel packets bearing an incorrect HMAC
signature can be dropped immediately without response.
file (required) is a key file which can be in one of two formats:
(1) An OpenVPN static key file generated by --genkey (required if direc?
tion parameter is used).
(2) A freeform passphrase file. In this case the HMAC key will be derived
by taking a secure hash of this file, similar to the md5sum(1) or
sha1sum(1) commands.
OpenVPN will first try format (1), and if the file fails to parse as a
static key file, format (2) will be used.
See the --secret option for more information on the optional direction
parameter.
... (snip)
--secret file [direction]
Enable Static Key encryption mode (non-TLS). Use pre-shared secret file
which was generated with --genkey.
The optional direction parameter enables the use of 4 distinct keys (HMAC-
send, cipher-encrypt, HMAC-receive, cipher-decrypt), so that each data
flow direction has a different set of HMAC and cipher keys. This has a
number of desirable security properties including eliminating certain
kinds of DoS and message replay attacks.
When the direction parameter is omitted, 2 keys are used bidirectionally,
one for HMAC and the other for encryption/decryption.
The direction parameter should always be complementary on either side of
the connection, i.e. one side should use "0" and the other should use "1",
or both sides should omit it altogether.
The direction parameter requires that file contains a 2048 bit key. While
pre-1.5 versions of OpenVPN generate 1024 bit key files, any version of
OpenVPN which supports the direction parameter, will also support 2048 bit
key file generation using the --genkey option.
... (snip)
--key-direction
Alternative way of specifying the optional direction parameter for the
--tls-auth and --secret options. Useful when using inline files (See sec?
tion on inline files).
Run Code Online (Sandbox Code Playgroud)
请注意,我没有使用静态密钥加密模式,而是仅显示--secret联机帮助页片段,因为它是--tls-auth描述建议的。
我无法理解这里的解释。指定方向(服务器为 0,客户端为 1)时是否提高了安全性,如果省略则不提高?
小智 7
(此答案特定于将 key-direction 用于 tls-auth 密钥。对于静态密钥模式,请始终使用 key-direction。)
为每个方向使用不同密钥的优势在于,来自一个对等方的数据包永远不会被中间人攻击者重放回该对等方。当然,底层 TLS 和 OpenVPN 协议永远不应该接受此类数据包,但 tls-auth 的目标是提供(某些)保护,防止协议或实现中导致底层机制失败的错误。
| 归档时间: |
|
| 查看次数: |
15415 次 |
| 最近记录: |