IP Library Granted Patent US 12,423,449
Granted Patent B2
US 12,423,449 · App. 17/658,336 · Granted Sep 23, 2025

Method and system for providing access control governance

Inventors: Michael George Norman (Edinburgh, GB); Isaac Leonardo Blum (Armonk, NY); Roger F Bigger (Old Lyme, CT); David Laurance (Ann Arbor, MI)
Assignee: JPMORGAN CHASE BANK, N.A.
G06F21/604G06F2212/7202G06F2221/2101H04L63/108H04L63/20
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,423,449
App. No.
17/658,336
Granted
Sep 23, 2025
Kind
B2
Abstract

A method for governing a policy for providing access to a system is provided. The method includes: receiving a plurality of policy data units, each respective policy data unit including information that relates to an access determination with respect to the system; processing the plurality of policy data units by constructing a first directed graph of policy data unit processors, and obtaining an access policy rule as a result of the processing; evaluating the obtained access policy rule across a compute environment that is distributed in time and space by using the first directed graph; generating a signed access token that relates to a predetermined user based on the obtained access policy rule; and transmitting the signed access token to the predetermined user.

Claims (46)

1. A method for governing a policy for controlling access to a system, the method being implemented by at least one processor, the method comprising:

receiving, by the at least one processor, a plurality of policy data units, each respective policy data unit including information that relates to an access determination with respect to the system;

processing, by the at least one processor, the plurality of policy data units, and obtaining an access policy rule as a result of the processing;

generating, by the at least one processor before an access request is made, a signed access token that relates to a predetermined user based on the obtained access policy rule; and

transmitting, by the at least one processor to the predetermined user before the access request is made, the signed access token,

wherein when the access request is made, the signed access token is usable for generating one of the following: access permission, access denial, or a new policy data unit; and

wherein the signed access token has a lifespan and is reusable by the predetermined user for multiple access requests.

2. The method of claim 1 , wherein the plurality of policy data units comprises at least one first simple type of policy data unit that contains a header and data with no policy logic, at least one second simple type of policy data unit that contains a header and policy logic with no data, and at least one compound type of policy data unit that contains a header, data, and policy logic.

3. The method of claim 1 , wherein the processing of the plurality of policy data units comprises constructing a first directed graph of policy data unit processors, and

wherein the method further comprises evaluating the obtained access policy rule across a compute environment that is distributed in time and space by using the first directed graph, such that a result of the evaluating includes a query and a new policy data unit that is usable for resolving the query.

4. The method of claim 3 , wherein the evaluating of the obtained access policy rule is performed incrementally as corresponding software is built, tested, and deployed.

5. The method of claim 3 , wherein the evaluating of the obtained access policy rule is performed across a cloud computing environment that varies over time, such that at least one portion of the obtained access policy rule is revised as a result of a variation of the cloud computing environment.

6. The method of claim 3 , further comprising constructing a second directed graph of the policy data unit processors and assessing a use of the access policy rule with respect to at least one from among correctness, completeness, and consistency by using the second directed graph.

7. The method of claim 6 , wherein the assessing of the use of the access policy rule comprises using at least one detective control included in the second directed graph to determine whether the access policy rule is executing as designed and to determine whether at least one from among the access policy rule and reference data associated with the access policy rule has been subjected to tampering.

8. The method of claim 6 , further comprising using the second directed graph to generate an auditable record of decisions made based on the first directed graph.

9. A computing apparatus for governing a policy for controlling access to a system, the computing apparatus comprising:

a first processor;

a memory; and

a communication interface coupled to each of the first processor and the memory,

wherein the first processor is configured to:

receive, via the communication interface, a plurality of policy data units, each respective policy data unit including information that relates to an access determination with respect to the system;

process the plurality of policy data units and obtain an access policy rule as a result of the processing;

generate, before an access request is made, a signed access token that relates to a predetermined user based on the obtained access policy rule; and

transmit, to the predetermined user before the access request is made via the communication interface, the signed access token,

wherein when the access request is made, the signed access token is usable for generating one of the following: access permission, access denial, or a new policy data unit; and

wherein the signed access token has a lifespan and is reusable by the predetermined user for multiple access requests.

10. The computing apparatus of claim 9 , wherein the plurality of policy data units comprises at least one first simple type of policy data unit that contains a header and data with no policy logic, at least one second simple type of policy data unit that contains a header and policy logic with no data, and at least one compound type of policy data unit that contains a header, data, and policy logic.

11. The computing apparatus of claim 9 , wherein the processing of the plurality of policy data units comprises constructing a first directed graph of policy data unit processors, and

