|
RE: Values to use for a salt?: msg#00021security.programming
> From: Ton Geurts [mailto:geurts@xxxxxxxxxx] > Sent: Wednesday, December 17, 2003 6:01 AM > I always store my UID, password in a database with a timestamp. > My password hash is md5(timestamp & md5(password)). That way > every hash has a unique salt that changes with every password > change. It makes precomputed dictionaries virtually useless. > Unless you have direct database access. Timestamps are often predictable within a range. If I suspect that Alice has changed her password today, and I know the timestamp has second resolution, then I only need to check 86,400 timestamp values - and I can probably narrow it down further. That's in the 16-17 bit range, which is better than the classic Unix salt (which was, what, 1024 unique values or 10 bits?), but not great considering the kinds of storage and processing power commonly available today. If I can perform traffic analysis on a remote password-changing system and guess when a user has changed his password within a few seconds, a timestamp salt is only a few bits and has very little strength. (If I can do enough traffic analysis to have a decent chance of predicting when a user will change his password in the future, I can precompute a dictionary for the likely salt values.) I don't understand this resistance to random salts, which are easy to provide and have none of these weaknesses. -- Michael Wojcik Principal Software Systems Developer, Micro Focus |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: Values to use for a salt?: 00021, Adi Kriegisch |
|---|---|
| Next by Date: | Re: Values to use for a salt?: 00021, Chris Alfeld |
| Previous by Thread: | RE: Values to use for a salt?i: 00021, Ton Geurts |
| Next by Thread: | RE: Values to use for a salt?: 00021, Michael Wojcik |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |