Slashdot Mirror


MD5crypt Password Scrambler Is No Longer Considered Safe

As reported here recently, millions of LinkedIn password hashes have been leaked online. An anonymous reader writes "Now, Poul-Henning Kamp a developer known for work on various projects and the author of the md5crypt password scrambler asks everybody to migrate to a stronger password scrambler without undue delay. From the blog post: 'New research has shown that it can be run at a rate close to 1 million checks per second on COTS GPU hardware, which means that it is as prone to brute-force attacks as the DES based UNIX crypt was back in 1995: Any 8 character password can be found in a couple of days. The default algorithm for storing password hashes in /etc/shadow is MD5. RHEL / CentOS / FreeBSD user can migrate to SHA-512 hashing algorithms.'" Reader Curseyoukhan was one of several to also point out that dating site eHarmony got the same treatment as LinkedIn. Update: 06/07 20:13 GMT by T : An anonymous reader adds a snippet from Help Net Security, too: "Last.fm has piped up to warn about a leak of their own users' passwords. Users who have logged in to the site were greeted today by a warning asking them to change their password while the site investigates a security problem. Following the offered link to learn more, they landed on another page with another warning."

212 comments

  1. In other news by colin_faber · · Score: 4, Informative

    rot13 isn't safe either.

    1. Re:In other news by Anonymous Coward · · Score: 5, Funny

      That's why I use rot26. It's twice as strong.

    2. Re:In other news by Anonymous Coward · · Score: 0

      That's why I use rot26!

    3. Re:In other news by Anonymous Coward · · Score: 0

      That's why I use rot26!

      Don't use that tired old shit! Quad-ROT13 is definitely the way to go!

    4. Re:In other news by jrr · · Score: 2

      rot13 isn't safe either.

      Do these young'uns even know what rot13 is?

    5. Re:In other news by sootman · · Score: 1

      Pfft. I went to ROT52 years ago. We've got the horsepower these days--performance isn't a problem.

      --
      Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
    6. Re:In other news by DarwinSurvivor · · Score: 1

      Geocachers sure do.

  2. Are you sure SHA-1+salt is enough for passwords? by anared · · Score: 4, Informative

    Good info about storing passwords properly: http://www.f-secure.com/weblog/archives/00002095.html

  3. What about Debian? by Anonymous Coward · · Score: 2, Interesting

    "... RHEL / CentOS / FreeBSD user can migrate to SHA-512 hashing algorithms."

    That's fine and dandy and all, but what about King Shit Debian? Pretty much all of my systems run something Debian-based in one form or another. Is this a simple change for Debian users too?

    1. Re:What about Debian? by slim · · Score: 5, Informative

      The default in Debian is sha512.

      Confirm by looking in /etc/pam.d/common-password

      password [success=1 default=ignore] pam_unix.so obscure sha512

      'obscure' enables those annoying checks on password quality. 'sha512' is the hash type.

    2. Re:What about Debian? by Qzukk · · Score: 2

      My /etc/shadow on Debian 6.0 uses $6$ hashes (SHA-512) by default. Upgrading from an earlier debian will use the newer hash the next time you change your password.

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
    3. Re:What about Debian? by buchner.johannes · · Score: 1

      pam has always been a mystery to me. Similar to where in Linux the code is that handles switching between TTYs (Ctrl-Alt-Fn).

      --
      NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
    4. Re:What about Debian? by Anonymous Coward · · Score: 0

      The way sysadmins use things without understanding them is rather horrifying.

    5. Re:What about Debian? by Vairon · · Score: 1

      pam has always been a mystery to me. Similar to where in Linux the code is that handles switching between TTYs (Ctrl-Alt-Fn).

      Looking through the code it appears to be linux/drivers/tty/vt/keyboard.c and linux/drivers/tty/vt/vt.c

    6. Re:What about Debian? by Anonymous Coward · · Score: 0

      Welcome to real life, enjoy your stay. Everything you do must be horrifying.

    7. Re:What about Debian? by Anonymous Coward · · Score: 0

      it is only in the floss world in which you really can have an understanding at the source level. so the concept of a windows server must be very horrifying to you

    8. Re:What about Debian? by Stachybotris · · Score: 1

      The default as of RHEL/CentOS6 is sha512 as well. RHEL5 systems still use md5 by default though...

    9. Re:What about Debian? by Anonymous Coward · · Score: 0

      it is only in the floss world in which you really can have an understanding at the source level. so the concept of a windows server must be very horrifying to you

      The concept of a Windows server is horrifying, and repugnant.

    10. Re:What about Debian? by Anonymous Coward · · Score: 0

      The default in Debian is sha512.

      Confirm by looking in /etc/pam.d/common-password

      password [success=1 default=ignore] pam_unix.so obscure sha512

      'obscure' enables those annoying checks on password quality. 'sha512' is the hash type.

      Why are they not using a PBKDF2+sha512 derivative!?

    11. Re:What about Debian? by Anonymous Coward · · Score: 0

      Fuck you.

    12. Re:What about Debian? by SQLGuru · · Score: 2

      HAK5 (HAK5.org) has been doing a series recently on how all of this works and it's been informative. I'd link directly to the episodes, but HAK5 is blocked......for some reason that think knowledge about hacking constitutes actual hacking.......when really, knowledge allows you to defend against it as well.

    13. Re:What about Debian? by AdamWill · · Score: 1

      Note that the default in Fedora is also SHA-512. It seems the summary's claim that md5crypt is 'the default' is somewhat too sweeping.

  4. I think it is sufficient. by lixns21 · · Score: 0

    I have been trying since 1995 and have still not broken in on my Pentium P6

  5. 2004 called they want their news back! by godrik · · Score: 0

    Seriously slashdot?

    MD5 has questionned since 1996 and a strong attack on it was realized in 2004. It broke apart since. Nobody serious about security should still be using MD5 now.

    Just read the second chapter of wikipedia on MD5 http://en.wikipedia.org/wiki/MD5

    1. Re:2004 called they want their news back! by reub2000 · · Score: 0

      This isn't an attack on the hash function. This is a dictionary attack which has been known about for even longer than that.

    2. Re:2004 called they want their news back! by Anrego · · Score: 4, Insightful

      Indeed.

      The effort to use a more secure hash is generally trivial, but there's still going to be a lot of people who either know and don't, or don't know.

      For the first category, nothing you can do about it. Same people running wep on their wifi. They either don't see anyone ever attacking them, are tied in due to old systems, or don't care.

      For the second category, stuff like this may help. I think at this point most people know md5 isn't as secure as once considered, but I don't think people realize just how insecure it is becoming. In peoples minds it's still in the "theoretically if someone was really dedicated they could break it" stage.. whereas it's actually entering into the "feasible to do it on large scale" stage. Breaking that perception might speed things along.

    3. Re:2004 called they want their news back! by buchner.johannes · · Score: 2

      You have to distinguish two cases:
        a) Collisions of hashes -- two documents have the same hash, and you can alter a document, but it will still have the same hash.
        b) The hashing algorithm is insecure (not one-directional) for passwords, i.e. you can reconstruct the original password.

      If the algorithm is susceptible to a), as were the attacks you mention, this does not mean anything for the password security! You don't want to create an alternate password that has the same hash as the password you already have. Additionally, you have length limitations with passwords you do not have for collisions.

      Of course, susceptibility of hash algorithms to a) and b) is weakly correlated, but just because people understand the algorithm better.

      Specifically, what are the drawbacks of storing md5 hashed password? Except for rainbow tables that can be produced for any algorithm and are evaded by salts.

      I wouldn't choose MD5 for designing a new system, but I think understanding the difference is important. This has some similarity to using ridiculous key lengths for public-key encryption.

      The article is arguing that MD5 and SHA1 are just to fast to compute rainbow-tables once the attacker has the salt, and algorithms that require more computations should be preferred. Should thus PBKDF2 be chosen for hashing documents? No, because a) and b) are different problems with different requirements.

      --
      NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
    4. Re:2004 called they want their news back! by godrik · · Score: 1

      Once you can solve problem a). Problem b) will follow soon. Notice that for many case, you might not need to recover the password. Any password that generate the same hash will do.

      If the MD5 encoded /ec/shadows of your system leaks. Solving problem a) allows me to log onto the system. That is a security problem. A lesser one than leaking the password itself but it is still a problem. Passwords need to be changed.

      With a strong hashing function, you'll post your /etc/shadow on the web and still sleep like a baby at night.

    5. Re:2004 called they want their news back! by amicusNYCL · · Score: 1

      I think at this point most people know md5 isn't as secure as once considered, but I don't think people realize just how insecure it is becoming.

      Why not? Are they not paying attention? This is a quote from TFA:

      In 2004, researchers revealed a number of weaknesses in regularly-used hash functions. Later in 2005, MD5 was declared “broken” by security expert Bruce Schneier.

      I remember reading that back in 2005 (7 years ago!) and not being surprised. I mean, what the hell people? Who in 2012 is using MD5 for new systems thinking that it's "good enough"? It hasn't been "good enough" since SHA-1 came out in 1995. I mean, all other things being equal, MD5 results in a hash that is 128 bits, a SHA-1 hash is 160 bits. The hash space is larger for SHA-1, so why would anyone be using MD5 for anything at all, even CRC checks? Not even SHA-1 is good enough any more, so again, why would anyone think MD5 is fine to use? I just don't get it, if people in 2012 still think that MD5 is appropriate to use in any circumstance then they'll never learn.

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    6. Re:2004 called they want their news back! by amicusNYCL · · Score: 1

      I thought of this just as I hit the post button, but I would LOVE to see PHP deprecate and outright remove the MD5 function. Maybe copy-paste programmers will start paying attention at that point. If it breaks software, well, that software was already broken. PHP is just requiring that you fix it now.

      Wishful thinking...

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    7. Re:2004 called they want their news back! by Junta · · Score: 1

      b) differs from a) in common practice in that you must find data+determined salt=hash. If your collision doesn't end in the salt, it's useless in that application.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    8. Re:2004 called they want their news back! by Anonymous Coward · · Score: 0

      The issue with the LinkedIn passwords isn't that they're MD5 encrypted.

      They could be encrypted with some theoretical, quantum 2829348327012021934-byte hash encryption and still be found out, because hashes themselves don't protect against dictionary/brute force attacks. Someone can still check to see if [the hash for "a" = the hash for your password]. Some are running dictionary attacks against it,

      No -- the main issue with MD5 hash is that it's only a 128-bit string, which means that no matter how secure or obscure your password is, it almost certainly shares a hash with another string that's 16 ascii characters or fewer -- that's still 340 undecillion possibilities.

    9. Re:2004 called they want their news back! by mstefanro · · Score: 1

      Firstly, a bad tool becoming so popular to the point where it's nearly impossible to convince people not to use it is not an uncommon effect. Just like w3schools is so widely spread although one of the poorest sources of documentation for html and the like, MD5 is still pretty much the first thing most programmers are taught by others when it comes to storing passwords (especially PHP programmers, who often have no clue what they are doing, as they're pretty much the only people not using prepared statements in 2012). Secondly, it often appears to be in human's nature to simply not care about consequences when they seem so unlikely to occur to one. Just like you know your door lock can be broken easily and there are better alternatives yet you are not switching, many programmers simply come to the conclusion that whether they choose MD5 or something else, it will likely not matter at all. "Who's going to manage to break into my database and steal my hashes in the first place, anyway". Unsalted MD5 is still a trend among PHP programmers (just like mysql). Besides, a reasonably strong password with a salt is still not very "easy" to break, and pragmatic programmers simply don't care that you can generate collision pairs efficiently.

    10. Re:2004 called they want their news back! by mstefanro · · Score: 1

      Also, I'm not sure HMAC MD5 is considered weak at all.

    11. Re:2004 called they want their news back! by Anonymous Coward · · Score: 0

      Go back to your Ruby on Rails! MD5 is used for more than passwords..

    12. Re:2004 called they want their news back! by Em+Adespoton · · Score: 1

      With a strong hashing function, you'll post your /etc/shadow on the web and still sleep like a baby at night.

      That's going a bit far... if the hashing function is known and a password in the list is known, the rest of the variables can usually be filled in pretty quickly. At that point, a brute force attack against the rest of the hashes will only be limited by the speed at which the attack can be performed -- which is the point of what's being argued in the original article (not just that md5crypt is bad, but that any replacement should be system-configurable (so that it's harder to guess the algorithm and algorithm settings/salt used) and computationally expensive (which most web servers are NOT going to like -- but as sites like LinkedIn allow you to stay logged in via cookie anyway, I can't see how it's that much of an issue).

    13. Re:2004 called they want their news back! by amicusNYCL · · Score: 1

      I've never used RoR, I prefer to write correct PHP code. What exactly do you use MD5 for where SHA-1 would not be more appropriate (less prone to collisions, due to a larger hash space)?

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    14. Re:2004 called they want their news back! by amicusNYCL · · Score: 1

      Also, I'm not sure HMAC MD5 is considered weak at all.

      Maybe not, but would it be better to use HMAC MD5 or HMAC SHA-1? Or HMAC SHA-512? What is the argument for using a weaker alternative?

      Firstly, a bad tool becoming so popular to the point where it's nearly impossible to convince people not to use it is not an uncommon effect.

      Right, that's why I'd love to see PHP remove the MD5 function. It would force people to wonder why and look for alternatives.

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    15. Re:2004 called they want their news back! by cryptizard · · Score: 1

      They have chosen suffix attacks on MD5 that would work for this but you have to have the freedom to add some large amount of data (many bytes) to the front of the input, which would most likely be rejected from any reasonable login system.

    16. Re:2004 called they want their news back! by drkstr1 · · Score: 1

      MD5 is a checksum algorithm. I have never seen it used to actually "encrypt" something, although I'm sure it happens from time to time. Regardless, removing it would be a bad idea.

      --
      Fanboy Status: Apache Flex, C#, Eclipse, KDE, Pirate Party, Ron Paul, Slackware, Windows 7
    17. Re:2004 called they want their news back! by mstefanro · · Score: 1

      If I remember correctly, PHP's main developer broke the crypt() function and their regression testing was so poor that the bug went into a stable release. Not to mention that everyone was like "everyone can misunderstand the manpage for strcpy!". I wouldn't put too much faith in anything good coming out of PHP.

    18. Re:2004 called they want their news back! by mstefanro · · Score: 1

      Using HMAC SHA-1 over HMAC MD5 is no more convincing than using AES-192 over AES-128. For regular security needs, AES-128 is considered sufficient. For greater needs, there's AES-192 and AES-256. The same logic applies for HMAC-MD5,HMAC-SHA1 and HMAC-512.

    19. Re:2004 called they want their news back! by amicusNYCL · · Score: 1

      For regular security needs, AES-128 is considered sufficient. For greater needs, there's AES-192 and AES-256.

      I don't like that type of thought, it seems lazy. It's the reason why MD5 is still being used. What is "sufficient" today may not be sufficient in 10 years, so why choose lesser security when the difference between that and greater security is a bigger database field? And how would you quantify "regular security" versus "greater needs"?

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    20. Re:2004 called they want their news back! by St.Creed · · Score: 1

      You are confusing the story about the Flame malware with the LinkedIn breach.

      Funny enough, in one case the FBI wants to know who told everyone the USA wrote Flame to hack sites, and in the other case the FBI wants to know who hacked LinkedIn. Perhaps the two teams should, you know, Link up? :)

      Flame actually does use a (apparently previously unknown) cryptographic attack method on the MD5 hash itself (creating collisions in a novel way) to sign fake Microsoft certificates. This was already a known attack since last year, but that time it appeared to come from the Middle East and was aimed at Iranian dissidents (apparently). Funny how it was used against Iran then. Someone seems to have a well-developed sense of irony. UNfortunately the new method also opens new attack avenues at other cryptographic security systems. The stakes are high, but not every country or involved party in what looks like a covert war can afford this research (or do it with success), so RSA and certificate providers will be having a really bad time in the coming years: I predict physical breakins, kidnaps, and assault on people working for those companies.

      If I was working for RSA or a similar company, I'd leave facebook and LinkedIn and other social media right now. Social media sites are about to become decidedly unhealthy pastimes for employees of those companies.

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
    21. Re:2004 called they want their news back! by St.Creed · · Score: 1

      To check the integrity of transmitted files from a list of MD5 checksums provided by the software on the other end, that can only do MD5 checksums. Not critical but still pretty useful when we go live in 4 weeks. Validated system and all that so forget about patching it (unless you want to spend a lot of time+money).

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
    22. Re:2004 called they want their news back! by amicusNYCL · · Score: 1

      So the argument for using a hash/checksum algorithm with a smaller collision space is because it would be difficult to update the software, not for a technical reason? I'm looking for a single technical reason why someone would favor MD5 over SHA-1.

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
  6. Unsalted hashes are worse. by mbone · · Score: 4, Interesting

    It astounds me that Linkedin and eHarmony used unsalted password hashes. That's much worse than using md5 (and, yes, you shouldn't use md5, but, still, first things first).

    From the Linkedin Press Release :

    The passwords are stored as unsalted SHA-1 hashes,

    Come on, guys, get up to at least 1978 in your security policy.

    1. Re:Unsalted hashes are worse. by Atzanteol · · Score: 2

      Salt isn't magic. If they stole your database they likely would get the salt and hash values (unless it is stored elsewhere and the hackers were unlucky). It will stop rainbow table attacks to be sure, but not brute force. At best (the hackers didn't get the salts) it will slow down brute force.

      --
      "Ignorance more frequently begets confidence than does knowledge"

      - Charles Darwin
    2. Re:Unsalted hashes are worse. by Anonymous Coward · · Score: 0

      The thing is that some types of authentication don't work without both sides knowing the plain-text password. In these types of authentication you can actually confirm that the user knows the password without it ever being sent over the network. For example, you could Diffie-Hellman exchange a one-time salt and transmit the hash of the password concatenated with that salt. Even if you could intercept the transmission, you wouldn't be able to get a useful hash from which to decrypt the password.

    3. Re:Unsalted hashes are worse. by CanEHdian · · Score: 2

      Salt isn't magic. If they stole your database they likely would get the salt and hash values (unless it is stored elsewhere and the hackers were unlucky). It will stop rainbow table attacks to be sure, but not brute force. At best (the hackers didn't get the salts) it will slow down brute force.

      Without having the salts, it is brute force. With the salts, dictionary-attacks are -as evidenced by the 'weakest/stupidest/etc. LinkedIn passwords' stores- quite effective. It is also true that LeakedIn is having people try out their old passwords; what if they or a site like that keeps a log of all these passwords to add to the existing dictionaries?

      --
      When the copyright term is "forever minus a day", live every day like it's the last.
    4. Re:Unsalted hashes are worse. by CaptainJeff · · Score: 5, Informative

      It will slow down brute force **for a particular password**. That's the key. If you don't use salt, you can brute force all you want and, for each attempt, check to see if that result is there for ANY of the passwords. If you use salt, since you would be using different salt for each password (or...you should be!), then you need to brute force each password individually.

    5. Re:Unsalted hashes are worse. by Anonymous Coward · · Score: 0

      There is a huge difference between days to crack each password hash, and a few milliseconds to use a pre-computed rainbow table to crack each hash.

      Magic? Depends on how you view, 6M passwords cracked within a few hours, or two passwords cracked within a few days.

      Hell, *nix has used salted pwords since the 70s. I think only M$ windows, and some crappy webapps allow (essentially) real-time cracking of pwords.

      Can't wait for Google to get hacked. If you use directory sync with google apps, you have to use plain-text passwords or unsalted SHA-1. Good times.

    6. Re:Unsalted hashes are worse. by Artraze · · Score: 1

      Salt is only for preventing dictionary based attacks, while this article is talking about brute force attacks. Now, we if suppose an attacker, for some bizarre reason, couldn't collect the salt value(s) alongside the password hashes the salting might increase the difficulty of brute forcing the passwords, but that situation is highly unrealistic.

    7. Re:Unsalted hashes are worse. by Anonymous Coward · · Score: 1

      Yes, but it makes it you have to bruteforce every hash separately. Thus lengthening the time a lot. Without salts, you can bruteforce 1 hash and know all the password that are the same.

    8. Re:Unsalted hashes are worse. by bugg · · Score: 3, Insightful

      Yes, but slowing down a brute force attacker by a factor of the cardinality of the set of unique salts will almost certainly be a huge win, especially if the salts chosen are long enough where salt-collisions are rare to nonexistent. 6.5 million accounts were compromised; requiring someone to have 6.5 million times as much compute resources to compromise all passwords is nothing to sneeze at.

      Of course, salts don't help you in the case where a well determined attacker isn't after 6.5 million accounts but rather just one specific account, but that's not what they are intended to help with.

      --
      -bugg
    9. Re:Unsalted hashes are worse. by Bengie · · Score: 1

      We don't care about brute force, only rainbow tables. If your password is bruteforceable, that's your fault.

    10. Re:Unsalted hashes are worse. by berashith · · Score: 1

      i saw the leaked-in page and my paranoid response went through the roof. Why the hell would I just type my password into that page? I went to a page that could provide a hash of my password in a different browser, made sure I wasnt logged in to anything ( hoping no cookies would link stuff around ) , and then tried the hash in leaked-in. I wasnt on the list. I still made sure that linked-in does not have a password for me that is on anything else.

    11. Re:Unsalted hashes are worse. by JasterBobaMereel · · Score: 1

      If someone has been able to steal the hashed passwords, then how long it takes to decrypt them is academic ...

      They have access to your server already, customers passwords are the least of your worries ...

      --
      Puteulanus fenestra mortis
    12. Re:Unsalted hashes are worse. by Anonymous Coward · · Score: 0

      A hardened salt methodology can still be secure.

    13. Re:Unsalted hashes are worse. by Anonymous Coward · · Score: 0

      Yes, that's what he said. It takes longer, because each password takes longer, because the passwords are longer.

      In practice, you just brute force and, yes, check each result for ANY of the passwords. If they're salted, it takes longer, because you'll only find 1 password at a time. Unless they're all salted with the same salt.

    14. Re:Unsalted hashes are worse. by tlhIngan · · Score: 2

      Yes, but slowing down a brute force attacker by a factor of the cardinality of the set of unique salts will almost certainly be a huge win, especially if the salts chosen are long enough where salt-collisions are rare to nonexistent. 6.5 million accounts were compromised; requiring someone to have 6.5 million times as much compute resources to compromise all passwords is nothing to sneeze at.

      Of course, salts don't help you in the case where a well determined attacker isn't after 6.5 million accounts but rather just one specific account, but that's not what they are intended to help with.

      I've wondered - would hashing the username and using hte hash as the salt be "good enough"? The other alternative is well, just use a unique identifier for the salt so they're all different... (e.g., a 32-bit counter should be sufficient for most cases as chances are high that you aren't targeting the entire world population with your service...).

    15. Re:Unsalted hashes are worse. by Score+Whore · · Score: 1

      Of course that means that you have the unencrypted password on the server side in order to compute the one-time salt+word concatenation. Not good practice.

    16. Re:Unsalted hashes are worse. by Anonymous Coward · · Score: 2, Insightful

      Not really. Password reuse is so ubiquitous that cracking those hashes is still worth something. If someone has the same password on FooBar.com as they have at their bank, or on Facebook, or on $PICK_YOUR_POISON, cracking the hash at FooBar.com just gave the attacker the keys to something a lot more useful.

      Hell, it's so widespread that attacking little piss-ant sites is worth it specifically to get a bunch of passwords to try elsewhere. At that point, the fact that your server's been pwnt is the least of anyone's problems...

    17. Re:Unsalted hashes are worse. by Cito · · Score: 1, Funny

      That's why people should use Pepper instead of Salt, plus Salt is bad for the heart.

    18. Re:Unsalted hashes are worse. by Em+Adespoton · · Score: 2

      every password hash is bruteforceable -- it's only a matter of time.

      Notice I didn't say every _password_ -- as nobody really cares* about your original password; they just care about being able to enter a password that will generate your hash. I recently ran a test and discovered that one of my passwords generates the same md5crypt as "swordfish" -- even though the password was a decently long string of random characters.

      So the short story here is that your password is only as strong as the verification mechanism plus security used by the server.

      *this assumes that you don't re-use passwords; figuring out the original password can be very useful to attack specific users as opposed to specific services.

    19. Re:Unsalted hashes are worse. by Anonymous Coward · · Score: 0

      I've wondered - would hashing the username and using hte hash as the salt be "good enough"?

      Both good enough and standard practice -- only fools who don't understand what salt is for do silly things like adding a separate random or sequential salt field.

    20. Re:Unsalted hashes are worse. by SQLGuru · · Score: 1

      Put your hash in here and let me know how fast it comes back with the original password.......my 9 character passsword came back way to quick to my liking......needless to say, it's no longer my 9 character password.

    21. Re:Unsalted hashes are worse. by FormOfActionBanana · · Score: 1

      You guys, every time you hash a string online, it goes into the rainbow tables. You must install openssl and hash locally for these tests:

      $ echo -n "password123" | openssl sha1
      cbfdac6008f9cab4083784cbd1874f76618d2a97
      $ history -c

      --
      Take off every 'sig' !!
    22. Re:Unsalted hashes are worse. by Anonymous Coward · · Score: 0

      Of course that means that you have the unencrypted password on the server side in order to compute the one-time salt+word concatenation.

      Yes, he said that in the very first sentence of the post.

    23. Re:Unsalted hashes are worse. by Cid+Highwind · · Score: 1

      It'll slow them down by a factor of the number of leaked hashes, which while not magic is pretty significant when you have a million hashes!

      With no salt, they can attack in parallel, testing each dictionary word against the whole hash list at the same time. With unique salt for each user, they have to run the same dictionary attack against each hash sequentially.

      --
      0 1 - just my two bits
    24. Re:Unsalted hashes are worse. by styrotech · · Score: 1

      They have access to your server already, customers passwords are the least of your worries ...

      Although likely that isn't necessarily the case. They could've lifted them via offsite database backups, or (less common these days) via a lame SQL injection vulnerability in the app etc etc.

    25. Re:Unsalted hashes are worse. by Score+Whore · · Score: 1

      Yes. But both you and he have a score of 0. So I'll look brilliant anyway! hahahahahahahahaha. or something.

    26. Re:Unsalted hashes are worse. by snugge · · Score: 2

      you actually found a collision?

      *please* post the password that produces the same hash as "swordfish"

    27. Re:Unsalted hashes are worse. by neonsignal · · Score: 1

      Even a deliberate MD5 collision is not easy. I'm skeptical that you found one by accident, particularly with such an interesting member of the pair.

    28. Re:Unsalted hashes are worse. by Em+Adespoton · · Score: 1

      Oh, I never said it was an MD5 collision; it was an old-style crypt collision -- but other than the probability of finding one, the logic still holds for any hashing algorithm -- that's the point of a hash, that you can't reverse the hash to arrive at a single value, which implies multiple values that can create that hash.

      What I'd actually like to see in a hashing algorithm is something a bit more weighted, that attempts to distribute the length of strings that will hash to that value. This does mean that short passwords will be potentially easy to crack, but if you enforce a min length with such an algorithm, you minimize the risk of collision while failing to create a two-way hash.

  7. Brute-force was solved decades ago. by Beardo+the+Bearded · · Score: 0, Troll

    Brute-force was solved decades ago. The local free-net here had a simple solution:

    If you get your password wrong, you can't try again for 1 second. Every failure doubles the time required to try again.

    Why doesn't everyone do that?

    --

    ---
    ECHELON is a government program to find words like bomb, jihad, plutonium, assassinate, and anarchy.
    1. Re:Brute-force was solved decades ago. by Anonymous Coward · · Score: 2, Insightful

      So, if someone steals your database full of hashed passwords, you just call them up and ask them nicely to slow down their brute force?

    2. Re:Brute-force was solved decades ago. by slim · · Score: 4, Insightful

      If you get your password wrong, you can't try again for 1 second. Every failure doubles the time required to try again.

      Why doesn't everyone do that?

      It doesn't help if your attacker has got hold of the list of hashes.

      1. Steal hashes
      2. Brute-force on your own system/cloud/botnet/whatever
      3. Use password

    3. Re:Brute-force was solved decades ago. by Anonymous Coward · · Score: 1, Insightful

      The problem is if the hashed password database is recovered (as in LinkedIn). Then you can run hashes as fast as you want to.

      For instance, the SHA-1 hash of "password1" is e38ad214943daad1d64c102faec29de4afe9da3d -- you cannot reverse "e38ad214943daad1d64c102faec29de4afe9da3d" to get "password1", but you can guess things until you get "e38ad214943daad1d64c102faec29de4afe9da3d" and then you know that my password is "password1".

    4. Re:Brute-force was solved decades ago. by BagOBones · · Score: 0

      That is external application brute force, in this case the attacker simply broke in and copied the list of hashes given them unlimited time to try and match them to known passwords.

      --
      EA David Gardner -"... but the consumers have proven that actually what they want is fun."
    5. Re:Brute-force was solved decades ago. by jeffasselin · · Score: 0

      Doesn't help if someone grabs the hash table, like in this case.

      --
      If he explores all forms and substances Straight homeward to their symbol-essences; He shall not die.
    6. Re:Brute-force was solved decades ago. by Qzukk · · Score: 3, Insightful

      Why doesn't everyone do that?

      Because whoever downloaded the database of hashes will probably ignore your request that they only check one password per second.

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
    7. Re:Brute-force was solved decades ago. by bussdriver · · Score: 4, Interesting

      1) server + http is stateless; it is not trivial to delay attempts every second. You would have to maintain a database of accounts and failure timestamps. On occasion, you'd have to scrub that database too. Not difficult to implement but I suspect few do. Busy distributed sites have more complications as this database may need to be in sync between servers; creating a possible bottleneck and another attack vector.

      2) An attack on 100s of accounts could rotate between accounts to get around the time limit. So now you are storing a short history in that database; or tracking an IP address but not being too aggressive with the IP due to NAT users... and bot nets do not have as much trouble getting IP addresses.

      3) Security holes. Some simple little add on to your website written in PHP just compromised your password database. The server may still be "secure" but the data could leak out and you may never know about it. Your password hashes are now on the internet with ZERO time delay between password attempts and any method known to man can be employed in parallel against those password hashes. Many people use the SAME password for all their accounts so one can be motivated to crack them even everybody later changes their passwords they probably keep the old ones in use elsewhere.

      4) Some users have EMAIL ADDRESSES for account names it becomes easy to find that person again. Also, identification information may leak as well. Some sites produce different errors for unknown account names so then you know they have an account - especially if the account name is an email address. Even with a 1 second delay, I can quickly (in parallel) check a huge list of email addresses to see who has accounts with XXX with animals and kids .com. In addition, one has enough to send phishing emails...

      5) Lost password questions. These questions are usually pathetic and tolerant of variations on input. This provides an easier password to crack probably without as much protection. 1 second delay will do nothing against "What is your mother's maiden name?"

      So:
      Learn something from DES, MD5 and soon SHA -- use bcrypt hashing!
      Keep a timestamp database to filter out simple attacks and identify accounts under attack and log more data.
      Do not use emails for account names. Encrypt identification (emails) in the database; store the keys outside the database's reach.
      Forbid stupid passwords. Probably BAD to have secure questions at all.
      Do not mindlessly ban the use of autocomplete since it allows many of us to generate long random passwords. Do not limit the length of passwords or the characters used; too many sites are overly restrictive.
      Do not output errors that leak information.

    8. Re:Brute-force was solved decades ago. by mlts · · Score: 1

      It is an easy way to go, but what I saw people do is log in just to make sure a legit user would be locked out.

      Some old IBM systems would lock a user account indefinitely after 3-5 wrong guesses. So, what people would do for petty revenge is just type in the user name of someone they don't like, type in some wrong guesses, and that person's account is locked out until the next weekday when the IT staff comes in.

      Instead, there needs to be multiple levels of lockout to prevent brute force guessing. The lowest level would be at the hash database server, where it would allow 10-20 wrong guesses before it would block access for 1-2 minutes (good enough to slow down brute force dictionary attacks, but not so long that it means a legit user is locked out forever.) From there, the app server would lock out access via IP ranges, say 15 minutes if there were 3+ guesses wrong. This way, if someone was coming from one IP range to guess passwords, it would not completely lock a legit user out who was coming from somewhere else.

    9. Re:Brute-force was solved decades ago. by WuphonsReach · · Score: 1

      When talking about password security you must assume that the attacker has access to your salt method, the hash function that you use and the hashed passwords.

      That doesn't mean that you don't also do defense in depth such as account lockouts, increased response times for consecutive failures and limiting the number of tries. But at the end of the day you must make the assumption that the attacker can bypass those and make as many attempts per second as they have the money/resources for.

      Then there's the enforcement of password complexity, which the marketing folks are at complete odds with the security folks about. Forcing users to use stronger passwords will drive them away and marketers will try to get those barriers lowered so they can build a user base.

      --
      Wolde you bothe eate your cake, and have your cake?
    10. Re:Brute-force was solved decades ago. by dkf · · Score: 1

      An attack on 100s of accounts could rotate between accounts to get around the time limit. So now you are storing a short history in that database; or tracking an IP address but not being too aggressive with the IP due to NAT users... and bot nets do not have as much trouble getting IP addresses.

      You are aware that such large-scale attacks are pretty rare? The vast majority involve one or two hosts. (You can tell this by looking at logs and overall net traffic levels.) They also tend to try all sorts of obvious things first; it's really easy to spot what's going on, and it usually reads like a litany of all that's wrong with IIS and PHP... but I digress. While theoretically, a botnet could be used to get past techniques like denyhosts, most botnets work on far more valuable things than breaking into a single account on a single computer. Hardly anyone has data valuable enough to be worth that effort (and with those I know who do, no botnet could break in anyway, as the data is held strictly offline).

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    11. Re:Brute-force was solved decades ago. by bussdriver · · Score: 1

      Yes. This is slashdot.
      Some other OCD nerd would have pointed it out as an obvious attack OR if I mentioned it point out it is unlikely...

      Likely hood is not a wise excuse when listing security threats! Save that for the implementation phase! You document the threats and what you are doing about them, which in some cases will be nothing because it is not worth the effort at that point.

      One has to keep in mind that when common attack vectors are GONE the less common ones become the new common attacks - and real crackers are skilled computer users who evolve their tools and skills (sometimes lending help to others.) It also depends on the details; if you don't track IPs and I have a long list of accounts I could stay under the radar by rotating the attacks; if you track IPs then I'd have a problem of getting a lot of IPs to do the attack which as you pointed out is quite unlikely.

  8. Any 8 character password? by HermDog · · Score: 5, Funny

    Looks like it's time to change my password to "password1".

    --
    JADBP
    1. Re:Any 8 character password? by Anonymous Coward · · Score: 0

      That's the kind of combination and idiot would use on his luggage.

    2. Re:Any 8 character password? by Anonymous Coward · · Score: 1

      Looks like it's time to change my password to "password1".

      Ahaaa, that's what they're EXPECTING! But they'll never get me! I'm one step ahead of ALL of you!

      My new password is "password-1".

    3. Re:Any 8 character password? by Anonymous Coward · · Score: 0

      -- That's the kind of combination and idiot would use on his luggage.

      That's the kind of comment an idiot would make.

    4. Re:Any 8 character password? by room101 · · Score: 1

      Idiot. Password123! is the way to go. I thought everyone knew that.

      --
      room101 -- how much can you stand before they break you?
      (they always break you eventually)
    5. Re:Any 8 character password? by Anonymous Coward · · Score: 0

      So is the ROT13 ones that lead off this page. Yet they get modded up. Sometimes, just to make myself feel crazy, I try to anticipate all the posts that a story will get before I go in and read them. That one was high on the list.

      Sometimes slashdot posts remind me of that Simpsons episode where they're playing Bingo at the old folks home:

      "B-11"..."You Sunk My Battleship!" [Group Laughter]...
      "I-23"..."You Sunk My Battleship!" [Group Laughter]...
      "G-53"..."You Sunk My Battleship!" [Group Laughter]...

    6. Re:Any 8 character password? by sociocapitalist · · Score: 1

      Surely you meant to say "Password1"

      --
      blindly antisocialist = antisocial
    7. Re:Any 8 character password? by dkleinsc · · Score: 1

      That's not 8 characters!

      --
      I am officially gone from /. Long live http://www.soylentnews.com/
    8. Re:Any 8 character password? by slashdotjunker · · Score: 1

      Looks like it's time to change my password to "password1".

      I know this is just a joke, but we really need to stop propagating the idea that memorable passwords are weak.

      The brute force search space of "password1" is 486 times larger than "password" (36^9 versus 26^8). Increasing the length of a password is one of the best ways to strengthen it. Intuitively, a randomized string is better than a structured one. This is correct, but only when the strings have equal length. Humans cannot remember long randomized strings. A lengthy, structured password is stronger against computerized attacks since the search space is significantly larger.

      According to Princeton's WordNet there are at least 117,000 English nouns. A memorable four-noun phrase has a search space 2600 times larger than a randomized 7-bit ASCII eight-character password (117000^4 versus 128^8).

      An obligatory XKCD with discussion can be found here.

    9. Re:Any 8 character password? by Anonymous Coward · · Score: 0

      >36^9 versus 26^8

      No.

      more like 26^8 * 2 (1 bit for has suffix) * 4 (2 bits for suffix: 00-> suffix is 1, 01 -> suffix is 123, 10, 11 -> suffix is something else)

      Also the word password due to how often it is used, can scarcely be said to have 2log(26^8) bits. Something like 10 - 15 bits would be a better estimate.

    10. Re:Any 8 character password? by Anonymous Coward · · Score: 0

      Now that's just scary. Who told you my password?

    11. Re:Any 8 character password? by Anonymous Coward · · Score: 0

      The brute force search space of "password1" is 486 times larger than "password" (36^9 versus 26^8).

      No it's not because you should look at that as a 2-symbol pattern.

      a) A word from a list of the 10k most common words
      b) A random digit.

      Which means, worst case, it can be guessed in about 50,000 tries (birthday paradox). And it's such a common pattern that the attacker is very likely to try all common words with a single number appended.

      Now, if you avoid the 10k most common words then you can pull from a list of about 300,000 english or loaned words. Start tacking multiple of those together (figure 250k useful words that aren't too long to be chained together) and you're starting to get up into the realm of what a completely random 80bit per character, 8 character long password has for complexity.

    12. Re:Any 8 character password? by FormOfActionBanana · · Score: 2

      we really need to stop propagating the idea that memorable passwords are weak.

      Is this enough to convince you otherwise???

      $ sha1 password1
      e38ad214943daad1d64c102faec29de4afe9da3d
      $ cat combo_not.txt | grep 214943daad1d64c102faec29de4afe9da3d
      00000214943daad1d64c102faec29de4afe9da3d

      --
      Take off every 'sig' !!
    13. Re:Any 8 character password? by Anonymous Coward · · Score: 0

      Is this enough to convince you otherwise???

      Nope. Might help if you told us what the fuck combo_not.txt is supposed to be though....

    14. Re:Any 8 character password? by DMUTPeregrine · · Score: 1

      The list of leaked passwords from linkedin.

      --
      Not a sentence!
    15. Re:Any 8 character password? by FormOfActionBanana · · Score: 1
      --
      Take off every 'sig' !!
  9. Bad math by Anonymous Coward · · Score: 1

    There are 95 ASCII characters, which makes 95**8 = 6,634,204,312,890,625 possible 8 character passwords. At one million checks per second a brute force attack will take 6,634,204,312 seconds (210 years).

    There's a fad going around right now to use ridiculously slow password hashing algorithms on the web, which the poster apparently has bought into:

    On a state of the art COTS computer, the algorithm should take at the very least 0.1 second (100 milliseconds) when implemented in software, preferably more.

    If you do this you're opening your site up to an easy DoS attack - a few 10s of login requests per second will slow your server to a crawl. The place where slow hashing algorithms ought to be used is exactly the opposite of where they're used today: encryption of local files, where the user actually has to remember the password, unlike web passwords where you can just use 32 random characters and let your local browser remember it (preferably with the browser's password file encrypted with a slow hash).

    1. Re:Bad math by Anonymous Coward · · Score: 0

      Oops, before someone accuses me of mixing up hashing and encryption: What I mean is using hash(password) as the key for a symmetric crypto algorithm.

    2. Re:Bad math by Bert64 · · Score: 1

      It's also possible (although very rare) to use most control characters in your password, at least on unix boxes. Very few brute force tools would be configured to try these.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    3. Re:Bad math by BlueParrot · · Score: 1

      There are 95 ASCII characters, which makes 95**8 = 6,634,204,312,890,625 possible 8 character passwords

      Or you can use 6 random words from the oxford english dictionary, which gives you more combinations that the number of nanoseconds in the estimated lifetime of the universe, while still producing a passphrase that is feasible for a human being to remember.

    4. Re:Bad math by element-o.p. · · Score: 1

      There are 95 ASCII characters, which makes 95**8 = 6,634,204,312,890,625 possible 8 character passwords. At one million checks per second a brute force attack will take 6,634,204,312 seconds (210 years).

      If you are trying to brute-force a specific password, then your argument makes sense. However, if you consider that most users are not /. tech geeks*, then some passwords are more likely than others. For example, "password," "secret," "topsecret," "jbond007" (yes, I saw that used in a professional environment once, sigh), and variants or these such as "s3cr3t," "53cr3t," or "53cr3+," etc. are a lot more likely than "mRqe2Ded", "7GNt4adL", etc. (which I generated with a Perl script). If you have access to the password hashes (which the crackers in this story do), then you compute hashes of common passwords and grep for them in the hash file. Voila! You now most likely have access to a boatload of user accounts.

      *The assumption is that tech geeks know better and act accordingly. I'm aware that that's not always the case, however.

      --
      MCSE? No, sir...I don't do Windows. Yes, I am an idealist. What's your point?
    5. Re:Bad math by FormOfActionBanana · · Score: 2

      There are 600K words in the Oxford dictionary. That gives, by your formula, a formidable 46,656,000,000,000,000,000,000,000,000,000,000 possible passwords to crunch into the rainbow table.

      But most Americans have a lexicon of about 8K - 10K words! 9000^6 is only 531,441,000,000,000,000,000,000.

      As you are aware, "correct horse battery staple" is only four words: 9000^4 = 6,561,000,000,000,000. Not an improvement in complexity, but considerably more memorable. God, passwords are so shitty, they do my head in.

      --
      Take off every 'sig' !!
    6. Re:Bad math by Em+Adespoton · · Score: 1

      There are 95 ASCII characters, which makes 95**8 = 6,634,204,312,890,625 possible 8 character passwords. At one million checks per second a brute force attack will take 6,634,204,312 seconds (210 years).

      There's a fad going around right now to use ridiculously slow password hashing algorithms on the web, which the poster apparently has bought into:

      On a state of the art COTS computer, the algorithm should take at the very least 0.1 second (100 milliseconds) when implemented in software, preferably more.

      If you do this you're opening your site up to an easy DoS attack - a few 10s of login requests per second will slow your server to a crawl. The place where slow hashing algorithms ought to be used is exactly the opposite of where they're used today: encryption of local files, where the user actually has to remember the password, unlike web passwords where you can just use 32 random characters and let your local browser remember it (preferably with the browser's password file encrypted with a slow hash).

      While the gist of your argument is true, the argument about 210 years to complete a brute force attack is fairly obviously false. It will take 210 years for a brute force attack to traverse the entire set of options on a single hash.

      However, when you scale up to millions of hashes and add some limited intelligence to the brute force method, you'll likely find thousands of passwords within minutes. With more computationally difficult algorithms, this "minutes" timeframe can become "days" or "weeks" or even longer, as the number of hashes being analysed significantly increases the amount of cycles required to force a match. Because of this, there comes a sample size threshold that it is impractical to batch force beyond. THIS is the deal with computational complexity. If you're dealing with a targeted attack on a single hash, well hey-- it's a crap shoot unless you have more information to help you crack the password.

    7. Re:Bad math by Anonymous Coward · · Score: 0

      This is based on building your bruteforce based off the known password generation scheme.

      If you add in a single punctation point or out of place letter in a random place (transpose two letters, shift a space left/right, etc) and assume the attacker knows you do this then your keyspace is 9000^4 * n^m where n is password length and m is the number of symbols you choose from.

      If the attacker has not thought of your particular entropy scheme then they are back to bruteforce and password length is the only factor in bruteforce for your password.

    8. Re:Bad math by FormOfActionBanana · · Score: 1

      Thanks Coward. The GP's suggestion, however, to everyone, is to use six random words from the OED. This opens up everyone to dictionary attacks all over again.

      Keep in mind plenty of words in the OED already contain non alpha characters and/or high characters.

      The last time I was a sysadmin (in 1994), I set default passwords with a scheme that sets entropy, once the pattern is known, at 5,850,000,000*. We can do better than that, but I don't think GP's suggestion is a very good balance.

      * Brute forcing the characters was infeasible at the time (variable length, 10^23 - 10^31).

      --
      Take off every 'sig' !!
  10. Use cases by Keruo · · Score: 1

    Password selection depends on the place you're using the password.
    For most websites, enter something like abc321, hit reset password and they kindly reset the password to something and email me the new relatively good password.
    It doesn't need that much security, so those are stored in my email.

    For places that need better passwords, $ md5sum - lot of random text pounded on the keyboard and result is something like 24a53bc05c6f216e340aa8d5dc08b605
    That checksum becomes the password.

    For places where I actually have to enter the password without copypaste, something generated like xkcd's battery horse staple correct.

    --
    There are no atheists when recovering from tape backup.
    1. Re:Use cases by joostje · · Score: 1

      For places that need better passwords, $ md5sum - lot of random text pounded on the keyboard and result is something like 24a53bc05c6f216e340aa8d5dc08b605 That checksum becomes the password.

      that may be a secure password, but many (most?) sites don't allow it as it doesn't have a mix of capitals, puntiation marks, etc.

    2. Re:Use cases by malloc · · Score: 1

      For places that need better passwords, $ md5sum - lot of random text pounded on the keyboard and result is something like 24a53bc05c6f216e340aa8d5dc08b605

      That checksum becomes the password.
       

      Using an md5sum greatly reduces your keyspace, so while it may still be strong enough for your needs, it's significantly weaker than you'd expect for a 32-character password.

      [0-9a-f] is 15 characters. 15^32 = 4 x 10^37

      Using a normal key range:
      [0-9a-zA-Z+symbols] 62 + ~32 symbols on a standard US keyboard = ~94 characters. 94^19 = 4 x 10^37

      Thus, you are entering in 32 characters but only getting the strength of 19.

      --
      ___________________ I want to be free()!
    3. Re:Use cases by AlXtreme · · Score: 2

      I tend to use 'apg' when generating passwords, neat little tool. Aliased as 'apg -a 1 -m 12 -x 16' though, as the default generator goes for pronounceable passwords that are too short for my taste:

      % apg
      9&}v3Q/'n5O6UN
      ]%LE\!TLUt?Z]jjj
      $i4&zmOxh-wmfGu
      N6.H+i/^rcGo5`p ;a-_)wg}~*Xu~z
      rKv4JoC6wO0`\6,j

      If someone brute-forces those they have earned it.

      --
      This sig is intentionally left blank
    4. Re:Use cases by Em+Adespoton · · Score: 1

      Back in the day I used to use crypt to generate my passwords (with salt, of course). I figured anyone cracking my passwd files would at least get a chuckle out of it :D

      Plus, it does wonders for confusing people who are looking at a database of plaintext passwords that are all in crypt format ;)

      Oh, those were the days....

  11. Re:Are you sure SHA-1+salt is enough for passwords by Anonymous Coward · · Score: 4, Interesting

    SHA-1 is not sufficient, but the summary refers to SHA-512, which is in the SHA-2 set. Now whether SHA-2 is sufficent, or if developers should be migrating to something like bcrypt or SRP is a bigger conversation.

    In any case, while I would never tell someone to use MD5, the lack of a salt is much more egregious and made the leak much worse than it had to be.

  12. md5 for passwords, bad idea by fliptout · · Score: 0

    There was another /. story a few months ago discussing password encryption. What I gleaned was that using md5 for sensitive data on your webserver is insufficient. So I'm a bit surprised (well, maybe not) to see a big site like linkedin cut corners with security. I personally use a Python implementation of Blowfish.

    --
    A witty saying proves you are wittier than the next guy.
    1. Re:md5 for passwords, bad idea by Anonymous Coward · · Score: 1

      Hashes are not cryptos.

    2. Re:md5 for passwords, bad idea by Bert64 · · Score: 1

      Amusing that people rag on about MD5Crypt being weak, when...

      It's still much stronger than the unsalted simple hash being used by sites like linkedin.
      Both of which are still massively stronger than the unsalted MD4 based algorithm used by windows (which is not only fast to crack, but can also be used as-is without needing to crack anyway), on which virtually all companies in the world are currently reliant.
      Solaris still defaults to DES, although it does support MD5/Blowfish if you explicitly enable them.

      Incidentally, until a breach like this occurs you have no idea what algorithm a website uses to store your passwords... There are still many sites out there which store them in plain text.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    3. Re:md5 for passwords, bad idea by FormOfActionBanana · · Score: 1

      md5 is definitely more collisionable than sha1!

      GP was ragging on md5, not MD5Crypt, whatever that is.

      --
      Take off every 'sig' !!
  13. Why do people have weak passwords to begin with? by Anonymous Coward · · Score: 0

    Is there any reason whatsoever to NOT just use a random generator for web passwords and store them locally? Do you really need to access your LinkedIn account from someone else's computer?

    cat /dev/urandom | base64 | tr +=/ 012 | head -c 20; echo

    ...should be secure against brute force attacks for another decade at least. When it isn't, just add some more characters.

  14. I have a question: by safetyinnumbers · · Score: 2, Funny

    608b2d50a6521a27c12626cedfea0fc3

    1. Re:I have a question: by Ibiwan · · Score: 2, Funny

      Dude. NOT cool; way too soon.

      --
      -- //no comment
    2. Re:I have a question: by Anonymous Coward · · Score: 0

      Hey, uh hi, listen dude... you know the whole 608b2d50a6521a27c12626cedfea0fc3 thing, it's... it's just a little soon you know? I mean he just b7910f260256e5f658d00551b00c08d7 a few weeks ago and it's just not super cool. You gotta leave.

  15. Authentication and Identification servers by msobkow · · Score: 3, Insightful

    Whether MD5 is "secure" or not is irrelevant.

    Machines that are accessed by users should not be the same servers storing the account security data. One of the key benefits to domain authentication provided by Kerberos and it's relatives is that the authentication data is isolated on a server that is supposed to be doing nothing but authentication and authorization.

    That makes it damn hard to break into the security server to steal the password lists in the first place, regardless of what algorithms are used to hash the passwords. The problem is a poorly designed system, not a poorly equipped algorithm.

    --
    I do not fail; I succeed at finding out what does not work.
    1. Re:Authentication and Identification servers by ShanghaiBill · · Score: 3, Interesting

      Machines that are accessed by users should not be the same servers storing the account security data.

      Get real. I run several sites that have user accounts. My infrastructure budget is $10/month for a hostmonster account. There is no way to have a separate server for account info without spending more money, which I am not willing to do. I use SHA-256 to store salted passwords. That is as good as it is going to get for most sites, and it is good enough.

      The problem with linkedin, is that they are run by morons. Storing unsalted passwords with weak encryption should be considered criminal negligence even for a hobbyist website. Reasonable security would have cost them nothing.

    2. Re:Authentication and Identification servers by msobkow · · Score: 2

      Remind me to never subscribe to any website you run.

      --
      I do not fail; I succeed at finding out what does not work.
    3. Re:Authentication and Identification servers by Anonymous Coward · · Score: 0

      do you seriously spit out all of your personal info on every site you create an account at? a good hash wont solve the problems your going to run into

    4. Re:Authentication and Identification servers by Anonymous Coward · · Score: 0

      You already do.

    5. Re:Authentication and Identification servers by utkonos · · Score: 2

      Hi there! I am very real. You can run a dedicated Kerberos box on a pre-packaged Debian VPS here. That will cost you $4 per month, or $3 per month if you are willing to pay for a year at a time. If you are paranoid like me, you can run that dedicated Kerberos box on a VPS that you self-install with whatever OS and configuration you feel like using (I prefer FreeBSD because Heimdal kerberos is included in the base OS). That can be done here, and will cost you $6.95 per month.

      I guess you are right that there is no way to have a separate authentication server without spending more money, but you might just think about increasing that by $3 a month and do things the right way.

    6. Re:Authentication and Identification servers by Anonymous Coward · · Score: 0

      Oh please. For a 5-digit sUID, you're extremely naive.

      If the website stores your credit card, the programmer who writes the "send credit-card info to merchant gateway" has access to your credit cards. If he can send stored information to a merchant account, he can set up code to see it firsthand. Same with the guy who stores your bank account info for direct deposits on billpay sites. That's what you're trying to protect in the end, right? Your bank account and credit cards?

      That's not the worst of it, though!

      The people who ask to see your credit card in the store, when you make a purchase over $15?! THEY SEE YOUR CREDIT CARD AS WELL!

    7. Re:Authentication and Identification servers by parp · · Score: 1

      I love the concept of getting authentication onto a separate server/service/system. It's crazy that anyone can run "select * from users" and get a whole sites credential listing with a simple SQL injection.

      However, how did you come to suggest Kerberos as the Authentication system. There are many others, all it seems with downsides of being overly complex:
      -OpenID, OAuth, Radius, CHAP, TACACS+, LDAP, etc.

    8. Re:Authentication and Identification servers by Em+Adespoton · · Score: 1

      What you do makes sense for a $10/month server -- as long as you mention what you're doing in your privacy statement.

      When your infrastructure costs $10,000/month or more to manage however, it would make sense to isolate the authentication servers.

    9. Re:Authentication and Identification servers by styrotech · · Score: 1

      Machines that are accessed by users should not be the same servers storing the account security data. One of the key benefits to domain authentication provided by Kerberos and it's relatives is that the authentication data is isolated on a server that is supposed to be doing nothing but authentication and authorization.

      Well kinda, but not really.

      If you're running a public website, you won't be using the standard Kerberos 3 three headed triangle between the users PC/browser, the webserver and the KDC that you would be able to use on eg a LAN.

      All you'll be doing is getting the webserver to acquire tickets from the KDC on behalf of the users, which means that the security data (ie plaintext passwords) is passing through the web server anyway. You've effectively bypassed what makes Kerberos secure (user passwords not being sent to the server).

      There is a reason why all kinds of effort has gone into trying to solve web authentication with stuff like OpenID, OAuth, BrowserID etc rather than everyone just using Kerberos.

  16. Re:Why do people have weak passwords to begin with by Anonymous Coward · · Score: 0

    KeePass (or similar) + Dropbox (or similar) s the way to go... different password per site, I don't know the password, copy/paste updated everywhere.

  17. Did ZDNet buy Slashdot? by tobiasly · · Score: 3, Insightful

    First of all, WTF is a "password scrambler"? If you feel the need to dumb down the phrase "hash algorithm", you're probably submitting to the wrong site.

    I LOLed at this article[1] on ZDNet this morning for its sensationalist, lowest-common-denominator "OMG computer hackery stuff" reporting, with its implied link between MD5's weakness (which has been known for years) and the LinkedIn breach (even though they use SHA1), and its ridiculous accompanying screen cap (running user-space tools while logged in as root, which no security-minded user would ever do, but hey "root@" at a shell prompt with lots of hackery output looks l33t).

    And now here's basically the same thing on Slashdot. Yawn...

    [1] http://www.zdnet.com/blog/security/md5-password-scrambler-no-longer-safe/12317

    1. Re:Did ZDNet buy Slashdot? by Anonymous Coward · · Score: 1

      Slashdot is a great community inexplicably clustered around a shit website.

    2. Re:Did ZDNet buy Slashdot? by Anonymous Coward · · Score: 0

      To be clear, the developer himself used that language:

      As the author of md5crypt, I implore everybody to migrate to a stronger password scrambler without undue delay.

    3. Re:Did ZDNet buy Slashdot? by Anonymous Coward · · Score: 0

      Interestingly, on his danish-language blog, writing on this subject and on how to spread the message, the developer mentioned slashdot as a site with an audience that was deemed too immature to get the precise message. Specifically he was worried about the ability of the audience to get the difference between md5 and md5crypt.

    4. Re:Did ZDNet buy Slashdot? by Anonymous Coward · · Score: 0

      First of all, WTF is a "password scrambler"? If you feel the need to dumb down the phrase "hash algorithm", you're probably submitting to the wrong site.

      Maybe you'd like to explain this to Poul-Henning Kamp, who named it so himself.

    5. Re:Did ZDNet buy Slashdot? by Anonymous Coward · · Score: 0

      Slashdot has a large community. As with every large community, greatness follows a normal distribution. Imagine a bell curve. Now imagine that you put your head inside the bell. Now I hit the bell on the outside, really hard. Thanks.

  18. List of stolen Linkedin credentials by Anonymous Coward · · Score: 0

    So, will someone point to a list of the stolen Linkedin accounts so we can see if our was one of them?

  19. LinkedIN needs security professionals... by tekrat · · Score: 5, Funny

    If only there were a website where they could connect with other security professionals, exchange ideas and maybe even find people to hire....

    --
    If telephones are outlawed, then only outlaws will have telephones.
  20. FreeBSD .... by ltwally · · Score: 1

    "The default algorithm for storing password hashes in /etc/shadow is MD5. RHEL / CentOS / FreeBSD user can migrate to SHA-512 hashing algorithms."

    FreeBSD has long (like, 10+ years) had support for Blowfish password hashes. Blowfish was a close second in the AES contest, and is quite strong. Enabling it only requires editing /etc/login.conf and afterwards updating any pre-existing passwords.

    --



    /dev/random
    1. Re:FreeBSD .... by utkonos · · Score: 1

      Yes, according to CVS/SVN logs here FreeBSD has had support for blowfish password hashes for 11 years and 2 months. Don't you love dispelling anti-FreeBSD FUD?

    2. Re:FreeBSD .... by Anonymous Coward · · Score: 0

      Midnightbsd switches to blowfish years ago. FreeBSD folks should do the same

    3. Re:FreeBSD .... by dolmant_php · · Score: 1

      Having blowfish support available is useless unless it is the default since most people won't change it.

    4. Re:FreeBSD .... by utkonos · · Score: 1

      It seems that everyone would agree with you. This is a post made to the freebsd-security mailing list today. The new default for FreeBSD is now SHA512.

  21. Re:Are you sure SHA-1+salt is enough for passwords by PhrostyMcByte · · Score: 3, Interesting

    Algorithms designed to burn CPU, like PBKDF2 recommended in the article, are great if used correctly.

    The important thing to remember is that you want to make the client burn CPU, NOT the server. If you let the client trivially initiate 10 http requests that cause a server's CPU to peg for 1 second each, you've created a nice DoS vector.

    Are there any existing Javascript crypto libraries that safely offload this work to the client?

  22. Collisions by Anonymous Coward · · Score: 0

    I seem to recall that a few years ago, people started being able to easily generate MD5 collisions too, so I wouldn't say this is real big news.

  23. Time for CorrectHorseBatteryStaple to catch on by MaerD · · Score: 2

    As the summary notes, 8 character passwords can be cracked pretty quickly. 15 Characters with the crappy password rules we've enforced for minimum 8 character passwords become hard for users. It's time we start demanding correcthorsebatterystaple style random word passwords with maximum lengths of 255 characters (and a minimum > 8 characters).

    That and WTF the passwords were unsalted? Salt them and DON'T keep the salt in the database.

    --
    I put on my robe and wizard hat..
    1. Re:Time for CorrectHorseBatteryStaple to catch on by BlueParrot · · Score: 1

      Just generate pass phrases for your users. That way they can't use the same shitty password on every site.

    2. Re:Time for CorrectHorseBatteryStaple to catch on by snemarch · · Score: 1

      Please do keep the salts in the database, as not keeping salt there kinda implies using a single site-wide hardcoded salt... stored somewhere a hacker would probably get at just as easily as dumping the hashed passwords from the database.

      Your salts are NOT a secret, and you DO want per-user salting.

      --
      Coffee-driven development.
    3. Re:Time for CorrectHorseBatteryStaple to catch on by MaerD · · Score: 1

      Wait... what?

      So I have my per user unique salt right there in the database (possibly in a different table) as the password? So the person who compromised the DB now has the salt and the password?

      I'd argue that getting at the tables in a database (miss a SQL injection for instance) than getting at the general code for a site. Keeping them at least on two physically separated machines (and you can still do a hard-coded salt + some form of per user salt combination) is more secure.

      Now all this being said, if they have full access to your entire environment, you're screwed no matter what you do. If I have your source, I know how you hash your passwords, and how to legit retrieve info on an authenticated user. Heck, I don't even have to know your password at that point, I just need a list of valid users.

      The issue here is finding the balance of "secure enough" and linked in didn't even do a basic salt.

      --
      I put on my robe and wizard hat..
    4. Re:Time for CorrectHorseBatteryStaple to catch on by Anonymous Coward · · Score: 0

      I think you are missing the primary point of a salt. Its main use is to stop people using raindbow tables or prehashed dictionary lists.

  24. Stop using passwords everywhere!! by Galestar · · Score: 2

    How many times does this have to be said? Having literally hundreds of thousands of sites on the web that require you to create an account with a password is not a good security model. This should be patently obvious to anyone who spends enough time on the web.

    If any of you out there are devs (for consumer-facing web companies) out there - I beg of you to push your company to start supporting OpenID as a reliant party.

    --
    AccountKiller
    1. Re:Stop using passwords everywhere!! by Anonymous Coward · · Score: 0

      There are a few ways to handle it

      - same for every site
      - diff for every site
      - sorta same for every site with something from the site matching it up
      - some sort of alg that the site name helps you create a password against a known (to you) set key

      What happens when openid is broke? Oh....

    2. Re:Stop using passwords everywhere!! by Galestar · · Score: 2

      What happens when openid is broke? Oh....

      If there is a vulnerability in OpenID I'd love to hear about it.

      Choice of identity providers is of course important, but this is decidable by each user. Unlike Facebook/Twitter/LinkedIn federated login - if the identity provider for the specific protocol you have chosen is compromised, it exposes all users everywhere to the vulnerability as this LinkedIn compromise has shown - I pity the fool that is using LinkedIn federated login.

      --
      AccountKiller
  25. A little guide to login security for websites by Anonymous Coward · · Score: 0

    - Specify a global salt which is not stored in the database, only in the code (so crackers don't have the full salt even when they own the database)
    - Generate a random per user salt which may be stored in the database
    - Store the password hashed, not in clear text, as hash(globalSalt + password + perUserSalt)
    - Encrypt/Authenticate the connection to the login page over HTTPS
    - Do some random stuff that makes your login system different from that of other sites (this is just so your website will not fall victim to automated tools and will require actual skill to crack).

    If you do any less, your problem is not whether you use md5 or some other hash. In my experience from old code bases I maintained from prior coders an average of less than 1 of those bullet points is followed (and of course that number was meticulously calculated and not made up).

    That said, implementing this should take even a Java programmer less than 200 lines of code.

  26. Re:it is about compute speed, not hash strength by Anonymous Coward · · Score: 1

    The argument is that "we can do 1 million hashes in one second on a GPU, thus we can perform a dictionary attack in just a few days." It is an argument about execution speed versus size of the dictionary. The size of the dictionary is limited by the human brain, and is not going to change any time soon. The execution speed is expected to decrease as a function of Moore's law, GPU, etc. The solution cannot be to move to SHA1, or even SHA256, because these algorithms don't take much longer to run than MD-5. They can't, because they are used in scenarios where servers have to process millions of messages.

    The solution is probably to do something special for password storage. Use salt of course. But also do something like "run SH-xxx N times" where N is a number that grows larger as Moore's law progresses.

  27. Re:Are you sure SHA-1+salt is enough for passwords by w_dragon · · Score: 5, Informative

    The issue with doing the hash client-side is that now the hash has become the password. If someone steals the list of hashes it's game over, they can just emulate the client sending the hash and the server won't know that they didn't start from the password and perform a hash. The hash must be done server-side.

  28. Not quite right. by Anonymous Coward · · Score: 0

    On a decent nvidia box here's the run output against a ... theoretical sha1

    hashtable Status.......: Exhausted
    Input.Mode...: Mask (?1?1?1?1?1?1?1)
    Hash.Type....: SHA1
    Time.Running.: 7 hours, 28 mins
    Time.Left....: 0 secs
    Time.Util....: 26894969.7ms/2475.6ms Real/CPU, 0.0% idle
    Speed........: 130.9M c/s Real, 117.4M c/s GPU
    Recovered....: 14745/6143150 Digests, 0/1 Salts
    Progress.....: 3521614606208/3521614606208 (100.00%)
    Rejected.....: 0/3521614606208 (0.00%)
    HW.Monitor.#1: 0% GPU, 85c Temp

    That's 130M c/s not 1M c/s and Sha1 isn't as fast as Md5 on hashcat.

    I could see 1Mc/s on a middle tier single socket/core CPU though, that sounds about right.

  29. Re:Are you sure SHA-1+salt is enough for passwords by mlts · · Score: 2

    I've been playing with a dedicated hash database that is on its own server, so hosts bounce a request off this appliance and get a "yes", "no", or "timeout". Too many "no"s in too short a time make the hash validation appliance refuse to give any answers for a period of time.

    If done correctly, for someone to get the hash database, they would have to find a way to physically get access to the appliance, then dump the box. It isn't perfect (which is why a better algorithm like bcrypt should be used to store hashes), but having a layer of security whose sole purpose is to keep the list of hashes out of the hands of the blackhats means that after a breach is rectified, users are not forced to change all their passwords (unless their accounts were directly involved).

  30. Re:Are you sure SHA-1+salt is enough for passwords by Anonymous Coward · · Score: 1

    So one could trivially deny service to all of your users by bouncing a bunch of bogus login attempts off your front end?

  31. Dammit! by ThatsNotPudding · · Score: 4, Funny

    rot13 isn't safe either.

    Who told you my password?

  32. Re:Are you sure SHA-1+salt is enough for passwords by TheLink · · Score: 5, Informative

    I think the problem is overhyped. If you're an online site and some hacker already has the hashes and salts of user passwords to bruteforce, you're typically already so pwned it doesn't matter if you are using SHA2048 or whatever.

    For the same reason it doesn't matter that much even if I use 8 character passwords for noncritical online sites. I'd be flattered if the attackers are going to DDoS the site just to crack my password via the site's login page! If the site is famous enough I might even have enough warning to switch to a longer password when the DDoS attack hits the news ;).

    Whereas if they are bruteforcing my password offline - it means the site has already been compromised. And they are likely to be able to access the rest of my data in that site, possibly do actions using my account and perhaps with a bit more effort get the plaintext of my password the next time I log in.

    So use different passwords for different sites, don't use passwords that are too short or obvious that they can be bruteforced online, but don't sweat making them super long unless its important or you're paranoid- since the site is more likely to get pwned before they bruteforce it online.

    Getting pwned or compromised isn't a rare thing. I've signed up for different stuff using unique email addresses, and I've noticed spam coming to a few of those addresses. Maybe one day I'll have to create new slashdot/facebook/etc accounts when my current ones get pwned. Big deal.

    For "offline" stuff like GPG, truecrypt, yes please do use strong and long passphrases.

    --
  33. Salt is magic by Junta · · Score: 1

    Salt means rainbow tables become impractical. Salt also means a collision attack is also mitigated. Salt is not expected to be any more secret than hash, it just changes tho way it works.

    --
    XML is like violence. If it doesn't solve the problem, use more.
  34. Gross Ignorance by Anonymous Coward · · Score: 0

    Someone whack the remaining slashdot users with a clue-stick.

    The amount of total ignorance in the comments, has overflowed my desire to FTFY, across almost all posts... but here we go.

    - Twofish (not Blowfish) was a strong running candidate in the AES
    - This is not the same as using MD5 for passwords
    - MD5 suffered from collisions, but it didn't really matter. If you prepended a random string, finding a collision is a much harder problem.
    - This isn't a dictionary attack, it's a brute-force attack made possible by an advanced parallel implementation of a for-purpose cracking algorithm

    The point being: running a password through function X n^8 times is easy, and getting easier (to the point where X=MD5-crypt is not really secure any more). (Where n is the keyspace., and 8 is the number of characters in your password)

    Either bump n^8 up (by increasing your password length), or make X so convoluted that it makes it harder. This does *not* mean a longer output hash.

    How much extra compute time is MD5 vs SHA1 vs SHA512: not much.

    1. Re:Gross Ignorance by Anonymous Coward · · Score: 0

      PS - how much more convoluted: n times or more convoluted

  35. Re:Are you sure SHA-1+salt is enough for passwords by mstefanro · · Score: 1

    It would be interesting to try to create some cryptosystem providing: - a Hash(Key, Password) function; - a Compare(Key1, Key2, Hash1, Hash2) which returns true only when Password1=Password2 in Hash(Key1, Password1)=Hash(Key2, Password2). When a user registers an account: - Server gives the client a randomly generated challenge Key1; - Client provides H = Hash(Key1, Password) to the server; - Server stores Key1 and H. When a user logs in: - Server gives the client a randomly generated challenge Key2; - Client provides h' = Hash(Key2, Password); - Server computes Compare(Key1, Key2, h, h'). I'm not sure creating such a cryptosystem is possible, I have not given it much thought. It would be nice if Hash were expensive to compute but Compare were cheap. This has the added bonus that the server will never know your password.

  36. Re:it is about compute speed, not hash strength by lgw · · Score: 3, Interesting

    The argument is that "we can do 1 million hashes in one second on a GPU, thus we can perform a dictionary attack in just a few days." It is an argument about execution speed versus size of the dictionary. The size of the dictionary is limited by the human brain, and is not going to change any time soon. The execution speed is expected to decrease as a function of Moore's law, GPU, etc. The solution cannot be to move to SHA1, or even SHA256, because these algorithms don't take much longer to run than MD-5. They can't, because they are used in scenarios where servers have to process millions of messages.

    The solution is probably to do something special for password storage. Use salt of course. But also do something like "run SH-xxx N times" where N is a number that grows larger as Moore's law progresses.

    True, all true, but entirely missing the point. Never store any customer data at all unencrypted, even password hashes. There are many ways to have your data pwnt, but bulk copy of the data at rest is the easiest and most common. That data (bulk data at rest) should never be unencrypted, ever.

    --
    Socialism: a lie told by totalitarians and believed by fools.
  37. Re:Are you sure SHA-1+salt is enough for passwords by mlts · · Score: 1

    That is what one tries to avoid. The best is to have multiple blocking mechanisms. First is by IP address, so if someone is hacking user Alice's account, the site trying to hack in as Alice gets blocked on the IP level.

    The hashing appliance is a work in progress. Either a delay between handing out replies for the same user or an outright lockout serve the same purpose. The trick is to slow down a dictionary attack, as well as make it difficult for an attacker to grab the list of user password hashes.

  38. Re:Are you sure SHA-1+salt is enough for passwords by schwit1 · · Score: 2

    Storing is meaningless if companies ** cough ** virgin-mobile ** cough** send you your passwords or PINs in an email every time you change it. And they include your phone number and name in the same email. And when asked to stop it they claim to adhere to industry standard security standards.

  39. Re:Are you sure SHA-1+salt is enough for passwords by Anonymous Coward · · Score: 0

    You are correct that single password hashes when you have access to the salt is not harder. But breaking all of the password hashes that have different salts is much harder, even if you have access to the salts, as you cannot simply build one lookup table; your space/time requirements grow dramatically.

  40. Re:Are you sure SHA-1+salt is enough for passwords by Anonymous Coward · · Score: 0

    That's just the description of a challenge system, which works very well by the way, if you create the challenge function f(key,challenge) not too trivial

  41. Re:Are you sure SHA-1+salt is enough for passwords by TheLink · · Score: 1

    You missed the point.

    --
  42. Re:Are you sure SHA-1+salt is enough for passwords by spazdor · · Score: 2

    Spoofed source IPs would defeat this method easily.
    It's useless for an actual online brute-force attack, since the attacker clearly wants to receive a reply from his password attempts, but if the aim is just to DoS the authentication server, that's not a problem. You should send the client a token and wait to get it back before you start blowing CPU cycles on determining whether their password hash is legit.

    --
    DRM: Terminator crops for your mind!
  43. Re:Are you sure SHA-1+salt is enough for passwords by suutar · · Score: 1

    There's ways to keep the data passed back and forth from being constant. A challenge-response system, where the server sends a random blob and requires the client to manipulate it using the password in a fashion that it can verify using the database-stored hash, without actually transmitting either the password or hash. Of course, now we're well beyond the simple "hash this and see if it matches" and into automatic handshaking protocols...

  44. Re:it is about compute speed, not hash strength by spazdor · · Score: 1

    Does "run SH-xxx N times" actually grow in computational complexity as proportionally to O(N)? I don't happen to know enough about SHA-x to answer this, but I do remember that triple-DES did not actually increase complexity proportional to a tripled key length.

    http://en.wikipedia.org/wiki/Meet-in-the-middle_attack

    --
    DRM: Terminator crops for your mind!
  45. 23 depressing passwords on Linkedin by Required+Snark · · Score: 2
    --
    Why is Snark Required?
  46. How long te crack the hashes today? by pjhv · · Score: 1

    I'm always interested in the latest status of how fast the various popular hashes (and encryption) can be brute forced by:
    - home computer / GPU
    - super computer
    - (blade) server cluster (enterprise/government scale)
    - distributed.net-like project
    - maybe ASICs or dedicated hardware? Like EFF DES cracker/Deep Crack

    And the expectations for the next 20 to 50 years, assuming no revolutionary thing as quantum computing will emerge.

    Does anyone know an up to date website dedicated to this? Articles tend to be obsolete in a few years.

  47. Re:Are you sure SHA-1+salt is enough for passwords by ThatsMyNick · · Score: 1, Informative

    You cannot spoof an IP in this case. You are establishing a TCP connection and sending login info over HTTP. The TCP connection starts with a 3 way handshake, which is not possible in the case of spoofed IPs. IP based throttling, and dedicate hash processor (may be someone could build a co-processor card for this) sounds great actually.

  48. Re:Are you sure SHA-1+salt is enough for passwords by Firehed · · Score: 4, Informative

    The hashing algorithm is far more important in offline attacks than in online attacks. Please don't suggest otherwise, as you don't appear to have a background in security (this isn't a personal attack, but people without security backgrounds should never give security advice).

    If the table containing password hashes is compromised and leaked, the only thing preventing the plaintext being bruteforced is the strength of the algorithm. Salting prevents using a rainbow table, but you have to assume the salt is also compromised. If there's a global salt, it's just a matter of building a new rainbow table with the known shared salt: this is time consuming, but not that bad especially for weaker passwords IF THE ALGORITHM WAS CHOSEN POORLY. When each password has its own salt, an attacker must go one at a time, slowing the entire process down by a factor of [number of users in the compromised system].

    The algorithm's speed comes into play here. MD5 and SHA1 are meant to be used as checksums and are designed run as fast as possible - hundreds of thousands of times per second on password-length strings with modern hardware. This of course disregards the fact that they are not cryptographically secure. SHA256, same situation: it's a bit slower and while it's currently still considered crytographically secure, it's designed for speed. I can compute a rainbow table for a dictionary attack in about two seconds (or two seconds per row, assuming unique per-row salts). Compare to something like bcrypt or PBKDF2* which include a number of rounds specifically to slow things down: with even a relatively low number of rounds ($08$ to $09$ in bcrypt, for example) modern hardware caps at about ten hashes per second. Now going down /usr/share/dict/words takes 25,000 seconds - seven hours - instead of 1-2 seconds. That timeframe is going to get exponentially longer when you consider variations, substitutions, mixed case, and multi-word passwords, assuming the password being attacked is dictionary-based at all.

    You do raise a valid point about the other damage a data breach may cause, but aside from encrypted data (such as financial information), the password is the most damaging thing an attacker could retrieve since that probably grants access to a whole host of other sites since so many people re-use passwords. If you're OK with that, fine - go ahead and re-use crappy passwords everywhere. But for the love of security, please don't give advice on how people/companies should hash passwords.

    *PBKDF2 is meant to be used as a key derivation function to convert a password into a cryptographically-secure encryption key. It's not the best choice for password digests, although because it includes a work factor like bcrypt is still relevant to the discussion, and is certainly a better choice than MD5 or SHA-family alone.

    --
    How are sites slashdotted when nobody reads TFAs?
  49. Re:Are you sure SHA-1+salt is enough for passwords by IamTheRealMike · · Score: 1

    Lack of a salt makes no difference. Salting is designed to defeat rainbow table attacks. However no actual criminals who are cracking passwords are using rainbow tables. It's all done using GPUs, which don't care about salts. Also the summary of TFA is wildly misleading. 1 million attempts per second? Uh, no. Last I checked oclhashcat-plus was capable of about 50 billion attempts per second on a 4xATI5970 rig. You can break most "normal" passwords in under one second with such hardware.

  50. Re:it is about compute speed, not hash strength by Anonymous Coward · · Score: 0

    The most common way to encrypt such data is still easily bypassed if the site has an sql injection vulnerability. I agree you should encrypt all customer data, but don't forget that the data may be illicitly extracted through a process that needs access to the data unencrypted.

  51. Re:Are you sure SHA-1+salt is enough for passwords by cheater512 · · Score: 1

    Ever logged in to a mail server before? You logged in with that method.

    How it works:
    1. Make standard hash of user's password.
    2. Make random 'challenge'. Give to user.
    3. User sends back HASH(HASH(password) + challenge)
    4. Server computes HASH(Stored hash + challenge)
    5. Authentication with no password sent or stored in cleartext.

  52. Re:it is about compute speed, not hash strength by cheater512 · · Score: 1

    If the server can decrypt it, an attacker can as well.
    Its just a minor speed bump along the way.

  53. Re:Why do people have weak passwords to begin with by Em+Adespoton · · Score: 1

    Great... so instead of one password per site, someone just needs to log into your DropBox account and crack your (hopefully fairly strong) KeePass password, and they get everything -- not just all your passwords, but what sites they're for and what the associated usernames are. All sitting out there on a public server 24x7.

    How strong is your KeePass password?

  54. Re:Are you sure SHA-1+salt is enough for passwords by Anonymous Coward · · Score: 0

    The hashing algorithm is far more important in offline attacks than in online attacks. Please don't suggest otherwise, as you don't appear to have a background in security (this isn't a personal attack, but people without security backgrounds should never give security advice).

    Did you read the parent post?

  55. Re:Are you sure SHA-1+salt is enough for passwords by Anonymous Coward · · Score: 0

    1. Make standard hash of user's password.
    2. Make random 'challenge'. Give to user.
    3. User sends back HASH(HASH(password) + challenge)
    4. Server computes HASH(Stored hash + challenge)
    5. Authentication with no password sent or stored in cleartext.

    Except now your "standard hash" is effectively the password, and it presumably is stored in cleartext (or at least reversible encryption) in order to do step 4.

  56. Re:Are you sure SHA-1+salt is enough for passwords by Terrasque · · Score: 3, Interesting

    And the hash is the password again...

    If I have stolen $hash from server, I won't need to break that hash to emulate the user.

    I just need to get challenge and return hash($stolen_hash + challenge) to the server. Congratulations, you re-invented saving "plaintext" passwords! ;)

    --
    It's The Golden Rule: "He who has the gold makes the rules."
  57. Re:it is about compute speed, not hash strength by cryptizard · · Score: 1

    The attack on multiple encryption relies on two things: 1) Input and output space are both finite 2) You can invert encryption under possible key values to "meet in the middle" Neither of these is true for hash functions (although in this specific password case you can put reasonable bounds on the size of the password to get (1) under assumptions).

  58. Re:Are you sure SHA-1+salt is enough for passwords by Anonymous Coward · · Score: 0

    even if you have access to the salts, as you cannot simply build one lookup table; your space/time requirements grow linearly in the number of distinct salts.

    FTFY

  59. Re:it is about compute speed, not hash strength by lgw · · Score: 2

    All of security is just speedbumps along the attackers way. That's what security does, whether physical or IT: it delays the attacker by some amount.

    If all of your customer data is plaintext at rest, then the attacker just needs to pwn any server anywhere that can see that data, and bulk-copy it off. That might not even raise any internal alarms, since it's justa file copy.

    If all of your customer data is encrypted at rest, then the attacker needs to pwn each machine thatknows how to decrypt each part of that data, and not just to run an arbitrary process/shell on that server, but actually understand and interact with the process that holds the keys. That's a smaller hole. And if it's something like an SQL injection attack to get at DB data, you have to be vulnerable to that specific atack, and there's at least a chance that some massive query that returns all rows of all tables will get noticed, so even if you don't stop it maybe you at least know it just happened.

    --
    Socialism: a lie told by totalitarians and believed by fools.
  60. Re:Are you sure SHA-1+salt is enough for passwords by Anonymous Coward · · Score: 0

    If there's a global salt, it's just a matter of building a new rainbow table with the known shared salt

    Building a rainbow table to crack a list of hashes is a stupid thing to do. People who don't understand rainbow tables should not suggest building them.

  61. Re:Are you sure SHA-1+salt is enough for passwords by Anonymous Coward · · Score: 0

    If you're OK with that, fine - go ahead and re-use crappy passwords everywhere. But for the love of security, please don't give advice on how people/companies should hash passwords.

    Uh, Mr. Security Expert? Take a chill pill and re-read his post.

  62. Re:it is about compute speed, not hash strength by colinrichardday · · Score: 1

    The execution speed is expected to decrease as a function of Moore's law, GPU, etc.

    Wouldn't the execution speed increase? Or did you mean that the execution time would decrease?

  63. Re:Are you sure SHA-1+salt is enough for passwords by Gunstick · · Score: 1

    it is not MD5 we are talking but MD5crypt: http://en.wikipedia.org/wiki/Crypt_(Unix)#MD5-based_scheme
    Which is 1000 times MD5, so you get not 50 billion attempts on your rig but 0.05 billion

    --
    Atari rules... ermm... ruled.
  64. Re:Are you sure SHA-1+salt is enough for passwords by mstefanro · · Score: 1

    That method is nothing like I described and I doubt anyone serious about security is using it.

  65. Re:Are you sure SHA-1+salt is enough for passwords by 1s44c · · Score: 1

    SASL does store the password in clear text though if you use CRAM-MD5 or DIGEST-MD5 authentication.

    Use strings on the SASL db to confirm this.

  66. Collisions do happen but are rare by Filik · · Score: 1

    I worked on a search engine in 95, and used md5 hashes (of content minus tags) as keys for pages to detect identical pages, and I remember having 2-3 md5 collisions out of maybe the first 100.000 indexed pages.

    1. Re:Collisions do happen but are rare by Anonymous Coward · · Score: 0

      Yes, but when a "decently long" password hashes to the same thing as a dictionary word, it's surprising.

    2. Re:Collisions do happen but are rare by Em+Adespoton · · Score: 1

      Is it? ANY hash is guaranteed to have collisions, and most of them are not going to be short dictionary words. Personally, I'd be much more surprised if the collision was with a password that was not random and decently long, as that's a much smaller sample space.

  67. Re:Are you sure SHA-1+salt is enough for passwords by mstefanro · · Score: 1

    On second thought, the idea above is merely a zero-knowledge proof which can be easily achieved with homomorphic encryption. I think this could be achieved with javascript so website developers can easily integrate a more secure login with almost zero overhead server-side, and unnoticeable overhead client-side.

  68. Re:Are you sure SHA-1+salt is enough for passwords by TheLink · · Score: 1

    You seem to be replying to the wrong post.

    --
  69. Re:Are you sure SHA-1+salt is enough for passwords by kasperd · · Score: 1

    Are there any existing Javascript crypto libraries that safely offload this work to the client?

    Your question inspired me to write a proof of concept.

    --

    Do you care about the security of your wireless mouse?
  70. Re:Are you sure SHA-1+salt is enough for passwords by savage_panda · · Score: 1

    The issue with doing the hash client-side is that now the hash has become the password. If someone steals the list of hashes it's game over, they can just emulate the client sending the hash and the server won't know that they didn't start from the password and perform a hash. The hash must be done server-side.

    Not necessarily. If the salt or part of the salt was a "Proof of work" package, it could be offloaded to the client side.
    i.e.
    my password is stored in regular hash/salt format, the salt being a challenge string.

    The proof of work would be to vary the challenge string on a pre-agreed upon mutation, and produce a hash of the mutated string so that the value starts with 0000. That hash added to a secondary salt based on the challenge string constitutes the actual salt. Naturally the proof of work can vary with hardware improvements.

    Now I can off load most of that work to the client to calculate the salt for me.