Passwords suck, and it's good to get rid of them. However, don't be fooled to think that you wouldn't have to remember anything anymore.
The two-factor authentication is more secure than plain password, because you need to have a physical device to authenticate. The idea is that you need to have something, and you need to know something. The smart card is this something you have, and the pin/password is something you know. The password, however, would not be system specific, but rather specific to the card. This way you only have to remember one password, yet the system you authenticate against won't see your PIN, only the immediate system where you're typing it will see it.
Now I *KNOW* you're nuts. You're honestly going to pull in favor of a dongle? You realise how easy it is to image those, RIGHT?
So, you wouldn't want to type it on public terminals, eh? Perhaps not, perhaps you would.
No, I'd NEVER want to put a dongle anywhere NEAR a public terminal, because I cannot verify that the backend is secure. To be honest, I'm none too wild about ATMs either, mostly because of skimmers (that's right, why don't you try implying THOSE are crackpot theories?)
While the hardware could be bugged or hidden cameras installed, TCPA should make it pretty tough to trojanize these systems in a fashion that would let anything in the system see the PIN except the security system that's responsible for it.
...or I could just duplicate your device on my password-noncompliant reader at home, and take the forgery to the bank and withdraw your entire account. For that matter, I could mount a skimmer at your workstation (it's been done before) and log/dupe everything you do. This wouldn't be hard, unless we're using a home user concept.
At least, as long as users are educated to not type their PIN everywhere where it's asked.
Ah, so it's the end-user-software-coder-app-protocol's fault, not the administrator's for not allowing such compromise in the first place. I've heard this excuse someplace before.
Evil backdoor apps could still try to spoof the authentic looking PIN query form, but there are ways to solve this, such as having a statusline at bottom of the screen always visible which tells if you're in secure IO mode or not.
...which is equally spoofable, especially if you're using the cookie jar of exploits that IS Internet Explorer. If you have two eyes, you can be complicit in spoofing a visual feedback system. Not that it's HARD...
Moving to a two-factor authentication scheme won't solve all the problems regarding authentication, but it's a damn good thing anyway, and a step to right direction. You can be sure linux and other *nix systems will follow once microsoft shows how to do it
The problem is that we're
not moving to a two-factor system. We're moving to a
device-specific system, which is about as stupid as it gets. Let's put it this way: a bank system can be secured. Access to the front or back can be monitored 24/7. Reprogramming and stocking can be based on multiple-factor security. But when it comes to the user, one device stands between them and the bank. Now when it comes to systems like my home computers, I don't really give a rat's ass about security. If I did, I'd be running a dongle, biometrics,
and a password at boot-time - three barriers to entry. That's right. THREE. The dongle can be stolen easily enough, but when it comes down to it, it's the PASSWORD that secures the system.
But then, perhaps I just fail to see the reason why I should entrust my most valued secrets to a disk that can be completely copied in a heartbeat.