Re: WIP: SCRAM authentication
Heikki Linnakangas <hlinnaka@iki.fi>
From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Robert Haas <robertmhaas@gmail.com>,
Michael Paquier <michael.paquier@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2015-08-07T18:45:22Z
Lists: pgsql-hackers
On 08/07/2015 09:26 PM, Robert Haas wrote: > Maybe I'm chiming in too late here but I am sorta unimpressed by this. > If the user's password is stored both MD5-hashed and hashed some other > way in the system catalogs, that's less secure than storing it in the > least secure of those ways. And I'm afraid that if we introduce this > new mechanism, we won't really gain any security, because everybody > will just pg_dump or pg_upgrade and the old passwords will stick > around in the system forever. In fact we might lose security if > somebody changes one password verifier but doesn't realize that the > other one is still floating around, memorializing the old password, > and still available to be used for login. Yeah, that's certainly a risk. You wouldn't want to keep around verifiers for authentication methods you don't use. > I think we should look for a solution that either (a) allows SCRAM > authentication without requiring any changes to the contents of > pg_authid, like what Heikki proposed before; or (b) forces a hard > break, where at each password change you can decide if you want the > old or new format (probably based on the current value of some > compatibility GUC). Yeah, something to force a hard break when you want it would be really good. Perhaps a command you can run to remove all MD5 hashes, or at least find all the roles that have them. And a GUC to disallow creating new ones. - Heikki
Commits
-
Support SCRAM-SHA-256 authentication (RFC 5802 and 7677).
- 818fd4a67d61 10.0 landed