-
Notifications
You must be signed in to change notification settings - Fork 245
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TLSv1.3 bug: server-preferred order detection broken due to Chacha20 #657
Comments
- Update openssl to 1.1.1 - Add cipher suits for TLS1.3 There is some bug with SSLLab when tested with some cipher suits ssllabs/ssllabs-scan#657
I'm also seeing strange behavior, where server-specified cipher preference for TLSv1.3 does not match up with what's reported by ssllabs: https://dev.ssllabs.com/ssltest/analyze.html?d=ssltest.louis.info&hideResults=on The report lists TLS 1.3 suites in this order:
But in NGINX the following is configured: ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_early_data on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_ciphers "TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA";
ssl_dhparam ssl/ffdhe2048.dhparam; So the expected cipher order would be:
However since the client handshakes even with Other TLS versions use the expected cipher preference. |
@felixbuenemann For nginx, please read #636. |
Having the same issue for our site, which if the client has chacha20 on the top of it's list, prefers chacha20: |
Hi @Razerwire We've made some changes for detection of Cipher preference and ChaCha preference and deployed the same on dev.ssllabs.com v2.1.2 please run the assessment and verify the same. Regards, |
Thanks, I can confirm dev works for me now 👍 |
Hi Changes are now deployed to production www.ssllabs.com version 2.1.3 Regards, |
Forgot to post back, but I can confirm this now works as expected. Thanks! |
looks like this is still somewhat broken. for a server with the following cipher suite list and
SSL Labs indicates that the server does have a preference and prefers ChaCha20 for clients that prefer it, but lists the cipher suites in this incorrect order:
|
Hello,
server-preferred order detection fails in TLSv1.3 (
# TLS 1.3 (server has no preference)
) when the server prefers ChaCha20 suites with clients that don't have AES-NI.This is haproxy with openssl 1.1.1 (release), prioritizing (OpenSSL's
SSL_OP_CIPHER_SERVER_PREFERENCE
):With Chacha20 prioritized (OpenSSL's
SSL_OP_PRIORITIZE_CHACHA
), if the client has it at the top if it's list.This can easily be reproduced with a openssl command line server:
Just because we prioritize Chacha20 when the client doesn't support AES, does not mean there is no server-preference, as can be seen with a simple test, where the clients want's to do AES128, while the server prefers AES256 (just like with real browsers):
The text was updated successfully, but these errors were encountered: