Re: Password identifiers, protocol aging and SCRAM protocol
Michael Paquier <michael.paquier@gmail.com>
From: Michael Paquier <michael.paquier@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Andres Freund <andres@anarazel.de>,
Peter Eisentraut <peter.eisentraut@2ndquadrant.com>, Heikki Linnakangas <hlinnaka@iki.fi>, David Steele <david@pgmasters.net>,
Tom Lane <tgl@sss.pgh.pa.us>, David Fetter <david@fetter.org>, Alvaro Herrera <alvherre@2ndquadrant.com>, Magnus Hagander <magnus@hagander.net>,
Julian Markwort <julian.markwort@uni-muenster.de>, Stephen Frost <sfrost@snowman.net>, PostgreSQL mailing lists <pgsql-hackers@postgresql.org>,
Valery Popov <v.popov@postgrespro.ru>
Date: 2016-12-07T06:39:23Z
Lists: pgsql-hackers
Attachments
- 0001-Refactor-SHA2-functions-and-move-them-to-src-common.patch (application/x-download) patch 0001
- 0002-Add-encoding-routines-for-base64-without-whitespace-.patch (application/x-download) patch 0002
- 0003-Refactor-decision-making-of-password-encryption-into.patch (application/x-download) patch 0003
- 0004-Add-clause-PASSWORD-val-USING-protocol-to-CREATE-ALT.patch (application/x-download) patch 0004
- 0005-Support-for-SCRAM-SHA-256-authentication-RFC-5802-an.patch (application/x-download) patch 0005
- 0006-Add-regression-tests-for-passwords.patch (application/x-download) patch 0006
- 0007-Add-TAP-tests-for-authentication-methods.patch (application/x-download) patch 0007
On Tue, Nov 29, 2016 at 1:36 PM, Michael Paquier <michael.paquier@gmail.com> wrote: > Nothing more will likely happen in this CF, so I have moved it to > 2017-01 with the same status of "Needs Review". Attached is a new set of patches using the new routines pg_backend_random() and pg_strong_random() to handle the randomness in SCRAM: - 0001 refactors the SHA2 routines. pgcrypto uses raw files from src/common when compiling with this patch. That works on any platform, and this is the simplified version of upthread. - 0002 adds base64 routines to src/common. - 0003 does some refactoring regarding the password encryption in ALTER/CREATE USER queries. - 0004 adds the clause PASSWORD (val USING method) in CREATE/ALTER USER. - 0005 is the code patch for SCRAM. Note that this switches pgcrypto to link to libpgcommon as SHA2 routines are used by the backend. - 0006 adds some regression tests for passwords. - 0007 adds some TAP tests for authentication. This is added to the upcoming CF. Thanks, -- Michael
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