IP Library Granted Patent US 8,639,628
Granted Patent B2
US 8,639,628 · App. 10/590,415 · Granted Jan 28, 2014

Token authentication system and method

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,639,628
App. No.
10/590,415
Granted
Jan 28, 2014
Kind
B2
Abstract

A method for calculating a One Time Password. A secret is concatenated with a count, where the secret is uniquely assigned to a token. The secret can be a private key or a shared secret symmetric key. The count is a number that increases monotonically at the token with the number of one-time Passwords generated at the token. The count is also tracked at an authentication server, where it increases monotonically with each calculation of a one-time Password at the authentication server. An OTP can be calculated by hashing a concatenated secret and count. The result can be truncated.

Claims (30)

1. A method for calculating One Time Passwords, comprising:

concatenating, by a computer, a secret with a count, where the secret is uniquely assigned to a token and is shared between the token and an authentication server, and the count is a number that increases monotonically at the token with a number of One Time Passwords generated by the token and increases monotonically at the authentication server with each calculation by the authentication server of a One Time Password;

calculating, by the computer, a hash based upon the concatenated secret and count; and

truncating the result of the hash to obtain a new One Time Password.

2. A method for authenticating a request for access to a resource, comprising:

receiving, by an authentication server, a request for authentication that includes a serial number that is uniquely associated with a token, a personal identification number associated with a user and a One Time Password generated by the token, wherein the One Time Password is based upon a value of a first count at the token and a secret shared between the token and the authentication server;

retrieving, by the authentication server, a value of a second count that corresponds to the token based upon the serial number;

retrieving, by the authentication server, the secret that corresponds to the token based upon the serial number;

calculating, by the authentication server, a value of an additional One Time Password based upon retrieved values of the second count and the secret corresponding to the token;

comparing the calculated One Time Password with the received One Time Password;

if the calculated One Time Password corresponds to the received One Time Password, determining that the request is authenticated;

if the calculated One Time Password does not correspond to the received One Time Password, then incrementing the value of the second count at the authentication server and recalculating the additional One Time Password based upon the incremented value of the second count and the secret, and comparing the recalculated One Time Password with the received One Time Password; and

if the recalculated One Time Password does not correspond to the received One Time Password, then repeating to increment the second count and to recalculate the additional One Time Password until the recalculated One Time Password corresponds to the received One Time Password.

3. The method of claim 2 , wherein the hash function is SHA-1.

4. The method of claim 2 , wherein the secret is a symmetric cryptographic key.

5. The method of claim 2 , wherein incrementing the count and recalculating the additional One Time Password is repeated a predetermined number of times, and if the recalculated One Time Password does not correspond to the received One Time Password by the end of the predetermined number of times, the request is determined to be not authenticated.

6. A method for authenticating a request for access to a resource, comprising:

receiving, by an authentication server, a request for authentication that includes a username that is uniquely associated with a user, a personal identification number associated with a user and a One Time Password generated at a token, wherein the One Time Password is based upon a value of a first count at the token and a secret shared between the token and the authentication server;

retrieving, by the authentication server, a value of a second count that corresponds to the token based upon the username;

retrieving, by the authentication server, the secret that corresponds to the token based upon the username;

calculating, by the authentication server, a value of an additional One Time Password based upon retrieved values of the count and the secret corresponding to the token;

comparing the calculated One Time Password with the received One Time Password; and

if the calculated One Time Password corresponds to the received One Time Password, determining that the request is authenticated;

if the calculated One Time Password does not correspond to the received One Time Password, then incrementing the value of the second count at the authentication server and recalculating the additional One Time Password based upon the incremented count and the secret, and comparing the recalculated One Time Password with the received One Time Password; and

if the recalculated One Time Password does not correspond to the received One Time Password, then repeating to increment the second count and to recalculate the additional One Time Password until the recalculated One Time Password corresponds to the received One Time Password.

7. The method of claim 6 , wherein the hash function is SHA-1.

8. The method of claim 6 , wherein the secret is a symmetric cryptographic key.

9. The method of claim 6 , wherein incrementing the count and recalculating the additional One Time Password is repeated a predetermined number of times, and if the recalculated One Time Password does not correspond to the received One Time Password by the end of the predetermined number of times, the request is determined to be not authenticated.

10. The method of claim 2 , wherein the secret is uniquely assigned to the token.

11. The method of claim 6 , wherein the secret is uniquely assigned to the token.

Assignments (7)
CHANGE OF NAME Recorded May 18, 2023
From: NORTONLIFELOCK INC.
To: GEN DIGITAL INC.
Reel/Frame 063697/0493 →
NOTICE OF SUCCESSION OF AGENCY (REEL 050926 / FRAME 0560) Recorded Sep 13, 2022
From: JPMORGAN CHASE BANK, N.A.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 061422/0371 →
SECURITY AGREEMENT Recorded Sep 13, 2022
From: NORTONLIFELOCK INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062220/0001 →
CHANGE OF NAME Recorded Mar 5, 2020
From: SYMANTEC CORPORATION
To: NORTONLIFELOCK INC.
Reel/Frame 052109/0186 →
SECURITY AGREEMENT Recorded Nov 4, 2019
From: SYMANTEC CORPORATION; BLUE COAT LLC; LIFELOCK, INC,; SYMANTEC OPERATING CORPORATION
To: JPMORGAN, N.A.
Reel/Frame 050926/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2010
From: VERISIGN, INC.
To: SYMANTEC CORPORATION
Reel/Frame 025499/0882 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2006
From: POPP, NICOLAS
To: VERISIGN, INC.
Reel/Frame 018470/0628 →