IP Library › Granted Patent US 12,309,187
Granted Patent B2
US 12,309,187 · App. 18/618,039 · Granted May 20, 2025

Digital access control using time-based baseline access distributions

Inventor: Gautam Borah (San Ramon, CA)
H04L63/1425H04L63/08
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 12,309,187
App. No.
18/618,039
Granted
May 20, 2025
Kind
B2
Abstract

An access analysis system obtains data about user requests to access particular applications, such as identifiers of the particular user and application involved, the time of the request, and (optionally) additional contextual data, and uses that data to generate user access distributions that quantify the distribution of a given user's requests to access applications over time. After one or more distributions have been generated for a particular user, when that user submits a new access request for an application, the access analysis system can compare the request to the previously-generated access distributions to determine whether (or to what degree) the request is anomalous. If the request is sufficiently non-anomalous, it can be granted with little or no additional actions required by the user or the user's device; if, however, the request is sufficiently anomalous, it can be denied, or additional information—such as additional user authentication factors—can be required.

Claims (34)

1. A method comprising:

receiving data from a user, the data including timestamps and contextual data corresponding to the timestamps;

generating, based on the data, a series of buckets, the series of buckets comprising temporal time windows, wherein each bucket in the buckets includes a subset of the data selected based on the timestamps;

analyzing each of the temporal time windows; and

identifying an anomalous access request based on analyzing each of the temporal time windows, the anomalous access request occurring in an associated temporal time window associated with a corresponding time.

2. The method of claim 1 , wherein the contextual data for a given item of data comprises one or more fields in a tuple associated with a corresponding timestamp.

3. The method of claim 2 , wherein the one or more fields comprise one of application data and user data.

4. The method of claim 1 , wherein a size of the series of buckets is determined based on a pre-configured window size, an aggregate size of the series of buckets equal to the pre-configured window size.

5. The method of claim 1 , wherein receiving the data from the user comprises receiving the data in either a batch mode or real-time mode.

6. The method of claim 1 , wherein identifying the anomalous access request based on analyzing each of the temporal time windows comprises computing a score for the anomalous access request.

7. The method of claim 6 , wherein computing the score comprises a real-valued score representing a degree of anomalousness of the anomalous access request.

8. A non-transitory computer-readable storage medium for tangibly storing computer program instructions capable of being executed by a computer processor, the computer program instructions defining steps of:

receiving data from a user, the data including timestamps and contextual data corresponding to the timestamps;

generating, based on the data, a series of buckets, the series of buckets comprising temporal time windows, wherein each bucket in the buckets includes a subset of the data selected based on the timestamps;

analyzing each of the temporal time windows; and

identifying an anomalous access request based on analyzing each of the temporal time windows, the anomalous access request occurring in an associated temporal time window associated with a corresponding time.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the contextual data for a given item of data comprises one or more fields in a tuple associated with a corresponding timestamp.

10. The non-transitory computer-readable storage medium of claim 9 , wherein the one or more fields comprise one of application data and user data.

11. The non-transitory computer-readable storage medium of claim 8 , wherein a size of the series of buckets is determined based on a pre-configured window size, an aggregate size of the series of buckets equal to the pre-configured window size.

12. The non-transitory computer-readable storage medium of claim 8 , wherein receiving the data from the user comprises receiving the data in either a batch mode or real-time mode.

13. The non-transitory computer-readable storage medium of claim 8 , wherein identifying the anomalous access request based on analyzing each of the temporal time windows comprises computing a score for the anomalous access request.

14. The non-transitory computer-readable storage medium of claim 13 , wherein computing the score comprises a real-valued score representing a degree of anomalousness of the anomalous access request.

15. A device comprising:

a processor; and

a storage medium for tangibly storing thereon program logic for execution by the processor, the program logic comprising logic for:

receiving data from a user, the data including timestamps and contextual data corresponding to the timestamps;

generating, based on the data, a series of buckets, the series of buckets comprising temporal time windows, wherein each bucket in the buckets includes a subset of the data selected based on the timestamps;

analyzing each of the temporal time windows; and

identifying an anomalous access request based on analyzing each of the temporal time windows, the anomalous access request occurring in an associated temporal time window associated with a corresponding time.

16. The device of claim 15 , wherein the contextual data for a given item of data comprises one or more fields in a tuple associated with a corresponding timestamp.

17. The device of claim 16 , wherein the one or more fields comprise one of application data and user data.

18. The device of claim 15 , wherein a size of the series of buckets is determined based on a pre-configured window size, an aggregate size of the series of buckets equal to the pre-configured window size.

19. The device of claim 15 , wherein receiving the data from the user comprises receiving the data in either a batch mode or real-time mode.

20. The device of claim 15 , wherein identifying the anomalous access request based on analyzing each of the temporal time windows comprises computing a score for the anomalous access request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2024
From: BORAH, GAUTAM
To: OKTA, INC.
Reel/Frame 067110/0034 →
Continuity (3)
Continuation 18295222 · Apr 3, 2023
Continuation 17163111 · Jan 29, 2021
Related Publication 20240236134A1 · Jul 11, 2024
References Cited (6)
US 9721086B2 · Shear et al. · 2017 [cited by applicant]
US 10122757B1 · Kruse et al. · 2018 [cited by applicant]
US 10353981B2 · Greene et al. · 2019 [cited by applicant]
US 11652837B2 · Borah · 2023 [cited by applicant]
US 20220166783A1 · Yavo et al. · 2022 [cited by applicant]
US 20230283623A1 · Borah · 2023 [cited by applicant]