On Aug 30, 2010, at 10:29 PM, Ralf Eggert wrote:

interesting stuff. But where should the distinct salt per user be saved?
It feels quite wrong to store it in the database right beside the
password. Or should it be combined from, lets say: user id, email
address and registration date?

Ideally the salt should be more strongly pseudorandom. You don't need to use any constant or other user-related field in the calculation of the salt. Just make it as random as you can make it. And make sure you use a distinct random salt per user.

If the attacker gains access to make queries against your database, you've lost the game anyway, so storing the salt in a column named "salt" in the same table with the hashed password is not significantly riskier than storing the salt anywhere else that the attacker gains access to.

In other words, don't rely on security by obscurity. Don't even favor security by obscurity. In some ways, I think it's better *not* to make your code or database obscure at all, if that encourages you to strengthen more effective security measures to prevent attackers from gaining access.

Regards,
Bill Karwin

Reply via email to