It seems to me that Comodo could have easily, cheaply, and painlessly avoided this situation by implementing some simple checks:
1. Instead of trusting the RA do the domain control validation, it should have done the domain control validation itself.
2. Simply by opening an HTTPS connection on port 443 for each site, it could have detected that each of the sites already have a cert from a different CA with different private/public key pairs. This should have triggered manual review by a security officer and more thorough determination of domain control before the certs were issued.
3. By doing #2, Comodo could have easily detected that some of the sites are using EV certs. No CA should be issuing (non-EV) certs for a website in this situation without comprehensive authentication of the requester.
4. AFAICT, the "global trustee" certificate should never have been issued by any CA because "global trustee" isn't even a valid DNS name. Why would the software even allow a cert with "DNS Name=global trustee" to be generated, regardless of claims of validity?
5. The "global trustee" case shows evidence that the RA's system does not require any network-based (email, http request) validation. AFAICT, the alternate forms of validation of the requester are pretty rare and it seems very reasonable to mandate that someone from Comodo re-validate the request after the RA has done so when this alternative type of validation is used.
6. It seems trivial to build a list of high-value target domains, which would have included all of the domains targeted in this attack. Flagging these high-risk domains as for manual review by multiple people at Comodo would have almost definitely prevented these certs from being issued.
7. The mismatch between the country of the requester (Iran) and the subjects of the certificates (US), and the mismatch between the country of the requester and the geo-ip lookup for the servers in question similarly should have been red flags triggering more validation to be done.
In all the cases where there is a red flag, it makes the most sense to halt the process and do the extra validation *before* the cert is *generated* (not just before it is *sent* to the requester).
It seems to me that it is reasonable to expect and require CAs in our root program to commit to making doing these checks and to require audits of CAs to verify that carefully-secured mechanisms for doing these checks are in place. (Interestingly, I read that Comodo already claimed it started doing #1 after a previous incident; I do not understand how the attacker was able to get Comodo to issues these certs in this situation, based on their description of the events.)
- Brian Smith (no relation to the Brian Smith @ Comodo)
See https://bugzilla.mozilla.org/show_bug.cgi?id=470897#c93
> 4. AFAICT, the "global trustee" certificate should never have been issued by any CA because "global trustee" isn't even a valid DNS name. Why would the software even allow a cert with "DNS Name=global trustee" to be generated, regardless of claims of validity?
Apparently not the slightest sanity checks happen before issuance of a
certificate.
> 5. The "global trustee" case shows evidence that the RA's system does not require any network-based (email, http request) validation. AFAICT, the alternate forms of validation of the requester are pretty rare and it seems very reasonable to mandate that someone from Comodo re-validate the request after the RA has done so when this alternative type of validation is used.
The policy requirement of Mozilla are not enforced. There are
insufficient controls in place to ensure those.
> 6. It seems trivial to build a list of high-value target domains, which would have included all of the domains targeted in this attack. Flagging these high-risk domains as for manual review by multiple people at Comodo would have almost definitely prevented these certs from being issued.
YES! I thought that CAs today are at least that smart, I admit that I
was wrong.
--
Regards
Signer: Eddy Nigg, StartCom Ltd.
XMPP: star...@startcom.org
Blog: http://blog.startcom.org/
Twitter: http://twitter.com/eddy_nigg
On Thu, Mar 24, 2011 at 1:09 AM, Brian Smith <bsm...@mozilla.com> wrote:
> "Steve Schultze" wrote:
>> http://freedom-to-tinker.com/blog/sjs/web-browsers-and-comodo-announce-successful-certificate-authority-attack-perhaps-iran
>
> It seems to me that Comodo could have easily, cheaply, and painlessly avoided this situation by implementing some simple checks:
>
> 4. AFAICT, the "global trustee" certificate should never have been issued by any CA because "global trustee" isn't even a valid DNS name. Why would the software even allow a cert with "DNS Name=global trustee" to be generated, regardless of claims of validity?
Are we sure it was only in the SubjectAlternativeName, and not the CommonName? As far as I know, Comodo notified the browsers of the serial numbers, not the full certificates. For all we know, "global trustee" could be an improperly-encoded 0xff byte instead of a 0x20.
> 5. The "global trustee" case shows evidence that the RA's system does not require any network-based (email, http request) validation. AFAICT, the alternate forms of validation of the requester are pretty rare and it seems very reasonable to mandate that someone from Comodo re-validate the request after the RA has done so when this alternative type of validation is used.
Comodo has absolutely failed in its mandate to ensure that only certificates with authoritative information are minted.
Worse, this is the -third- RA-related revocation that Comodo has had to perform.
> In all the cases where there is a red flag, it makes the most sense to halt the process and do the extra validation *before* the cert is *generated* (not just before it is *sent* to the requester).
Absolutely. A certificate is a record of an action: the action of deciding that one is confident in an identity claim to the extent necessary for them to meet their due diligence requirement.
> It seems to me that it is reasonable to expect and require CAs in our root program to commit to making doing these checks and to require audits of CAs to verify that carefully-secured mechanisms for doing these checks are in place. (Interestingly, I read that Comodo already claimed it started doing #1 after a previous incident; I do not understand how the attacker was able to get Comodo to issues these certs in this situation, based on their description of the events.)
To me, it looks as though Comodo has been lying to Mozilla about its internal controls. At this time, I have no recourse but to recommend that their internal controls be deemed insufficient to meet the legitimate security needs of Mozilla's users, and their trust revoked. It as a corporate body has shown that it is either wildly inept or negligent, and it's almost criminally irresponsible to allow them to continue placing Mozilla's entire user base at risk.
The solution is inevitable for any untrustworthy CA: remove Comodo's roots. There's no conceivable way that this could possibly be allowed to stand -- by any trustworthy organization, anyway. I'd like to think that Mozilla actually does have its users' interests at heart.
> - Brian Smith (no relation to the Brian Smith @ Comodo)
-Kyle H
On 24.03.2011 09:09, Brian Smith wrote:
> 4. AFAICT, the "global trustee" certificate should never have been issued by any CA because "global trustee" isn't even a valid DNS name. Why would the software even allow a cert with "DNS Name=global trustee" to be generated, regardless of claims of validity?
I assume that was the string "*", not "global trustee"
[lots of good ideas for sanity checks]
> 7. The mismatch between the country of the requester (Iran) and the subjects of the certificates (US), and the mismatch between the country of the requester and the geo-ip lookup for the servers in question similarly
I have to disagree here. I may be a German with a German company, but
sitting in a home or office in Italy. I should not be subject to
discrimination in that case.
> In all the cases where there is a red flag, it makes the most sense to halt the process and do the extra validation *before* the cert is *generated* (not just before it is *sent* to the requester).
Agreed.
Ben
https://wiki.mozilla.org/CA:CertPolicyUpdates#Domain_Names
Kathleeen
That's really the PrintableString "global trustee", with a \x20
character.
You can get the 9 certificates on Windows, after having applied the
security updates.
--
Erwann.
> I propose that Mozilla includes a clause of "only identity
> information verified with (or through a chain of) authenticated
> credentials issued by a state-instituted authoritative public record
> keeper, and which matches what is in those records, may appear in
> the DN and SAN".
Would this apply to EV certificates? The EV certificates are
deliberately written in such a way that organization A may obtain an
EV certificate for organization B (which cannot obtain an EV
certificate on their own because it is a legal person of the wrong
kind).
> IP addresses are managed by ICANN, instituted by US state authority.
> DNS names are managed by ICANN, instituted by US state authority.
> Email address namespaces depend on DNS names and/or IP addresses; as
> a result, ICANN is ultimately responsible for email addresses as
> well.
This seems to be a gross oversimplification to me.
> Distinguished Names are assigned and managed by the civil register
> (the clerks of vital statistics) and the corporate register (the
> secretaries of state).
There are some large countries which lack a civil register. I don't
think this will work.
> Stating this would make it clear that private addresses and
> non-qualified host names are prohibited, and non-public authority
> DNS-like root servers are also prohibited.
Huh? This is already extremely clear. It's just that CA practice
doesn't match. If the current rules are unenforceable, why should be
the new ones any different?
On Sun, Mar 27, 2011 at 11:51 AM, Eddy Nigg <eddy...@startcom.org> wrote:
>
> Some more possible information here:
>
> http://pastebin.com/74KXCaEZ
>
> Just got it from https://bugzilla.mozilla.org/show_bug.cgi?id=642395
...so this person, if I understand it correctly, is claiming that Comodo is using a username/password authentication system for its RAs.
Would this be legitimate basis for a Mozilla CA program requirement that all CA functions must be cryptographically authenticated?
-Kyle H
No - but the fact that domain control validation was not performed by
the CA is a serious problem. We've been there already...