IP Library Granted Patent US 11,893,105
Granted Patent B2
US 11,893,105 · App. 17/835,613 · Granted Feb 6, 2024

Generating and validating activation codes without data persistence

Inventor: Kazimieras Celiesius (Vilnius, LT)
Assignee: Oversec, UAB
G06F21/44H04L9/0643H04L63/0876G06F21/31G06F2221/2129H04L2463/121
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 11,893,105
App. No.
17/835,613
Granted
Feb 6, 2024
Kind
B2
Abstract

User system authentication includes a service infrastructure system receiving, from the user system, an authentication request including a user account identifier, generating a first validation code by performing a hash algorithm on the user account identifier and a first timestamp associated with the authentication request, sending to an email account associated with the user account identifier, an email message including the first validation code, receiving from the user system, a verification code, in response to receiving the verification code, generating a second timestamp, validating the second timestamp, in response to determining that the second timestamp is valid, generating a second validation code by performing the hash algorithm on the user account identifier and the first timestamp associated with the authentication request, comparing the verification code and the second validation code, and authenticating the user system, in response to a determination that the verification code and the second validation code match.

Claims (68)

1. A method of authentication, the method comprising:

receiving, at a service infrastructure system, from a user system, an authentication request including a user account identifier;

generating, by the service infrastructure system, a first validation code by performing a hash algorithm on the user account identifier and a first timestamp associated with the authentication request;

sending, by the service infrastructure system, to an email account associated with the user account identifier, an email message including the first validation code;

receiving, by the service infrastructure system, from the user system, a verification code;

in response to receiving the verification code, generating, by the service infrastructure system, a second timestamp;

validating, by the service infrastructure system, the second timestamp;

in response to determining that the second timestamp is valid, generating, by the service infrastructure system, a second validation code by performing the hash algorithm on the user account identifier and the first timestamp associated with the authentication request;

comparing, by the service infrastructure system, the verification code and the second validation code; and

authenticating, by the service infrastructure system, the user system, in response to a determination that the verification code and the second validation code match.

2. The method of claim 1 , wherein validating the second timestamp includes determining that the second timestamp is valid wherein:

on a condition that an expiration threshold indicates a single time value, a difference between the first timestamp and the second timestamp is less than the expiration threshold; and

on a condition that the expiration threshold indicates a time range from a minimum time value to a maximum time value, the difference between the first timestamp and the second timestamp is greater than or equal to the minimum time value and is less than or equal to the maximum time value.

3. The method of claim 1 , wherein performing the hash algorithm includes:

performing the hash algorithm using a hash function on the user account identifier, the first timestamp, and a cryptographic server secret.

4. The method of claim 1 , wherein performing a hash algorithm includes:

performing the hash algorithm using a numeric upper limit.

5. The method of claim 1 , wherein the user account identifier includes an email address, a Hardware ID, a Software Generated ID, or a Network ID.

6. The method of claim 1 , wherein comparing the verification code and the second validation code includes:

generating the determination that the verification code and the second validation code match.

7. The method of claim 1 , wherein:

comparing the verification code and the second validation code includes generating a determination that the verification code and the second validation code mismatch; and

the method includes identifying the user system as unauthenticated in response to the determination that the verification code and the second validation code mismatch.

8. A service infrastructure system comprising:

a memory storing computer-executable instructions for authentication of a user system; and

a processor that executes the instructions to:

receive, from the user system, an authentication request including a user account identifier;

generate a first validation code, wherein to generate the first validation code the processor executes the instruction to perform a hash algorithm on the user account identifier and a first timestamp associated with the authentication request;

send, to an email account associated with the user account identifier, an email message including the first validation code;

receive, from the user system, a verification code;

in response to receiving the verification code, generate a second timestamp;

validate the second timestamp;

in response to determining that the second timestamp is valid, generate a second validation code, wherein to generate the second validation code the processor executes the instructions to perform the hash algorithm on the user account identifier and the first timestamp associated with the authentication request;

