User and password combinations for authentication have been around for decades, arguably since the mid-60's when MIT's time sharing computer CTSS had a password based authentication system. But does simple longevity make it a good approach?
Every day, on a Twitter or Google search, you will find several recent stories referring to password cracks, hacks, break-ins, losses and the like. Password complexity policies are standard on nearly every COTS software product within the directory service, database and ERP spaces. Password complexity simply refers to a password of at least 8 alpha and numeric characters and a special character too. So if you apply that approach, you're safe right? Certainly safer yes. But how safe?
A recent report on enterprise 'worst' practices still shows the most common passwords being things like 'password', '123456', '654321' and so on. Not exactly imaginative . The report also identified 30% of users chose a password that is less than or equal to 6 characters. So, for the systems those users are accessing, a complex password policy isn't in place. If so, you can't blame the user for choosing something simple and easy to remember, as they'll hope the guy who works with the computamabobs will fix it, right?
So first things first, a secure basic password management approach requires buy in from both the system administrators and the end users. Administrators are required to implement a management policy and the user to chose a complex password they'll remember and not adhere to things like writing the password down or disclosing it.
From an on-line perspective, there are several tools that allow the user to save their password data within a vault which can be read securely when they access the registered site. Google has also recently announced a new password generation tool that will automatically create a 'complex' password for a newly registered account and replay the password the next time the users accesses the site, negating the need to remember the actual password.
These sort of approaches go a long way to prove that the main issues with password management is with the user. If the user is left to select and manage their own password, they often choose the most simple password the policy will accept, often re-using a password on several sites and performing a simple password+n+1 the next time the password expires.
So it's all the users fault? Not exactly. Encryption and hacking techniques used to store the actual password data also plays its part in the circle of security. Symmetric encryption of password data is generally seen to be a poor concept, but still widely adopted. Whilst it allows system administrators to perform password recovery activities for users who have forgotten their password, it also opens up the possibility of hackers performing a cracking exercise on the encrypted value. Hashing is generally seen as a more secure way to store the password data, along with a salt to prevent a cracking attempt. Hashing is generally seen to be one-way, with the application custodian being unable to recover the password into plain text.
The increase of many enterprise organisations using multi-factor authentication, goes some way to combat the single username and password approach. The use of tokens, biometrics and one-time-passwords have all become market options for organisations wishing to provide applications with a lower cracking factor.
Each multi-factor approach will have a cost and benefit associated with it, and biometric based authentication will need to have a satisfactory cross-over rate to make it a viable approach for authentication.
It's been 10 years since Bill Gates pronounced that the password is dead , and many new innovations have been developed to help improve and ultimately attempt to remove the use of the password as a means for authentication. None have fully taken over the mantel as the default authentication mechanism, but with such innovation, surely proves that passwords on their own are failing to keep information secure.