Let's Encrypt Has Issued a Billion Certificates
letsencrypt.org
letsencrypt.org
That's awesome. Congrats
(I know you're joking)But even if they're costly, if they keep the service running and bring in funds, why would anyone risk damaging their business and start cutting costs ?
The case problem was that the software was running on MS-DOS, had a janky text-based interface, but managed to work well for Zara's fast-fashion inventory.
The 'right' solution for the case was to not change anything at all.
I find it hard to believe that any business would not benefit from moving from an ancient computer system to one with error validations and better tooling so that their boots on the ground can make less mistakes. Forget the cost of transitioning since at scale that's a whole executive job function, but purely from a day-to-day I don't understand how what you said can be true.
Even passenger jets still use floppy disks. AFAIK Zara did update their POS system later though, to be more compatible with payment device hardware.
Assume each site makes one certificate issue request per month: 146 * 10^6 / (30 * 24* 3600) ~= 56 reqs/sec. Maybe double or triple the number to account for office hour-related peak hours.
I don't even think sharding would be required to handle that, strictly speaking. A single medium-to-high end machine could probably handle billions of sites this way, assuming everything has been done right (I assume it has).
I do however think a lot work has to go into:
a) developing/documenting client tools
b) developing/maintaining the server codebase
c) developing/documenting/maintaining security protocols
d) devops for the server(s) doing the key signing
e) devops for maintaining security, according to the protocols developed
and so on...
It's just pure greed. These sort of disinformation campaigns by nonprofits should be illegal.
Donations follow the same axiom as pricing: ask for what the market will bear.
while "dire" might be a bit of an overstatement, I agree with this impression because it is in part why I donated once or twice.
This is a reasonable stance to take, except when your donations are enough to cover the core product for decades.
It's not literally fraud in the legal sense, but it's purposefully taking advantage of the goodwill of unsophisticated donors to fund projects and people the donors predictably wouldn't approve of if they understood what was happening. The donors think they are supporting Wikipedia, and the money is largely going elsewhere. Morally, it's lying.
Not defending. Having done some myself, I'd guess they're mostly following the standard playbook.
And yet every donation dialogue on their page is a desperate plea for money to preserve Wikipedia itself.
This is the misleading theme around Wikimedia's donation strategy.
It looks like quadratic growth until around 2011, after that it becomes linear. This still seems like a lot of growth, considering the number of pageviews per article seems to be roughly constant over the last 5 years [1]
0: https://wikimediafoundation.org/about/financial-reports/
1: https://tools.wmflabs.org/pageviews/?project=en.wikipedia.or...
Edit: this is how last year's expenses break down:
Salaries and wages: 46,146,897
Awards and grants: 12,653,284
Internet hosting: 2,335,918
In-kind service expenses: 1,361,958
Donation processing expenses: 4,977,583
Professional service expenses: 8,998,261
Other operating expenses: 9,005,744
Travel and conferences: 2,867,774
Depreciation and amortization: 2,856,901
Special event expense, net: 209,690
------------------------------------------
Total expenses: 91,414,010
(sorry if that's unreadable on mobile)Ha.
They may have raised more or less than their annual budget this year plus I imagine probably spend some money on their email campaigns etc.
So it doesn’t seem totally out of line.
If you live in SF, Seattle, Portland, NYC, Boston, Chicago or Philly, 80K is lower-middle class if that. Other cities/countries, it's incredible... just depends.
[1] https://www.quora.com/What-is-the-annual-budget-of-Wikipedia [2] https://upload.wikimedia.org/wikipedia/foundation/3/31/Wikim...
Exponential growth has ever-increasing slope.
I'm was just referring to the op's observation that the growth is linear.
My point was you can only achieve that linear result if the first few data points are ignored.
I suspect that there are a lot of other non-web applications out there that have hugely benefited as well...
why target them when it's OSINT? :)
[ed: compromise of their HSM would be bad and I didn't consider active attacks, only passive]
Incidents at WoSign/ StartCom presumably involved malfeasance by key staff. I guess that doesn't count as a breach unless you'd call it a "Bank raid" if the manager just empties the vault into his own car and flees.
At Symantec they knew third parties had the independent ability to issue with any of their CAs but that was specifically contracted third parties (in particular a Korean firm named CrossCert) not just random people, it's just that issuance records weren't properly kept and oversight was inadequate. Again the ability to cause issuance isn't technically a breach, the keys stayed inside the HSM but it was possible to cause unrecorded issuance so there's not much moral difference.
I don't know of any public cases where an org has disclosed that an external attacker exfiltrated key material from an HSM. That being said, there have been a number of disclosed vulnerabilities against HSMs/vendors that could allow this sort of attack to happen. CVE-2015-5464 is my favorite of these. There are also plenty of attacks that compromise the servers that talk to the HSMs, which usually would give an attacker the ability to perform arbitrary crypto operations using the keys in the HSM with no restrictions and little-to-no audit trail. I also know of attacks where the compromised "servers" are part of the HSM itself, but outside of the crypto/FIPS boundary.
But if you compromise the security of a PKI, you can decrypt the traffic.
In TLS 1.3 the session key is always chosen before any certificates go anywhere, using some flavour of elliptic curve Diffie Hellman key agreement - both sides agree on the same secret key without it being sent anywhere because Mathematics is Cool. So even if you were a fool and entrusted the Private Key corresponding to your web servers to somebody you shouldn't there's no way for bad guys to decrypt stuff without a live MITM attack.
The middle ground (modern browser, co-operative server, but older TLS version) is in between, bad guys can't retrospectively decrypt but it is clunky and some stuff (e.g. certificates) is not encrypted at all.
This all depends on the ciphersuite used by the client and server. In TLS 1.2 some ciphersuites use forward-secret methods (typically "DHE" and "ECDHE"), and some don't.
In TLS 1.3 you always get the benefits that you mention, but in TLS 1.2 and earlier you sometimes get them. :-)
An evil CA can of course generate fake certificates for any hostname they like, but those people already exist. Have you taken a look at just how many different root CAs are out there, and are trusted by your OS/browser? It includes hundreds of companies and governments. Then there are even more (countless?) 'second level CAs' (I forget the proper term, sorry!) who can also generate and sign a trusted certificate for any hostname, because, while they aren't a root CA, their authority has been signed in turn by a top-level CA. The web of trust is very large and has many points of failure.
Perhaps intermediate CA.
https://en.wikipedia.org/w/index.php?title=Intermediate_cert...
If the evil CA is default-trusted by major OS and browser vendors then they can - with their own private key then do a MITM.
They can either log it into Certificate Transparency (and include the SCT, the "receipt" for logging it, in the cert), or not do that.
If they log it, the server operator can see (in the public CT logs) that a certificate was issued for his domain by someone else, and raise hell.
If they don't log it, the certificate won't have an SCT. That means that software that enforces CT can treat the certificate as invalid, and if someone saw the cert on the wire, it would immediately appear suspicious since all Let's Encrypt certs are supposed to have an SCT.
They could also get an evil CT log to issue a SCT without logging it, but that would generate irrefutable cryptographic proof of malfeasance of the CT log.
If a SCT is issued, it has to be logged within a certain amout of time; 3rd party auditors check for this. [1]:
An auditor is a third party that keeps log operators honest. They query logs from various vantage points on the internet and gossip with each other about what order certificates are in. They’re like the paparazzi of the PKI. They also keep track of whether an SCT has been honored or not by measuring the time it took between the SCT’s timestamp and the corresponding certificate showing up in the log.
And only certain logs are trusted anyway [2]; a CT log that doesn't meet certain requirements wouldn't be trusted to begin with. And if a trusted CT log turned evil, it would quickly be noticed.
[1]: https://blog.cloudflare.com/introducing-certificate-transpar...
[2]: https://github.com/chromium/ct-policy/blob/master/log_policy...
But indeed, an SCT and a later timestamp on the log without having logged the cert would be the cryptographic evidence I talked about.
2. A DNSSEC-signed website can use DANE to specify which certificate, intermediate or key is authorized to be used. [2][3]
[1]: https://blog.qualys.com/ssllabs/2017/03/13/caa-mandated-by-c...
[2]: https://weberblog.net/how-to-use-danetlsa/
[3]: https://community.letsencrypt.org/t/please-avoid-3-0-1-and-3...
Breaking news: there are other applications on the internet other than browsers.
And some of them use TLSA records. It’s the de facto standard for for secure email, especially if you want guaranteed protection from downgrade attacks.
DNSSEC, DANE and TLSA are widely used to secure SMTP servers. From the web page showing the nearly 2 million domains with signed MX and DANE records [1]:
The following graph depicts the number of domains that have deployed DANE/SMTP. Specifically, their zone is signed, their MX records all point to hosts that have DANE TLSA records.
Regarding MTA-STS, it's a work-around for the large global email providers that can’t implement DNSSEC for a variety of reasons.
Again, MTA-STS has problems, the main one is being susceptible to downgrade attacks because MTA-STS doesn’t use DNSSEC. An attacker can MiTM a connection preventing a TLS connection.
The MTA-STS RFC [2] confirms this:
The DNS-Based Authentication of a Named Entities (DANE)TLSA
record [RFC7672] is similar, in that DANE is also designed
to upgrade unauthenticated encryption or plaintext
transmission into authenticated, downgrade-resistant
encrypted transmission. DANE requires DNSSEC [RFC4033] for
authentication; the mechanism described here instead relies
on certification authorities (CAs) and does not require
DNSSEC, at a cost of risking malicious downgrades.
There’s no dispute about any of this, so it’s not clear why you continue to make false and misleading statements about these technologies, regardless of your opinions about them.You know the old saying: you’re entitled to your own opinion but not your own facts.
[1]: https://stats.dnssec-tools.org/#dnssec
[2]: https://tools.ietf.org/html/rfc8461#section-2
A more complete description I posted previously: https://news.ycombinator.com/item?id=22338742
The entire idea behind STS protocols is to use continuity schemes to defeat downgrades. It's literally the only threat model.
These domains wouldn’t have MX or TLSA records unless they were doing email.
Even if a zone is pre-signed, an admin has to intentionally create DANE records, which they wouldn’t do unless they were hosting SMTP servers.
But it does show the statement that DNSSEC, DANE and TLSA aren’t used for secure email to be utterly untrue.
MTA-STS has other issues:
* Authenticates domain control via CA leap of faith
* Vulnerable to MiTM at cert bootstrap
* Vulnerable to weakest root CA, and unauthorized certs
* Open to downgrade on first (or irregular) contact
* Complex mix of HTTPS, unsigned DNS and SMTPI'm having a hard time articulating how silly it is to try to dunk on MTA-STS for being "vulnerable" to downgrade attacks; it's like trying to say that HSTS is vulnerable to SSL-stripping attacks. You have to not understand the idea behind the attack or the countermeasure to lead with that argument.
Here's a short list of domains that are using DNSSEC, DANE and TLSA to protect their email. I also provide a transcript of a utility that connects to and verifies the SMTP server and the DANE/TLSA records for openssl.org and could have done so for every domain on this list but there's no reason to get carried away.
* geektimes.com
* gmx.com
* mail.com
* comcast.net
* dd24.net
* debian.org
* freebsd.org
* gentoo.org
* ietf.org
* isc.org
* netbsd.org
* openssl.org
* samba.org
* torproject.org
There's a DANE TLS SMTP server checking tool: https://www.huque.com/bin/danecheck-smtp
Here's what it does: This application checks a DANE SMTP Service. It queries the MX record set for the given domain, looks up DANE TLSA records at the MX targets, connects to the target servers, negotiates STARTTLS, and then attempts to verify the TLS server certificate against the TLSA records.
Lets test openssl.org:
Domain Name: openssl.org
MX host: 50 mta.openssl.org
#################################################################
### CHECKING MX HOST: mta.openssl.org
#################################################################
TLSA records found: 1
TLSA: 3 1 1 6cf12d78fbf242909d01b96ab5590812954058dc32f8415f048fff064291921e
Connecting to IPv6 address: 2001:608:c00:180::1:e6 port 25
recv: 220-mta.openssl.org ESMTP Postfix
recv: 220 mta.openssl.org ESMTP Postfix
send: EHLO cheetara.huque.com
recv: 250-mta.openssl.org
recv: 250-PIPELINING
recv: 250-SIZE 36700160
recv: 250-VRFY
recv: 250-ETRN
recv: 250-STARTTLS
recv: 250-ENHANCEDSTATUSCODES
recv: 250-8BITMIME
recv: 250 DSN
send: STARTTLS
recv: 220 2.0.0 Ready to start TLS
TLSv1.2 handshake succeeded.
Cipher: TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384
Peer Certificate chain:
0 Subject CN: mta.openssl.org
Issuer CN: Let's Encrypt Authority X3
1 Subject CN: Let's Encrypt Authority X3
Issuer CN: DST Root CA X3
SAN dNSName: mta.openssl.org
DANE TLSA 3 1 1 [6cf12d78fbf2...] matched EE certificate at depth 0
Validated Certificate chain:
0 Subject CN: mta.openssl.org
Issuer CN: Let's Encrypt Authority X3
SAN dNSName: mta.openssl.org
Connecting to IPv4 address: 194.97.150.230 port 25
recv: 220-mta.openssl.org ESMTP Postfix
recv: 220 mta.openssl.org ESMTP Postfix
send: EHLO cheetara.huque.com
recv: 250-mta.openssl.org
recv: 250-PIPELINING
recv: 250-SIZE 36700160
recv: 250-VRFY
recv: 250-ETRN
recv: 250-STARTTLS
recv: 250-ENHANCEDSTATUSCODES
recv: 250-8BITMIME
recv: 250 DSN
send: STARTTLS
recv: 220 2.0.0 Ready to start TLS
TLSv1.2 handshake succeeded.
Cipher: TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384
Peer Certificate chain:
0 Subject CN: mta.openssl.org
Issuer CN: Let's Encrypt Authority X3
1 Subject CN: Let's Encrypt Authority X3
Issuer CN: DST Root CA X3
SAN dNSName: mta.openssl.org
DANE TLSA 3 1 1 [6cf12d78fbf2...] matched EE certificate at depth 0
Validated Certificate chain:
0 Subject CN: mta.openssl.org
Issuer CN: Let's Encrypt Authority X3
SAN dNSName: mta.openssl.org
[0] Authentication succeeded for all (2) peers.DNSSEC standardization began in NINETEEN NINETY FIVE. That's twenty five years ago. They got GENTOO.ORG. That's the win you're crowing over. Congratulations! As goes GENTOO.ORG, so too goes the Internet.
[citation needed]
If that were true, I'd expect browser/OS makers to promptly revoke trusted CA status for them.
Comodo issued bogus certs, so did MCS. It's happened a few times over the years.
It takes a very long time to revoke trust if you don't want to break the web. Symantec was discovered to have misissued a bunch of certs in 2015[1] (including for google.com). No one removed trust for them. Then in Jan 2017 it was discovered they misissued a bunch more[2]. I believe it was the end of 2018 before browsers finally removed trust for them.
[1] https://security.googleblog.com/2015/10/sustaining-digital-c...
[2] https://security.googleblog.com/2017/09/chromes-plan-to-dist...
An evil CA can generate fake certificates, because a CA can sign (generate) any certificate they want, because all they're doing is saying "this is legit, trust me".
People with the power to generate fake certificates for any hostname already exist regardless of the size of Lets Encrypt. Consequently LE aren't a particular threat. (And the short lifespan of LE certs significantly reduces the value of them as a target. Once the dodginess is identified, you could detrust them within a much shorter timeframe)
Edit: https://media.libreplanet.org/u/libreplanet/m/seth-schoen-le... the question is at 46:22.
Using those traditional free CAs still required getting the signed certs through a sometimes obscure process from their website, transferring it manually to the target system etc.
The manual handling alone, which causes work, adds another point of possibly exposing secrets, does not scale, can't be automated, etc was reason enough to replace it with ACME, even if setting it up would be quite complex (which it isn't at all).
There were some fairly grave noob-type security bugs in that service (to be fair Let's Encrypt almost went live with a fairly grave but more subtle to understand bug, and did go live with tls-sni-01 which it turns out is unsafe if people use Apache HTTPD for bulk web hosting which er, they do). Because of the grave problems StarCom turned their API off after not very long, presumably with the intent to eventually repair it and re-launch.
A surprising number of people became convinced Let's Encrypt was some sort of attack on StartCom and that the other problems with StartCom/ WoSign (eventually leading to them being distrusted) were a conspiracy to popularize Let's Encrypt.
Automation solves these problems. Don't be the computer's slave--tell it what to do.
2) 20 years' expiration is a security risk that should not be taken. Letting you do that would be a bad idea not just for you--you can make stupid decisions on your own--but for anyone who connects to you, and you aren't entitled to do that.
I don't understand why someone who is theoretically a programmer would be so odd about this.
Domains don't have the same property, owning a domain under a false name is trivial.
For about $100 someone can, from the comfort of their apartment in Moscow, or on a beach in New Zealand or wherever they want, create a totally legitimate business in many countries such as the UK and United States despite never having even visited. For their money all the paperwork will be done by local lawyers who won't ask any awkward questions about who they actually are or why they suddenly want to have a business in their country which has zero physical presence. The lawyer can arrange for post sent "to" this company to be delivered to an office which can scan and forward it to the owners by email if they want though that'll cost an extra fee per year. The people working in the office know no more than a postman does, so persecuting (I hope you meant prosecuting? But either way) them achieves nothing for you.
Thus, even if you've 100% checked this is a real company or person in your country your "clear path" can end in a cul-de-sac.
Human names don't even need somebody to pay some dodgy lawyer a fee to do the paperwork, you can just lie. In the UK for example you're allowed to change your name at will. Using this to commit crimes is itself illegal, but that doesn't actually help you find someone.
Also, to folks who wish to "pay" for the certs, you can do so at https://letsencrypt.org/donate/. A yearly recurring donation for the avg price of an SSL cert is what I do.
why are you shutting down servers to rotate certificates? a reload should be totally possible!
[[ Ha, they got around to removing 115 from the list at some point, that was always funny. It got on the list because port 115 is in IANA's list as SFTP, but that's because IANA thinks SFTP means "Simple File Transfer Protocol" a long obsolete protocol like TFTP whereas the SFTP we know today uses port 22 because it's just SSH ]]
There's no intention to add more ports to the Authorized Ports list in the Baseline Requirements AFAIK. Control over other ports doesn't have a very strong connection to control over the whole named machine.
But with acme-dns, you just set a static DNS entry once and host your own DNS server solely for acme-challenges. So yes, it uses the DNS protocol, but the implications are very different from the normal DNS challenge option.
My company relies heavily on Let's Encrypt to offer SSL for all kinds of use cases including wildcard domains. We wouldn't be here without them and we're proud to be an official sponsor.
If your company can afford it, do consider a corporate sponsorship: https://letsencrypt.org/become-a-sponsor/
At the heart of things, our certificate signing infrastructure includes multiple HSMs, each one with multiple signing cores. This means that we're signing certificates in parallel all the time.
The signed certificates are inserted into our internal database in a serialized order, but due to how we optimize our database it's not easy for us to just ask "what is the billionth one." That kind of query is usually not a very useful one for us to make.
The latter doesn't apply to Let's Encrypt (they're too new and this is no longer the Done Thing) but the former certainly does and there might be other technical reasons for small deviations.
Inaccuracies in the timestamps are only forbidden if their purpose seems to be to defeat some other policy. For example during SHA-1 deprecation new certificates were forbidden because once you cease issuing there's no new risk from collision attacks. You can't travel back in time with knowledge of a collision and get certificates, so if a collision is found in 2017 but no certs were issued after 2016 then we're safe. To enforce the prohibition certificates using SHA-1 but dated after the prohibition weren't trusted. But a misbehaving CA (in this case WoSign) could back-date a SHA-1 certificate presumably for a hefty mark-up over their usual prices. This was against the rules, Gerv (who has since died) investigated and built up good evidence that's what happened though.
Anyway, there are less than 100 000 seconds in a day and in that time Let's Encrypt issues typically over a million certificates. So there might be dozens of certificates issued in the same second as the billionth one no matter how you count.
Like, in theory you can look at all of
https://crt.sh/?Identity=%25&iCAID=7395
https://crt.sh/?Identity=%25&iCAID=16418
to see all of them, and then find the billionth one. But wait, there are already 1.7 billion logged on just CAID 16418 alone...?
That's because of something called CT precertificates which are a weird hack where CAs may issue every certificate twice (once in a usable form and once in an unusable form) in order to facilitate CT logging verification. So some (but not all!) of those 1.7 billion are duplicates, which you can determine by excluding the ones that have the "precertificate poison" X.509 extension. Which I don't think crt.sh lets you do easily in this query interface.
Also, I think its interface can only show you results in log order rather than sorted by issuance date. So you would potentially need to do your own CT log parsing into a database in order to run this moderately complicated query, unless you can find someone else with a parsed CT log database who will let you run more specific database queries than crt.sh.
It's always weird when something computer-related is like "that data is public, but not currently present in a useful database schema that you can query to answer your exact question", but I think this is one of those cases!
You can connect with:
psql -h crt.sh -p 5432 -U guest certwatch
From what you're saying, the query would be: SELECT c.ID
FROM certificate c
WHERE (c.ISSUER_CA_ID = 16418 OR c.ISSUER_CA_ID = 7395) AND NOT x509_hasExtension(c.CERTIFICATE, '1.3.6.1.4.1.11129.2.4.3')
OFFSET 1000000000 LIMIT 1;
Unfortunately (but expectedly) it times outI don't think this is just about having money and funding, it's a very careful and tactical approach.
Agree it would be nice if we find and capitalize on opportunities like this, but (to me) it would be hard to run an email provider with the operational goals they list:
- Minimal logic
- Minimal data
- Full automation
- Functional isolation
- Operational isolation
- Continuous availability
It is all cool and great, but is it sustainable long term, who guarantees that everything will work in 10 years? Monocultures are not desirable.
A ray of hope - you can get a two-year certificate for 10 bucks - so right there, another major benefit of Let's Encrypt, they makes for better competition. (ok I know Apple will stop honoring these starting in the Fall, but I still got two years since the expiration will be for new certificates)
In X.509, the CA never sees the private key associated with a certificate. So while a state actor could always manufacture a “legitimate CA-signed” replacement cert and MITM you with it, they can’t do anything about modern defense-in-depth security approaches like certificate pinning, since it’s the particular public key of the original cert being pinned, not the CA’s authority + CN.
Some pinning strategies assume a particular CA is trustworthy and pin the public key for that CA, so that they don't need to update with new pins just because they got a new certificate. Obviously you do need to stay on your toes (if you pinned Symantec and then it got distrusted... need to get new pins pronto) but that's true for any pinning strategy. Laziness plus pinning is a bad combination. Like er... keeping tigers as pets and having a toddler maybe?
(January 2015)
I'm not sure it's worthwhile that your fallback is either ACME or automated. In fact, the failure isn't even one that should page anyone in the middle of the night; 30 days gives enough time to manually sort things out during regular work hours.
I like my automated functions to stay that way as long as possible!
Redundancy of suppliers (of anything) is a general good practice.
One benefit thought would be they could more easily block access to sites they don't want folks visiting by just denying a CA cert (which would then generate warnings / blocking in many browsers).
It doesn't have to be just the state or the UN though. It's not about removing all the other actors on the market.
But if I make a website on Python programming in french, I'm quite ok using the french gov as a CA provider.
I mean, I trust mozilla because it's mozilla. But I wouldn't trust most companies.
Figuring out how best to have browsers check the logs are truly accurate while preserving user privacy (e.g. obviously if you call a log to ask "Did you log this certificate for clown-porn.example ?" it gives them a good idea about your taste in circus-related adult content which you probably don't want them to have) is an ongoing topic of research.
With SCT checks you're in very good shape already today - bad guys would need to compromise several distinct entities to successfully pull this off. It's just not quite "Fire and forget" safe yet.
The SCT is signed by the log, so if you want them to lie you'd need to control enough logs to get enough qualified SCTs. Bad news, for Chrome that means it must include a Google log, which means now you're asking Google to conspire against themselves.
For now you could sidestep this by issuing bogus certificates with back-dated issuance dates. But that will stop working once those dates are too long ago for a certificate to still be valid. I think that happens some point later this year or in 2021 maybe? If you show Chrome (perhaps other browsers but I've read the code in Chrome) a certificate in which the lifespan (between NotBefore and NotAfter) exceeds the maximum permissible lifespan at that issuance date, it treats the certificate as invalid anyway.
https://security.stackexchange.com/questions/31376/can-i-res...
https://www.ietf.org/rfc/rfc2459.txt - section 4.2.1.11, Name Constraints
Given that I don't think you can actually buy that kind of cert, and the term "CA" is accepted to imply "universal CA", you're correct.
These are documented, on a best effort basis, at:
https://wiki.mozilla.org/CA/Additional_Trust_Changes
It is true, however, that no equivalent rules are enforced in most generic TLS clients (e.g. using OpenSSL directly or something like Python).
https://bugzilla.mozilla.org/show_bug.cgi?id=1567114
Not exactly the same as for-website certificates but in the same realm of government certificate issuance.
It’s hard to imagine the old Mozilla enabling DNS over HTTPS by default to Cloudflare, with DoH’s tracking issues: https://labs.ripe.net/Members/bert_hubert/centralised-doh-is...
FTFY
A quick look at a root store turns up
subject=C = CN, O = China Financial Certification Authority, CN = CFCA EV ROOT
subject=C = HK, O = Hongkong Post, CN = Hongkong Post Root CA 1
subject=C = NL, O = Staat der Nederlanden, CN = Staat der Nederlanden EV Root CA [and other roots with the same organization]
subject=C = TW, O = Government Root Certification Authority
I think there are several others, probably especially at the intermediate level.
I would like to hear from the planetary president to see what he has to say about that.
Seriously this is all great but unfortunately with all the mess going on with "the big powers" I'm not sure you want to give them that. I wished we lived in a world where we could tho.
Some large player - today it'd probably be Google, in the future maybe some other company - or a collection of players would decide that it's in their best business interest not to let half of the open Internet go down. And they'd come to the conclusion that providing a replacement that's basically just "change this url in your ACME software and you can continue do things as before" doesn't cost them too much (Google already runs a CA, as do many other large IT corps) and they should do it.
Cloudflare (MiTM [0] or not) is on record that 10% (and not 66%) of the all internet traffic now flows through their networks.
How exactly would Google MITM half the SSL on the internet by virtue of issuing certificates via ACME?
The private key never leaves the subject's system (the system hosting a website for example). Google would never have access to the private key for which it would issue the public key certificate.
Further, if Google abuses its power by issuing a fake certificate for another website and uses that to MITM all traffic to that website, all browsers and systems would remove the offending CA certificates from their trust store immediately. Look what happened to DigiNotar.
Not sure how that is relevant. DigiNotar was a trusted root CA in all major browsers. So if an attacker managed to get a fake certificate issued by DigiNotar, they could attack 100% of the users visiting the website for which the fake certificate was issued.
In fact, they did issue fake certificates by accident due to a security breach. As soon as the error was caught, their CA certificates were removed from all browsers. They went bankrupt! That's how serious this business of issuing certificates is.
For this reason alone, having a major browser dev as a CA is not a good idea, regardless of how much or little you trust google.
Let's Encrypt doesn't have any more ways of MITMing people using their certs than any other CA - that is, they _could_ do it by generating rogue certs, but that's no different than what Google can already do since they're a CA as well. Plus, certificate transparency logs should make it visible if they ever do so.
0: Barring weird cases I've seen of some companies letting you generate a cert entirely on their website, letting you download the private key once it's done. Which is bad practice for the reason you're talking about right now, since by then you have no assurance that they haven't kept a copy of that private key for later use.
It's a very valid attack, although minimal. To say they don't have any way of MITM'ing a connection is wrong even if it's unlikely.
https://en.wikipedia.org/wiki/DNS_Certification_Authority_Au...
If a CA is incompetent or malevolent it would just ignore CAA records or not check them at all.
It would be a serious bug if a web browser for example went "Hey this site has a cert from Bob's CA but the CAA records for the domain say only Alice's CA is to issue" and rejected the certificate from Bob's CA. The CAA notice is about allowing new issuances right now but maybe last week when I got this certificate from Bob's CA I didn't set that CAA record so that was fine.
It would be valid (maybe not a brilliant idea, but valid) to set CAA to refuse all issuance, changing it only for a few minutes once a week while you do all your certificate changes.
Chrome and Safari currently validates that a certificate has been published in the publicly available transparency logs as part of considering it valid.
Either Google doesn't publish the certificate in the logs and it's not valid, or they publish it and people are able to see the misissuance.
It's not foolproof, but it makes the attack even less likely.
I totally agree, it's why I qualified it with "just by virtue of them being the one validating the cert for a certain website" and later on adding that they could do so in other ways, like the one you're suggesting. Reading it again makes me realize that it could be understood that way, though, sorry if I wasn't clear enough. Sometimes not being a native English speaker betrays me a little bit. =)
Google also controls a major public DNS resolver (8.8.8.8) and the most popular browser.
But hey, y'know, they're the good guys or whatever so I'm sure it's fine. (Probably. Right up until the moment when it's not.)
We would quickly see article and reminder that free means you are not the client :)
Just recently I had issues with Lets Encrypt bot. Apparently on new version of Centos it craps out with some incompatible python libraries. Once I fixed it it turned out I am blacklisted from requesting new certs for 7 days, per their rate limits. That made me come back to drawing board for 60-some domains I ran and just purchase the damn certs. They so cheap these days unless you ran a hobby website its just not worth the savings.
The rate limit for failed issuance is one hour, not 7 days. The 7 day rate limit applies when you successfully issue 5 identical certificates; then you have to wait 7 days more to issue a new identical certificate.
https://letsencrypt.org/docs/rate-limits/
It's unlikely that you would be subject to the 7 day duplicate certificate limit due to a Certbot dependency problem, because the dependency problem would have to allow Certbot to obtain the certificates correctly but fail to save them properly.
(Source: I'm a Certbot developer.)
I should also add that I'm really sorry that you experienced an installation problem on CentOS. Dependency and packaging problems continue to be a challenge for Certbot and our colleagues are still trying to find a more universal solution to them (probably involving snaps).
I run my own DNS server using Knot and acme.sh supports it.
Do you mind expanding on this? It’s not clear to me what status quo Apple will stop maintaining.
[0]: https://www.theregister.co.uk/2020/02/20/apple_shorter_cert_...
Like netlify (hosting a static site with build is super easy). Same with Cloudflare and a bunch of others.
As a user it’s all abstracted at simply the push of a button.
https://github.com/letsencrypt/boulder/blob/4184dc3fc997d51e...
Single point of failure and you don’t even get insurance if something does go tits up. Unlike you would with a normal paid SSL certificate .
If ICANN can’t be trusted what makes me want to trust LetsEncrypt.
I don’t trust it, I won’t use it. I don’t like it.
Yeah I know there are billions of legacy devices that will never work on it but gotta start somewhere or adopt a current alternative asap so a decade from now it's common.
This would mean letsencrypt certificates make up more 2/3 of the internet!
[1] https://www.websitehostingrating.com/internet-statistics-fac...
[2] https://www.internetlivestats.com/total-number-of-websites/
Edit: Sounds like these include renewals from the thread, but it’s still over 10pct of the internet!
https://letsencrypt.org/donate/
Disclaimer : not affiliated but if you want to support a non-profit that's the best way to do it :)
Great job, and thank you so much!
Unfortunately lots of user interfaces don't support setting a custom ACME directory (the clients mostly do, but both pfsense and proxmox require fiddling to add your custom CA working via the web UI), but it's getting better.
Many thanks to LetsEncrypt with CertBot for making it pretty much painless.