compare the verification code and the second validation code; and

authenticate the user system, in response to a determination that the verification code and the second validation code match.

9. The service infrastructure system of claim 8 , wherein to validate the second timestamp the processor executes the instructions to determine that the second timestamp is valid wherein:

on a condition that an expiration threshold indicates a single time value, a difference between the first timestamp and the second timestamp is less than the expiration threshold; and

on a condition that the expiration threshold indicates a time range from a minimum time value to a maximum time value, the difference between the first timestamp and the second timestamp is greater than or equal to the minimum time value and is less than or equal to the maximum time value.

10. The service infrastructure system of claim 8 , wherein to perform the hash algorithm the processor executes the instructions to:

perform the hash algorithm using a hash function on the user account identifier, the first timestamp, and a cryptographic server secret.

11. The service infrastructure system of claim 8 , wherein to perform the hash algorithm the processor executes the instructions to:

perform the hash algorithm using a numeric upper limit.

12. The service infrastructure system of claim 8 , wherein the user account identifier includes an email address, a Hardware ID, a Software Generated ID, or a Network ID.

13. The service infrastructure system of claim 8 , wherein to compare the verification code and the second validation code the processor executes the instructions to:

generate the determination that the verification code and the second validation code match.

14. The service infrastructure system of claim 8 , wherein:

to compare the verification code and the second validation code the processor executes the instructions to generate a determination that the verification code and the second validation code mismatch; and

the processor executes the instructions to identify the user system as unauthenticated in response to the determination that the verification code and the second validation code mismatch.

15. A non-transitory computer readable storage medium comprising computer-executable instructions executed by a processor to authenticate a user system by:

receiving, at a service infrastructure system, from a user system, an authentication request including a user account identifier;

generating, by the service infrastructure system, a first validation code by performing a hash algorithm on the user account identifier and a first timestamp associated with the authentication request;

sending, by the service infrastructure system, to an email account associated with the user account identifier, an email message including the first validation code;

receiving, by the service infrastructure system, from the user system, a verification code;

in response to receiving the verification code, generating, by the service infrastructure system, a second timestamp;

validating, by the service infrastructure system, the second timestamp;

in response to determining that the second timestamp is valid, generating, by the service infrastructure system, a second validation code by performing the hash algorithm on the user account identifier and the first timestamp associated with the authentication request;

comparing, by the service infrastructure system, the verification code and the second validation code; and

authenticating, by the service infrastructure system, the user system, in response to a determination that the verification code and the second validation code match.

16. The non-transitory computer readable storage medium of claim 15 , wherein validating the second timestamp includes determining that the second timestamp is valid wherein:

on a condition that an expiration threshold indicates a single time value, a difference between the first timestamp and the second timestamp is less than the expiration threshold; and

on a condition that the expiration threshold indicates a time range from a minimum time value to a maximum time value, the difference between the first timestamp and the second timestamp is greater than or equal to the minimum time value and is less than or equal to the maximum time value.

17. The non-transitory computer readable storage medium of claim 15 , wherein performing the hash algorithm includes:

performing the hash algorithm using a hash function on the user account identifier, the first timestamp, and a cryptographic server secret.

18. The non-transitory computer readable storage medium of claim 15 , wherein performing a hash algorithm includes:

performing the hash algorithm using a numeric upper limit.

19. The non-transitory computer readable storage medium of claim 15 , wherein the user account identifier includes an email address, a Hardware ID, a Software Generated ID, or a Network ID.

20. The non-transitory computer readable storage medium of claim 15 , wherein comparing the verification code and the second validation code includes:

generating the determination that the verification code and the second validation code match.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2025
From: OVERSEC, UAB
To: UAB 360 IT
Reel/Frame 070202/0565 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2022
From: CELIESIUS, KAZIMIERAS
To: OVERSEC, UAB
Reel/Frame 060141/0110 →
Continuity (2)
Continuation 17372393 · Jul 9, 2021
Related Publication 20230008404A1 · Jan 12, 2023