On Thu, Jul 20, 2017 at 01:00:50AM +0300, Álvaro Hernández Tortosa wrote:
> I'm mostly convinced by the power of all the parameters that already
> exist, given that you added both saslname and saslchannelbinding to the
> already existing sslmode. That's great, and allows for very fine choosing of
> the auth method. So it would be great if (non-libpq) driver implementations
> would expose the same parameter names to the users. I will study this for
> JDBC.
Coming in late here, but the way TLS prevents authentication downgrade
attacks is for the sender to send a list of supported authentication
methods, and a hash of the supported authentication methods with a
random number and a secret shared with the other end, and send that. If
the list doesn't match the hash, it means the list is invalid.
The secret prevents attackers from faking connections. I think the
problem is that we don't have a consistent secret shared between the
client and the server. We have md5 and SCRAM, but that doesn't help
because the secret it tied to the authentication methods.
-- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB
http://enterprisedb.com
+ As you are, so once was I. As I am, so you will be. +
+ Ancient Roman grave inscription +