It used to be conventional wisdom that if your password was made up of a random string of characters and symbols and eight or ten characters long (for example, uQ4*b+Pax?), then is was secure enough that noboby but a government organization like the NSA could crack it. (A so-called strong password). Of course, the problem with that type of a password is that normal human beings can’t remember it, so they write it down on a sticky note and attach it to their monitor, completely defeating the purpose of strong passowrds. Or if they aren’t forced to use a strong password, they pick something simple like 123456 or their wife’s name. More sophisticated, and paranoid users, might come up with something like rAnd0m#No1se.
For most purposes, a possword like the last would probably be good enough to defeat the type of hacker who’d run a dictionary attack on a hacked password database or try to access your wi-fi connection. But computers are getting faster, much faster, and new approaches are being used to crack passwords that would have been perfectly secure only a couple of years ago. One approach, described in this PC Pro article, uses a graphic card to attain an amazing rate of 3.3 billion paswords per second. (Graphics cards are ideal for this kind of work because of their highly parallel structure, which allows many simultaneous, simple computations).
So what can you do to make your password more secure? Security researcher Steve Gibson has come up with a possible solution. According to Gibson, there are two factors that matter most when creating a secure password. The first is obvious, length. Longer passwords take more time to crack than shorter passwords. The second factor is the character depth – how many characters have to be searched in the set of symbols used in the password. If your password is lowercase alphabetic there are only 26 possible characters. If you use uppercase and lowercase letters, that doubles to 52. Add numbers, and it’s 62. Add symbols and punctuation, and you’re up to almost a hundred possibilites for each character.
Although it’s not intutively obvious, according to Gibson, what doesn’t matter is entropy. In a brute force attack, “HouseKeeping” is just as secure as “QkosrunWtsmj”.
So, what do you do to make your password more secure? Use upper and lower case letters and numbers, to be sure, but also pad the password with symbols or punctuation. For example, HouseKeeping might become .,H)0)useKeep!1!ng,.. Easy enough to remember, if you remeber the algorithm. Start wtih .,, capitalize the first letter of each word, replace 0 and I with 0 and 1 but preceded and followed by the shifted symbol for that number, and end with ,..
Gibson describes this technique in a episode 303 of his Security Now podcast, which I highly recommend listening to. You can also read the transcript. On his website, he has a calculator that will tell you how secure your password is, based on certain assumptions about what type of system is being used to crack it. The H0useKeep1ng password is still pretty secure – the NSA could probably break it in a month or so, but the extended version would take longer than the age of the universe.
I wouldn’t bother with this for all of my passwords, most of which are fairly secure to start with, but I’ve upgraded my banking and other passwords for accounts that might have a financial impact.