Kill All The Passwords
Written by Frank HayesIt’s time to kill all the passwords. That’s the only real conclusion to draw from the work being done by Georgia Tech Research Institute researchers, who are using off-the-shelf graphics-processing cards to crack passwords by brute force. The time required to break an eight-character password: two minutes. A seven-character password–the minimum currently required by PCI-DSS for retailers to protect stored payment-card information–goes in seconds. One of the Georgia Tech researchers, Richard Boyd, called seven-character passwords “hopelessly inadequate.”
In short, password security is no longer security. The clock isn’t just ticking on every retailer’s favorite cheap authentication scheme, it has run out. The answer isn’t longer passwords; that’s just a stopgap, and even if it works, it won’t hold for long. Maybe Chip-and-PIN employee ID cards would do the trick. Even a mag-stripe-and-PIN approach could work. But whatever replaces passwords has to be cheap. And it must have a reasonable chance of keeping the bad guys away from information such as card data.
What’s now clear is that passwords can’t do that. It’s just too easy and inexpensive to point huge amounts of processing power at the problem of password cracking, as the Georgia Tech researchers discovered.
Here’s the scenario they were investigating: A thief gets access to a single account on a computer that contains an encrypted password file. He copies the file and then uses a computing farm that consists of hundreds of PCs equipped with consumer-grade graphics cards specially programmed to calculate the encrypted versions of all possible passwords of a particular length.
There’s nothing new about using consumer-grade PC hardware to crack passwords and other encrypted data. Thieves have been doing that for years. It’s so common that TJX thief Albert Gonzales was able to outsource his encryption cracking to someone else with a CPU farm who specialized in just that.
But the Georgia Tech researchers used high-end graphics cards, which have the computing power to blast through the necessary calculations at one hundred times the speed of a typical CPU. And because those calculations can all be done in parallel on a graphics processing unit (GPU), the job scales up nicely. A hundred times the number of graphics cards will finish the job in about a hundredth of the time. That makes cracking password files both faster and more affordable for thieves.
“If you assumed an eight-character password was secure before GPUs, that assumption is no longer valid,” said Georgia Tech’s Boyd.
Wait, it gets worse. Boyd said his team assumed the passwords would be the kind created to optimal specifications (highly random, using a mixture of all available letters, numbers and special characters) and protected with reasonably strong encryption such as MD5. That is, a best-case scenario for security.
But that’s nothing like what retail IT people often deal with. Real users make their passwords as simple, easy to remember and trivial to guess as possible. And many retailers, especially in situations like restaurants, are still using PCs running Windows XP, which defaults to a password-encryption scheme called the LAN Manager hash. As encryption, “that’s a joke,” Boyd said.
The obvious conclusion: PCI-DSS Requirement 8.5.10–that retailers must use at least seven-character passwords on computers containing card data—is hopelessly out of date. GPUs have blown it away.
A less obvious conclusion: GPUs have blown away pretty much every other kind of password, too.
Here’s why: You can try longer passwords, but they won’t help.
August 27th, 2010 at 4:26 pm
The possibilities you describe are years away from being implemented at best, so for the moment passwords are an ugly reality. Luckily, password managers can easily manage hundreds of passwords of any length. The only thing a user needs to remember is the master password. It seems like an easier task to educate users on how to use password managers rather than implement complex security technology on a global basis.
Here’s the simplest way to manage passwords:
Use a password manager to assign unique, random 15 characters for all accounts, protecting them with a strong master password. Once you get into the habit of it, it’s actually faster than how most people login to various accounts each day.
I recently posted a series on password management that highlights this simple solution to the problem, while also giving more background to those who want it (how attackers steal passwords, which password managers are best, etc.):
http://www.filterjoe.com/2010/05/14/password-management-for-the-average-joe/
August 27th, 2010 at 6:10 pm
This article does mention, but does not give enough attention to, the fact that the attacks discussed are only feasible when the encrypted password file can be copied and subjected to an offline attack.
The trick is to have authentication performed on a separate, much more strongly secured host – such as an Active Directory Domain Controller, or a Kerberos server, or a NIS+ server, or even using something as banal as an LDAP-over-SSL authentication dialog.
In these environments, the odds of the “password file” being stolen and subjected to an offline attack go to near zero, and only online attacks may be carried out by the attacker.
With sensible exponential backoff between failed password attempts, lockout after a modest number of failed attempts on a single account, and pattern detection, that minimum 7 character password is quite secure enough.
Passwords aren’t dead yet for security purposes, and they will be with us for a very long while to come for practical purposes. The trick is to employ them correctly.
September 11th, 2010 at 5:28 pm
What the article does not cover are passphrases. Specifically, instead of using lengthy passwords use lengthy passphrases which a user is likely to remember. If I were a pilot (I’m not) I might use:
!_l0ve_fly!ng_my_Cessina
That’s 24 characters. Each word is separated by an underscore, each “i” is replaced by a “!” and each “o” is replaced by a zero (0) and at least one word is capitalized. This is a secure passphrase. In reality, I would expect someone to NOT use a passphrase to which they could be associated. :-)