diff options
author | luxagraf <sng@luxagraf.net> | 2016-02-22 10:16:18 -0500 |
---|---|---|
committer | luxagraf <sng@luxagraf.net> | 2016-02-22 10:16:18 -0500 |
commit | 3d7f604ccdd386dee79c95e9ae4af630c5d33347 (patch) | |
tree | 8ef2d98a93637b04fec8c8cc688e0e9d1fc83e6e | |
parent | a42e05b6c969f81ce75bc6a2892a233d984300dc (diff) |
wrote beginning of HTTPS piece.
-rw-r--r-- | https.txt | 75 |
1 files changed, 74 insertions, 1 deletions
@@ -1,4 +1,77 @@ -Google, Mozilla, the EFF and tk are and have been pushing for websites to adopt HTTPS. +Google, Mozilla, the EFF and others are and have been for some time pushing for websites to adopt HTTPS. Moving the bulk of the web from regular HTTP, which is an unencrypted connection that anyone can intercept, record and even manipulate, to HTTPS, which is encrypted and (reasonably) secure is overall a huge win for the web, which is to say us, the users of the web. + +Changing the web to HTTPS is not, however, entirely without costs and challenges for web users and for website owners. The question is, do the benefits justify the costs? To answer that we have to first look at what HTTPS gets us and what it costs. + +The major benefit of HTTPS is encryption. When your browser connects to a website over HTTPS the connection from your browser to the page you want to view is encrypted. Any data exchanged is not visible to anyone else snooping the network. And by anyone else I mean just that, anyone, could be Google, Verizon, the suspicious looking pale kid in the black hoodie sitting in the corner at the coffeeshop. + +Having an encrypted connection gets you one other thing -- authentication. + +Knowing that no one else on the network can read your traffic is good, but totally meaningless if you can't verify that the site you're visiting is actually the site you want to visit. To authenticate your connection to the site you're trying to visit your browser maintains a list of known, trusted certificate authorities. When your browser requests a secure page it gets the page's security certificate, which contains a chain that leads back to a certificate authority. If that authority matches an authority known to your browser then your browser will trust that the site you're connecting to is who it claims to be. + +This is the single biggest problem with HTTPS. More on this in a minute. + +Behind the scenes what handles all the encryption and authetication is a bit of technology know as TLS, which is short for Transport Layer Security. In fact the full name of HTTPS is really HTTP over TLS. TLS is the successor to the now vulnerable Secure Sockets Layer (SSL), though just to further complicate things you will often hear both referred to as "SSL". TLS is made up of two layers, the TLS Record Protocol and the TLS Handshake Protocol. Together these two tools allow your web browser to securely connect to a validated site and encrypt all your communications thereafter. + +Only one bit of data leaks out in this scenario -- the name of the site you're visiting. When your browser loads arstechnica.com it must first ask a DNS server to translate arstechnica.com into a numeric IP address. The process of querying a DNS server is (currently) not encrypted. + +That means anyone snooping on your browsing session can get one bit of metadata -- they know you visited arstechnica.com. They don't know you're reading this specific article, but they do know you visited the site. Before you dismiss this metadata leak as unimportant, consider that the former head the NSA has publicly announced that the U.S. will "kill people based on metadata", even though, it seems, [many of those people may have been innocent](http://arstechnica.co.uk/security/2016/02/the-nsas-skynet-program-may-be-killing-thousands-of-innocent-people/). + +Now that you know what HTTPS offers -- encryption and authentication -- it should hopefully be obvious why your bank uses it, why Gmail, Facebook, Twitter and any other site you log in to uses it, or should (if you login into to site without it, stop visiting that site). + +What's less immediately obvious is why *every* site needs to be HTTPS. In fact there has been considerable push-back against the effort to push the web to all HTTPS, all the time. Developer Dave Winer [calls HTTPS](http://scripting.com/liveblog/users/davewiner/2015/12/18/0667.html) "expensive security theater". He writes, "I have a couple dozen sites that are just archives of projects that were completed a long time ago. I'm one person. I don't need make-work projects, I like to create new stuff, I don't need to make Google or Mozilla or the EFF or Nieman Lab happy." + +Winer is not alone. Anyone who has put in the effort to get HTTPS working on even one site knows that it can be a tremendous hassle. Indeed this is probably the biggest obstacle to widespread HTTPS adoption. It's hard. Ars has a tutorial that clocks in at tk words. The tutorial I used to get HTTPS working on my site was written by developer Eric Mill and is tk words. + +First you need to get a certificate, which is not free. There are certificate authorities who do not charge to issue certificates, the best known of these is probably StartSSL, but if you ever need to revoke your certificate for some reason there is a fee. In other words the certificates are only free if nothing ever goes wrong. If something does go wrong and you need to revoke a dozen or more sites it quickly gets expensive. + +Once you have a certificate you have to install it and get your web server to serve it up properly. Provided you have a basic sys-admin's knowledge this isn't too hard, though tweaking it until you get a A+ grade on SSLLab's test can take many, many hours. I've been running my own site, building my own CMS and running servers on the web for over a decade an I can say without hesitation that getting HTTPS working on my site was the hardest thing I've done on the web. + +There is hope on the horizon though. The EFF and Mozilla have partnered with some other big names to create Let's Encrypt, which offers free certificates -- yes, really free, no catches -- and a tool that makes installing and configuring them pretty simple. It's still (currently) a command line tool that requires basic sysadmin knowledge (and SSH access to your server) to use, but it makes getting HTTPS leaps and bounds easier than it was just a year ago. + +Over the long run Let's Encrypt is hoping to partner with popular web hosts in such away that users looking to set up their own blog using popular CMS like WordPress get an HTTPS site up and running as easily as clicking a button. + +That day isn't quite here yet though and so the question Winer and others would like answered is simple: why? Why should we invest all this effort to encrypt websites that are just archived flat HTML pages? + +Several years ago I wrote a piece on the then nascent effort to get HTTPS more widely adopted. At the time I wrote "For sites that don't have any reason to encrypt anything... HTTPS just doesn't make sense." + +I was wrong. + +In 2010 when I wrote that the network of the web looked fairly benign (as Snowden's leaks of revelled, it was not, but most of us had no real way to know back then). Since that time the network has become hostile, incredibly hostile. + +The web has become a broad survellance tool for everyone from the NSA to Google to Verizon. + +tk bit here on how HTTPS isn't going to help you if you're targetted by the NSA. What an crypted web does is force survelliance to be expensive and targeted rather than ceap and broad. + +Winer calls out Google specifically and he's not the only one to do so. Google's motives for pushing an HTTPS web are because an HTTPS web is in Google's best interest. Google is very protective of its search algorithms and results. However, according to some sources Verizon and other ISP have been injecting code into HTTP connections to gather data about search results and what people are clicking. This data is then resold in backroom deals. + +Yes, Google's acting in its own best interests and Winer is right to question the motives of a company so massive it has the power to potentially control elections. However, in this case Google's interests are aligned with the web at large. Google doesn't want that data captured and sold, but remember that data is actually about you. It's your data first and foremost and even if you don't want to exist at all, you certainly don't want it bought and sold. + + + +Which brings us to today. HTTPS is becoming more and more common, easier and easier for anyone to get up and running. what's the next step? + +The next step is depricate the non-secure web. That is, turn HTTP into a second class citizen that, eventually, might be ignored all together. + + + + + + + + +For the individual user the network has become hostile, for companies like Google the network has also become hostile. + + + + + +You don't have to dive too deep into H + +main motivation for HTTPS is authentication of the visited website and protection of the privacy and integrity of the exchanged data. + + + + Much of the confusion comes from our tendency to conflate security and privacy. While security is often necessary for privacy, the security you have does not guarantee anything. For example, you can have a secure HTTPS connection to Google, but that doesn't actually mean anything for your overall privacy. Google can still collect information about you, track you with cookies and then be compelled to give that information to the government. It can also just sell it to the highest bidder. Security is not a guarantee of privacy. |