Many US banks will text or email you a one-time authentication code. It's certainly a lot cheaper than buying a piece of hardware.
They aren't doing it this way...why?
"More software projects have gone awry for lack of calendar time than for all other causes combined." -- Fred Brooks, Jr., _The Mythical Man Month_