Patent ID: 7865738

Claim:
A system for generating secure passwords for use by at least one authentication server in authenticating a user of an authentication token and an authentication token interface device, in response to the user seeking access to protected computer resources of at least one server, comprising: said authentication token interface device operable to interact with said authentication token to generate said secure passwords in response to input of a unique consumer code by the user into said authentication token interface device and upon authenticating of said unique consumer code by said authentication token; said authentication token interface device having; a processor, firmware, a user interface, an I/O interface compatible with said authentication token, and a dynamic variable generator; said authentication token having; a processor, firmware, an operating system, a data store, an I/O interface compatible with said authentication token interface device, a key generation algorithm, and a password application; said authentication token storing at least; (i) a secret key, (ii) a changing register value, (iii) a seed value and (iv) said unique consumer code; said password application generating said secure passwords by; (i) combining said changing register value with a dynamic variable generated by said dynamic variable generator to produce a payload, (ii) encrypting said payload with said secret key to produce an encrypted payload and, (iii) combining least significant bits of said encrypted payload with least significant bits of said dynamic variable to produce a new secure password; and said key generation algorithm: (i) generating a new secret key and a new seed value following the generation of a first of said secure passwords and of said new secure password, said new secret key being derived from said secret key, said changing register value, and said seed value, and said new seed value being derived from said secret key, said changing register value, and said seed value, (ii) replacing said secret key and said seed value with said new secret key and said new seed value in storage of said authentication token, and (iii) changing said changing register value by a change value to result in a new changing register value after generation of said new secret key and said new seed value; wherein, after generation of said first of said secure passwords and of said new secure password, said dynamic variable is changed to a new dynamic variable by said dynamic variable generator.