6 ms·
How does Firefox compare your actual password to the leaked password without storing your passwords in plaintext?
by mwilliaams 7y ago
How does Firefox compare your actual password to the leaked password without storing your passwords in plaintext?
- snek 7y agohttps://hg.mozilla.org/mozilla-central/rev/6484c07ff836#l3.70 https://hg.mozilla.org/mozilla-central/rev/6484c07ff836#l3.7...
- feanaro 7y agoIt is storing your passwords in plaintext locally, since this is about passwords that are saved by the user in Firefox's password store (the Saved Logins feature). These can (and should) be protected with a master password, but you obviously need to unlock the store before logging into a website. They're not storing your passwords remotely, though. They're asking haveibeenpwned which maintains a list of leaked login information from past breaches.
- jxcl 7y agoIt looks like they're not doing this, but it is also possible to see if your exact password is in the breach using an algorithm called k-anonymity: https://blog.cloudflare.com/validating-leaked-passwords-with-k-anonymity/ https://blog.cloudflare.com/validating-leaked-passwords-with...
- lucideer 7y agoMozilla are using k-anonymity in their FirefoxMonitor service[0]. This feature syncs from FirefoxMonitor to a local browser DB and checks against that DB. However, I'm not 100% sure what data it syncs from FirefoxMonitor (obviously a subset, but I don't know how that's chosen. I'm not sure if they're using k-anon for requests between the Firefox browser and their own service). [0] https://github.com/mozilla/blurts-server/blob/master/hibp.js#L59 https://github.com/mozilla/blurts-server/blob/master/hibp.js...
- want2know 7y agoI believe the article is false. As far as I understand [1] Firefox will notice you if the domain was breached and your password is older than the breach. [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1559365 https://bugzilla.mozilla.org/show_bug.cgi?id=1559365
- lucideer 7y agoFrom that ticket, the comments discussing the domain and time of the breach are about adding that filtering to the existing feature, not about those being the only checks. The article is not false.
- groovecoder 7y agoAnswered here: https://news.ycombinator.com/item?id=20465981 https://news.ycombinator.com/item?id=20465981
- SAI_Peregrinus 7y agoFirefox has a built-in password manager, so plaintext passwords are necessarily stored in that database. The backend comparison service they're using supports a near-zero-knowledge protocol that allows clients to check for compromised passwords in the database efficiently without ever sending the password (or even a hash of the password) to the backend. Also they can just query all the usernames (email addresses) of the accounts and get notifications if any of those usernames have appeared in breaches.
- throwaway66666 7y agoBut... will mozilla or the people behind haveibeenpwned know I am using a pwned password? Basically, by checking if you are under risk, do you leak info to 3rd parties that can be used against you, before having the opportunity to protect yourself? Is there any info aobut the near-zero knowledge protocol somewhere? It's a fascinating topic for sure.
- tialaramex 7y agoSearch for Pwned Passwords k-anonymity for a description of how this works technically. No, only you (well, your computer) knows if your password was found.
- drexlspivey 7y agoNo they don't. The browser hashes the password, then sends the first 5 hex digits of the hash to haveibeenpwned. HIBP replies with all the hashes of leaked passwords that start with these 5 digits and the browser then checks to see if the hash is in the list.
- justusthane 7y agoNope. Read the section on k-anonymity here: https://www.troyhunt.com/were-baking-have-i-been-pwned-into-firefox-and-1password/ https://www.troyhunt.com/were-baking-have-i-been-pwned-into-... Essentially, the client hashes the password and then only sends the first 5 characters of the hash to HIBP. HIBP then returns the hashes of every password whose hash begins with the same characters (approx 477 matches, according to the article), and then it's up to the client to determine if there's a match.
- groovecoder 7y agoAnswered here: https://news.ycombinator.com/item?id=20465981 https://news.ycombinator.com/item?id=20465981