Password Strength

That is a long way from “incorporating the techniques discussed”. That requires understanding the techniques discussed, i.e. full-on artificial intelligence.

What about sites that have all kinds of rules about what your password can be? Apple (for iTunes and such) requires that your password include a mix of numbers and capital and lowercase letters, and it has to begin with a capital letter and end with a number. While that might “sound” like a more secure type of password, isn’t it actually less secure because it specifies a format?

How much does password strength really matter, anyway? When the Playstation Network passwords got hacked, it was the whole database, because it wasn’t salted. It didn’t matter what your password was; they got it.

I think a lot of the discussions are based on outdated scenarios.

Back in the good old days (1990’s) a lot of computers were very insecure, to the extent that a hacker might get his hands on the database of passwords. Unix/linux would have the passwords irreversibly one-way encrypted; the password you entered was encrypted and then compared with the database. With the full database in their hands, the first thing a hacker would do is encode every word in the dictionary, and look for matches. Then, just for fun, try every word followed by 0 to 9 and then 00 to 99. After that, you can try the old aaaaa, aaaaab, aaaaac trick.

In this scenario, the most easily cracked passwords were those that were a shorter valid dictionary word, even followed by a digit or two. Using upper case on anything but the first letter would obviously slow things down tremendously, and using the “numbers for letters” trick even more so. Using incorrect spellings, nonsense or scrambled words, even more.

Similarly, in the good old days, Windows NT4 kept a parallel login password hash, (for LANMAN compatibility, IIRC) where all passwords were broken into 8-character chunks and converted to upper case before being encrypted. If you could get your hands on the password database, or capture traffic across the network, password cracking was a breeze. The security gap did not bother Microsoft at the time, since an Intel 486-66 would take months to decode all the passwords. (Nobody there had though of the dictionary attack at the time…)

I once downloaded l0phtcrack and ran it against our company’s world-wide password database from the master domain controller, just to see. It does the dictionary, then “plus digits”, then a brute force attack. Within about 5 minutes it had decoded 30% of the passwords, and within half an hour, about 66%. Some were easy to guess; some guy, say Sam Easthouse, has a login “seasthouse” and a password of 8 unkown characters plus “SE1” as his password. What are the odds the first 8 were “SEASTHOU” ? A Pentium II-250, IIRC was well on the way to doing a full crack of several thousand users within 8 days. I had though my password, “snowcone1”, was secure, but it found that in 5 minutes too. Apparently current dictionaries include common invalid words and incorrect spelling.

Today, with mixed case, punctuation, and no Microsoft-enabled shortcuts, a dictionary attack still requires access to the encrypted database. Unlike the old 10Mbps ethernet days, all traffic is switched, so unless you are the network admin, you cannot easily monitor traffic to capture encrypted passwords flying by… (unless it is a wifi network, which is a whole different security story.) The people to most fear nowadays are the people with the keys, the network and server administrators. They still have that access for their own reasons, or may accidentally expose the data to the outside despite all the safeguards in place.

So this, then, is the value of complex passwords. If someone gets their hands on it and is trying to crack the encrypted database, you do not want them to guess it easily. DO not use a dictionary word, nor a dictionary word plus 1 or 2 digits. Put punctuation and irregular mixed case in the mix and things are tough. Make it longer than 8 or 9 characters. etc.

Random words? Lets say there are 10,000 random “common words”. Let’s ignore punctuation or case, type it all in lower case. 4 words, ((10)^5)^4)=10^20; use the substitution 10^3 ~ 2^10 and I get about 2^66 possibilities. Add in case and punctuation, or digits, and predictability is even worse. So quotes are also not predictable

The cartoon uses 11 bits for “common word” or one of 2,000 if I read it right. It also misrepresents the troubador example by having on “capitalize first letter” as the only choice, thus creating 1 bit extra entropy vs. say, 10 bits if any of 10 characters could be upper case; plus there are several other substitutions such as 7 for T… But thecartoonist is on the right track. However, his flaw in in the “entropy” characterization. For Tr0b4dour to have that little entropy, the pattern must be known to the decoder. A l0phtcrack-type program specifically designed to target leetspeek is wasting its time if the password is, say, 2 simple words from the dictionary with a punctuation symbol in between; whereas say “bell%poWder” is trivial to crack provided the cracker knows that was the construction algorithm. To try to encompass every password contruction algorithm is like trying to encompass all possible code schemes. There are too many, and it is trivial to create a new one with a tiny variation on an old one - a creative exercise for minds, an improbably task for computer programs. (Igpay Atinlay, anyone?)

As long as the encryption algorithm is 1-way and gives no partial answers (moderm ones should be) then the only real advantage is to have a non-dictionary and LONG password. But, beyond say, 15 to 20 characters (75^(15 or 20) choices) the rest are not necessary nowadays.

I appreciate the conversation, but I have to say I’m still confused about the wisdom of using dictionary words as XKCD advocates or using nonsense words, whether an acronym or a real word altered with numbers and punctuation.

I think I’ll stick with my current system, which produces a password of maybe eight or 10 random letters and a numeral. It’s easy for me to remember.

nm

As I said, xckd’s “a dictionary word is too easy to guess” only holds true if the transforms mentioned (leading captial, number substitution, 2 or less trailing number/punctuation) are definitely the only transformations done on the word. Add your own unpredictable creative transform (swap first two letters, double every vowel, or include both the letter and the number substitution) and the complexity from unpredictability again goes through the roof.

Simple rule is “do not use only a single dictionary word”. If you do transform one, be sure the transform is relatively complex and unpredictable.

