While writing an answer to this question on Server Fault, a thought that has been bouncing around my head for quite some time resurfaced again as a question:
Is there ever a good reason to not use TLS/SSL?
To further elucidate the question, I'm asking about the specific case in which things have been configured properly:
- Performance:
- Time to First Byte has been optimized.
- The cipher list is small enough to avoid multiple roundtrips from server to client.
- For mobile web applications, 2048 bit RSA server keys have been used as opposed to 4096 bit keys to lessen the computational load on clients.
- SSL sessions have a reasonable lifetime to avoid regeneration of session keys.
- Security:
- Perfect Forward Secrecy
- Hardened Cipher List
- Don't use obsolete and insecure protocols like SSLv2 and SSLv3 (if possible; not using SSLv3 means that IE 6 can't access your site).
If done properly, is there ever a good reason to not use TLS/SSL for TCP communications?