15 ms·
Why isn't HTTPS everywhere yet?
- GeneticGenesis 11y agoAnother big blocker is cost. For example, one of the biggest CDNs in the world (I'm looking at you, Akamai), charge dramatically more for delivering content over HTTPS. Let's say you're delivering video content at scale, the difference between HTTP and HTTPS delivery can be many millions of dollars a year. But why not use a different CDN, say Cloudfront which prices the same for HTTP and HTTPS?, well, simple, the same problem. Cloudfront is many times more expensive than other CDNs at scale. Really, we need to apply pressure to all CDNs to equal out their HTTPS pricing (Its not just Akamai...)
- jkire 11y agoI'd imagine HTTPS is significantly more expensive to host than plain HTTP, due to the CPU requirements of the crypto involved.
- fryguy 11y agoMaybe at the CDN level where there's lots of caching it's different, but for regular hosting apps are primarily IO bound so it's essentially "free" to do encryption. From http://www.imperialviolet.org/2010/06/25/overclocking-ssl.html http://www.imperialviolet.org/2010/06/25/overclocking-ssl.ht...: > In January this year (2010), Gmail switched to using HTTPS for everything by default. Previously it had been introduced as an option, but now all of our users use HTTPS to secure their email between their browsers and Google, all the time. In order to do this we had to deploy no additional machines and no special hardware. On our production frontend machines, SSL/TLS accounts for less than 1% of the CPU load, less than 10KB of memory per connection and less than 2% of network overhead. Many people believe that SSL takes a lot of CPU time and we hope the above numbers (public for the first time) will help to dispel that.
- brians 11y agoAt the time that was written, only the frontends did TLS---remember, there wasn't universal strong encryption or authentication within Google's back-end until after the Snowden leaks.
- deleted 11y ago[deleted]
- brians 11y agoNope. The symmetric crypto is basically free. The asymmetric crypto is cheap. IPv4 addresses cost. Most big sites can't quite go SNI-only yet. Soon! Customer support costs. Why would TLS involve more customer support? Because it's a technology designed only to break connections. Ideally that's only the adversarial connections---but much like the TSA, a mis-designed authentication scheme can cause great stress and drama. I do think the world will be all-TLS before too long; the parts that aren't will probably not be HTTP over TCP (e.g., content addressable networking).
- hobarrera 11y ago> IPv4 addresses cost. Most big sites can't quite go SNI-only yet. Soon! Why can't they go SNI? It's not like IE6 or netscape are relevant any more, is there some other issue?
- dangrossman 11y agoNo SNI on Windows XP (IE6, IE7, IE8, Safari), nor Android 2.3 Browser, nor BlackBerry. Windows XP still has 4-5% usage share on the web, which is 1 in 20 people. Lots and lots of low-end and older Android handsets were on 2.3 because 4.0 had new hardware requirements. Combined, it's a relevant number of people for large sites.
- vacri 11y ago> Windows XP still has 4-5% usage share on the web, which is 1 in 20 people. Chrome and FF together have a market share of about 70%, so roughly speaking, only 30% of those XP users can be expected to still be using IE or safari. The percentage might be a touch higher as users left on XP might be less likely to use a different browser, but it's certainly not like all of today's XP users are on IE + Safari.
- detaro 11y agoAnd highly dependent on the region and demographics of the visitors, so the numbers can be way higher (or way lower if you are lucky).
- lindx 11y agoWith AES-NI, a single modern CPU core can encrypt 10 gigabits/second and do about 50,000 public key operations per second. Cryptography is not that expensive.
- eknkc 11y agoBTW, Cloudfront also prices HTTPS a little bit higher than HTTP (on per request pricing, not on bandwidth).
- DoubleMalt 11y agoAlso Heroku's price for serving https with your own domain is absurdly high. I basically means there is not free version of Heroku for serious projects, which is ok. But taken in isolation, the price tag looks pretty bad..
- yeldarb 11y agoMaxCDN serves us pretty well (a few TB/mo). It has been much much cheaper than Cloudfront ever was (mostly due to not charging by number of requests).
- acdha 11y agoThis isn't helped by the subset of CDN providers who use the enterprise sales models where they try to bundle services and set pricing based on your perceived ability to pay. It's always possible to negotiate a better deal but everyone has to burn the time needed to do that independently and can't publicly share the results.
- manigandham 11y agoUnless you're doing a lot of large files like media or downloads, I always recommend CloudFlare. It's a great service and there are no bandwidth or request costs.
- Ecco 11y agoI like the irony of that page being served over plain HTTP :-)
- jkire 11y agoHa! And HTTPS doesn't seem to work for me at all.
- cmdrfred 11y agohttps://www.ssllabs.com/ssltest/analyze.html?d=http%3A%2F%2Fwebappsec-test.info https://www.ssllabs.com/ssltest/analyze.html?d=http%3A%2F%2F... Assessment failed: No secure protocols supported It fails spectacularly as well. No matter the quality of the content of this article (and I'm one to agree with it), this sort of throws it out the window for me. If you aren't able to manage a functioning version of the product you are describing (especially in the lets encrypt era) you don't get to do a technical article on said product.
- d0ugie 11y agoone man's irony is another man's satire...
- thehairyone 11y agoa2enmod headers echo -e "ServerSignature Off\nServerTokens Prod" >> /etc/apache2/apache2.conf /etc/init.d/apache2 restart openssl req -new -nodes -keyout webappsec-test.info.key -out webappsec-test.info.csr -newkey rsa:2048 cat webappsec-test.info.csr Register here: https://www.startssl.com/ https://www.startssl.com/ Copy and paste csr... cat Domain_cert.pem CA_root.pem https://mozilla.github.io/server-side-tls/ssl-config-generator/ https://mozilla.github.io/server-side-tls/ssl-config-generat... ====> A+ on https://www.ssllabs.com/ https://www.ssllabs.com/ Now? What's so hard about that? I guess if you're using EC2 and Ubuntu on your server... ehhh...
- duskwuff 11y agoWhy use StartSSL, when Let's Encrypt will give you an equally good certificate (with more flexibility on SANs!) with less hassle?
- thehairyone 11y agoNo, it doesn't. Lets Encrypt certs are equivalent to self-signed certs. No hassle ==> broken shit.
- unethical_ban 11y agoNo, you are incorrect. At the moment, their certs are cross-signed, and I have tested my site with multiple browsers. It works.
- thehairyone 11y agoThe cross sign is too far up the chain. If you cross sign a self-signed cert what do you get? A Let's Encrypt Cert. Domain Ownership is not the same as file ownership.
- pfg 11y agoThis does not make sense, I'm not sure what you're trying to say. The cross-sign works on all major browsers. Domain validation as practised by Let's Encrypt is in accordance with CA/B Baseline Requirements, and they're not the first CA to offer domain ownership verification via HTTP.
- kefka 11y agoIm not able to use SSL certs on all my endpoints. I have to use self-signed certs. That's because many of my machines are on TOR hidden services. The CA-CERT won't allow any certs for .onion unless you buy at exorbitant price an EV2 cert. And that especially means no free certs. So I do use self-signed because I want end to end crypto (and the next-to node can see data). Of course my browsers throw a fit, but alas I am indeed secure. ... but I want an .onion cert authority by LetsEncrypt and first-class network routing for all .onion addresses in Linux via /etc/resolve.conf
- Integer 11y agoI always thought .onion sites are end to end encrypted. "The rendezvous point simply relays (end-to-end encrypted) messages from client to service and vice versa." according to https://www.torproject.org/docs/hidden-services.html.en https://www.torproject.org/docs/hidden-services.html.en There's even a ticket to add a padlock to indicate this in TOR Browser https://trac.torproject.org/projects/tor/ticket/8686 https://trac.torproject.org/projects/tor/ticket/8686
- IceyEC 11y agoThis is correct, hidden services are fully encrypted from the users browser to the tor relay running the hidden service
- kefka 11y agoMy understanding was that the connection prior saw the cleartext of the final destination's packets. SSL was the way to make sure that end to end was encrypted so that nobody could read the data (mainly login/password info). I think the only way to see is to be part of the tunnel architecture and see if my thoughts are right or wrong.
- pfg 11y agoWhat you're saying is correct for connections from tor to cleartext sites. Hidden services are end-to-end encrypted. I'm not sure which cipher tor uses; maybe modern browsers are better in that respect.
- x3sphere 11y agoAds are one reason, some big networks still don't fully support HTTPS so publishers get a reduced ad pool (and potentially lower earnings as a result) if they switch over to HTTPS.
- Spooky23 11y agoA: It doesn't solve any problems that people think they have, and causes others.
- r1ch 11y agoStill no mention about ads. Using HTTPS means you have to load ads over HTTPS and a huge number of ad networks are not reachable over HTTPS and another large number of assets / tags are hard coded to fetch HTTP resources. For any ad supported website, HTTPS will cause a significant loss of ad revenue. Given how long it's taking the industry to transition away from Flash I'm not holding my breath about this being fixed any time soon.
- manigandham 11y agoThis is a big reason. Unfortunately the industry is full of old and/or poor tech that is already fragile as it is. All modern ad networks (like ours) are completely HTTPS ready but the transition will be slow due to momentum with existing vendors.
- lindx 11y agoSolution: block HTTP ads.
- manigandham 11y agoSolution to what? Publishers still have to enable HTTPS on their sites and they'll only do that once all the resources on the page are HTTPS compatible.
- pmlnr 11y agoTo this: http://idlewords.com/talks/website_obesity.htm http://idlewords.com/talks/website_obesity.htm
- manigandham 11y agoWhile I agree with the gist of that article/presentation, it's more on the silly side compared to many other more detailed and accurate pieces about the growing weight of the modern web. While blocking ads will help some (and certainly some ad providers have gone way too far with their bandwidth/cpu requirements), the web is just a richer media experience than before. The mainstream does not just want text and 80-90% of the page weight ends up being images, even on that article itself. There are other advancements like HTTP/2 and modern CDNs and better image formats like FLIF that will solve this problem much more effectively without going back to a textual world. Still don't see what any of this has to do with HTTPS encryption everywhere though...
- bobfunk 11y agoWe just launched support for free SSL on all our plans at https://www.netlify.com https://www.netlify.com, doing what we can to help getting HTTPS everywhere. Won't help on mixed content or broken ad providers, but at least give people a place to put a project on a custom domain for free with HTTPS :)
- notfoss 11y agoWhat is the Full SSL feature offered by you? From what I understand it means supporting weaker ciphers apart from SSL and older TLS versions. Is that the case?
- bobfunk 11y agoThe full ssl feature means skiing a fallback certificate for non-SNI capable browsers. Internet explorer on windows XP and Android 2.3 doesn't support SNI based ssl and our full ssl solution assures that even these older browsers can access the site over https without any warnings...
- bobfunk 11y agoThe full ssl feature means skiing a fallback certificate for non-SNI capable browsers. Internet explorer on windows XP and Android 2.3 doesn't support SNI based ssl and our full ssl solution assures that even these older browsers can access the site over https without any warnings...
- bobfunk 11y agoThe full ssl feature means skiing a fallback certificate for non-SNI capable browsers. Internet explorer on windows XP and Android 2.3 doesn't support SNI based ssl and our full ssl solution assures that even these older browsers can access the site over https without any warnings...
- Zarel 11y agoIn addition to ad revenue issue r1ch mentioned (a friend of mine told me HTTPS ads provided less than half the revenue HTTP ads provide), there are a few other things I've encountered while working on HTTPS support: - More ad network misbehavior: the last time I checked, a lot of HTTPS ads on AdSense would take up 100% CPU and lag the browser, because it would try to request an HTTP resource and fail in an infinite loop - More failed connections: just two weeks ago, a Firefox update made HTTPS sites inaccessible on computers with certain HTTPS-scanning antiviruses installed: https://news.ycombinator.com/item?id=10854629 https://news.ycombinator.com/item?id=10854629 - Browser bugs: Chrome doesn't let you HTML5-drag-and-drop data-URIs from HTTPS: https://github.com/Zarel/Pokemon-Showdown-Client/commit/53a1.. https://github.com/Zarel/Pokemon-Showdown-Client/commit/53a1.... - Warnings when embedding HTTP images: Users often embed HTTP images in community sites like forums, chatrooms, etc, which cause warnings in Firefox and make Chrome remove its "secure" designators - Annoyance: I tried to get a Let's Encrypt certificate recently. My server runs Node, and it doesn't serve arbitrary files from a directory (it's a WebSocket server) so the webroot method wasn't possible, so I actually had to stop the server and reconfigure the firewall not to redirect ports 80 and 443 to get the certificate. `letsencrypt-auto` also gives very cryptic error messages: apparently "Correct zName not found for TLS SNI challenge. Found" means "please use `sudo -H`". And the standalone verification failed for an unknown reason, but at least I eventually got the Apache verification working. And I'm going to have to go through all this again in three months...
- majewsky 11y agoRegarding the "Annoyance" bullet point, you might have a better time if you put an Apache or nginx in the front (on ports 80/443), have it serve the acme-challenges statically and proxy_pass everything else to Node running on a high port. TLS handling would then happen in the frontend server only. Regarding the "please use sudo" issue, it's very much possible to run the letsencrypt client as a non-root user if you set your filesystem permissions carefully. Here's the letsencrypt configuration for a private webserver of mine: https://github.com/majewsky/system-configuration/blob/master/holodeck-damogran.pkg.toml#L454-L575 https://github.com/majewsky/system-configuration/blob/master...
- 11y ago
- ac29 11y agoSomething that no one has seemed to mention: it doesn't work on shared hosting, it requires a static IP. For small sites, the additional cost of moving to a plan that supports SSL and has a static IP, this could be a big cost.
- Zarel 11y agoIt doesn't require a static IP; you can use SNI to use HTTPS on a shared IP: https://en.wikipedia.org/wiki/Server_Name_Indication https://en.wikipedia.org/wiki/Server_Name_Indication SNI was already been mentioned an hour ago, too: https://news.ycombinator.com/item?id=10928036 https://news.ycombinator.com/item?id=10928036
- ac29 11y agoInteresting, I hadn't heard of that. Perhaps I should make a correction -- on the webhost my small business uses, purchasing a static IP is required for SSL support. I was under the impression this was a technical limitation, but I was apparently wrong.
- pizzeys 11y agoShared webhost here: It's one of those complicated part-technical, part-user education issues. Technical: SNI breaks older browsers (IE on XP, older mobiles). Also requires a modern (ish) OS on the server, if using CPanel, which like, every shared host in the world is pretty much. User Education: Explaining exactly which clients will be broken is hard, etc. #2 is basically gone now, because the users who would be broken are broken by the removal of SSLv3 and insecure crypto anyway - so we've now already killed them and can SNI without having to explain anything complicated to the user.
- dspillett 11y ago> I was under the impression this was a technical limitation It was, but one that is becoming less and less relevant finally. The problem comes from not knowing the host name until after the SSL/TLS channel has been negotiated, so the server doesn't know which certificate to hand out unless there is only one that is relevant for a given address. SNI has been widely supported server-side and on up-to-date client applications for a long time, this is essentially a change to the protocol whereby the client tells the server which site it is looking for as part of the SSL/TLS negotiation so there is no problem providing the right certificate during that process. It has been supported by cPanel since the beginning of 2014, and presumable the competing shared host control panels too, so if your host is up-to-date then SNI should be available (if your host is running a 2014-or-before build of the control panel, move host now as they are likely vulnerable to a variety of security issues). Unfortunately "up-to-date client applications" has been the sticking point: no version of Internet Explorer running on XP supports SNI, nor do older mobile browsers. Your site would still work on those older browsers but the user would get a security warning on each visit which is not desirable. Browsers that old are getting less common, and are getting locked out already because of protocol/cypher changes intended to mitigate recently discovered attacks against SSL/TLS, so SNI is an increasingly practical option (how practical is your decision: can you afford to potentially scare off that remaining small percentage of potential users? Personally I say "definitely yes, people that out-of-date are a nightmare to support anyway so my competitors can have them"). Of course IPv6 also fixes the issue too, but adoption of that lags behind the adoption of SNI compatible browsers by a long way.
- programminggeek 11y agoThree obvious reasons... Cost to the end user $10-200/year - even more on Heroku($20/month). Configuration/Setup sucks - seriously you are supposed to run a bunch of unix commands, copy something to a server, and the whole process isn't user friendly. Limited end user benefit - A business owner and user up until recently hasn't thought much or cared much about information security outside of online purchases. Until it is cheap/free and once click easy, it won't be everywhere.
- 0_00_0 11y ago"Cost to the end user $10-200/year" What? How have you not heard of Let's Encrypt by now?
- drdaeman 11y agoThere are some issues that are still prevent using their certificates in production¹. For example this one prevents Windows XP clients (not just IE, but anything that uses system X.509 libraries) from connecting: https://github.com/letsencrypt/letsencrypt/issues/1660 https://github.com/letsencrypt/letsencrypt/issues/1660. Still there's WoSign (free for everyone) and StartSSL (free for non-commercial use). ____ ¹) Only where 3-5% of more obscure clients still matter.
- dTal 11y agoI'm not convinced it's even a great idea until something is done about a) the entirely broken CA trust model or b) mainstream web browser's entirely broken attitude to that trust model.
- zbuf 11y agoI am interested in (a). Recently I heard from a trusted source who works for a popular CDN that some top levels CAs, who are trusted in my browser, are known to be issuing certificates for domains which they have no authority to be doing so, for the purpose of man-in-the-middle analysis by certain parties. But that there is a reluctance to pull these certificates because that would be like switching off portions of the web. Is there any truth or more solid reference to this from those who are in the industry and know more about these topics? Rather alarming if so.
- feld 11y agoYes, there's truth in it. It's takes time for them to be caught and punished, and the Certificate Transparency effort will make it much more difficult for these scumbags to do so.
- glasz 11y agojust listen to security now [0]. it'll make your blood boil how, e.g., symantec fucks up over and over again. this industry is full of incompetent idiots. [0] https://twit.tv/shows/security-now https://twit.tv/shows/security-now (episode 532 is particularly revealing)
- zbuf 11y agoThanks, interesting to hear. If I heard correctly this is a case of incompetence -- which is certainly a problem. Though the information I heard was about lesser-known CAs granting certificates to enable some kind of snooping. It seems that a problem with the current implementation of SSL is that it conflates the requirement for encryption with that for identification. Knowing that "Symantec thinks this is google.com" has limited benefit to me; I'm happier with the idea that "This is the same google.com you visited before".
- wodenokoto 11y agoWhen I lived in China I was pretty happy the https movement hadn't won yet. Sites that forced me on a secure line were basically useless. The great firewall doesn't appreciate encrypted connections, and will usually grind to a halt, when deciding if it will let you get the content.
- drdaeman 11y agoIsn't it the contrary. If Internet would be practically unavailable in China except for domestic resources, due to every single server using TLS for absolutely anything — would Great Firewall survive?
- TazeTSchnitzel 11y agoThe Great Firewall only applies to traffic coming in and out of China. Domestic Internet surveillance and filtering is handled by Golden Shield. If all Chinese domestic traffic used TLS, nothing would change. The PRC Government can still knock on the door if your company is causing trouble.
- wodenokoto 11y agoYes, it would and is. Remember that all major webservices that take up most of peoples online time in the US and Europe is already banned in China. There is no Netflix, Hulu, Facebook, Google, Youtube, twitter, snapchat, Whatsapp working at all or reliably within the firewall. The quality of the content inside the firewall is good enough for the majority of the population not to care the least about what is happening on the web outside the firewall. The good viral videos and memes get translated and spread on local services, and plenty are already created within.
- xroche 11y ago"Why isn't HTTPS everywhere yet?": Because it makes absolutely no sense for the vast majority of online content. Email in https ? Sure. Reading news sites in https ? Accessing RFC in https ? My favorite online recipe site in https ? A total waste of money and CPU. Oh, and sure, the problem has been "solved" for few geeks using the latest browsers accepting let's encrypt certificates. Sure.
- drdaeman 11y ago> Because it makes absolutely no sense for the vast majority of online content. Hey, not so fast with conclusions, please. Do you want an ISP filling your recipe reading with their advertisements. Nope? Or a random dude spoofing a Starbucks WiFi hotspot and serving you a malware on what you think is a trusted download site. Still no? That's what TLS is for. Not for random paranoid geeks or "just email and online payments" security. Oh, but, yes, Let's Encrypt is not yet completely production grade and still have some compatibility issues with older systems. Currently the only non-paid options I know are WoSign and StartSSL.
- rplnt 11y ago> Do you want an ISP filling your recipe reading with their advertisements. Thought this would go in a direction where your ISP changes the ingredients :)
- dspillett 11y agoIf there is a fraction of a $ to be made per instance by replacing references to (for example) Nutella with references and referral links to some other spread I'm sure it would happen somewhere, and might change the outcome of the recipe in terms of taste/texture or worse make people ill if a recipe avoiding particular allergens ends up with the wrong product being recommended.
- deleted 11y ago[deleted]
- pdkl95 11y ago
- jamespo 11y agoI work for a large bank and a lot of "lesser known" SSL sites (eg blogs that have a cert) are just straight off blocked by the bluecoat proxy.
- cm2187 11y agoCost is going to be taken care of by let's encrypt. I am surprised complexity of setting up SSL isn't mentioned in the article. First the tools are complex to use, use various formats for storing keys that are incompatible. In Linux you pretty much have to rely on cryptic command lines. Windows is slightly simpler. And you need more tools to convert certificates between the different formats (for instance using an IIS certificate with FileZilla). Then you have to deal with the complexity of the algorithms used, the fact that chrome won't accept sha1 anymore, the fact that http2 is very picky in the cryptographic methods used. What is a best practice today breaks tomorrow. For instance the following script written only a couple of years ago shows how to set up windows to get an A on SSLLabs: https://www.hass.de/content/setup-your-iis-ssl-perfect-forward-secrecy-and-tls-12 https://www.hass.de/content/setup-your-iis-ssl-perfect-forwa... But with IIS10 / http2, this list of ciphers is incompatible with chrome. I found a list that works here: https://code.google.com/p/chromium/issues/detail?id=529994 https://code.google.com/p/chromium/issues/detail?id=529994 but I am sure it will break older browsers. Etc, etc, etc. This is hard work. Until setting up SSL will be a simple box to tick in IIS or a single setting to change in apache, only developers who really care about security and are really motivated will deal with this shit.
- grey-area 11y agoIt can be as simple as that. I just set up a site a few days ago with caddy - http://caddyserver.com http://caddyserver.com. Getting certs for multiple domains was a matter of adding a single line for tls to the config, it generates a key locally, requests the cert, and installs it transparently on the first request. Pretty smooth. I hope they will autorenew without intervention, haven't tested that bit yet, but so far it was painless. I imagine most mainstream servers will incorporate this sort of smooth tls flow at some point now that services like letsencrypt are available to base it on. I'm considering moving web server for other sites (usually use nginx) for this single feature.
- cm2187 11y agoI'll look into it, but to illustrate my point, when clicking on your link I get an invalid certificate error in chrome. Granted I am using an old browser (Win XP / Chrome 40) but it illustrates my point that it is hard to get SSL to work well.
- Yaggo 11y agoHTTPS (in the current form) adds a dependency on external authority. This breaks the very fundamental principle of the web.
- ck2 11y agoBecause many websites are ad supported and few ad networks have https ads ready and configured properly, so they do not display. Even on adsense, inventory drops for a https-only website.