On 19/08/17 10:00, Steffan Karger wrote:
> Hi,
> 
> On 16-07-17 15:06, Szilárd Pfeiffer wrote:
>> Prefer server ciphers over client ciphers during the TLS handshake. Part
>> of the ClientHello message client sends supported cipher suites in order
>> of its preference. If tls-prefer-server-ciphers is when server choosing
>> a cipher, use the server's preferences instead of the client preferences.
>>
>> The functionality is the same as the folowings:
>>
>> * ssl_prefer_server_ciphers in NGINX
>> * SSLHonorCipherOrder in Apache
>> * ...
> 
> Took me a while to ponder about this one, sorry about that.
> 
> You probably know this, but as context for other readers:  OpenVPN uses
> TLS differently than HTTP (nginx/apache) do, because we barely use the
> TLS record protocol.  The reason to prefer client ciphers, is that a
> client can e.g. prefer a cipher that performs better on the client
> platform.  Think chacha20-poly1305 on ARM chips without AES hardware
> acceleration.  For OpenVPN, this is not really relevant, because the
> actual performance-relevant crypto is the data channel, which is
> negotiated (or statically configured) separately from the TLS ciphers.
> 
> All in all, I don't think we need an option for this, but can simply
> always use the server cipher preference.  I think it's a safe bet to say
> that server admins are better at updating their configs than client
> users are.  And if client do want to restrict their ciphers, they should
> simply evict the ciphers they don't want from their cipher suite.
> 
> Since mbed TLS by default already prefers the server-side cipher list,
> all we would need to do is or in the SSL_OP_CIPHER_SERVER_PREFERENCE
> flag in the OpenSSL-specific code.  That makes the patch a lot simpler
> *and* we have less option combinations to test and maintain.  We can
> even safely do that without #ifdef guards, because this define is
> available since OpenSSL 0.9.8, which is the oldest version we support.


This corresponds very well with my own conclusion as well; but as I'm
not the crypto guru I hoped Steffan would respond in a reasonable time :)

I do like that we make mbed TLS and OpenSSL behave more similar with the
SSL_OP_CIPHER_SERVER_PREFERENCE flag.

Regarding OpenSSL 0.9.8 support, that is nice to have - but if we need
to move to 1.0.1 in release/2.4, I won't be hard to convince.  We've
already made that move for git master (future release/2.5).  There are
some SUSE Linux releases still shipping OpenSSL 0.9.8 (but also provides
a 1.0.x package too, iirc).


-- 
kind regards,

David Sommerseth
OpenVPN Technologies, Inc


Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to