The point of the comic is both security and memorability, and not just about your password but about people’s passwords. No one is going to use more than a handful of transformations, lest they end up with a password that they can’t remember any better than a random string. The comic picks several common transformations (leading cap, some numeric noise, some punctuation noise, optional l33t substitutions letter by letter) that cover a lot of ground. To this list, we could add randomly swapping the first two letters or not, doubling every vowel or not, capitalizing any letter at random, placing the “noise” at the beginning instead of the end, using the word backwords or not, and another four or five choice transformations, and we will still have less password space defined than if we used the random word method, even with a tiny 2000 word corpus.

Notes:

(1) The point isn’t that a hacker will get your password. The point is that a hacker can get the majority of passwords this way. The point is that encouraging transformation-style passwords leads to password lists that are generally much less secure on the whole, even though you may think yours is a-okay.

(2) The other point of the comic is that a password drawn from a transformation system is going to be hard to remember. You can transform the bejeezus out of an initially easy-to-remember base word, but you’ve eliminated the easy-to-remember aspect in doing so. Again, you may have a brilliant method for remembering your passwords, but the comic is about the population in general.

One underlying problem is that systems designed to test for password strength aren’t very smart. So, they enforce a few rules like “need mixed case” and “need at least one numeral”. These requirements encourage algorithmic transformations, leading to algorithmic reduction of the apparent entropy. How are you going to verify, on the fly, that a random-word style password is secure? It is a difficult problem, and password schemes that have a verifiable amount of (ostensible) entropy have become favored over time, even if more secure and easier-to-remember systemst are available in principle.

Generally only true of financial institutions. Few general purpose sites use a lockout. Any site that does is vulnerable to a DoS attack: deliberately generate login failures on many accounts.

Also, the bad guys generally don’t try millions of passwords on one account when they’re attacking an active login system. They’ll try a small number of passwords against millions of accounts. They avoid lockouts by only trying each account once per hour or whatever. And they have a huge number of IP addresses, so as to avoid per-IP rate limiting.

Which they get from PC users who are sloppy about their personal security, and allow them to be turned into zombies.

The SDMB requires a password, but if someone hacks in as me, I’ll survive. I don’t care about security of my NYT, SDMB, youtube, facebook, etc., passwords. Just as long as my bank is secure, I’m happy. I use my daughter’s name and a four digit number. No random computer hacker knows my daughter’s name, so I think I’m safe.

Procrustina?

This.

I used to deal daily with people whose passwords were “hacked”. Invariably it turned out to be one of three things:

  1. The user had the same password on many sites, and one of those sites had been compromised.

  2. The user had fallen for a phishing attack or social engineering.

  3. The user had been hacked by an acquaintance, either by revealing their password, or using a predictable one.

Note that 1 and 2 succeed regardless of the password strength. And the stronger your passwords are, the more likely you are to reuse them.

The only likely scenario where a bad guy will try a large dictionary attack against your account is when they’ve managed to download a password hashtable from a compromised site. And in that case, the site has already been hacked. The main reason they’ll try cracking passwords is to catch users who have reused those same passwords on other sites. They will use dictionaries that include common letter/number transformations, prefixes and suffixes and so on. But since the site has already been compromised it doesn’t really matter in this scenario if your password is weak enough to be cracked, provided you haven’t reused a similar password elsewhere.

When they’re attacking an active login system without the benefit of a copy of the password hashtable, bad guys won’t try millions of passwords against a single account - it’s too slow, too much effort to spend on the small benefit of cracking one account. Instead they’ll use a small dictionary of the most common passwords, and try those against millions of different accounts.

Very weak passwords are bad, they’ll easily fall for the second scenario. But for the most part, moderately strong passwords are probably no worse than very strong ones provided they are never reused. And a strong password that is reused is just as bad as a weak one.

The problem I have with most password schemes is that they totally ignore the reuse problem. If you rely on memory and transforms for your passwords, and you have more than about 8 of them, I’d wager you’ve reused at least one, or at least used a predictable system.

Ironically your sticky note solution might be the most secure suggestion here for the population as a whole. Ok, maybe not if you keep it stuck to your monitor in a cube farm. But people are usually better at securing paper than securing passwords. And if you can’t remember them without referring to notes, it’s a pretty good sign your passwords are strong and unique.

I have hundreds of passwords. I only know 6. The rest are all randomly generated and stored in a password vault.

See my comments above about reuse. If you’ve used the same scheme on another site, even with different digits, and that site gets hacked, all similar passwords could be unsafe.

Missed the edit window. I meant to add: or their email account.

Procrustina2008

Also hacked servers and unsecured proxies.

I think this is a good point: in WWII, the Engima machine was made less secure by orders from High Command aimed at making it more secure.

and

Second article: Breaking Enigma

One of the other things to do is to make up an easy phrase, then translate it into a foreign language if you speak one. That will defeat the dictionary word searches, or at least make them more complex.

I speak two other languages reasonably well and know a smattering of two more. If I mix and match, it gets even better. If I wanted to use “PrettyGirl” as my password, I might use “GadisCantik”, or “ChicaBonita” or “PuellaPulchra”, or “GadisSchoenes” or “MaedchenCantik”, etc.

And if I add a single “leet” transposition, it gets even better: “Gad1sCantik”, etc.

The key is to make the phrase something meaningful to you that you will remember. You could even write it in English on a sticky note on the wall and it would be meaningless to someone else.

We hear all the time that passwords are supposed to be long, hard to guess, and filled with a variety of characters. However, some websites and applications are very restrictive, e.g., alphanumerics only, no special characters, no passwords longer than 25 characters?

A password is a string, right? Any modern computer language can easily parse any keyboard characters in a string, right?

So why does a program I use at work only allow alphanumeric passwords between 8 and 15 characters? Programmer laziness?

My bad, this should probably go in this thread. Mods, anyway you can tuck it in there?