I am examining the collection of cipher suites that some mobile apps use (Client Hello) and I noticed that the majority of them include the TLS_RC4_128_MD5 and TLS_RC4_128_SHA. According to the OWASP Transport Layer Protection Cheat Sheet https://www.owasp.org/index.php/Transport_Layer_Protection_Cheat_Sheet, RC4 and MD5 are considered weak and shouldn't be used any more. Therefore I am wondering why developers keep using them?

Thank you

  • One of the reason I can think of is to support older devices. – mike-stokkel Mar 14 '16 at 12:45
  • @mike-stokkel Doesn't that however make them vulnerable against the TLS protocol downgrade attack ? I noticed that even a banking app is using it. – Irene Ant Mar 14 '16 at 12:56
  • Remember that the client hello is only a suggestion. The client suggests, the server chooses. So, while a client may say *hey, I accept weak ciphers!" as long as it also supports strong ciphers, the server can choose to use strong ciphers instead, and does not, in fact, need to support weak ciphers at all. – Xander Mar 14 '16 at 13:03

Developers aren't deliberately using them. Developers are developing applications using whatever the defaults for that platform are, and the defaults are now and have always strongly favored "never cause a user to notice something to complain to us about" over "reduce the chance the user gets hacked".

Additionally, older clients and libraries rarely if ever get updated, since they are "no longer supported" despite being in widespread use because OS developers, library developers, device manufacturers, developers, and users are all unwilling to upgrade and/or change defaults.

And so on.

|improve this answer|||||

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.