On Wednesday, August 17, 2016 at 2:53:38 AM UTC-7, [email protected] wrote:
> Through our effort of sunsetting the "Hongkong Post e-Cert CA 1 - 10" for SSL 
> certificate, majority of SHA-1 SSL certificates will be expired by 31 Dec 
> 2016, remaining only a few SHA-1 SSL certificates that are valid beyond 1 Jan 
> 2017. And in our response to March 2016 CA Communication of Mozilla, we have 
> also committed to have those certificates revoked by 31 Dec 2016.

Unfortunately, I believe you've misunderstood the concern being raised here.

"Hongkong Post e-Cert CA 1 - 10" is technically capable of issuing SSL 
certificates (that is, it's not constrained in any way to prevent it). We 
further know this precisely because it was, in the past, used to issue such 
certificates, and because in the present, it's still trusted for such 
certificates - because you have them expiring.

However, because you've continued to issue new (non-SSL) SHA-1 certificates 
from this sub-CA, you create the risk that an attacker can exercise a SHA-1 
collision on one type of a certificate (e.g. a client certificate) and 
transform it into another kind (such as an SSL intermediate CA). That's because 
regardless of what you signed with SHA-1 originally, an attacker can mutate it 
into any other type of cert. This is exactly the cause of the Flame MD5 
Collision - a sub-CA only used to issue one type of certificate (Terminal 
Services certificates) wasn't appropriately restricted from other types (via 
the EKU on the intermediate), and an attacker was able to turn the Terminal 
Services certificate into a Code Signing certificate by using an MD5 collision.

The further concern is because this CA isn't taking steps to prevent such 
attacks, such as by including sufficient entropy (20 bits under the previous 
SHOULD, 64 bits under the new MUST), which would make it much harder for an 
attacker to exploit this.

So the question is now, since Hongkong Post / Certizen didn't properly protect 
this intermediate, what should Mozilla do, either for the intermediate or the 
root?

For example, for the safety of its users, it could decide to distrust the "1 - 
10" sub-CA. This wouldn't break any of your client cert use cases (or 
shouldn't), but would break all of those existing certificates. Mozilla could 
decide this was acceptable, or it could decide to whitelist those certificates 
as trusted. If the whitelist was too large to be included built-in, it might be 
hosted in some sharded, privacy-preserving way, much like Google SafeBrowsing 
does, or like CRLs in reverse. This is something the Chrome team is 
considering, for example, and depends on how many certificates issued by "1 - 
10"

Certainly, whatever the result, you should understand that by continuing the 
practices using "1 - 10", no matter what your intent is, you're actively 
putting people who trust your CA at risk, and that risk may be so great that 
people begin to distrust you. You should immediately take mitigations to 
prevent this - such as stopping the use of SHA-1 (ideally, immediately), or 
revoking that "1 - 10" sub-CA and reissuing your certificates, in a SHA-256 
way, to consumers who might be affected by that.
_______________________________________________
dev-security-policy mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-security-policy

Reply via email to