Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

For many reasons, it\'s often convenient for organizations to have their own CA

ID: 656333 • Letter: F

Question

For many reasons, it's often convenient for organizations to have their own CA (self-signed or otherwise).

As I understand it, adding the CA certificate to a OS or browser will make it trust the organization's servers - but also open the door for the organization (or any attacker to access to the CA key) to impersonate any server on the internet. This is a problem, especially if the organization has a BYOD policy.

Is there any way to add a CA to popular OSs and browsers (Windows, Mac, Linux, Android, Chrome, Firefox,...) such that it is only trusted to certify some domains? If there isn't, is this because of a technical limitation in the PKI system, or simply because "nobody needed it implemented yet"?

Explanation / Answer

Having a CA specific to a domain is possible with X.509, using Name Constraints. It is not well supported, though -- many implementations will ignore the constraints. If it did work well, commercial CA could sell domain-specific subCA certificates to domain owners (that would be a technically much better solution than wildcard certificates).

In many cases where there is an "organizational CA", the users are organization employees, for whom the CA is an emanation from the upper spheres of the organization, i.e. (theoretically and formally) the Voice of God. In these cases, limitation to a single domain would not provide a significant security improvement, which explains the lack of sustained demand for such a feature (and, thus, lack of support from existing browsers).