Openvpn TLS 1.2 cipher suites

openvpntlsvpn

This is a repost of my original question (openvpn tls 1.2)
The problem is split in two because a solution was found for the 128-bit cipher suites.

Openvpn can't connect with these cipher suites:

TLS-DHE-RSA-WITH-AES-256-GCM-SHA384
TLS-DHE-RSA-WITH-AES-256-CBC-SHA256

I would like to know if anyone else is using those sucessfully.

I run current version 2.3.6, compiled from source.
Tried with various Linux-Distros and Windows clients.

According to the wiki the ciphers should be working:
https://community.openvpn.net/openvpn/wiki/Hardening#Useof–tls-cipher

Client error:

[... Desktop]$ sudo openvpn home.ovpn 
Sat Jan 24 15:18:28 2015 OpenVPN 2.3.6 x86_64-unknown-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [MH] [IPv6] built on Jan 24 2015
Sat Jan 24 15:18:28 2015 library versions: OpenSSL 1.0.1l 15 Jan 2015, LZO 2.08
Sat Jan 24 15:18:28 2015 WARNING: file 'home/client1.key' is group or others accessible
Sat Jan 24 15:18:28 2015 WARNING: file 'home/ta.key' is group or others accessible
Sat Jan 24 15:18:28 2015 Control Channel Authentication: using 'home/ta.key' as a OpenVPN static key file
Sat Jan 24 15:18:28 2015 Outgoing Control Channel Authentication: Using 256 bit message hash 'SHA256' for HMAC authentication
Sat Jan 24 15:18:28 2015 Incoming Control Channel Authentication: Using 256 bit message hash 'SHA256' for HMAC authentication
Sat Jan 24 15:18:28 2015 Attempting to establish TCP connection with [AF_INET]192.168.1.67:1194 [nonblock]
Sat Jan 24 15:18:29 2015 TCP connection established with [AF_INET]192.168.1.67:1194
Sat Jan 24 15:18:29 2015 TCPv4_CLIENT link local: [undef]
Sat Jan 24 15:18:29 2015 TCPv4_CLIENT link remote: [AF_INET]192.168.1.67:1194
Sat Jan 24 15:18:29 2015 TLS_ERROR: BIO read tls_read_plaintext error: error:140830B5:SSL routines:SSL3_CLIENT_HELLO:no ciphers available
Sat Jan 24 15:18:29 2015 TLS Error: TLS object -> incoming plaintext read error
Sat Jan 24 15:18:29 2015 TLS Error: TLS handshake failed
Sat Jan 24 15:18:29 2015 Fatal TLS error (check_tls_errors_co), restarting
Sat Jan 24 15:18:29 2015 SIGUSR1[soft,tls-error] received, process restarting
Sat Jan 24 15:18:30 2015 SIGINT[hard,init_instance] received, process exiting

Server Error:
http://pastebin.com/DKR76FAy

Best Answer

Yes, this should work, and works for me:

$ openvpn --config loopback-client --tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384 --tls-version-min 1.0
Thu Jan 29 00:13:13 2015 OpenVPN 2.3.6 x86_64-unknown-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Dec 16 2014
Thu Jan 29 00:13:13 2015 library versions: OpenSSL 1.0.1f 6 Jan 2014, LZO 2.06
[...]
Thu Jan 29 00:13:13 2015 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 DHE-RSA-AES256-GCM-SHA384, 2048 bit RSA
Thu Jan 29 00:13:13 2015 [Test-Server] Peer Connection Initiated with [AF_INET]127.0.0.1:16000
Thu Jan 29 00:13:14 2015 Initialization Sequence Completed

This is using the default loopback-server and loopback-client config files supplied with openvpn. Make sure to add tls-version-min 1.0 (or 1.2, if you want to enforce that) to the configs at both ends. Other than that, I did not do anything special.

Is specifically AES-256 the problem? I.e, do you get the same behaviour with TLS-DHE-RSA-WITH-AES-128-CBC-SHA vs TLS-DHE-RSA-WITH-AES-256-CBC-SHA?

Related Question