HTTP 2.0 May Be SSL-Only
An anonymous reader writes "In an email to the HTTP working group, Mark Nottingham laid out the three top proposals about how HTTP 2.0 will handle encryption. The frontrunner right now is this: 'HTTP/2 to only be used with https:// URIs on the "open" Internet. http:// URIs would continue to use HTTP/1.' This isn't set in stone yet, but Nottingham said they will 'discuss formalising this with suitable requirements to encourage interoperability.' There appears to be support from browser vendors; he says they have been 'among those most strongly advocating more use of encryption.' The big goal here is to increase the use of encryption on the open web. One big point in favor of this plan is that if it doesn't work well (i.e., if adoption is poor), then they can add support for opportunistic encryption later. Going from opportunistic to mandatory encryption would be a much harder task. Nottingham adds, 'To be clear — we will still define how to use HTTP/2.0 with http:// URIs, because in some use cases, an implementer may make an informed choice to use the protocol without encryption. However, for the common case — browsing the open Web — you'll need to use https:// URIs and if you want to use the newest version of HTTP.'"
otherwise this sounds like extortion from CAs
Thanks to Snowden we have now an even stronger motivation to use encryption everywhere.
I predict that the Unknown Powers will convince the committee to bail out and either (a) drop this idea overall (b) default to some old broken/flawed crypto protocol. Check back in 1 year.
My first program:
Hell Segmentation fault
An encryption method that doesn't use certificate chains that can be futzed with. Perhaps a more explicit self-signed certificate methodology that could be codified in some way into http2.
...or, you know, https everything now for starters, since the processing increase is negligible.
A lot of sites are already on board.
People think that adding encryption to something makes it more secure. No, it does not. Encryption is worthless without secure key exchange, and no matter how you dress it up, our existing SSL infrastructure doesn't cut it. It never has. It was built insecure. All you're doing is adding a middle man, the certificate authority, that somehow you're supposed to blindly trust to never, not even once, fuck it up and issue a certificate that is later used to fuck you with. www.microsoft.com can be signed by any of the over one hundred certificate authorities in your browser. The SSL protocol doesn't tell the browser to check all hundred plus for duplicates; it just goes to the one that signed it and asks: Are you valid?
The CA system is broken. It is so broken it needs to be put on a giant thousand mile wide sign and hoisted int orbit so it can be seen at night saying: "This system is fucked." Mandating a fucked system isn't improving security!
Show me where and how you plan on making key exchange secure over a badly compromised and inherently insecure medium, aka the internet, using the internet. It can't be done. No matter how you cut it, you need another medium through which to do the initial key exchange. And everything about SSL comes down to one simple question: Who do you trust? And who does the person you trusted, in turn, trust? Because that's all SSL is: It's a trust chain. And chains are only as strong as the weakest link.
Break the chain, people. Let the browser user take control over who, how, and when, to trust. Establish places in the real world, in meat space, in bricks and mortar land, where people can go to obtain and validate keys from multiple trusted parties. That's the only way you're going to get real security... otherwise you're going to be taking a butt torpedo stamped Made At NSA Headquarters up your browser backside. And pardon me for being so blunt, but explaining the technical ins and outs is frankly beyond this crowd today. Most of you don't have the technical comprehension skills you think you do -- so I'm breaking it down for you in everyday english: Do not trust certificate authorities. Period. The end. No debate, no bullshit, no anti-government or pro-government or any politics. The system is inherently flawed, at the atomic level. It cannot be fixed with a patch. It cannot be sufficiently altered to make it safe. It is not about who we allow to be certificate authorities, or whether this organization or that organization can be trusted. We're talking hundreds of billions of dollars in revenue riding on someone's word. You would have to be weapons grade stupid to think they will never be tempted to abuse that power -- and it does not matter who you put in that position. Does. Not. Matter.
#fuckbeta #iamslashdot #dicemustdie
SSL is only as good as the certificate authority regime, and the one we have in place is awful. The NSA can and does just demand the master certs and sign whatever they damn well please.
We need some sort of distributed certification authority where no one entity is in charge, probably with "bitcoin" style system to ensure cryptographic security, information distribution, etc. - Of course an anonymous system won't grant "trust" like traditional CA's supposedly (and often poorly) do. So there will still be a market for trust authorities, but they won't hold escrow over your keys with their "master" keys.
Yayyy for caching proxieeess!
Haven't read the spec. Please can we have a method to check whether a file exists. Apologies if it's there & I've missed it. 404 file not found isn't optimal as you get sent back a ton of unnecessary fluff. just want a bool.
We save about 10% of our Internet bandwidth by running all http traffic through a caching proxy. This would seem to prevent this bandwidth saving for things that just don't need encryption. This would be any public site that is largely consumable content. All in favour of it for anything more personal.
Also how are companies supposed to effectively web filter if everything is HTTPS. DNS filtering is, in general, too broad as brush. We may not like our web filtered, but companies have a legal duty that employees shouldn't be see questionable material, even if on someone else's computer. Companies have been sued for allowing this to happen.
If there is, I do not see it. Strikes me as people that cannot stop standardizing when the problem is solved. Pretty bad. Usually ends in the "Second System Effect" (Brooks), where the second system has all the features missing in the first one and becomes unusable due to complexity.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
StartSSL was without charge for individuals the last time I checked. The most expensive part of SSL nowadays for a small site operated as a hobby is the dedicated IP address that you need if you want users of IE on Windows XP and Android Browser on Android 2.x to be able to access your site. These browsers don't support SNI, which allows name-based virtual hosting to work on SSL.
(I the user) am the one who should be purchasing trust from a vendor. A vast network of obviously compromised cert vendors should not be in my browser. They don't work for me so why are they even mentioned in my browser? There should be just one: The one I have chosen to trust. The one I pay to trust and will go out of business if they ever break the trust of their customers.
Frankly, I would prefer the trust vendor to be the same as the browser vendor. I am trusting them both, so I would rather they be the same thing.
I wish I could say something that hasn't been said already in the 10 comments posted here. This is a complete joke. Are there people who actually believe that any publicly available encryption is effective and unbroken? Please! Pull the other one.
This thread can be closed. Next story please, something about kittens, or ponies. I mean, really, get serious people... don't be such morons..
The problem is that all http clients see 'https' as meaning the client has a level of expectation about 'security'. Browsers have long started to do things to very obvious to denote 'good ssl' from 'bad ssl', but the expectation remains that 's' means 'meaningfully secure'.
So how best to convey 'encrypted, but don't really care about third party cert validation', which would be a must-have in a world where *every* public facing site has a TLS protected socket. Maybe a different uri scheme like 'httpe://', complete with the scare strikethroughs and such, but not with the 'are you sure, are you really really sure' that https does today...
XML is like violence. If it doesn't solve the problem, use more.
Perhaps a more explicit self-signed certificate methodology that could be codified in some way into http2.
If your domain registrar supports DNSSEC, you could stash your certificate in a DNS record, as geekboybt mentioned.
Don't worry. Microsoft has yet to competently and honestly adhere to a standard.
I'm sure IE users can look forward to non-SSL HTTP for years to come.
Frankly, I would prefer the trust vendor to be the same as the browser vendor. I am trusting them both, so I would rather they be the same thing.
No you don't want that. The browser developers should concern themselves with rendering the content correctly and standards-compliant, and the user-experience/interface. Separation of duties when it comes to money is paramount -- that's why you have outside accountants review your books, not internal ones. Otherwise you have the situation of creating a financial incentive to break or manipulate the system. Even one character, on one line of code, can change something from secure to exploitable. Don't tempt fate; Keep the trust chain separate from the people maintaining the protocols and infrastructure it sits on.
#fuckbeta #iamslashdot #dicemustdie
You are still relying upon a third party to attest to your identity. In the DNS case, your DNS provider takes over the role of signing your stuff, and they can 'extort' you too.
XML is like violence. If it doesn't solve the problem, use more.
If http:// will fall back to HTTP 1.0, how does that make the Internet a more secure place? Will the users actually care that the page is being served by an older protocol, enough to type it again with https? Will they even notice?
This is already a pain in the ass for me. I use a local proxy/filter (Proxomitron) to allow me to filter my HTTP streams for any application w/o having to configure them individually - or in cases where something like AdBlock would be browser specific. This doesn't work for HTTPS.
For example, Google's switch to HTTPS-only annoys me to no end as I use Proxomitron to clean up and/or disable their various shenanigans - like the damn sidebar, URL redirects, suggestions, etc... At this time using "nosslsearch.google.com" with CNAME of "www.google.com" works to get a non-encrypted page (in Proxomitron, I simply edit the "Host:" header for nosslsearch.google.com hits to be www.google.com) but who know how much longer that will last.
Thankfully, DuckDuckGo and StartPage allow me to customize their display to my liking w/o having to edit it on the fly. If only Google would get their head out of the ass and support the same, rather than only allowing their definition of "enhanced user experience".
Seriously, do we really *need* HTTPS for everything - like *most* web searches, browsing Wikipedia or News? I think not.
It must have been something you assimilated. . . .
So how would you recommend instead that the server operator prove his identity to members the public? Meetings in person cannot scale past a heavily local-interest web site or the web site of a business that already has thousands of brick-and-mortar locations.
What sort of "unnecessary fluff" do you get when you HEAD /thisdoesnotexist? A HEAD request is like a GET but doesn't send the response body.
What country is granting asylum to refugees from said "fucked up laws"?
This would seem to prevent this bandwidth saving for things that just don't need encryption. This would be any public site that is largely consumable content.
Please define what you mean by "consumable content". If a user is logged in, the user needs to be on HTTPS so that other users cannot copy the session cookie that identifies him. This danger of copying the session cookie is why Facebook and Twitter have switched to all HTTPS all the time. Even sites that allow viewing everything without logging in often have social recommendation buttons that connect to Facebook, Twitter, Google+, or other services that may have an ongoing session.
Err...isn't going from opportunistic to mandatory encryption what they're trying to do now? Last I saw, HTTP was seeing a little bit of use already. The addition of a version number to it doesn't change the fact that they're already faced with existing behavior. It seems to me that adoption is already poor...they're just trying to force the issue now instead.
For your security, this post has been encrypted with ROT-13, twice.
If everything is to go SSL, we now need widespread "man-in-the-middle" intercept detection. This requires a few things:
You are right. The two should remain separate, if for no other reason, then it will be easier to deprecate them individually if they screw up.
I think HTTP/2 should resist the temptation to concern itself with security, concentrate on efficiently spewing hypertext and address security abstractly and cleanly at a separate layer from HTTP/2. Obviously as with HTTP/1 there are some layer dependencies but that is no excuse for even having a conversation about http vs https or opportunistic encryption. It is the wrong place.
Things change who knows some day someone may want to use something other than TLS with HTTP/2. They should be able to do so without having to suffer. Not respecting layers is how you end up with unnecessarily complex and ridged garbage.
For example who is to say there is no value in HTTP/2 over an IPsec protected link without TLS?
I've been saying we need only https everywhere since 2000.
Everything encrypted everywhere.
IMO only - there is no such thing as automatic security.
you either have blind faith in 'organised' authorities, in whom you place your trust, or you get off your mouse and go find some other means of exchanging keys, external to the cyberverse itself.
to pretend - or wish to believe - that anything else is possible is as joe cell ignorant as it gets, and generally a waste of resources.
please prove me wrong.
I hope not, I still end up on a lot of connections with ~64kbps transfer speed, which I use compression to speed up. Encrypted data, by design, doesn't compress well, so it would be a bigger pita to browse once http is phased out.
Not everyone is always on a T1 line.
I believe this will make caching impossible.
Because right now, there isn't a good way to self sign certificates without most browsers blowing chunks and scaring the crap out of uninformed users. And the CAs will get rich of the ensuing paranoia.
Not that the whole certificate infrastructure hasn't been undermined by the NSA already.
Have gnu, will travel.
> The one I pay to trust and will go out of business if they ever break the trust of their customers.
Has that ever actually happened? The general public doesn't even track that so the market would have a tough time responding at all to any breach(es).
Are they going to redesign HTTPS to allow multiple sites on one IP (virtual hosts) and not rely on the extortion racket that is the certificate market now? Because I don't see large hosting providers buying tens of thousands of IP addresses to move all their sites to HTTPS, let alone small providers, nor do I see people wanting to add $20-100/year to their hosting bill to buy a certificate from one of the CA racketeers like Verisign.
Liberty in your lifetime
They have an interest in -not- letting people know about security breaches. Also, there is probably momentum issues when changing a corporate website to another CA. But individual users are agile and they talk with one another. And they have no interest in being quiet. The users could abandon a security vendor quickly upon a breach. In fact, the security vendors would compete for customers on just how secure and dedicated they are to protecting their customers. The CAs are not competing for individual users at all.
You would need a different set of cookies for http and https domains. You would always set the cookies in https, and static things like the Facebook logo could go over http with only giving away that you are loading a new page with that logo on it.
You can't embed images or scripts delivered through HTTP in a page or frame delivered through HTTPS without triggering browsers' mixed content blocking warnings. If a document is HTTPS, everything it refers to also has to be HTTPS.
Also set expires headers to not expire the logo, and you don't need to send it every time
Use of far-future Expires headers is a good practice, except it's not nearly as effective on mobile where caches tend to be so tiny they may as well not exist. Mobile caches are so small that Chrome for Android and Firefox for Android tend to reload documents over the Internet even if I just switched to another tab, unlike Chrome for X11/Linux and Firefox for X11/Linux that happily swap DOMs of documents in unfocused tabs out to disk.
Why not separate the "here is proof I am who I say I am" from "let's encrypt our conversation"?
Because if you aren't authenticating, you're encrypting to the man in the middle.
If I go HTTP to a site I have no assurance that they are who they say they are.
When the scheme is HTTP, you have no expectation of assurance.
This problem was solved by Phillip Zimmerman, the creator of PGP... in the late 90s.
Yeah, I expected someone to mention the PGP web of trust. But here's something I don't understand: just because I met Aeris at a key signing party and verified her identity at a key signing party doesn't necessarily mean I feel confident in vouching for her diligence in verifying other people's identities or especially the diligence of the other people whose identity she verified.
Seven degrees of separation
It's like playing a game of telephone.
My issue with https is that unless you are willing to spend the money, it is expensive to get a certificate that is suitable for a small hobby website.
Don't get me wrong, https is a good thing, but it needs to be simpler and more affordable to get a legitimate certificate.
I'll certainly be following this and see if this works out to be 'not so bad'.
Jumpstart the tartan drive.
Subject says it all.
I apologize for the lack of a signature.
Luckily W3C is on the job, so we don't have to worry about it for another decade or so.
In other words, poor people are screwed because they can't afford to fork over hundreds of dollars to Verislime for a series of prime numbers. Not to mention the fact that the average user has no idea about PKI or how to get or install a certificate (Where I work, we deal with the GSA which requires certificates for authentication and it is a never-ending headache for users).
And in the end, the people who you most want to prevent from spying on you will be able to spy on you anyways because PKI presents a centralized target for governments and they can merely bludgeon the CAs into giving them the ability to intercept stuff.
Yeah, because who cares that removing that warning allows anyone to pretend to be your bank?
If I were pretending to be your bank, I'd just use unencrypted HTTP and put up a green lock as my favicon. How many people would even notice the missing "S", or the fact that the lock is in the wrong position in the address bar?
Every time I've looked at a phishing site, it used plain HTTP.
Cert warnings don't protect against phishing, since phishing is mostly a social engineering problem. They are only useful against MITM attacks.
Well, that goes well versed post for online users. But there's one more, mobile security system's are more complex. If you give better look, there're whom can't set it up properly and get filled with spam and hacked. Do you have anything better to solve this problem?