Security companies and IT people constantly tells us that we should use complex and difficult passwords. This is bad advice, because you can actually make usable, easy to remember and highly secure passwords. In fact, usable passwords are often far better than complex ones.
So let’s dive into the world of passwords, and look at what makes a password secure in practical terms.
How to hack a password
The work involved in hacking passwords is very simple. There are 5 proven ways to do so:
- Asking: Amazingly the most common way to gain access to someone’s password is simply to ask for it (often in relation with something else). People often tell their passwords to colleagues, friends and family. Having a complex password policy isn’t going to change this.
- Guessing: This is the second most common method to access a person’s account. It turns out that most people choose a password that is easy to remember, and the easiest ones are those that are related to you as a person. Passwords like: your last name, your wife’s name, the name of your cat, the date of birth, your favorite flower etc. are all pretty common. This problem can only be solved by choosing a password with no relation to you as a person.
- Brute force attack: Very simple to do. A hacker simply attempts to sign-in using different passwords one at the time. If you password is “sun”, he will attempt to sign-in using “aaa, aab, aac, aad … sul, sum, sun (MATCH)“. The only thing that stops a brute force attack is higher complexity and longer passwords (which is why IT people want you to use just that).
- Common word attacks: A simple form of brute-force attacks, where the hacker attempt to sign-in using a list of common words. Instead of trying different combination of letters, the hacker tries different words e.g. “sum, summer, summit, sump, sun (MATCH)“.
- Dictionary attacks: Same concept as common word attacks – the only difference is that the hacker now uses the full dictionary of words (there are about 500,000 words in the English language).
When is a password secure?
You cannot protect against “asking” and “guessing”, but you can protect yourself from the other forms of attacks. A hacker will usually create an automated script or a program that does the work for him. He isn’t going to sit around manually trying 500,000 different words to see if one of them is your password.
The measure of security must then be “how many password requests can the automated program make – e.g. per second“. The actual number varies, but most web applications would not be capable of handling more than 100 sign-in requests per second.
This means it takes the following time to hack a simple password like “sun“:
- Brute-force: 3 minutes
- Common Word: 3 minutes
- Dictionary: 1 hour 20 minutes
Note: “sun” has 17,576 possible character combinations. 3 letters using the lowercase alphabet = 263
This is of course a highly insecure password, but how much time is enough for a password to be secure?
- a password that can be hacked in 1 minute is far too riksy
- 10 minutes – still far too risky
- 1 hour – still not good enough
- 1 day – now we are getting somewhere. The probability that a person will have a program running just to hack your account for an entire day is very little. Still, it is plausible.
- 1 month – this is something that only a dedicated attacker would do.
- 1 year – now we are moving from practical risk to theoretical risk. If you are NASA or CIA then it is unacceptable. For the rest of us, well – you do not have that kind of enemies, nor is your company data that interesting.
- 10 years – Now we are talking purely theoretical.
- A lifetime: 100 years – this is really the limit for most people. Who cares about their password being hacked after they have died? Still it is nice to know that you use a password that is “secure for life”
But let’s take a full swing at this. Let’s look at “100 year – secure for life”. It has good ring to it and it makes us feel safe. There is still the chance that the hacker gets lucky. That he accidently finds the right password after only 15 years instead of 100. It happens.
Let’s step that up too and go for the full high-end security level. I want a password that takes 1,000 years to crack- let’s call this “secure forever“. That ought to be good enough, right?
Related Posts: On this day...
- Gary Wilson - The Great Porn Experiment - 2012
- NYC underground cow tunnels... They exist! - 2010
- Swedish Pirate Party membership surges after Pirate Bay verdict - 2009
- Laser cutter motors play Super Mario Brothers theme song - 2009
- MSR Asirra: A Replacement for CAPTCHA? - 2008
- How I Would Hack Your Weak Passwords - 2008
- The Pirate Bay Launches Uncensored Blogging Service - 2008
- "Web tripwires" reveal 1.3% of web pages altered in transit - 2008