Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Pepper is like a salt but secret. http://barkingiguana.com/2009/08/03/securing-passwords-with-...

I think the most secure method would be to store a random string in the persistant memory of a hardware dedicated device that performs the encryption on your behalf (like a smart card or trusted computing module). If that is not possible you could still put the key inside the hash program and give the app only execute privileges for that program (the key is safe unless the attackers get root).

a). If it protects against a very common attack or attacker why not do it. Security should be layered.

b). agreed

c). The work factor of a single AES encryption is negligible for both the attacker and the defender and can be ignored. Furthermore it can be removed entirely if you hash both the input and the output as I proposed in a previous message, SHA( AES(K, SHA(password) ) ). Now the attacker has to run AES for each try as well (but it doesn't matter since any reasonable work factor will be orders of magnitude larger than a single AES operation).



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: