Посмотрите на yubikey, хороший и недорогой usb-токен (http://www.yubico.com/yubikey).
Yubikeys регистрирует также USB-клавиатуру, и благодаря этому работает на каждой системе (которая поддерживает USB-клавиатуры) без установки каких-либо драйверов устройств.
В Интернете вы можете найти множество примеров использования их службы аутентификации по одноразовому ключу с php, ruby-on-rails или любым другим языком, который вы используете для своей веб-страницы.
Если ваша система не подключена к Интернету, вы все равно можете использовать статический ключ, который также может генерировать yubikey.