Live data from Hacker News

Launching in 2015: A Certificate Authority to Encrypt the Entire Web

eff.org

251–260 of 476 posts

Re: Launching in 2015: A Certificate Authority to Encrypt the Entire Web

#251

The EFF has a bad track record in this area. The last time they tried something to identify web sites, it was TRUSTe, a nonprofit set up by the EFF and headed by EFF's director. Then TRUSTe was spun off as a for-profit private company, reduced their standards, stopped publishing enforcement actions, and became a scam operation. The Federal Trade Commission just fined them: "TRUSTe Settles FTC Charges it Deceived Cons…

>If it's public static content, what is SSL protecting?

Plenty.

Off the top of my head:

It protects people/companies from having their reputations ruined by a MITM attack that replaces content on their site with something offensive.

It protects sensitive/important content on sites from being tampered with by an attacker. For example, if I am hosting a binary for download I can make a signature available for that binary on my site. In order for the signature to serve its purpose the user needs to be sure it hasn't been modified en route.

Re: Launching in 2015: A Certificate Authority to Encrypt the Entire Web

#252

The EFF has a bad track record in this area. The last time they tried something to identify web sites, it was TRUSTe, a nonprofit set up by the EFF and headed by EFF's director. Then TRUSTe was spun off as a for-profit private company, reduced their standards, stopped publishing enforcement actions, and became a scam operation. The Federal Trade Commission just fined them: "TRUSTe Settles FTC Charges it Deceived Cons…

> If it's public static content, what is SSL protecting? In this case, SSL protects against MITM attacks. If a customer goes to the unencrypted "example.com" site and gets a bunch of ads for porn, it will give the customer a negative impression of the company. All it would take is a few pitchfork-wielding high-profile twitter accounts to cause a PR nightmare. Even if the cause is a hacked coffee shop wireless access…

> especially since a basic SSL certificate is free

