Any modern ad platform will support HTTPS and there are plenty of options. Many top publishers are already using HTTPS for the entire site so this isn't really a big issue.
- It's somewhat complicated for a site to implement correctly
- It mainly protects users who have already connected to a site once
from a secure location and whose browsers support HSTS and other "fixes"
- Circumvented easily via phishing
- Does not prevent nation states from MITMing connection
- Can only host one site per IP, without a wild-card or UCC cert
(which not all clients support)
- Makes caching difficult to impossible
- Adds performance overhead
- Potential for new attacks on the TLS layer
(SSL Strip, STARTTLS Command Injection, BEAST, POODLE, RC4, CRIME,
TIME, BREACH, Truncation, FREAK, Logjam, Heartbleed, BERserk,
Root cert forgery, ChangeCipherSpec injection, Protocol downgrade,
Certificate errors, Renegotiation, Triple Handshake,
Virtual Host confusion, DoS)
- General confusion by users as to what makes a connection secureNot really. SNI is about to be called "ancient". Well, it's not supported by IE on Windows XP, but good riddance.
https://en.wikipedia.org/wiki/Server_Name_Indication
The rest of the excuses are basically 'it's not 100% perfect some of the time so why bother any of the time.'
This is true, but the same thing was said about running a site at all not long ago.
> - It mainly protects users who have already connected to a site once from a secure location and whose browsers support HSTS and other "fixes"
The point of using a valid CA is to allow the first connection be secure. It's certainly true that you can secure subsequent connections more than the initial one though.
> - Circumvented easily via phishing
Phishing is attacking something completely different and is not something SSL/TLS can or should protect you against. It's like expecting a seat belt to protect you from being run over.
> - Does not prevent nation states from MITMing connection
Actually it does if HPKP is used, though not on the initial connection.
> - Can only host one site per IP, without a wild-card or UCC cert (which not all clients support)
This is supported via the server name indication extension, and additionally by using multiple subject alternative names. The former is better though since it allows each site to have its own key.
> - Makes caching difficult to impossible
True, but that's a feature. Caching on the client is still of course entirely based on what the client chooses to do.
> - Adds performance overhead
Not much, see https://istlsfastyet.com/
> - Potential for new attacks on the TLS layer (SSL Strip, STARTTLS Command Injection, BEAST, POODLE, RC4, CRIME, TIME, BREACH, Truncation, FREAK, Logjam, Heartbleed, BERserk, Root cert forgery, ChangeCipherSpec injection, Protocol downgrade, Certificate errors, Renegotiation, Triple Handshake, Virtual Host confusion, DoS)
Note that there are protections again those, and saying "because it might have a problem" is basically just burying your head in the sand of the problem you already have.
> - General confusion by users as to what makes a connection secure
True, but not a good reason since you as a site owner can do most of the work for them (in combination with their browser).
- It's somewhat complicated to install it on your door
- Government can kick your door down
- It takes time to turn the key to open the door
- Friendly neighbors can't just hop in whenever they like
- Confusion if door is locked or unlocked by looking at it
Hmm, let's keep our doors without locks then?
Highly recommend this blog post [1] for more.
[1]: https://timtaubert.de/blog/2015/11/more-privacy-less-latency...
TLS is not about accepting information, it's about ensuring that the connection's encrypted and authenticated.
It is still important to prevent unauthorized third parties from watching which articles you're reading. And it's still important that you know that you're reading a blog you expect to read, not a modified version served by someone else (although CA system isn't completely sufficient for this, at least it thwarts less-powerful adversaries from spoofing).
These types of attacks have been hypothetical for a long time, but we're starting to see real world impacts of not using https, and they aren't trivial.
The Greek government inserting ads into that site is very low on my list of concerns, but the additional 200-400ms on the first page load is much higher up.
Am I correct in understanding your point as "there can be no conceivable case where two fewer TCP roundtrips would be worth the speed gain over the decreased security"?
Unless someone care about a single extra round-trip timing, e.g. extra 10-300ms with 300 being quite a stretch? I'm sure it doesn't matter if a blog page opens in 40ms or 55ms - a reader won't tell the difference.
Injecting ads, changing content. All possible when the content isn't encrypted end-to-end.
HTTP sites have had attack scripts injected into them by nation-states, used to DDoS others on a massive scale - and that capability, and the desire to use it, is unfortunately proliferating rapidly.
Unless you want to be part of that problem, you're going to have to go HTTPS on everything - cat videos included - no matter how important or unimportant you think it is. I really wouldn't be surprised if tcp/80 goes the way of tcp/23.
On a brighter note - the speed difference is negligible with modern cryptography, and as others have mentioned, TLS 1.3 is developing handshakes with less TCP round trips. It's possible that a future protocol (taking into account what's been learned by Google's QUIC experiment) may deliver faster handshakes over UDP if possible to avoid the TCP handshake overhead - there's energetic research in that area at the moment.