Re: Password identifiers, protocol aging and SCRAM protocol
Noah Misch <noah@leadboat.com>
From: Noah Misch <noah@leadboat.com>
To: Michael Paquier <michael.paquier@gmail.com>
Cc: Victor Wagner <vitus@wagner.pp.ru>, PostgreSQL mailing lists <pgsql-hackers@postgresql.org>, peter.eisentraut@2ndquadrant.com
Date: 2017-01-19T06:32:45Z
Lists: pgsql-hackers
On Wed, Jan 18, 2017 at 02:30:38PM +0900, Michael Paquier wrote: > On Wed, Jan 18, 2017 at 2:23 PM, Noah Misch <noah@leadboat.com> wrote: > > The latest versions document this precisely, but I agree with Peter's concern > > about plain "scram". Suppose it's 2025 and PostgreSQL support SASL mechanisms > > OAUTHBEARER, SCRAM-SHA-256, SCRAM-SHA-256-PLUS, and SCRAM-SHA3-512. What > > should the pg_hba.conf options look like at that time? I don't think having a > > single "scram" option fits in such a world. > > Sure. > > > I see two strategies that fit: > > > > 1. Single "sasl" option, with a GUC, similar to ssl_ciphers, controlling the > > mechanisms to offer. > > 2. Separate options "scram_sha_256", "scram_sha3_512", "oauthbearer", etc. > > Or we could have a sasl option, with a mandatory array of mechanisms > to define one or more items, so method entries in pg_hba.conf would > look llke that: > sasl mechanism=scram_sha_256,scram_sha3_512 I like that.
Commits
-
Support SCRAM-SHA-256 authentication (RFC 5802 and 7677).
- 818fd4a67d61 10.0 landed
-
Refactor SHA2 functions and move them to src/common/.
- 273c458a2b3a 10.0 landed
-
Replace isMD5() with a more future-proof way to check if pw is encrypted.
- dbd69118c05d 10.0 landed
-
Remove bogus notice that older clients might not work with MD5 passwords.
- 7e3ae5455948 9.2.20 landed
- 470af1f41c8b 9.3.16 landed
- ada2cdb61015 9.4.11 landed
- 65a7f190b253 9.5.6 landed
- 7546c135dc30 9.6.2 landed
- 31c54096a18f 10.0 landed
-
Refactor the code for verifying user's password.
- e7f051b8f9a6 10.0 landed
-
Replace PostmasterRandom() with a stronger source, second attempt.
- fe0a0b5993df 10.0 landed
-
Remove support for (insecure) crypt authentication.
- 53a5026b5cb3 8.4.0 cited