The new password system called GOTCHA developed at the Carnegie Mellon University could secure high-value information such as bank accounts even if the password leaks as part of a large-scale site breach.
To create a GOTCHA, a user chooses a password and a computer then generates several random, multi-coloured inkblots.
The user describes each inkblot with a text phrase. These phrases are then stored in a random order along with the password.
When the user returns to the site and signs in with the password, the inkblots are displayed again along with the list of descriptive phrases; the user then matches each phrase with the appropriate inkblot.
"These are puzzles that are easy for a human to solve, but hard for a computer to solve, even if it has the random bits used to generate the puzzle," said Jeremiah Blocki, who worked on the system along with professor Manuel Blum, and Anupam Datta, associate professor of computer science.
These puzzles would prove significant when security breaches of websites result in the loss of millions of user passwords - a common occurrence that has plagued such companies as LinkedIn, Sony and Gawker.
These passwords are stored as cryptographic hash functions, in which passwords of any length are converted into strings of bits of uniform length.
A thief can't readily decipher these hashes, but can mount what's called an automated offline dictionary attack.
Computers today can evaluate as many as 250 million possible hash values every second, Blocki noted.
Given the continued popularity of easy passwords, such as "123456" or "password," it's not always difficult to crack these hashes. But even hard passwords are vulnerable to the latest brute force methods, Blocki said. In the case of a GOTCHA, however, a computer programme alone wouldn't be enough to break into an account.
"To crack the user's password offline, the adversary must simultaneously guess the user's password and the answer to the corresponding puzzle," Datta said.
"A computer can't do that alone. And if the computer must constantly interact with a human to solve the puzzle, it no longer can bring its brute force to bear to crack hashes," said Datta.
Because the user's descriptive phrases for inkblots are stored, users don't have to memorise their descriptions, but have to be able to pick them out from a list.