diff options
author | Arne Schwabe <arne@rfc2549.org> | 2014-04-23 12:20:12 +0200 |
---|---|---|
committer | Arne Schwabe <arne@rfc2549.org> | 2014-04-23 12:20:12 +0200 |
commit | c69ba1780496c260a1b4498596bae428e0df232d (patch) | |
tree | ecdea238a5e31b9b3dd0432dc50677758d329a69 /main/openvpn/README.ec | |
parent | e436c963f0976b885a7db04681344779e26dd3b5 (diff) |
Update openvpn code
Diffstat (limited to 'main/openvpn/README.ec')
-rw-r--r-- | main/openvpn/README.ec | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/main/openvpn/README.ec b/main/openvpn/README.ec new file mode 100644 index 00000000..bea3ce19 --- /dev/null +++ b/main/openvpn/README.ec @@ -0,0 +1,37 @@ +Since 2.4.0, OpenVPN has official support for elliptic curve crypto. Elliptic +curves are an alternative to RSA for asymmetric encryption. + +Elliptic curve crypto ('ECC') can be used for the ('TLS') control channel only +in OpenVPN; the data channel (encrypting the actual network traffic) uses +symmetric encryption. ECC can be used in TLS for authentication (ECDSA) and key +exchange (ECDH). + +Note: ECC is available in OpenSSL builds of OpenVPN only. ECC for PolarSSL +builds will follow soon. + +Key exchange (ECDH) +------------------- +OpenVPN 2.4.0 and newer automatically initialize ECDH parameters. When ECDSA is +used for authentication, the curve used for the server certificate will be used +for ECDH too. When autodetection fails (e.g. when using RSA certificates) +OpenVPN falls back to the secp384r1 curve. + +An administrator can force an OpenVPN server to use a specific curve using the +--ecdh-curve <curvename> option with one of the curves listed as available by +the --show-curves option. Clients will use the same curve as selected by the +server. + +Note that not all curves listed by --show-curves are available for use with TLS; +in that case connecting will fail with a 'no shared cipher' TLS error. + +Authentication (ECDSA) +---------------------- +Since OpenVPN 2.4.0, using ECDSA certificates works 'out of the box'. Which +specific curves and cipher suites are available depends on your version and +configuration of the crypto library. The crypto library will automatically +select a cipher suite for the TLS control channel. + +Support for generating an ECDSA certificate chain is available in EasyRSA (in +spite of it's name) since EasyRSA 3.0. The parameters you're looking for are +'--use-algo=ec' and '--curve=<curve_name>'. See the EasyRSA documentation for +more details on generating ECDSA certificates. |