Live data from Hacker News

Acme, a brief history of one of the protocols which has changed the Internet

blog.brocas.org

51–60 of 91 posts

Re: Acme, a brief history of one of the protocols which has changed the Internet

#51

Can someone explain why letsencrypt certificates have to be 90 days expiry? I know there is automation available, but what is the rationale for 90 days?

The best computer possible on the Earth today can crack it for 91 days in the best case for him.

Re: Acme, a brief history of one of the protocols which has changed the Internet

#52
post #7

Has anyone considered the possibility that a CA such as Let's Encrypt could be compromised or even run entirely by intelligence operatives? Of course, there are many other CAs that could be compromised and making money off of customers on top of that. But who knows... What could defend against this possibility? Multiple signatures on a certificate?

A signature on a certificate doesn't allow CA to snoop. They need access to the private key for that, which ACME (and other certificate signing protocols in general) doesn't share with the CA.

In fact knowing the private key for other people's certificate you issue is strictly forbidden for the publicly trusted CAs. That's what happened years back when a "reseller" company named Trustico literally sent the private keys for all their customers to the issuing CA apparently under the impression this would somehow result in refunding or re-issuing or something. The CA checked, went "These are real, WTF?" and revoked all the now useless certificates.

It is called a private key for a reason. Don't tell anybody. It's not a secret that you're supposed to share with somebody, it's private, tell nobody. Which in this case means - don't let your "reseller" choose the key, that's now their key, your key should be private which means you don't tell anybody what it is.

If you're thinking "But wait, if I don't tell anybody, how can that work?" then congratulations - this is tricky mathematics they didn't cover in school, it is called "Public key cryptography" and it was only invented in the 20th century. You don't need to understand how it works, but if you want to know, the easiest kind still used today is called the RSA Digital Signature so you can watch videos or read a tutorial about that.

If you're just wondering about Let's Encrypt, well, Let's Encrypt don't know or want to know anybody else's private keys either, the ACME software you use will, in entirely automated cases, pick random keys, not tell anybody, but store them for use by the server software and obtain suitable certificate for those keys, despite not telling anybody what the key is.

Re: Acme, a brief history of one of the protocols which has changed the Internet

#54

it seems like all this infrastructure could be replaced by a DNS TXT record with a public key that browsers could use to check the cert sent from the web server. A web server would load a self-signed cert (or whatever cert they wanted), and put the cert's public key into a DNS record for that hostname. Every visit to a website would need two lookups, one for address and one for key. It puts control back into the hand…

E.g. DNS-Based Authentication of Named Entities? https://www.rfc-editor.org/rfc/rfc6698

There's a TLSA resource record for certificates instead of a TXT encoding.

As far as I know no major browser supports it, and adoption is hindered by DNSSEC adoption.

Re: Acme, a brief history of one of the protocols which has changed the Internet

#55
To play the devils advocate: TLS on websites where you are not logged in is the greatest security hogwash of all times.

For example the cookies of the NYT:

  - Store and/or access information on a device 178 vendors
  - Use limited data to select advertising 111 vendors
  - Create profiles for personalised advertising 135 vendors
  - Use profiles to select personalised advertising 
  - Understand audiences through statistics or combinations 
    of data from different sources 92 vendors
There is no way to escape any of this unless you spend several hours per week to click through these dialogs and to adjust adblockers.

And even if you block all cookies, ever-cookies and fingerprinting, then there are still cloudflare, amazon, gcp and azure who know your cross-site visits.

The NSA is no longer listening because there is TLS everywhere? Sure, and the earth is flat.

Re: Acme, a brief history of one of the protocols which has changed the Internet

#56
post #55

To play the devils advocate: TLS on websites where you are not logged in is the greatest security hogwash of all times. For example the cookies of the NYT: - Store and/or access information on a device 178 vendors - Use limited data to select advertising 111 vendors - Create profiles for personalised advertising 135 vendors - Use profiles to select personalised advertising - Understand audiences through statistics or…

TLS is cool for stopping your ISP from MiTMing your traffic (usually to insert shitty banner ads or something).

Otherwise I find it a scourge, particularly when I want to run https over a private network, but browsers have a shitfit because I didn't publicly announce my internal hosts.

There's plenty of traffic that has no need to be encrypted, and where not much privacy is added since the DNS queries are already leaked (as well as what the site operator and their many "partners" can gather).

I'm glad you can get free certs from Let's Encrypt, but I hate that https has become mandatory.

Re: Acme, a brief history of one of the protocols which has changed the Internet

#58
post #8

Let's Encrypt did more for privacy than any other organization. Before Let's Encrypt, we'd usually deploy TLS certificates, but as somewhat of an afterthought, and leaving HTTP accessible. They were a pain to (very manually) rotate once a year, too. It's hard to overstate just how much LE changed things. They made TLS the default, so much that you didn't have to keep unencrypted HTTP around any more. Kudos.

Yeah, I remember when HTTPS was a novelty, used mainly by e-commerce websites like PayPal. The sites that actually had secrets in their traffic that could be worth protecting, and were willing to pay tens of thousands to buy certificates and then pay the compute tax on the traffic encryption.

Re: Acme, a brief history of one of the protocols which has changed the Internet

#59
post #8

Let's Encrypt did more for privacy than any other organization. Before Let's Encrypt, we'd usually deploy TLS certificates, but as somewhat of an afterthought, and leaving HTTP accessible. They were a pain to (very manually) rotate once a year, too. It's hard to overstate just how much LE changed things. They made TLS the default, so much that you didn't have to keep unencrypted HTTP around any more. Kudos.

And with that, kudos to Mozilla, EFF and the University of Michigan for founding Let's Encrypt for just that purpose.

(I do work at Mozilla now, but this predates me. Still think it's one of its most significant (and sadly often overlooked) contributions though.)

Re: Acme, a brief history of one of the protocols which has changed the Internet

#60

Can someone explain why letsencrypt certificates have to be 90 days expiry? I know there is automation available, but what is the rationale for 90 days?

Because companies can't be trusted to set up proper renewal procedures.

If a cert has to be renewed once every 3 years, plenty of companies will build an extremely complicated bureaucratic dance around the process.

In the past this has resulted in CAs saying "something went wrong, and we should revoke, but Bank X is in a Holiday Freeze and won't be able to rotate any time in the next two months, and they are Critical Infrastructure!". Similarly, companies have ended up trying to sue their CA to block an inconvenient revocation.

Most of those have luckily been due to small administrative errors, but it has painfully shown that the industry is institutionally incapable of setting up proper renewal processes.

The solution is automated renewal as you can't make that too complicated, and by shortening the cert validity they are trying to make manual renewal too painful to keep around. After all, you can't set up a two-months-long process if you need to renew every 30 days!

Post reply on HN