They say 80% of passwords on the internet are "weak" passwords. When sites use annoying guidelines like "you must have an uppercase character, a lowercase character, a number and a special character," it's not because the webmaster was feeling cruel and abusive and all powerful, but rather because he or she was trying to protect his users. Gaining access to a website with weak security is trivial. You want to protect your users' data, including their password, which may be their key for other websites too.
So here's your security 101: when you store data in a database, step 1 would be storing a password. Storing a password as plain text is not very secure and would certainly be problematic if someone unauthorized gained access. So to combat this, developers encrypted passwords. But passwords that can be decrypted are equally problematic, anyone who could get them could certainly decrypt them. So developers changed to one-way encryption: encrypt it, and then when you give me your password, I'll encrypt it again and see if it matches! Brilliant!
But computers got faster, and thus were born "rainbow tables." Essentially, hackers would start generating encrypted versions of dictionary words, common passwords, and other phrases, and these encrypted strings are known as hashes; when you got a list of encrypted passwords, you could compare them to your list of known hashes. Brilliant!
So developers struck back with "salts." Add some random stuff to the beginning or end of the password and encrypt it, thus rendering rainbow tables null and void. Unless, of course, someone gets your salt. Then what? You can't even decrypt the passwords yourself to re-encrypt them with a new salt. You have to force everyone to change their password.
With the not-too-long-ago release of some compromised passwords from a fellow Phish site, we decided to bump up our security efforts. Phish.net used to utilize a mix of SHA1 and MD5 encryption, fairly common cryptographic hashing functions. The challenge with these is that they are very fast - a computer processor can compute these hashes in microseconds, enough that one could hit a login form 10,000 times per second and just run through the dictionary. Knowing that weak passwords make up 80% of the accounts out there, just knowing usernames - something one could easily pull from, say, our forum - you'd probably be able to gain access to at least a few thousand accounts.
As a result, today, we switched to bcrypt for encryption. bcrypt is very slow (in computer terms). In fact, we actually slow our implementation down further. In other words, it still only takes a fraction of a second, far too little for a human to notice, but enough that a computerized attempt to gain access would be hindered by how long the response would take. The automation of such an action is severely handicapped by this slow encryption. Converting a list of the passwords from our database into something usable elsewhere would still be a mammoth task.
On the flip side of this, what if someone just keeps hitting your site trying to login? To combat this, on Phish.net, we implemented "rate limiting" some time ago. Too many failed attempts and the login process won't continue.
How can you take advantage of this? Simply login to Phish.net. The next time you login successfully, your password will be automatically converted to the new encryption.
If you liked this blog post, one way you could "like" it is to make a donation to The Mockingbird Foundation, the sponsor of Phish.net. Support music education for children, and you just might change the world.
You must be logged in to post a comment.
Phish.net is a non-commercial project run by Phish fans and for Phish fans under the auspices of the all-volunteer, non-profit Mockingbird Foundation.
This project serves to compile, preserve, and protect encyclopedic information about Phish and their music.
Credits | Terms Of Use | Legal | DMCA
The Mockingbird Foundation is a non-profit organization founded by Phish fans in 1996 to generate charitable proceeds from the Phish community.
And since we're entirely volunteer – with no office, salaries, or paid staff – administrative costs are less than 2% of revenues! So far, we've distributed over $2 million to support music education for children – hundreds of grants in all 50 states, with more on the way.
Wishing you and your family the best this holiday season,
charlie
but seriously...
thank you @sethadam1! i saw that post with all the usernames/passwords. i'll be honest with you, i'm not very computer savvy, and it freaked me out. hell, you are computer savvy, and it looks like it gave you serious enough concern to make a change. by the way, good write up on the rational behind the security increase. simple enough that even i understood 75% of it!
you admins have a great holiday. i hope you all have your msg tickets and are looking forward to four burly shows in nyc!!
Thanks, Adam, for all you do! You rock! Have a happy winter solstice holiday whatever you celebrate and a joyous new years run, everyone!
If only the VA would stop losing laptops with my information on it I would be set.
Either way, thanks, of course.
It is totally not surprising to see such a major security upgrade implemented as a real time response in a user friendly way.
We are pretty lucky to have this kind of talent in our community. Thank You!
One morning I woke up and read a message that a new computer had logged into my FB account from Chicago, and an hour later, someone from Russia logged into my gmail, mac.com, changed the passwords, wiped out all my email, and started sending everyone on my contact list some email about "send me money, I owe some hotel in England money and they have my passport and i can't fly home". That's because someone got hacked, got my email and old password, and figured it would work on my other accounts. It did.
I got my accounts back by quickly contacting the providers and using the "got hacked" authentication site with the secret security questions. Never did get the wiped out mail back. And if you don't do that the first few hours, you're screwed, there's no way of ever getting those user names back and gmail et. al don't even have anyone you can contact and talk to about it (read forums on this). Luckily I got up at 6 am that day and the hack had only happened a couple hours earlier.
Now I have a different random strong password for every account, generated and tracked by a program called 1password. $50 but worth it.