News for hackers. Stuff that matters.
Re:MITM on HTTPS traffic in Kazakhstan by JoshTriplett on Thursday July 18, 2019 @02:11PM (#20472463)
I'd like that as well, for exactly the same purpose.

To the best of my knowledge, no browser can do this today, and I don't know of any other software that can do that either. (I'd want to have it in the system certificate store with the same constraint, as well.)

Name Constraints, as mentioned elsewhere in this thread, wouldn't solve the problem, for two reasons: most software doesn't support them (and silently ignores them rather than correctly failing closed), and they require the CA certificate to contain the constraints rather than system configuration adding the constraints.

We need a mechanism to place certificates in a certificate store (browser or system) with specific domain constraints configured by the administrator. To avoid the failure mode of Name Constraints, those certificates shouldn't be accessible to software that doesn't know to enforce domain constraints.

That would also require updates to various SSL libraries (and to browsers) to handle this new certificate store and enforce the constraints.

Re:MITM on HTTPS traffic in Kazakhstan by jasonh3 on Thursday July 18, 2019 @06:33PM (#20474588)
A mechanism to constrain root CAs to particular URLs/domains was proposed in firefox a while ago[0]. Perhaps an idea whose time has now come?

It seems like the principle of least privilege could easily be applied to the CA system rather than trusting all CAs for all domains, as there seem to be obvious/natural constraints in certain cases (like CAs that only operate under a particular country TLD).

0: https://bugzilla.mozilla.org/show_bug.cgi?id=501697

Re:MITM on HTTPS traffic in Kazakhstan by wiml on Thursday July 18, 2019 @05:16PM (#20473986)
> most software doesn't support [name constraints] (and silently ignores them rather than correctly failing closed)

Could you elaborate on this? Specific examples? CVEs? My experience has been that most software will either honor them, or honor the "critical" flag, which is correct (if disappointing) behavior. If you want it to fail closed, use the critical flag. If you want it to fail open, clear the critical flag.

Re:MITM on HTTPS traffic in Kazakhstan by JoshTriplett on Thursday July 18, 2019 @05:51PM (#20474252)
The last time I investigated this this, several years ago, I found that several SSL libraries simply ignored the extension entirely, whether it had "critical" or not. Older OpenSSL did so, for instance.

Doing some additional research, it looks like the situation has improved significantly now, and name constraints might actually work as designed if you don't care about older systems.

That still doesn't address the ability for a browser/administrator to apply such name constraints to a CA that didn't ship as part of its certificate, though.