Almost all online services use password-based authentication schemes, many of them exclusively. Despite this, password management is still a largely unsolved problem for the individual user. In this project a hardware device has been developed that helps users conveniently manage large numbers of highly secure passwords. In order to protect the accounts from dictionary-based brute-force attacks– where the attacker tries out many different passwords in a short space of time –the German Federal Office for Information Security (BSI) recommends that every password should have at least 12 characters and that special characters should also be included.
Another attack vector that endangers the confidentiality of password-protected resources is the leakage of existing password databases. Due to programming errors and misconfigurations of servers, hackers have managed to copy entire password databases from existing online services in the past. Together with other personal information – e.g. e-mail addresses – the hacker can now try to gain access to other online services with the valid assumption that users have used the same set of e-mail and password for multiple accounts. Hence it is critical to use a unique password for every single account.
These two requirements, combined with the fact that the average German already uses about 50 different online accounts, create an enormous challenge. Most people are not able to memorize the required number of secure passwords. There are several solutions on the market that address this problem, but all of them fall short in at least one of the following areas: security, usability or universal applicability. Therefore those approaches lack broad acceptance in the general population.
The department of Secure Communication Architectures (SKA) of Fraunhofer IOSB has set out to find a solution that combines security and universal applicability with good usability. SecureAutoType operates by combining the features of a standard smartphone with the functionality of a special hardware device, which is so small that it can be carried on a key ring. From the user perspective, the combination of a password database – located on the smartphone – and a special hardware device – located on the key ring – is easy to operate. If the user wants to retrieve a password he or she simply has to open the SecureAutoType app on the smartphone and select the appropriate account – e.g. a webmail account. The encrypted password is then send wirelessly to the SecureAutoType device where it is decrypted on the fly and automatically forwarded to the device where the authorization step is required.
SecureAutoType offers a standard USB interface and is therefore able to emulate a standard keyboard when connected to a third-party computing device. This enables SecureAutoType to automatically type decrypted passwords into the required password fields, thereby relieving the user from cumbersome and error-prone typing of the password by hand. While this method guarantees high usability for the end user, SecureAutoType also aims to provide strong security. First of all, the passwords stored on the user’s smartphone are encrypted at all times. Even in the worst case – the smartphone is stolen or the password database is copied by malicious software on the device – the confidentiality of the passwords is maintained. The database is encrypted with state-of-the-art asymmetric encryption and the private key needed for decryption is only stored on the tamper-proof SecureAutoType hardware. Only the combination of the encrypted passwords on the smartphone and the SecureAutoType hardware device enables the decryption. Another advantage enabled by the autotyping feature is the usage of longer and therefore more secure passwords. By combining increased security with high usability, SecureAutoType tries to make an important contribution to solving the current password management problem.