https://haveibeenpwned.com/API/v2
Please note rate limits/ abuse policy so everyone can use:
https://haveibeenpwned.com/API/v2#RateLimiting
(I am not affiliated)
https://haveibeenpwned.com/API/v2
Please note rate limits/ abuse policy so everyone can use:
https://haveibeenpwned.com/API/v2#RateLimiting
(I am not affiliated)
I've always been a huge fan of the project (and Troy) and understand that it's gotten to a point where he can't keep running it as a spare-time project, but I'm still not very happy about seeing it being shopped around. I can't see how this type of service needing to find a way to become a business will be a good thing overall, especially when it keeps getting integrated into other programs and services like this. Troy pledges that nothing will change, but every company getting acquired does that, and then things change anyway.
The best result would probably be something like Mozilla buying it and/or paying Troy to just keep doing what he's doing.
Mozilla could very well be one of the potential candidates for HIBP ownership.
They are a known candidate, but they fall further down the list on some of his criteria than he would like. However, he doesn't provide any further details on this issue.
Meanwhile, he continues to look for other candidates.
I'm no longer a fan.
Guess I shouldn't have trusted him with my personal information.
I used to download the whole file and check locally, but it’s too much of a pain to do consistently.
Troy’s site asks you to send passwords? Not just login identifiers like an email or username?
In that case, you should AT LEAST be sending a hash of a password, a very key-strengthened hash (like sha2 done 1000 times) and on his side Troy can see if it matches anything.
I really feel Troy has handled HIBP very, very carefully, honestly, and with the utmost transparency so far. He seems to have put in a lot of thought into everything - whether it is rolling out a feature or planning the future of HIBP.
Thats not how it works. You hash your password first and then take the first 6 chars of the hash to query the api. The api then returns all of the hashes that begin with those 6 chars and you scan the results for your full hash.
https://blog.cloudflare.com/validating-leaked-passwords-with...
I applaud them for limiting the risk. But when the information shared with them let’s a bad guy know the 500 possible matches out of trillions, that’s not good.
It’s not literally clear text, which is nice. But it’s not without risk. And it’s not a good practice to share portions of password hashes with untrusted parties. Like a friendly hacker who runs a nonprofit site or whatever company buys it.
Effectively, since HIBP asks for 5 characters of the hash, the space is the same as if the full hash were 5 characters shorter.
I guess it’s only a 1:500 if the password has been pwned. In which case, the owner should promptly change it and remove the risk.
Thanks, I didn’t think of that. For some reason I was stuck in thinking that all passwords have been pwned and in the file.
Anyone who takes my security recommendations is already familiar enough of my math vs informed prejudices balance.
https://blog.cynosureprime.com/2017/08/320-million-hashes-ex...
I wonder if segments of the list are around to create a password-blacklist
edit: previous discussion https://news.ycombinator.com/item?id=16799826
However, this shouldn't be alarming.
1) Attackers already have the plaintext password of these hashes. That's why they're in HIBP's repository in the first place.
2) You should already assume most sites/apps don't have proper security hygiene. Password re-use is what will get you. If you wish to warn your users if they're reusing a password, then HIBP's API should already do well for that.
3) You have truly astronomical odds of generating the same password as one in a leaked database should yours contain enough bits of entropy. Remember that GPU's are making millions of guesses per second in the first place when cracking passwords, and significantly slower if the hashing algorithm protects against GPU attacks.
Even less so with the strategy of just sending a small hashed part of the password to HIBP like others already explained.
The mechanics behind the v2 API (using k-anonymity with hashes [1]) are pretty interesting too. Troy has clearly put a lot of thought and time into what started as a pet project a few years ago and should be infinitely commended!
[0] https://blog.1password.com/finding-pwned-passwords-with-1pas...
[1] https://www.troyhunt.com/ive-just-launched-pwned-passwords-v...
I would be very concerned if my credentials are being shared in _any_ form with 3rd parties without my explicit permissions.
I hope this firefox feature is disabled by default.
[0] https://app-updates.agilebits.com/product_history/B5X [1] https://support.1password.com/kb/201907/
Just to clear this up: The code for this is actually way simpler and sends no data to either Mozilla nor HIBP. To prevent Firefox from sending data update pings to HIBP, Firefox Monitor maintains a copy of publicly available HIBP breaches and their metadata [1] in the Firefox "Remote Settings" service. [2]
Using that data, Firefox simply checks for saved logins for breached sites where the saved password is older than the breach. [3]
[1] https://haveibeenpwned.com/api/v2/breaches [2] https://wiki.mozilla.org/Firefox/RemoteSettings [3] https://hg.mozilla.org/mozilla-central/file/6484c07ff8364991...
"Firefox downloads a list of breached domain names and the date they were breached, and merely checks if you have any stored logins on any breached domains that are older then the breach date."
I've always questioned the logic making 500,000,000 passwords off limits when no connection is made to the username. Work-factor hashing algorithms, rate limiting account locking and 2FA are supposed to protect user from brute force attacks. I think they can handle an attack based on 500 million possibilities.
Now, if they matched the username/password pair, that would be great.
And all the major password cracking tools will typically try all the known bad passwords, before they try anything else. And they'll try all known likely variants, before making any potential brute-force attempts.
So, it doesn't matter if the password you want to use is on this list and you want to use it anyway, just because it has never been associated with your userid.
The simple fact that you're trying to use a known bad password that has ever been used before by anyone else, is enough to increase by many, many orders of magnitude the likelihood that someone will be able to crack your new favourite password.
Bad passwords are simply bad, regardless of who tries to use them. Some are worse than others, but they're all bad.
This aspect of HIBP helps you discover if any of your passwords have ever been cracked by anyone, and therefore now on the list of known bad passwords.