From where? StartSSL only gives out free certs to individuals. For my company, they've actually required me to get organizational validation in the past, which wasn't cheap ($200, IIRC—$100 for the organizational validation, plus $100 for stage 2 personal validation, which also required me to upload images of my driver's license and passport).

Re: Launching in 2015: A Certificate Authority to Encrypt the Entire Web

#253
post #173

Earlier quoted context omitted.

> Governments putting people in jail for reading your publicly available (in your country) content, which is illegal in theirs // How does that work, surely the gov can still see people accessing the information by monitoring network traffic and the info itself is still public. HTTPS doesn't encrypt the actual request traffic does it, and in any case the gov would still see which server the traffic is going to unless…

HTTPS does encrypt both request and response. However, you can figure out what pages on a large public site like Wikipedia people are reading over HTTPS, based on statistical traffic analysis, because you can see the size of the request, page, and each of the images. Combined with link following analysis, you can make a fairly accurate guess as to what people are reading.

I believe that the combination of HTTP/2 and TLS length-hiding makes that attack impractical. Though admittedly we're still years away from widespread deployment of those two technologies.

Re: Launching in 2015: A Certificate Authority to Encrypt the Entire Web

#254
post #60

Earlier quoted context omitted.

> A self signed certificate warning means "Warning! The admin on the site you're connecting to wants this conversation to be private but it hasn't been proven that he has 200 bucks for us to say he's cool" no. It means "even though this connection is encrypted, there is no way to tell you whether you are currently talking to that site or to NSA which is forwarding all of your traffic to the site you're on". Treating…

"Treating this as a grave error IMHO is right because by accepting the connection over SSL, you state that the conversation between the user agent and the server is meant to be private." This is misguided thinking, pure and simple. Because of this line of thinking, your everyday webmaster has been convinced that encrypting data on a regular basis is more trouble than it's worth and allowed NSA (or the Chinese or the…

but as user I can understand that an http site is insecure, while a self signed certificate might lead me into a false sense of security.

Re: Launching in 2015: A Certificate Authority to Encrypt the Entire Web

#255

It would be nice to have support for ECDSA certificates. I've not found a CA yet who'll provide one of these, despite the fact that many clients to already support them. Unfortunately, after a brief look through client.py I can't see any support for this. Is there any good way of filing an RFE or contributing a patch? ECDSA certs are much cheaper to decrypt, and there's still some places (especially mobile) where TLS…

Indeed, I think that might be viable: it certainly was for CloudFlare! And good ECC certainly is "modern security techniques and best practices". I would however be OK with RSA-2048 using SHA-256, I guess; it's what many other CAs currently use (and this is partially a lowest-denominator problem).

Comodo definitely has an ECC root available now, a cross-signed ECDSA root with secp384r1, signing a secp256r1 intermediate. (I had heard there were 3 others deployed out there, although off the top of my head I'm not clear about which they are, perhaps they're also cross-signed?)

Why is ECC so poorly deployed in TLS? I've heard indications Certicom had formerly aggressively asserted patents, hence the lack of ECC-supporting CAs; but I don't know which ones. I highly doubt they're still extant, however: many have since expired.

Do be aware however that ECDSA can present a huge hazard if the k value needed for every signature is even partially predictable and varies. Officially, it should be random, and very strongly random (even the first two bits being consistently predictable is cumulatively disastrous; using the exact same k to sign two different things is absolutely catastrophic and is how the Sony PS3 root keys were calculated!). If you have a strong PRF for your RNG, you should be fine (e.g. LibreSSL uses ChaCha20); if you want some insurance just in case, you can use a more-auditable and less fragile deterministic process with a strong PRF so the same signature always gets the same, unpredictable k (see RFC 6979), or a combination of the two approaches (e.g. BoringSSL). DSA also had this issue. If you haven't audited your RNG and know it's strong, maybe you should check it before you deploy ECDSA: if your system's headless, its entropy is running on empty and your idea of a mixing function is RC4, it might not be such a hot idea.

It'd be fantastic to have the option available to have an ECC root around, and let us have RSA or ECC certs. (Yes, you can cross-sign across algorithms.) Perhaps have ECDSA off by default for a while in light of the above, but it can provide very good performance for people who use modern software and turn it on!

I'd suggest using secp256r1 (aka NIST P-256). It's already deployed and 256-bit curves lie at about RSA-3072 strength (stronger than most deployed CAs now, which typically use RSA-2048). A few others have deployed secp384r1, but that was following the NSA's Suite B lead; I'm not sold on that being relevant at all. secp256r1 is also fairly fast, with some very well-optimised constant-time routines available in OpenSSL if you enable a flag or even faster ones if you're using 1.2 beta (expect something like a 200%-250% performance boost over the generic elliptic curve routines); it's not quite Curve25519 speed, but it isn't bad.

I do however acknowledge the extreme murkiness surrounding the generation of the NIST/SECG/X9.62 curves. That does present some concern to me. I tried to get to the bottom of that (see my posts on CFRG) and I can summarise what I found out as basically (now-expired/irrelevant) patent-related shenanigans. I'm not super-comfortable with that degree of opacity in my curves - however, I also don't know of any actual security problems with secp256r1 (or secp384r1) as they stand, providing they are properly implemented (very big proviso!). I don't think they're backdoored, but make sure you check the hinges on the front door, and I'd prefer a house with better foundations!

More transparently-produced curves (such as the Brainpool curves) do exist, but Brainpool is sadly very slow in software (less than half the speed than a good P256 routine, and no scope for optimisations).

So looking forward, CFRG (at IRTF) were asked by the TLS Working Group to recommend even better new curves: most probably Curve25519 in my opinion as that seems to admirably satisfy all the criteria for a fast strong mainstream curve, and probably one larger "extra paranoid" curve will be recommended which I really don't know what it'll be at this stage. These hopefully will be/are even faster, strong, and rigidly-explained, without murky origins. And hopefully there will be better algorithms than ECDSA (perhaps a Schnorr-based algorithm such as Ed25519, now the patent expired?). I very much doubt if all the supporting infrastructure for that like HSMs and widely-deployed software support will all be "ready" for this project, however, in the timeframe we'd like, however, so in the meantime, P256 or RSA-2048 I guess is OK.

In general: This is absolutely wonderful news. It, and the efficiency of TLS 1.2 (and later, TLS 1.3) will enable people to run TLS everywhere. I am very probably going to use it myself.

While the Israel-based CA StartCom do already offer free TLS certificates and I have previously lauded them for that, they pulled an absolutely unforgivable move detrimental to internet security as a whole in refusing to revoke and rekey certificates for free even exceptionally in the immediate wake of Heartbleed (and I do think they should have their CA status reviewed very harshly as a result or revoked, because I do not think that is compliant with CA/B guidelines: they definitely still have live signatures on compromised keys that have not been revoked, which is totally unacceptable). If this initiative means we can replace and dump bad CAs, it's even better news.

Re: Launching in 2015: A Certificate Authority to Encrypt the Entire Web

#256
post #247
post #60

Earlier quoted context omitted.

> A self signed certificate warning means "Warning! The admin on the site you're connecting to wants this conversation to be private but it hasn't been proven that he has 200 bucks for us to say he's cool" no. It means "even though this connection is encrypted, there is no way to tell you whether you are currently talking to that site or to NSA which is forwarding all of your traffic to the site you're on". Treating…

So this is where we stand: Encrypted (Certified) COOL GREEN Encrypted (Self-Signed) EVIL RED Unencrypted NOTHING / NEUTRAL CHROME I think there's a pretty blatant antipattern here, and I'm not talking about colourblind-proofing the browser chrome.

To know something is insecure can be acceptable. To think something is secure when it isn't can be far more dangerous. I'm considering secure to mean encrypted and identity reasonably verified. Whatever your thoughts on the CA process it serves a purpose.

There are plenty of other things to complain about. EV for one.

Re: Launching in 2015: A Certificate Authority to Encrypt the Entire Web

#257
post #60

This certificate industry has been such a racket. It's not even tacit that there are two completely separate issues that certificates and encryption solve. They get conflated and non technical users rightly get confused about which thing is trying to solve a problem they aren't sure why they have. The certificate authorities are quite in love that the self-signed certificate errors are turning redder, bolder, and big…

> A self signed certificate warning means "Warning! The admin on the site you're connecting to wants this conversation to be private but it hasn't been proven that he has 200 bucks for us to say he's cool" no. It means "even though this connection is encrypted, there is no way to tell you whether you are currently talking to that site or to NSA which is forwarding all of your traffic to the site you're on". Treating…

There's no question in my mind that the whole thing is a racket and militates against security (you generally don't even know all the evil organisations that your browser implicitly trusts - and all the organisations that they trust etc).

