0

I'm using Cloudflare flexible SSL for a website I made, and after investigating certificate properties, I realized different authentication mechanisms are being used.

Chrome 45 for Windows desktop

enter image description here

Chrome 45 for Android

enter image description here

Now, I know that a SSL/TSL session is established by a handshake between server and client - the result of which is the best cipher available.

The thing is, at least according to Cloudflare(https://blog.cloudflare.com/do-the-chacha-better-mobile-performance-with-cryptography/), ChaCha seems to be better than AES, so my question is: why isn't Chrome for desktop also choosing ChaCha instead of AES?

I know I already saw ChaCha encryption in action on Chrome for desktop as well, and I remember Google used it for their sites as well.

Now, I'm not saying that in real life, when it comes to security, AES is better than ChaCha, I'm just curious.

This is a particularly interesting paragraph from Cloudflare article I previously linked:

The new cipher suites we have added include a new symmetric cipher used for the encryption of data (based on the ChaCha20 and Poly1305 algorithms). There are no secure encryption algorithms optimized for mobile browsers and APIs in TLS right now—these new ciphers fill that gap.

So, encryption for mobile browsers isn't asymmetric, but still, as you can see in my Android screenshot, Chrome says that ECDHE_RSA is being used as key exchange mechanism. Odd.

Nino

1

Which cipher suite we serve depends, in part, on which processor you have. The reason this matters is that it'll modify the cipher suites your browser sends in it's ClientHello (and that our servers pick from when sending back the ServerHello). AES is preferred on machines that have hardware support for this symmetric cipher while ChaCha/Poly1305 is preferred on those without, such as mobile devices.

From this post on our blog for more information:

AES is a fine cipher to use on most modern computers. Intel processors since Westmere in 2010 come with AES hardware support that makes AES operations effectively free. This makes it an ideal cipher choice for both our servers and for web visitors using modern desktop and laptop computers. It’s not ideal for older computers and mobile devices. Phones and tablets don’t typically have cryptographic hardware for AES and are therefore required to use software implementations of ciphers. The AES-GCM cipher can be particularly costly when implemented in software. This is less than optimal on devices where every processor cycle can cost you precious battery life. A low-cost stream cipher would be ideal for these mobile devices, but the only option (RC4) is no longer secure. In order to provide a battery-friendly alternative to AES for mobile devices, several engineers from Google set out to find and implement a fast and secure stream cipher to add to TLS. Their choice — ChaCha20-Poly1305 — was included in Chrome 31 in November 2013, and Chrome for Android and iOS at the end of April 2014.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.