MyBB Community Forums

Full Version: Implement bcrypt to Mybb?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
(2012-06-26, 10:05 AM)crazy4cs Wrote: [ -> ]How can you say md5 is not strong enough? One can hardly find any luck to crack md5s.

I can easily do a brute-force attack with my GPU and get around 1000-2000M tries per second and i'm just using an ati radeon 6950 GPU

So no, md5 is not strong enough
I just re-checked the article and it appears to have been edited. it used to have a section about md5. Basically, md5 is a hashing algorithm rather than a cryptographic one such as bcrypt. With modern CPUs (and GPUs being able to eprform the same task), md5 can now be broken rather painlessly using rainbow tables. Here's another article that mentions MD5 collision attacks: http://arstechnica.com/security/2012/06/...akthrough/
euantor I still need help do you think it's possible or is it to much work?
It would be possible, but I haven't got the time to try doing it right now.
(2012-06-26, 11:35 AM)euantor Wrote: [ -> ]It would be possible, but I haven't got the time to try doing it right now.

I see, take your time Smile
(2012-06-26, 10:05 AM)crazy4cs Wrote: [ -> ]How can you say md5 is not strong enough? One can hardly find any luck to crack md5s.

Sorry to be kind of offtopic with this thread, but I just felt the need to reply to this comment.

MD5 hashes are based around 16 characters (0123456789ABCDEF), and are 32 characters in length. Therefore, the total number of possible combinations is at 16^32. Do the math and this comes to 340282366920938463463374607431768211456. Now, this might seem like a large number, but, in terms of cryptography, it is in fact very low, and there is therefore a very high chance of collisions.

Think about it, and MD5 hash can be calculated from infinite possibilities, you could always make the string one character longer, and that still has to fit in just that many combinations.
md5(md5($salt).$password)

It doesn't matter what you do (except maybe for onetime pad, OTP) if someones gets a hold of your database then every password in there is up for grabs, use any tool like hashcat or EGB and you can decrypt them. Problem is most people are vulnerable to social engineering.. If you want more secure.. Strong pass the *bleep* out of your DNS, Webhost, MySQL access, etc etc each with a different password of course. And not only your webhosting related stuff, but also ALL of your other online accounts and including password recovery answers (NEVER EVER use a real answer on those, like when they ask what was your dog's name.. don't say fluffy.. do something like G36#4;22O8'68Cd67o17^L) and if you store your passwords.. make damn sure where ever you store them is always offline and heavily encrypted. Eventually, someday, we might have hardware dongles for everything or something more advanced (which could still be hacked) but until then.. be smarter than most people and obfuscate everything. Also some webhosts now offer cell phone authenticator apps like 1&1.. I'd recommend using service providers that offer that.

Edit:
My point is, MD5 is fine, the problem is that web devs aren't properly securing against social engineering, having done it myself a few times as an experiment, I can tell you it's ALOT easier than you would think because the MAJORITY of people aren't security conscience. Unfortunately, the nomenclature that people are like sheep, is not far from the truth. I wish as a species in whole, that we were smarter than we are now.
(2012-06-27, 10:29 PM)GunnerAIO Wrote: [ -> ]My point is, MD5 is fine, the problem is you web devs aren't properly securing against social engineering, having done it myself a few times as an experiment, I can tell you it's ALOT easier than you would think because the MAJORITY of people aren't security conscience. Unfortunately, the nomenclature that people are like sheep, is not far from the truth. I wish as a species in whole, that we were smarter than we are now.

MD5 is broken. Bcrypt and SHA512 and much securer methods of hashing. Bcrypt is slow, MD5 is fast. Slower = better because the slower it takes to hash the password, the slower is takes to bruteforce it. Plus with Bcrypt it gets slower over time.

Edit: see http://blog.cloudflare.com/keeping-passw...up-to-date for more information.
Right, but if someone gets your database, it doesn't really matter, unless you have external keys somewhere which could still be found if a hacker team got access to your database, which they probably gained entry into your hosting account anyway. and what I meant by MD5 fine was the current md5(md5($salt).$password) SSHA-1(Base64) used in MyBB database is fine.. yes passwords can be recovered but so can Bcrypt password. As consumer technology advances, average Joe can use tools to DIY hack whatever the hardware is capable of handling at that time within a reasonable time frame. It's all math... and math is at it's core, simply a language with rules. So I think you MyBB guys did great, and I don't think it NEEDS to change, IMHO use that time to improve the overall functionality and general security against injection and stuff like that. IMHO, this particular topic of security in protecting database passwords (assuming development is secure from external attack) is really the responsibility of the end user to make sure access is secured as thoroughly as possible.
I think you need to give this a read to get a better understanding of why MD5 isn't good for password hashing.

http://codahale.com/how-to-safely-store-a-password/
Pages: 1 2 3