Today a colleague asked me what I thought about PwdHash. I had not heard about it, so I wondered what it was. PwdHash is an browser extension that transparently converts a user's master password into a domain-specific password. PwdHash automatically replaces the contents of these password fields with a one-way hash of the pair (password, domain-name). As a result, the site only sees a domain-specific hash of the password, as opposed to the password itself, and you can use the same master password at many different sites.
So, is it any good?
I see a few usability issues with this tool.
PwdHash is not very secure either. If you choose a bad password, then an attacker can still break in at a site, retreive the password file and perform a dictionary attack on that file. In the worst case, that password file stores hashes of the password together with a salt. Compared to users that do not use PwdHash, the task of the attacker has not become much more difficult. He simple needs to hash his guess of the password one more time, using the PwdHash hash function and the domain name. If the passwords are stored in plaintext, or using a hash function without salt, the attacker can still construct a dictionary offline, and lookup all tries of the password in this compiled dictionary. So for hashed password files PwdHash does not make the attack any harder either.
So PwdHash only offers an additional level of protection in the following two cases.
Given the usability issues, I would not recommend to use this.
[quote]What if PwdHash suddenly ceases to exist? Or suddenly becomes payware…[/quote]
Then you fork it. The source is published under BSD license: https://addons.mozilla.org/en-US/firefox/versions/license/72761