Hi,

On 06/04/20 15:13, Mário Barbosa wrote:
Hello,

Experienced linux sysadmin here, though rather novice with regard to
openvpn, openssl, PKI, and encryption matters in general.

Context:
I am currently in the middle of rebuilding the whole vpn infra of the
company I work for, and feeling quite overwhelmed by the amount of
critical-to-security choices I have to make that I don't understand (nor
can expect to in the limited amount of time I have). I would rather
someone more knowledgeable had either a) made those choices, or b)
pointed at secure-enough defaults. The people at wireguard did just
that, and that seems to be one of their strongest "selling points"
(simplicity of setup of security part of things).
Because of this, I have been thinking that mimicking their choices to
the extent possible might be a good idea (if you think this is wrong,
please tell me so, and explain why).

I searched the openvpn-*@lists.sourceforge.net archives for wireguard,
but couldn't find any mentions to a way to replicate wireguard's choices
with regard to encryption in openvpn roadwarrior-type of setups. I don't
expect to be able to completely replicate what is described in [1] (it
would be nice, though), just the next best option.

If you're about to suggest that I "just use wireguard, then!", please
notice that I 1) can't (the pfsense machines I am running openvpn server
on don't support it) and 2) don't want to.

[1] https://www.wireguard.com/protocol/


if you mean these encryption settings

 * ChaCha20 <http://cr.yp.to/chacha.html> for symmetric encryption,
   authenticated with Poly1305 <http://cr.yp.to/mac.html>, using
   RFC7539's AEAD construction <https://tools.ietf.org/html/rfc7539>
 * Curve25519 <http://cr.yp.to/ecdh.html> for ECDH
 * BLAKE2s <https://blake2.net/> for hashing and keyed hashing,
   described in RFC7693 <https://tools.ietf.org/html/rfc7693>
 * SipHash24 <https://131002.net/siphash/> for hashtable keys
 * HKDF <https://eprint.iacr.org/2010/264> for key derivation, as
   described in RFC5869 <https://tools.ietf.org/html/rfc5869>

then the answer is simple:

- not supported
- use EC certificates
- not supported
- not needed/necessary
- not supported

As OpenVPN uses an SSL library like OpenSSL or mbedtls you can use all crypto features provided by that library. As far as I know, OpenSSL does not support chacha20 or blake2 yet, so neither does OpenVPN.

Regarding the various comments I have seen about openvpn being big and bloated compared to wireguard: that's comparing apples and oranges.   Wireguard is little more than a Linux kernel module that only does encryption using some form of preshared keys (TLS is a no-no). OpenVPN is a user-space application that does way more than that, all based on TLS.  Someone asking you to use the same encryption settings in openvpn as in wireguard is similar to someone asking to use the same /proc pseudo filesystem settings in Windows as in Linux.

JM2CW,

JJK / Jan Just Keijser




_______________________________________________
Openvpn-users mailing list
Openvpn-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-users

Reply via email to