Why not use hardware tokens?
Cost and lack of convenience are the two primary reasons that hardware tokens aren’t widely adopted. By their very nature, Internet applications are deployed to a large number of users at various locations around the world. The acquisition and maintenance cost of hardware tokens and the logistics of widespread distribution and management make the total cost of hardware tokens prohibitive. In addition, tokens are inconvenient for end users to carry and use, and most businesses realize that they cannot force customers to use hardware tokens.