Two-factor authentication isn't our saviour. It won't defend against phishing. It's not going to prevent identity theft. It's not going to secure online accounts from fraudulent transactions. It solves the security problems we had 10 years ago, not the security problems we have today. The problem with passwords is that they're too easy to lose control of… and once that happens, the password no longer works as an authentication token because you can't be sure who is typing it in. Two-factor authentication mitigates this problem. If your password includes a number that changes every minute, or a unique reply to a random challenge, then it's harder for someone else to guess or intercept.
These tokens have been around for at least two decades, but it's only recently that they have gotten mass-market attention. AOL is rolling them out. Some banks are issuing them to customers, and even more are talking about doing it. Unfortunately, the nature of attacks has changed over those two decades. Back then, the threats were all passive: eavesdropping and offline password guessing. Today, the threats are more active: phishing and Trojan horses.
Two new active attacks we're starting to see:
- Man-in-the-middle attack. An attacker puts up a fake bank website and entices a user to that website. User types in his password, and the attacker in turn uses it to access the bank's real website. Done right, the user will never realise that he isn't at the bank's website. Then the attacker either disconnects the user and makes any fraudulent transactions he wants, or passes along the user's banking transactions while making his own transactions at the same time.
- Trojan attack. Attacker gets Trojan installed on user's computer. When user logs into his bank's website, the attacker piggybacks on that session via the Trojan to make any fraudulent transaction he wants. Two-factor authentication doesn't solve anything. In the first case, the attacker can pass the ever-changing part of the password to the bank along with the never-changing part. And in the second case, the attacker is relying on the user to log in. The real threat is fraud due to impersonation, and the tactics of impersonation will change in response to the defenses.
Recently I've seen examples of two-factor authentication using two different communications paths: call it "two-channel authentication". One bank sends a challenge to the user's cell phone via SMS and expects a reply via SMS. If you assume that all your customers have cell phones, then this results in a two-factor authentication process without extra hardware. And even better, the second authentication piece goes over a different communications channel than the first; eavesdropping is much, much harder.
But in this new world of active attacks, no one cares. An attacker using a man-in-the-middle attack is happy to have the user deal with the SMS portion of the log in, since he can't do it himself. And a Trojan attacker doesn't care, because he's relying on the user to log in anyway.
Two-factor authentication is not useless. It works for local log in, and it works within some corporate networks. But it won't work for remote authentication over the Internet. Early adopters of this technology may well experience a significant drop in fraud for a while as attackers move to easier targets, but in the end there will be a negligible drop in the amount of fraud and identity theft.
This article first appeared on the "Schneier on Security" website at www.schneier.com/blog