wherein the first processor is further configured to evaluate the obtained access policy rule across a compute environment that is distributed in time and space by using the first directed graph, such that a result of the evaluation includes a query and a new policy data unit that is usable for resolving the query.

12. The computing apparatus of claim 11 , wherein the evaluation of the obtained access policy rule is performed incrementally as corresponding software is built, tested, and deployed.

13. The computing apparatus of claim 11 , wherein the evaluation of the obtained access policy rule is performed across a cloud computing environment that varies over time, such that at least one portion of the obtained access policy rule is revised as a result of a variation of the cloud computing environment.

14. The computing apparatus of claim 11 , wherein the first processor is further configured to construct a second directed graph of the policy data unit processors and assess a use of the access policy rule with respect to at least one from among correctness, completeness, and consistency by using the second directed graph.

15. The computing apparatus of claim 14 , wherein the assessment of the use of the access policy rule comprises using at least one detective control included in the second directed graph to determine whether the access policy rule is executing as designed and to determine whether at least one from among the access policy rule and reference data associated with the access policy rule has been subjected to tampering.

16. The computing apparatus of claim 14 , wherein the first processor is further configured to use the second directed graph to generate an auditable record of decisions made based on the first directed graph.

17. A non-transitory computer readable storage medium storing instructions for governing a policy for controlling access to a system, the storage medium comprising executable code which, when executed by a processor, causes the processor to:

receive a plurality of policy data units, each respective policy data unit including information that relates to an access determination with respect to the system;

process the plurality of policy data units, and obtain an access policy rule as a result of the processing;

generate, before an access request is made, a signed access token that relates to a predetermined user based on the obtained access policy rule; and

transmit, to the predetermined user before the access request is made, the signed access token,

wherein when the access request is made, the signed access token is usable for generating one of the following: access permission, access denial, or a new policy data unit; and

wherein the signed access token has a lifespan and is reusable by the predetermined user for multiple access requests.

18. The storage medium of claim 17 , wherein the plurality of policy data units comprises at least one first simple type of policy data unit that contains a header and data with no policy logic, at least one second simple type of policy data unit that contains a header and policy logic with no data, and at least one compound type of policy data unit that contains a header, data, and policy logic.

19. The storage medium of claim 17 , wherein the executable code is further configured to cause the processor to:

construct a first directed graph of policy data unit processors; and

evaluate the obtained access policy rule across a compute environment that is distributed in time and space by using the first directed graph, such that a result of the evaluation includes a query and a new policy data unit that is usable for resolving the query.

20. The storage medium of claim 19 , wherein the executable code is further configured to construct a second directed graph of the policy data unit processors and assess a use of the access policy rule with respect to at least one from among correctness, completeness, and consistency by using the second directed graph.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2022
From: NORMAN, MICHAEL GEORGE; BLUM, ISAAC LEONARDO; BIGGER, ROGER F; LAURANCE, DAVID
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 059549/0899 →
Continuity (2)
Provisional Application 63171850 · Apr 7, 2021
Related Publication 20220327223A1 · Oct 13, 2022
References Cited (16)
US 9043862B2 · Ahmavaara et al. · 2015 [cited by applicant]
US 9083749B1 · Roth · 2015 [cited by examiner]
US 10764752B1 · Avetisov et al. · 2020 [cited by applicant]
US 11134058B1 · Sole · 2021 [cited by examiner]
US 20080184336A1 · Sarukkai et al. · 2008 [cited by applicant]
US 20190394259A1 · Park et al. · 2019 [cited by applicant]
US 20200127994A1 · Kukreja et al. · 2020 [cited by applicant]
US 20200244702A1 · Ambardekar et al. · 2020 [cited by applicant]
US 20200314145A1 · Bolignano · 2020 [cited by examiner]
US 20210051178A1 · Kuppannan · 2021 [cited by examiner]
US 20210136117A1 · Kuppannan · 2021 [cited by examiner]
US 20210266306A1 · Furman · 2021 [cited by examiner]
International Search Report and Written Opinion in corresponding International PCT Application No. PCT/US2022/023821, dated Sep. 7, 2022. [cited by applicant]
Extended European Search Report in corresponding European Application No. 22785437.9, dated Oct. 16, 2024. [cited by applicant]
Dhankhar et al., “Evaluating Distributed XACML Policies”, Proceedings of the 2007 ACM Workshop on Secure Web Services, Fairfax, VA, USA, Nov. 2, 2007, pp. 99-110. [cited by applicant]
Hartmann et al., “A Case Study in Decentralized, Dynamic, Policy-Based, Authorization and Trust Management—Automated Software Distribution for Airplanes”, SAT 2015 18 [cited by applicant]
Cited By (1)
US 12,572,547