Re: what can go in root.crt ? - Mailing list pgsql-hackers
From | Chapman Flack |
---|---|
Subject | Re: what can go in root.crt ? |
Date | |
Msg-id | 5ECD2424.6020007@anastigmatix.net Whole thread Raw |
In response to | Re: what can go in root.crt ? (Andrew Dunstan <andrew.dunstan@2ndquadrant.com>) |
Responses |
Re: what can go in root.crt ?
|
List | pgsql-hackers |
On 05/26/20 09:35, Andrew Dunstan wrote: > The trouble is I think you have it the wrong way round. It makes sense > to give less trust to a non-root CA than to one of its up-chain > authorities, e.g. only trust it for certain domains, or for a lesser > period of time. But it doesn't seem to make much sense to trust the > up-chain CA less, since it is what you should base your trust of the > lower CA on. I wonder if there might be different meanings of 'trust' in play here complicating the conversation. At $work, when I make a certificate request and send it off to our own in-house bureau of making certificates happen, what you might expect is that they would be running the first level of CA right in house (and IIRC that was the case in my early years here). So I would get back some chain like this: WE ARE A PROMINENT GLOBAL ISSUER FOUND IN WEB BROWSER TRUST STORES WE ISSUE TO LOTS OF FOLKS WE ISSUE TO ORGS LIKE YOURS WE ARE YOUR ORG my server cert In that picture, the question of whether I give more or less trust to PROMINENT GLOBAL ISSUER because they have larger market cap and their name in the news, or to WE ARE YOUR ORG because they are my org, seems to turn on different understandings of trust. There might be a lot of reasons in general to trust PROMINENT GLOBAL in the sense of putting their cert in widely distributed web browser trust stores. But there are excellent reasons to trust WE ARE YOUR ORG as authoritative on what's a server for my org. Now in these later days when there is no longer an in-house CA at the bottom of this chain, the situation's not as clear-cut. WE ISSUE TO ORGS LIKE YOURS isn't quite authoritative on what's a server for my org. But there are inked signatures on paper between their honcho and my org's honcho that don't exist between my org and PROMINENT GLOBAL. And you would have to work harder to get a spoof cert for one of my servers signed by them. You would have to talk /them/ into it. If I have PROMINENT GLOBAL in there, you just have to make offers to their umpty sub-CAs and their umpty-squared sub-sub-CAs and find just one that will make a deal. > to give less trust to a non-root CA than to one of its up-chain > authorities, e.g. only trust it for certain domains, or for a lesser That's certainly appropriate, and I'd be delighted if the root.crt file supported syntax like this: *.myorg.org: WE ARE YOUR ORG.crt *: PROMINENT GLOBAL ISSUER.crt { show exfiltration/HIPAA/FERPA banner } Doing the same thing (or some of it) in certificate style, you would want WE ARE YOUR ORG.crt to be signed with a Name Constraints extension limiting it to be a signer for .myorg.org certificates. That is indeed a thing. The history in [1] shows it was at first of limited value because client libraries didn't all grok it, or would accept certificates without Subject Alt Name extensions and verify by CN instead, without the constraint. But I have noticed more recently that mainstream web browsers, anyway, are no longer tolerant of certs without SAN, and that seems to be part of a road map to giving the Name Constraints more teeth. Regards, -Chap [1] https://security.stackexchange.com/questions/31376/can-i-restrict-a-certification-authority-to-signing-certain-domains-only
pgsql-hackers by date: