News for hackers. Stuff that matters.
Re:You have a moral obligation to use crypto by GauntletWizard on Tuesday February 11, 2014 @06:47PM (#7221458)
HTTPS Encryption is virtually useless without the identify verification part. Anyone can run a valid HTTPS server with a self-generated public key. Anyone could then place a MITM, and without the identity bit, you're just as compromised.

If we had dropped the identity bit, every ISP would be running a MITM proxy, because they want control. Already, plenty of businesses enable poor hygiene by including transparent squid proxies that strip SSL.

Re:You have a moral obligation to use crypto by pdkl95 on Wednesday February 12, 2014 @12:49PM (#7225905)
This is claimed every time the topic is brought up, and like the self-signed certificate scare-box in firefox, it does a significant amount of harm by forcing a choice between all or nothing. Which means many times, "nothing" will be chosen.

Encryption without authentication is still incredibly useful, and something that we've NEEDED to have happen pretty much everywhere. Some of the benefits are:

1) The ccost of and attack is significantly larger, by protecting against passive eavesdropping. You can capture massive numbers of passwords trivially by simply logging and unencrypted stream, but full MitM requires more time, effort, and resources to accomplish.

2) MitM attacks can sometimes be detected, either at the time of the attack or in the future due to repeated opportunities for the attack discovered. A passive scanner is impossible to discover, in most cases.

3) Any use encourages a culture of encryption, so the people who ARE authenticating properly aren't as obvious.

4) The cost of moving from a self-signed key to one signed by a 3rd party is small ("get your cert signed"). This makes the upgrade path to full, properly authenticated crypto much smaller.

All of these benefits are worthwhile, so please, stop encouraging the use of plaintext. The proper way of handling this is not to scare people away like Firefox currently does, but to encrypt everything automagically, so it works just like unencrypted HTTP, and only show the lock icon if full authentication has happened. That is, encrypting without auth should be used, but still presented to the user as a plain, unencrypted page.

