Re: what can go in root.crt ? - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: what can go in root.crt ?
Date
Msg-id 20200602171417.GB16329@momjian.us
Whole thread Raw
In response to Re: what can go in root.crt ?  (Chapman Flack <chap@anastigmatix.net>)
Responses Re: what can go in root.crt ?
List pgsql-hackers
On Tue, May 26, 2020 at 10:13:56AM -0400, Chapman Flack wrote:
> 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.

I think it gets down to an issue I blogged about in 2017:

    https://momjian.us/main/blogs/pgblog/2017.html#January_9_2017

    The use of public certificate authorities doesn't make sense for most
    databases because it allows third parties to create trusted
    certificates. Their only reasonable use is if you wish to allow public
    certificate authorities to independently issue certificates that you
    wish to trust. This is necessary for browsers because they often connect
    to unaffiliated websites where trust must be established by a third
    party. (Browsers include a list of public certificate authorities who
    can issue website certificates it trusts.) 

The server certificate should be issued by a certificate authority root
outside of your organization only if you want people outside of your
organization to trust your server certificate, but you are then asking
for the client to only trust an intermediate inside your organization. 
The big question is why bother having the server certificate chain to a
root certificat you don't trust when you have no intention of having
clients outside of your organization trust the server certificate. 
Postgres could be made to handle such cases, but is is really a valid
configuration we should support?

-- 
  Bruce Momjian  <bruce@momjian.us>        https://momjian.us
  EnterpriseDB                             https://enterprisedb.com

  The usefulness of a cup is in its emptiness, Bruce Lee




pgsql-hackers by date:

Previous
From: Mark Dilger
Date:
Subject: Re: Command statistics system (cmdstats)
Next
From: Bruce Momjian
Date:
Subject: Re: Default gucs for EXPLAIN