There are certainly other options too: here's my suggestion-

The first time you go to a site where the certificate is one you haven't seen before, the browser should show a nice friendly page that doesn't make a fuss about how dangerous it is, and shows a fingerprint image for the site that you can verify elsewhere, either from a mail you've been sent, and with a list of images from fingerprint servers it knows about that contain a record for that site shown next to it.

Once you accept, it should store that certificate and allow you access to that site without making a big fuss or making it look like it's less secure than an unencrypted site. This should be a relatively normal flow and we should make the user experience accessible to normal people.

It's basically what we do for ssh connections to new hosts.

Re: Launching in 2015: A Certificate Authority to Encrypt the Entire Web

#258

Earlier quoted context omitted.

"Treating this as a grave error IMHO is right because by accepting the connection over SSL, you state that the conversation between the user agent and the server is meant to be private." This is misguided thinking, pure and simple. Because of this line of thinking, your everyday webmaster has been convinced that encrypting data on a regular basis is more trouble than it's worth and allowed NSA (or the Chinese or the…

but as user I can understand that an http site is insecure, while a self signed certificate might lead me into a false sense of security.

That's the proffered reasoning as we all know. But the actual outcome (to quote rufb from this comment https://news.ycombinator.com/item?id=8625739)

    Encrypted (Certified)    COOL GREEN
    Encrypted (Self-Signed)  EVIL RED
    Unencrypted              NOTHING / NEUTRAL CHROME

 Tell me how the logic works here (for an average user).

Re: Launching in 2015: A Certificate Authority to Encrypt the Entire Web

#259

Earlier quoted context omitted.

> If it's public static content, what is SSL protecting? In this case, SSL protects against MITM attacks. If a customer goes to the unencrypted "example.com" site and gets a bunch of ads for porn, it will give the customer a negative impression of the company. All it would take is a few pitchfork-wielding high-profile twitter accounts to cause a PR nightmare. Even if the cause is a hacked coffee shop wireless access…

> especially since a basic SSL certificate is free From where? StartSSL only gives out free certs to individuals. For my company, they've actually required me to get organizational validation in the past, which wasn't cheap ($200, IIRC—$100 for the organizational validation, plus $100 for stage 2 personal validation, which also required me to upload images of my driver's license and passport).

That's interesting, it doesn't mention that on their website. I have only received a certificate from them as an individual, so I haven't encountered that limitation.

Even so, I'd argue that $200 is a fairly cheap way to protect the integrity of your company.

Re: Launching in 2015: A Certificate Authority to Encrypt the Entire Web

#260

Earlier quoted context omitted.

They can get US corporations (including many CAs) to cooperate. For example, to obtain a fake (but perfectly working google.com certificate, they can ask Google (more or less) nicely to provide one, or they can go ask any CA instead. It's not likely that compromise is required with so many potential sources, some of which may be paid or coerced to cooperate. PS. nice (presumably political) downvote further up ...

The NSA can do this, yes. But, any CA that issues a fake CA for Google will be found out rather quickly, and then will get blacklisted and lose business. So while the NSA can technically do that, they only get a few shots cause each one has a high chance of burning the CA. For lesser sites and narrow targets, this may not be true.

[deleted]
Post reply on HN