Re:You have a moral obligation to use crypto by mnutt on Tuesday February 11, 2014 @08:22PM (#7221871)
I was familiar with the reasons why using self-signed SSL didn't buy you anything, but hadn't really put together how it would completely weaken the whole ecosystem until now. "Oh, that's just Verizon MITMing me like always..."
Re:You have a moral obligation to use crypto by dTal on Wednesday February 12, 2014 @08:51AM (#7224216)
Self-signed certificates are perfectly useful. Weaker security is still better than no security at all. For example, even unauthenticated, SSL protects you from log analysis after the fact. MITM is not the only threat model.

If it's a personal page (say, a public-facing login to your NAS) you can always check the SSL fingerprint too. You don't have to remember the whole thing, just remember a few characters and check that they're right.

Re:You have a moral obligation to use crypto by mnutt on Wednesday February 12, 2014 @07:49PM (#7228596)
Sure, but browsers are perfectly right to throw up a giant red warning that says "THIS IS NOT OK". Otherwise MITMing will become commonplace, and users won't care.
Re:You have a moral obligation to use crypto by dTal on Thursday February 13, 2014 @07:47AM (#7230986)
That's all well and good - my point was that this "self-signed certs are equivalent to no security at all" meme is both common and wrong.

[EDIT] pdkl95 said what I was trying to say more eloquently and in more depth.

Re:You have a moral obligation to use crypto by boronine on Wednesday February 12, 2014 @02:57AM (#7223122)
Does SSL not use a key exchange algorithm that ensures that a MITM proxy be useless?
Re:You have a moral obligation to use crypto by sokoloff on Wednesday February 12, 2014 @05:58AM (#7223640)
The man in the middle can do the key exchange with you. (You seem to be assuming that you start with a connection that you know to be reaching the desired endpoint and that you can start the key exchange there. You can't. The MITM intercepts the initial connection and does the key exchange with you and then turns around and initiates a secure connection with the eventual endpoint. The endpoint sees valid, encrypted traffic and you see valid, encrypted traffic, but the MITM attacker has the full plaintext communication.)

That's why you need the identity portion to be tied to the key exchange.

Re:You have a moral obligation to use crypto by GauntletWizard on Wednesday February 12, 2014 @03:14AM (#7223167)
Even without the CA system, SSL (and TLS) is secure against _passive_ MITM attacks; That is, if the attacker cannot alter the data-stream. This is still reasonable for many simple links, but for internet, it is not.

If you've got no verification of the opposite party, literally any computer could be on the other end. The key exchange mechanism is secure, certainly, but any computer can execute it. The attacker can even show you the real website just proxied through, but that's plenty enough to get your password or any other access that the attacker wants.

Re:You have a moral obligation to use crypto by mnw21cam on Wednesday February 12, 2014 @06:19AM (#7223715)
A "passive MITM" attack isn't MITM any more - it's just interception. MITM means that the man in the middle is able to control the data stream that both ends see.
Re:You have a moral obligation to use crypto by eliasmacpherson on Tuesday February 11, 2014 @07:08PM (#7221577)
Could you run your own CA?
Re:You have a moral obligation to use crypto by jakejake on Tuesday February 11, 2014 @07:14PM (#7221595)
You can but you'd need to convince browser vendors to add your CA to their list of trusted CA's in order to get rid of the security warning.
Re:You have a moral obligation to use crypto by eliasmacpherson on Tuesday February 11, 2014 @07:22PM (#7221620)
Can you add a CA to firefox manually yourself? It looks like you can.
Re:You have a moral obligation to use crypto by alcari on Tuesday February 11, 2014 @07:31PM (#7221665)
Adding a single root to locally installed copies of a web browser is only really useful for 2 things: testing an SSL configuration for development, and deploying your own CA to all computers on an intranet to so you can MITM their traffic without throwing up warnings.

For a bit of fun, compare the warnings about a self-signed certificate in Firefox with those triggered by attempting to download a self-signed certificate with the CA:true bit set.

Re:You have a moral obligation to use crypto by userbinator on Tuesday February 11, 2014 @08:51PM (#7221967)
A 3rd thing, which I've done, is for a private site to collaborate with a small group of people I know in real life. You give them a hardcopy of your CA cert and then they can verify the details when adding it to their browsers.
Re:You have a moral obligation to use crypto by upofadown on Tuesday February 11, 2014 @09:28PM (#7222137)
The real interesting thing about that use is that it makes it impossible for the NSA and the like to strong arm someone else for the keys.

With what we know about the current environment, being your own CA is actually the most secure approach.

Re:You have a moral obligation to use crypto by userbinator on Tuesday February 11, 2014 @10:31PM (#7222345)
As long as you're careful to really keep your private keys private; the root of trust gets shifted from a hierarchy of corporations to individuals you know and (personally) trust. I like this "real trust" model a lot more than the current one of a central authority and "being told who to trust", and I think all the advocates of "if you want to use HTTPS you should buy a cert from a CA" are missing this point.
Re:You have a moral obligation to use crypto by eliasmacpherson on Wednesday February 12, 2014 @05:43AM (#7223584)
I assume the certs are delivered over ssl from the CA to the client requesting the webserver, is that the case?
Re:You have a moral obligation to use crypto by Karunamon on Wednesday February 12, 2014 @10:28AM (#7224770)
When you hit an SSL site, the remote server (the one you're browsing) presents a number of certificates. One for the actual secure domain, and one or more for the CA that signed that certificate (sometimes more than one because the CA's have intermediate keys. A key which signed a key which signed... etc)

The CA itself is not a party to this exchange, they only provide the end product - a signed certificate.

If you trust the CA (in your browser config), you also trust by extension every certificate that CA has ever signed (barring revocation lists).

Re:You have a moral obligation to use crypto by eliasmacpherson on Wednesday February 12, 2014 @11:53AM (#7225392)
Thanks for the explanation, I was under the mistaken impression that communication took place between the CA every time a server was visited.
Re:You have a moral obligation to use crypto by eliasmacpherson on Tuesday February 11, 2014 @07:46PM (#7221717)
So this single root ploy is what large companies do to MITM their employees at work, I assume.

I'll have to investigate what you suggest I do for fun, because I haven't tinkered with these certs before. What flags do you pass to openssl?

The certificates do specify the issuer though. So you could use a self run CA in the manual arrangement to verify that your connection isn't being MITM'd, assuming you don't lose control of your self run CA, or leak its private key. Correct me if I am wrong.

Re:You have a moral obligation to use crypto by jakejake on Friday February 14, 2014 @07:11PM (#7241980)
I know I've heard about this somewhere before, but it seems to me somewhat a hassle to setup MITM attacks if you already have admin access over all the machines. Just put a browser plugin that logs everything and lock down the machines to they can't be messed with by non-admins. Corporate employees are generally not allowed to admin their own machines or expect any privacy on them - so there's no point in hiding the fact that you log everything.

If you're just trying to do a MITM for fun, though, there's nothing magical about the CA or cert. Once you configure the browser to trust a CA, then any cert signed with it will also be trusted by the browser. So if you are also running DNS on the network then you can re-route facebook.com or any domain to point to your own proxy server and serve up your fake cert. The user will see the nice green lock and everything. You could probably even name your CA and certs so that it looked pretty much exactly like a user would see it on the real facebook.com.

The reason why this isn't happening all over the place is just because you need to already have root access to the machine to configure the trusted CAs. The ability to add a CA, I would probably consider that to be a fully owned machine.

Re:You have a moral obligation to use crypto by eliasmacpherson on Sunday February 16, 2014 @05:50PM (#7249714)
https://www.imperialviolet.org/2011/05/04/pinning.html

https://www.net-security.org/secworld.php?id=12369

https://news.ycombinator.com/item?id=5141342

I'm pretty sure it happens, trustwave apparently issued a cert for these purposes and it's claimed other CA's have done the same. It's a hassle to do, but the goal is to detect and prevent corporate espionage. Most corporates have their own OS media - installing from outside sources without adding corporate security required software is forbidden.

I assume this is how the certs get on to the machines. A browser plugin would be more transparent, possibly defeating the purpose.

Re:You have a moral obligation to use crypto by jakejake on Tuesday February 18, 2014 @12:59AM (#7256629)
I remember reading about that trustwave incident, that is definitely messed up!

I was just really trying to say that adding a rogue CA to the browser trust list vs installing a plugin both require admin permission and are both "noticeable." So neither of them are really ideal for serious espionage. In which case they're only good for non-secret employee monitoring. So, in that case, might as well go with a plugin because it would be the simpler solution.

If you're talking about a compromised "root" CA like trustwave or something where a stock browser will trust fake certs - now you're talking about a technique suitable for espionage or black hat activities.

Re:You have a moral obligation to use crypto by eliasmacpherson on Friday February 21, 2014 @03:13PM (#7279140)
A browser plugin is really really obvious, whereas if you take a look at the CA's in firefox - there's hundreds. All you need is one subtly different from what's expected - barely noticeable.

https://www.bluecoat.com/products/proxysg

I think you'll find the above product interesting. Apparently anti-virus vendors have similar programs - to prevent malware being downloaded over https behind a corporate proxy.

It seems that CDN's such as cloudflare and akamai take the websites SSL _private_ keys too.

http://blog.cloudflare.com/introducing-strict-ssl-protecting...

This blog post is a fancy way of saying that cloudflare content serving customers now have the option of encrypting the link between cloudflare and them. Note that users can still be MITM'd at the cloudflare site - even with the new arragement.

Re:You have a moral obligation to use crypto by akama on Tuesday February 11, 2014 @07:29PM (#7221655)
You can, you can also add a CA to all operating systems as well.