Final Removal of Trust in WoSign and StartCom Certificates
groups.google.com
groups.google.com
What concerns me is:
- the lack of public communication, as shown here (tl;dr: private meetings): https://groups.google.com/forum/#!topic/mozilla.dev.security...
- the contrast between symantec and the mozilla security groups path forward [as well as how its communicated] (https://groups.google.com/d/msg/mozilla.dev.security.policy/..., https://www.symantec.com/connect/blogs/symantec-s-response-g...)
Google's approach is clearly different to that of Mozilla, but IIRC they have never pledged transparency. They're a commercial entity and they're doing what they think is right and/or is in their interests.
I used StartCom for years, but LE made it completely obsolete for me. And StartCom seems to have been willing to throw it all away with the WoSign acquisition.
Wish there was an equivalent thing for signing executables. eg for the binaries of our software releases.
We'd been using StartCom signing certs (for Win binaries) up until this clusterfk. ;)
Nope
GPG signing is suitable for a different group of users. :)
Just to get a signing certificate I'd need to get my personal id docs signed by a public notary, get those docs to the KSoftware people, and THEN they'd be ok to issue the cert.
Whilst not impossible, that's like the process was back in the Stone Age ;) for getting normal https website certs.
Obviously went with the StartCom approach instead, which may need to be looked at again if we need to sign packages in the near future. :/
The page on the Certum website about certs-for-open-source-signing didn't mention AuthentiCode at all. The AuthentiCode compliant certs seem like a different product.
If their certs for Open Source projects really are Authenticode compliant, I'd expect that to be front and center on the page about it. It's the one main feature of importance. :)
I much prefer the CA industry practice of, put a meta tag on your frontpage, or add a string to a DNS TXT record, and then download a certificate, then you're done for three years. I understand their security claims (which apparently don't apply to letsencrypt.org), but all CAs offer 2-3 year certs, so it's a feature they have that LE lacks.
certbot raises complexities if you're using a managed hosting solution that doesn't have shell access, or the owner of your machine doesn't want you running code on their box, or you have a weird custom web server setup or something.
But all the same, I'm not sure that avoiding certbot is worth continuing to pay $40 a year for my wildcard certificate from AlphaSSL. I may switch when mine expires.
What I'm even more hopeful for is that prices of wildcard certs from other vendors will drop now that there's a free alternative. I'm super excited that LE are finally offering these for free!
> Issuing certificates cost money
Making a post on HN probably costs more money than issuing certificates.
LE's probably the best we're going to get for a long time. Mozilla's one of the few groups I'd go so far as to say is completely benevolent, and LE is being operated as a public service.
It's not clear that the prices being charged by commercial CAs are anywhere close or even related to the underlying costs.
I think LE is beginning to demonstrate that the costs of operating a CA are not actually that high, at the same time that the lax behavior by certain commercial CAs has demonstrated that the "validation" they provide is of very little value.
The actual technical infrastructure required, while intricate, isn't that hard to set up.
a) free letsencrypt certificates for everything that only needs to be domain-validated (DV SSL).
b) $95/year EV certificates for companies that want the big friendly green banner on their ecommerce/credit card checkout pages, which is reassuring to the average non techincal user. In the last 4 years I have seen the price for EV SSL certs fall from $400/year to $95/year from several vendors. My main concern is that EV SSL issuers need to be held to a very high standard of actually verifying corporate identity. If they start getting lax about it and known EV certs go out to not-fully-vetted organizations, that would be a bad thing for the whole idea behind EV.
e.g. a software as a service database provider most likely does not use their own software for their database.
If you have a host that doesn't have shell access, it wouldn't be that hard to modify a script like that to copy files up to .well-known/acme-challenge, and copy the TLS key in place when done.
Why? The whole point of LE is to be able to automate renewals and if you automate it then the length of validity makes zero difference.
From Wikipedia:
> Let's Encrypt is a certificate authority that launched on April 12, 2016
From Let's Encrypt's certificate
> Period of Validity > Begins On: 2015/2/4
I agree they should eat their own dogfood, but in the meantime, I'm eating their dogfood and it tastes pretty good.
I use the acme.sh client (https://github.com/Neilpang/acme.sh) for updating certs for a site on a managed platform, using the DNS verification method.
Long term I would be concerned that browsers, such as Chrome, may stop supporting certs that last too long. We are already seeing this behavior with Symantec after some security issues with issuing certs. I expect in the long run certs that last over a year will be done away with.
Their UI wasn't the best, but it was functional and the overall system made a lot of sense. They didn't put an artificial price on some bits with a marginal cost of nada. It's a real shame all that got flushed, because that model of business filled a hole that has no general world solution right now (in principle authentication of their citizens should be a core role and offering of modern government, but I'm not holding my breath there).
I'm personally quite glad the SPI CA is gone, and that we removed CACert[2][3]; stopped a lot of "works on my machine" confusion, and made the project more welcoming to people not already running a Debian derivative.
[1]: https://www.gandi.net/supports/debian/ [2]: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=718434 [3]: https://bugs.launchpad.net/ubuntu/+source/ca-certificates/+b...
IMO, just like one of those schemes where you don't pay to get in, but you have to pay to get out.
It's a shame, because they could have achieved a market share similar to Let's Encrypt, if only they had played their cards slightly differently.
I did not forget that, I was just talking about the authentication and certificate issuance side. But though it didn't fall under the umbrella of authentication it is something that actually cost real money at that point. You misunderstood the situation and how revocation functioned in a way that's extremely important (since it's finally getting fixed but the improvements could use more widespread deployment). The original certificate revocation mechanisms, CRL and OCSP, are and always have been completely broken in terms of fundamental scaling and failure modes. Scott Helme just did an excellent summary on the situation and upcoming developments [1] which I strongly encourage you to read, but in essence due to the way they work seriously offering CRL/OCSP (as in, in a way that won't instantly die when someone breaths on it hard) services and adding certs to them requires significant distributed infrastructure, which has not always been cheap. They were bad approaches even with that though due to other practical failure modes that were beyond a CA's control anyway. Both stink to the point that many (most? all?) operating systems/applications/browsers just soft fail by default or even ignore them entirely. "Revocation" for the wider web has largely been a mirage.
StartCom did in fact have an explainer about this at one point, and their position was reasonable. Other CAs hid the cost in large part by charging a ridiculous amount for every cert issuance, despite many people never actually needing revocation services. StartCom let you have as many certs as you wanted after authentication for free, but if you lost one in such a way that you needed to make use of CRL/OCSP then you were charged. Users could pay that price, or alternatively invest in other ways to mitigate at their discretion rather then just getting charged no matter what.
If StartCom had survived until now, or if someone else adopted their model, then I'd expect at this point they'd make use of modern techniques like OCSP Must-Staple/Expect-Staple, CAA, CT, etc. by default, and in turn that problem would be solved at no cost.
>IMO, just like one of those schemes where you don't pay to get in, but you have to pay to get out.
This is completely ridiculous. Nothing inherently made anyone lose private keys. Even Heartbleed didn't defeat someone using an HSM for example. Nor would everyone who lost a private key need try to publicly revoke (to the extent that would even work). Given the cost tradeoffs this was one particular standards design failure that has been and remains wrong to make into some general insurance vs letting individuals have the freedom to deal with it as needed and/or having the standard itself fixed.
----
On the topic of revocation, you're missing a couple of aspects:
- First, both end users and CAs are required to revoke certificates that are compromised; it's not an option. It's a fundamental part of a CA's operation.
- Second, CAs provide revocation services like OCSP for revoked and non-revoked certificates alike. So, certainly the costs for running OCSP are comparable in both cases. You could argue that CRLs cost a bit more, but largely only because of the bandwidth cost (as CRL is just a file).
You have repeatedly stated this, and it is objectively false. The StartSSL site did not forbid archiving, and thus is available [1] going back to 2004 on the Wayback Machine. This includes both the HTML FAQ page and the policy PDFs of the time. This isn't some EULA boilerplate, actual clear policies and procedures for a CA you're interested in using for your infrastructure is something that is absolutely your responsibility to read.
When discussing Revocation (clearly titled) in the FAQ and Policy & Practice statements, even very old versions stated that a fee could be charged, and that revocation was considered a separate issue for free usage due to growth of the CRL. Later (since at least mid-2010, which is 2 years before Heartbleed was even introduced and 4 years before public disclosure) made this even more explicit, put it right in the FAQ, and put a clear price on it. From the FAQ, 2010 [2], the first sentence:
>>"72) Revocations carry a handling fee of currently US$ 24.90. [...] Extended Validation certificates are exempt from the revocation handling fee."
Please explain how they "weren't honest about what was free and what wasn't." Did you "actively look at how they presented themselves" but fail to so much as glance at the FAQ or Policies documents in doing so? None of this was remotely hidden, it was literally listed twice on the front page, both in the major navigation on the top and as one of just 10 sidebar items.
>First, both end users and CAs are required to revoke certificates that are compromised
Please back up your arguments on this. WRT to end users, under what authority at all are they "required" to do jack shit? Failing to do so in SOME industries and jurisdictions MIGHT involve negligence, but even that would depend on what other measures are taken. Please link any specific legislative or regulatory authority requirements to the contrary.
As far as CAs themselves, the authority would be the CA/B (enforced by virtue of browser/OS inclusion requirements, so the real ultimate "authority" there would be Apple/Google/Microsoft/Mozilla/OSS major distros & projects). At the time when StartCom established its initial policy, v1 of the CA/B baseline requirements [3] had not even been adopted yet (BR v1 adoption was Nov 2011, effective date was July 2012). Even then, 13.1.1 merely stated that:
>>"13.1.1 REVOCATION REQUEST: The CA SHALL provide a process for Subscribers to request revocation of their own Certificates. The process MUST be described in the CA’s Certificate Policy or Certification Practice Statement. The CA SHALL maintain a continuous 24x7 ability to accept and respond to revocation requests and related inquiries."
There were reporting requirements, and a 13.1.5 covers circumstances under which a CA must revoke within 24 hours. The most recent version, BR 1.4.5 (1.4.6 & 1.4.7 are in review), moves revocation to section 4.9 and includes additional details and sections (including, note, that there is no maximum latency on CRLs stipulated so a dishonest CA could make them "free" but run it off a toaster that takes 20 minutes per request).
However in none of this is it required that the CA make the process available for arbitrary usage at no cost. If a subscriber refuses to pay and the CA discovers a cert falls under one or more SHALL REVOKE parts of "Reasons for Revoking a Subscriber Certificate", then they have to revoke anyway and the cost may be unrecoverable, but they are free to treat it as a debt and go after the purchaser on their own for that money (or ban them from further use of their services). StartCom had a written laid out policy and procedure, and it was available continuously on their site. What requirement did they fail at?
>Second, CAs provide revocation services like OCSP for revoked and non-revoked certificates alike. So, certainly the costs for running OCSP are comparable in both cases. You could argue that CRLs cost a bit more, but largely only because of the bandwidth cost (as CRL is just a file).
Note again (and I pointed at this in my original reply): even now, BR contains no requirements on specific availability or latency beyond the original requirement (13.2.3 v1.0, 4.10.2 v1.4.5) that:
>>"The CA SHALL operate and maintain its CRL and OCSP capability with resources sufficient to provide a response time of ten seconds or less under normal operating conditions."
Ten seconds! Under normal operating conditions (DDOS survivability, ha!). Meeting requirements on the cheap is not the same as doing it right (to the extent that's even possible). And you are far to blasé about the growth of CRL in a situation where an unlimited number of 1 or 2 year length certs can be issued free of charge. One of the most principle rules of service scaling is that if you make something available that has a minor cost available at no cost, there is always a risk that users will fully take advantage of that.
One of the best parts about the new BRs is that they've started the process of allowing CAs to replace base OCSP requirements with use of Stapling (although oddly only for "high traffic" sites, whatever that means). That should be generalized/accelerated and both CRLs and base OCSP done away with entirely ASAP. But even given previous and existing rules I find your assertions that StartCom was dishonest or failed to meet requirements unconvincing right now.
----
1: http://web.archive.org/web/*/www.startssl.com
2: http://web.archive.org/web/20100704102024/http://www.startss...
Just because the revocation charges were documented somewhere on the web site doesn't make it right. A large percentage of certificates is revoked. Revocation is a normal and expected part of certificate lifecycle. Thus they should have been crystal clear upfront saying "we charge for revocation" in the same sentence where they said "we don't charge for issuance". They could have mentioned it on the same page, but they didn't do that either (I just checked their "free" certificate page from a random point in time.) So ask yourself why they didn't put such an important fact where most people would see it.
I had paid them for more than 5 years to provide a cert for my hobbyist website, then one day on a random subdomain decided that it was an 'organisation' and started demanding more money to verify this organisation, when there was no real organisation at all
Note, I haven't been able to test that script on an actually broken site with a Wosign certificate
[1]: https://pastebin.com/ZVMM3PJZ [2]: https://www.ssllabs.com/ssltest/analyze.html?d=google.com&hi...
However, although they don't trust WoSign and StartCom any more, it's possible that there is a cross-signed certificate to another CA, in which case the problem is not going to be detected. I seem to recollect that such cross-signed certs exist, but I haven't looked for them recently. Will do.
echo | openssl s_client -connect somewhere.net:443 -servername somewhere.net | grep -qE "(WoSign)|(StartCom)"Then there's also a question of servers other than HTTP, so you need to throw in a port scanner in there. And a tool to actively follow protocols, to discover MX hosts, maybe even look at SRV records, and so on.
$ openssl ... </dev/null | grep ...
EDIT: This also avoids OpenSSL sending its only input character (the newline that echo produces) to the server, which will throw it away anyway.
https://www.google.com/search?q=china+ssl+mitm&ie=utf-8&oe=u...
They make multiple low quality and mostly useless applications - one could even call them scamware: https://en.wikipedia.org/wiki/Comodo_Group#Consumer_Security.... They also forked Chromium and Firefox and made their own rebranded browsers which offer nothing of value.
They have multiple clearly fake comments on their certificate pages: https://ssl.comodo.com/comodo-ssl-certificate.php and https://ssl.comodo.com/wildcard-ssl-certificates.php
And finally they tried to trademark the name of LE: https://en.wikipedia.org/wiki/Comodo_Group#Let.27s_Encrypt_t...
Of course, AWS only issues certificates when you're using their stuff. For everything else, use LE :)