Kaffis Mark V wrote:
Not reliably so. If one password is compromised, any other "known" factor should be assumed to be compromised, or compromiseable, too. How does a "known" security measure get compromised? Coercion, interception, or social engineering. I've forced, spied, or tricked you into revealing your password to me. And you think I didn't get the second password/secret question/whatever out of you, too?
To expand on this a little more, one of the problems with single-factor, "something you know" authentication is that in one form or another, the things you know are all typically stored in the same database. For passwords, generally only hashes are stored, but I'm skeptical that the answers to "security questions" are hashed rather than being stored raw in the database. Either way, hashes are usually non-issue for a competent cracker unless your passwords/answers are sufficiently complex. For many ... no,
most users, this is not the case.
What's my point? If an attacker can compromise the database, they can dump the answers to your security questions just as easily as they can dump your password (hash). This is a big weakness for single-factor authentication, and one that should be of particular concern to e-commerce sites and the like, which are particularly susceptible to injection-style attacks.
I won't name names, but a couple years ago, I found an SQL injection in a sizable e-commerce site. It wasn't a huge one like, say, amazon or ebay, but big enough that most of you have at least heard of it. I was able to dump passwords, email addresses, CC numbers, the whole nine yards. Given that many of these people were likely to use the same password on the e-commerce site that they use for the email, I could have followed up by accessing thousands of email accounts, which in turn would have given me access to all kinds of things from the inside -- password resets on other sites, etc., etc. And, I should point out, I'm not even a cracker -- just a bored geek who spent 30 minutes or so reading up on SQL injection.
The moral of this story is two-fold:
- two+ factor authentication would have shut down all of these attacks. Keeping all of your eggs in one basket is never as secure as splitting them up.
- You shouldn't overestimate the security of 3rd-party databases, even if they have a "big name" behind them.