Re: md5 again

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Vince Vielhaber <vev(at)michvhf(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: md5 again
Date: 2000-07-11 16:32:16
Message-ID: 1197.963333136@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Vince Vielhaber <vev(at)michvhf(dot)com> writes:
> When PG receives the password, it doesn't know if the password is
> encrypted or not.

What do you mean it doesn't know if the password is encrypted or not?
The protocol should tell it. You can't do this without a protocol
extension...

> Is there a preference to the method used?

I believe there was a very specific agreement about what the challenge
and response should be, and none of this looks like it. See the
discussion about how to have both wire security and encrypted-on-disk
passwords --- doing both is trickier than it sounds.

As far as the specific mechanics of applying MD5 go, I'd suggest
concatenating whatever strings need to go into a particular iteration
with appropriate separators (a null byte would probably do) and applying
MD5 just once. I can't see any reason to do things like
MD5(MD5(string1)+MD5(string2)). (IIRC there were places in the proposed
protocol where you'd be hashing a string previously hashed by the other
side, but that's not what I'm talking about here. Given particular
inputs to be combined, it seems sufficient to just concatenate them and
do one round of MD5.)

> If CL sends the MD5 of the username rather than the plaintext username,
> only CL and PG will know what the username is. PG will know it by
> comparing it with the MD5 of every username in pg_shadow. So even if the
> wire is being sniffed the unhashed username can be used in the password's
> encryption along with the salt sent by PG. This method will take longer
> for a user to log in, but the login process is only per session, not per
> SQL call.

A linear search of pg_shadow to log in is not acceptable; we don't want
to make login any slower than we have to. I see no real gain in security
from doing this anyway...

regards, tom lane

In response to

  • md5 again at 2000-07-11 14:50:20 from Vince Vielhaber

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2000-07-11 16:33:38 Re: md5 again
Previous Message Karel Zak 2000-07-11 16:22:30 Re: Distribution making