PwdHash
pwdhash.com
pwdhash.com
I like this approach. It doesn't require anything to be stored on your machine, thus you don't need to worry about backing up or syncing a password database, and you can login from anywhere.
I'm definitely an advocate of password generators rather than managers
"Do not reveal anything about the input that was used to generate it" seems to be too strong a claim, though I hope someone will tell me differently.
Edit: Never mind, I see that you clarified what technology they use further down.
Their FAQ seems to say that they salt with other data before hashing, so they should at least be safe from precomputed lookup tables. I don't know how feasible it'd be to crack a hashed, salted password, but they'd probably be better off using blowfish or one of the other algorithms from the "Storing Passwords Securely" article which is now on the front page [1].
And I'm not sure why they mention using l33t-speak to protect your password from being reversed. That's just bizarre. The information on their website makes me worry that they may not know what they're doing, though maybe I'm just misinterpreting it.
[1] http://throwingfire.com/storing-passwords-securely/?utm_sour...
In fact, I tried to port scrypt to js once. Reading the article about scrypt it felt not so hard to achieve. But I was afraid to introduce implementation error because some parameter aren't specified as clearly as I would have liked in the article.
I used to use a similar password hasher browser extension, and I think it's fine as long as the seed passphrase is sufficiently secure. However, now I prefer keepass/lastpass/1password with random passwords. Not having to type in the passphase as often makes it easier for the average person to use a more secure passphrase.
I found it had 2 shortcomings:
- As others mention, if your masterkey gets compromised it's very difficult to reset it (you have to change your password everywhere).
- Many websites have stupid limitations on passwords: must be at most X chars long, must or must not contain this and that character...
So not only do you have to remember the per-service "salt" but you also have to find workarounds for the password limitations and remember them. So I just gave up on that and use KeepassX now.
password = base64(sha(site,masterKey,number))
I added the number once one of my password was compromised and I wanted to update it. Using this number it is not so difficult to update to resolve most stupid limitation on password. Almost all my password are good without using this parameter.Considering the compromised master key, if it is compromised, shouldn't you in the end replace all your password for any password storage system? Unless you are pretty sure your keychain datas weren't accessed?
Concerning KeepassX I believe this is more secure than the "generate using your master password + website". But for now I continue to use my generated password simply because I find it hard to synchronize all the passwords on all platform. I don't like to use Dropbox or any "cloud" equivalent system to synchronize my keychain encrypted file.
Using the generation method you generally don't need to "remember" anything other than your login. And at most you have to remember login + length of the password + format (b64 or hexadecimal) + number. But this is generally not the case. And these data can be shared publicly with a reasonable risk that your password won't be cracked.
I haven't (as most people) found the best way to manage my password in the most secure way. But actually the generation scheme feels like a good enough system.
I think I'll stick with 1Password and completely random passwords. F.ex. with LinkedIN, I just need to change one password (and I have a database of passwords telling me where I have accounts, comes in handy too).
Speaking of LinkedIN, how would you change your password there? (since password = salt (based on domain name) + hashing function + master password; how do you change it?!)
The new password is then
hash ( masterPassword . url . number )Personally, I use (and prefer) LastPass to this approach.
I use it with the Chrome extension - http://code.google.com/p/chrome-pwdhash/. There's also a FF extension.
https://chrome.google.com/webstore/detail/eifkoemjpnnbdmcoge...