A computer can guess more than 100,000,000,000 passwords per second. Still think yours is secure?
Passwords have been used for thousands of years, as a means of identifying ourselves to others and in more recent times, to computers. It’s a simple concept – a shared piece of information, kept secret between individuals and used to “prove” identity.
Passwords in an IT context emerged in the 1960s with mainframe computers (large centrally operated computers with remote “terminals” for user access). They’re now used for everything from the PIN we enter at an ATM, to logging in to our computers and various websites.
But why do we need to “prove” our identity to the systems we access? And why are passwords so hard to get right?
What makes a good password?
Until relatively recently, a good password might have been a word or phrase of as little as six to eight characters. But we now have minimum length guidelines. Why? Because of “entropy”.
When talking about passwords, entropy is the measure of predictability. The maths behind this isn’t complex, but let’s examine this with an even simpler measure: the number of possible passwords, sometimes referred to as the “password space”.
If a one character password only contains one lowercase letter, there are only 26 possible passwords (“a” to “z”). By including uppercase letters, we increase our password space to 52 potential passwords.
The password space continues to expand as the length is increased and other character types are added.
Looking at the above figures, it’s easy to understand why we’re encouraged to use long passwords with upper and lowercase letters, numbers and symbols. The more complex the password, the more attempts needed to guess it.
However, the problem with depending on password complexity is that computers are highly efficient at repeating tasks – including guessing passwords.
Last year, a record was set for a computer trying to generate every conceivable password. It achieved a rate faster than 100,000,000,000 guesses per second.
By leveraging this computing power, cyber criminals can hack into a system by bombarding it with as many password combinations as possible, in a process called brute force attacks.
And with cloud-based technology, guessing an eight-character password can be achieved in as little as 12 minutes and cost as little as US$25.
And because passwords are almost always used to give access to sensitive data or important systems, this motivates cyber criminals to actively seek them out. It also drives a lucrative market selling passwords, some of which come with email addresses and/or usernames.
How are passwords stored on websites?
Website passwords are usually stored in a protected manner using a mathematical algorithm called hashing. A hashed password is unrecognisable and can’t be turned back into the password (an irreversible process).
When you try to login, the password you enter is hashed using the same process and compared to the version stored on the site. This process is repeated each time you login.
For example, the password “Pa$$w0rd” is given the value “02726d40f378e716981c4321d60ba3a325ed6a4c” when calculated using the SHA1 hashing algorithm. Try it yourself.
When faced with a file full of hashed passwords, a brute force attack can be used, trying every combination of characters for a range of password lengths. This has become such common practice that there are websites that list common passwords alongside their (calculated) hashed value. You can simply search for the hash to potentially reveal the corresponding password.