# US 8,752,148 B1 · Processorless token for producing a one-time password

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,752,148 B1
- Document ID: US8752148B1
- Status: Granted
- Kind: B1
- Application number: 13/532,309
- Filed: 2012-06-25
- Granted: 2014-06-10
- Earliest claimed: 2012-06-25
- Assignees: EMC Corporation
- Applicants: Edward W. Vipond; Karl Ackerman
- Inventors: Edward W. Vipond; Karl Ackerman
- Web page: https://patentgrep.com/patent/US8752148B1

## CPC

- H04L 9/3234: {involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token (network architectures or network communication protocols for supporting authentication of entities using an additional device in a packet data network H04L63/0853)}
- H04L 9/3228: {One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A processorless hardware token provides a one-time password for user authentication. The processorless hardware token contains a non-volatile memory upon which is stored a pre-produced sequence of one-time passwords. The processorless hardware token uses limited circuitry on a circuit board to read from the non-volatile memory and display a one-time password associated with a current interval. The displayed one-time password is then used for authentication by an authentication server that compares the one-time password displayed on the processorless hardware token with a one-time password retrieved from a copy of the pre-produced sequence of one-time passwords stored on the Authentication Server.

## Claims

### Claim 1

A method of authenticating an entity using a one-time password, the method comprising:
initializing a non-volatile memory of a hardware device with a pre-produced sequence of one-time passwords, each one-time password in the pre-produced sequence of one-time passwords being produced by an algorithm;
indexing into the non-volatile memory of the hardware device upon a request for a one-time password to read the one-time password; and
outputting the one-time password to the entity;
wherein indexing includes dividing a numeric value used for indexing by a number of one-time password elements in the non-volatile memory, using the result as the offset to read a first one-time password from the non-volatile memory, using the remainder of the division as an offset to read a second one-time password from the non-volatile memory, and exclusive-oring the first one-time password and the second one-time password to produce the one-time password.

### Claim 2 (depends on 1)

The method of authenticating the entity as in claim 1, further comprising:
transmitting the one-time password to an authentication server;
indexing into a copy of the pre-produced sequence of one-time passwords stored on the authentication server to read an authentication one-time password; and
comparing the one-time password with the authentication one-time password to authenticate whether the entity is legitimate.

### Claim 3 (depends on 2)

The method of authenticating the entity as in claim 2, further comprising:
approving the entity upon the comparing being true.

### Claim 4 (depends on 2)

The method of authenticating the entity as in claim 2, further comprising:
hashing each one-time password in the copy of the pre-produced sequence of one-time passwords via a one-way function prior to storage of the pre-produced sequence of one-time passwords on the authentication server; and
hashing the one-time password via the one-way function prior to comparison with the authentication one-time password.

### Claim 5 (depends on 1)

The method of authenticating the entity as in claim 1 wherein indexing into the non-volatile memory of the hardware device upon the request for the one-time password occurs while the entity possesses the hardware device;
wherein the algorithm uses a seed to create the pre-produced sequence of one-time passwords; and
wherein the method further comprises:
rendering un-recoverable the seed used by the algorithm to create the pre-produced sequence of one-time passwords upon creation of the pre-produced sequence of one-time passwords and prior to the entity obtaining possession of the hardware device.

### Claim 6 (depends on 1)

The method of authenticating the entity as in claim 1, wherein initialization of the non-volatile memory of the hardware device with the pre-produced sequence of one-time passwords is performed at time of manufacture of the hardware device.

### Claim 7 (depends on 1)

The method of authenticating the entity as in claim 1, wherein indexing includes using a numeric value representative of a current time as an offset into the non-volatile memory.

### Claim 8 (depends on 1)

The method of authenticating the entity as in claim 1, wherein indexing includes using a numeric value representative of a number of times the entity has requested the one-time password as an offset into the non-volatile memory.

### Claim 9 (depends on 1)

The method of authenticating the entity as in claim 1, wherein the indexing and outputting of the one-time password on the hardware device are performed by electronic circuitry, which is constructed and arranged to retrieve the one-time password from a location in non-volatile memory based on an index to alleviate involvement of any hardware encryption or hash functionality while the one-time password is retrieved.

### Claim 10

A hardware device for producing a one-time password, the hardware device comprising:
a non-volatile memory, the non-volatile memory including a pre-produced sequence of one-time passwords, each one-time password in the sequence of pre-produced one-time passwords comprising an algorithm result;
a circuit board coupled to the non-volative memory, the circuit board being constructed and arranged to read the one-time password from the non-volatile memory by using an index value to determine a location of the one-time password in the non-volatile memory; and
an output device coupled to the circuit board, the output device being constructed and arranged to output the read one-time password;
wherein the circuit board is configured to read the one-time password by dividing the index value by a number of one-time password elements in the non-volatile memory, using the result as the offset to read a first one-time password from the non-volatile memory, and using the remainder of the division as an offset to read a second one-time password from the non-volatile memory, the first one-time password and the second one-time password exclusive-ored to produce the one-time password.

### Claim 11 (depends on 10)

The hardware device as in claim 10, wherein the pre-produced sequence of one-time passwords is stored in the non-volatile memory at time of manufacture of the hardware device.

### Claim 12 (depends on 10)

The hardware device as in claim 10, wherein the index value is a numeric value representative of a current time.

### Claim 13 (depends on 10)

The hardware device as in claim 10, wherein the index value is a numeric value representative of a number of times the entity has requested the one-time password.

### Claim 14 (depends on 10)

The hardware device as in claim 10, wherein the circuit board, when reading the one-time password from the non-volatile memory, is constructed and arranged to retrieve the one-time password from the location in the non-volatile memory based on the index to alleviate involvement of any of hardware encryption or hash functionality while the one-time password is read.

### Claim 15 (depends on 10)

The hardware device as in claim 10, further comprising:
a power source that provides energy via energy harvesting.

### Claim 16

A computer readable storage medium with a computer program stored thereon, the computer program upon execution by a processor performing a method of authenticating an entity using a one-time password, the method comprising:
initializing a non-volatile memory of a hardware device with a pre-produced sequence of one-time passwords, each one-time password in the pre-produced sequence of one-time passwords being produced by an algorithm;
indexing into the non-volatile memory of the hardware device upon a request for a one-time password to read the one-time password; and
outputting the one-time password to the entity;
wherein indexing includes dividing a numeric value used for indexing by a number of one-time password elements in the non-volatile memory, using the result as the offset to read a first one-time password from the non-volatile memory, using the remainder of the division as an offset to read a second one-time password from the non-volatile memory, and exclusive-oring the first one-time password and the second one-time password to produce the one-time password.

### Claim 17 (depends on 16)

The computer readable storage medium as in claim 16, further comprising:
transmitting the one-time password to an authentication server;
indexing into a copy of the pre-produced sequence of one-time passwords stored on the authentication server to read an authentication one-time password; and
comparing the one-time password with the authentication one-time password.

### Claim 18

A method of authenticating an entity using a one-time password, the method comprising:
initializing a non-volatile memory of a hardware device with a pre-produced sequence of one-time passwords, each one-time password in the pre-produced sequence of one-time passwords being produced by an algorithm;
indexing into the non-volatile memory of the hardware device upon a request for a current one-time password to read the one-time password; and
outputting the one-time password to the entity;
wherein indexing includes (i) deriving, from a numeric value used for indexing, a first index and a second index, (ii) reading a first one-time password from the non-volatile memory using the first index, (iii) reading a second one-time password from the non-volatile memory using the second index, and (iv) combining the first one-time password and the second one-time password together to produce the current one-time password.

### Claim 19 (depends on 18)

A method as in claim 18 wherein combining the first one-time password and the second one-time password together to produce the current one-time password includes:
performing an exclusive-OR operation to generate the current one-time password, the exclusive-OR operation using at least a portion of the first one-time password as a first input and at least a portion of the second one-time password as a second input.
