IP Library Granted Patent US 12,499,257
Granted Patent B2
US 12,499,257 · App. 16/952,987 · Granted Dec 16, 2025

Repeatable NGAC policy class structure

Inventors: Zack Daniel Butcher (San Francisco, CA); Ignacio Barrera Caparros (Barcelona, ES); Joshua Douglas Roberts (Ashburn, VA)
Assignee: Tetrate.io
G06F21/6218G06F9/5011
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,499,257
App. No.
16/952,987
Granted
Dec 16, 2025
Kind
B2
Abstract

In implementations of a repeatable NGAC policy class structure, a computing device implements a next generation access control (NGAC) graph that includes user elements representing users, object elements representing resources, and multiple policy classes modeled with a composable policy class structure that is repeatable to instantiate each of the multiple policy classes in the graph. The composable policy class structure includes a policy class as enforceable access criteria by which the user elements are allowed or denied access to the object elements that represent the resources, an exclusion default object node and an exclusion default user node of the policy class, and an association that indicates object elements contained as members of the exclusion default object node granting all policy permissions to user elements contained as members of the exclusion default user node. The NGAC graph can be utilized to compute an access control decision across the multiple policy classes.

Claims (46)

1 . A computing device, comprising:

a memory to maintain a next generation access control (NGAC) graph having a bifurcated structure with a user section and an object section, the user section including users modeled as user elements of the NGAC graph and the object section including resources modeled as object elements of the NGAC graph;

a graph module implemented at least partially in computer hardware and configured to configure multiple policy classes utilizing a composable policy class structure that is repeatable to instantiate each of the multiple policy classes in the NGAC graph, the composable policy class structure including a policy class as enforceable access criteria by which the users are allowed or denied access to the resources, an exclusion default object node of the policy class instantiated in the object section of the NGAC graph, an exclusion default user node of the policy class instantiated in the user section of the NGAC graph, and an association that indicates the exclusion default object node granting all policy permissions of the policy class to the exclusion default user node, and wherein the NGAC graph includes a policy node modeled in the user section of the NGAC graph, wherein one or more of the user elements that each represent a respective user in the user section of the NGAC graph are assigned as a member of the policy node;

a policy decision module implemented at least partially in computer hardware to evaluate the NGAC graph to determine graph information relative to one or more of a user element based at least in part on the exclusion default user node or an object element based at least in part on the exclusion default object node, the policy decision module configured to:

receive a request for a user element to access an object element of a resource within the policy class;

compute a single access control decision across different types of the multiple policy classes utilizing the NGAC graph; and

output an access control decision that indicates to allow or deny the user element access to the object element of the resource based at least in part on whether the user element is a member of the policy class as designated by the exclusion default user node of the policy class.

2 . The computing device of claim 1 , wherein the association indicates that the object elements contained as members of the exclusion default object node grant all of the policy permissions to the user elements that are members of the exclusion default user node.

3 . The computing device of claim 2 , wherein the policy permissions granted by the object elements allow the users to perform operations on contents of the object elements that represent the resources.

4 . The computing device of claim 1 , wherein:

one or more the user elements that represent the users in the user section of the NGAC graph are each contained as a member of the policy class via the exclusion default user node of the policy class; and

one or more the object elements that represent the resources in the object section of the NGAC graph are each contained as a member of the policy class via the exclusion default object node of the policy class.

5 . The computing device of claim 1 , wherein the composable policy class structure is repeatable, from which the multiple policy classes are instantiated in the NGAC graph, including the multiple, different types of policy classes.

6 . The computing device of claim 5 , wherein the single access control decision is based on a strict evaluation mode configured as an intersection of the policy permissions granted by the object elements to access the resources for the user elements.

7 . The computing device of claim 5 , wherein the multiple, different types of policy classes include at least a location policy class and a role-based access control (RBAC) policy class.

8 . The computing device of claim 1 , wherein the NGAC graph includes separable policy bindings modeled in the user section of the NGAC graph, each separable policy binding corresponding to one of the multiple policy classes, and wherein a separable policy binding is assigned to the corresponding one of the multiple policy classes.

9 . The computing device of claim 8 , wherein the policy node is assigned to the separable policy bindings in the user section of the NGAC graph.

10 . A computing device comprising:

a memory to maintain a next generation access control (NGAC) graph that includes user elements representing users, object elements representing resources, and multiple policy classes modeled with a composable policy class structure that is repeatable to in stantiate each of the multiple policy classes in the NGAC graph, the composable policy class structure including a policy class as enforceable access criteria by which the users are allowed or denied access to the resources, an exclusion default object node of the policy class instantiated in an object section of the NGAC graph, and an exclusion default user node of the policy class instantiated in a user section of the NGAC graph, and wherein the NGAC graph includes a policy node modeled in the user section of the NGAC graph, wherein one or more of the user elements that each represent a respective user in the user section of the NGAC graph are assigned as a member of the policy node;

a policy decision module implemented at least partially in computer hardware to evaluate the NGAC graph for an access control decision, the policy decision module configured to:

execute an instantiation of the NGAC graph;

receive a request for a user element to access an object element of a resource within the policy class in conformance with a granted access permission implemented in the NGAC graph;

compute the access control decision across the multiple policy classes utilizing the NGAC graph as a basis to evaluate whether the user element is authorized to access the object element of the resource; and

return, in response to the request, the access control decision that indicates to allow or deny the user element access to the object element of the resource based at least in part on whether the user clement is a member of the policy class as designated by the exclusion default user node of the policy class.

11 . The computing device of claim 10 , wherein the composable policy class structure comprises an association that indicates the object elements contained as members of the exclusion default object node grant all policy permissions of the policy class to the user elements that are members of the exclusion default user node.

12 . The computing device of claim 11 , wherein the policy permissions granted by the object elements allow the user elements to perform operations on contents of the object elements that represent the resources.

13 . The computing device of claim 11 , wherein:

one or more of the user elements are each contained as a member of the policy class via the exclusion default user node of the policy class; and

one or more of the object elements are each contained as a member of the policy class via the exclusion default object node of the policy class.

14 . The computing device of claim 10 , wherein:

the access control decision is computed as a single access control decision across different types of the multiple policy classes in the NGAC graph; and

the single access control decision is based on a strict evaluation mode configured as an intersection of the policy permissions granted by the object elements to access the resources for the user elements.

15 . The computing device of claim 14 , wherein the different types of the multiple policy classes in the NGAC graph include two or more of a location policy class, a role-based access control (RBAC) policy class, or a time policy class.

16 . The computing device of claim 10 , wherein:

the NGAC graph includes separable policy bindings that each correspond to one of the multiple policy classes; and

the separable policy bindings are each assigned to the corresponding one of the multiple policy classes.

17 . The computing device of claim 16 , wherein:

the NGAC graph includes the policy node assigned to the separable policy bindings; and

one or more of the user elements that each represent a respective user are assigned as a member of the policy node.

18 . A computing device implemented for graph-based access control in a digital medium environment, the computing device comprising:

a memory to maintain a next generation access control (NGAC) graph that includes user elements representing users, object elements representing resources, and multiple policy classes modeled with a composable policy class structure that is repeatable to instantiate each of the multiple policy classes in the NGAC graph, the composable policy class structure including a policy class as enforceable access criteria by which the users are allowed or denied access to the resources, an exclusion default object node of the policy class instantiated in an object section of the NGAC graph, and an exclusion default user node of the policy class instantiated in a user section of the NGAC graph, and wherein the NGAC graph includes a policy node modeled in the user section of the NGAC graph, wherein one or more of the user elements that each represent a respective user in the user section of the NGAC graph are assigned as a member of the policy node;

a policy decision module implemented at least partially in computer hardware to:

receive a request for a user element to access an object element of a resource in conformance with an access permission granted to the user element implemented in the NGAC graph;

compute an access control decision across the multiple policy classes utilizing the NGAC graph as a basis to evaluate whether the user element is authorized to access the object element of the resource; and

initiate a response to the request as the access control decision that indicates to allow or deny the user element access to the object element of the resource based at least in part on whether the user element is a member of the policy class as designated by the exclusion default user node of the policy class.

19 . The computing device of claim 18 , wherein the policy decision module is configured to model the multiple policy classes utilizing the composable policy class structure, which comprises an association that indicates the object elements contained as members of the exclusion default object node grant all policy permissions of the policy class to the user elements that are members of the exclusion default user node.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2021
From: ROBERTS, JOSHUA DOUGLAS
To: GOVERNMENT OF THE UNITED STATES OF AMERICA, AS REPRESENTED BY THE SECRETARY OF COMMERCE
Reel/Frame 055745/0664 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2020
From: BUTCHER, ZACK DANIEL; BARRERA CAPARROS, IGNACIO
To: TETRATE.IO
Reel/Frame 054423/0061 →
Continuity (1)
Related Publication 20220156393A1 · May 19, 2022
References Cited (50)
US 5936860A · Arnold · 1999 [cited by examiner]
US 6105053A · Kimmel · 2000 [cited by examiner]
US 8875230B1 · Weiner · 2014 [cited by examiner]
US 10754963B2 · Scheideler · 2020 [cited by examiner]
US 10984117B2 · Shankar · 2021 [cited by examiner]
US 20030022658A1 · Chapman, Jr. · 2003 [cited by examiner]
US 20050267663A1 · Naono · 2005 [cited by examiner]
US 20060167867A1 · Schach · 2006 [cited by examiner]
US 20070061795A1 · Atsatt · 2007 [cited by examiner]
US 20070136603A1 · Kuecuekyan · 2007 [cited by examiner]
US 20090178107A1 · Karjoth · 2009 [cited by examiner]
US 20100281455A1 · Anand · 2010 [cited by examiner]
US 20110072506A1 · Law · 2011 [cited by examiner]
US 20110088011A1 · Ouali · 2011 [cited by examiner]
US 20130227638A1 · Giambiagi · 2013 [cited by examiner]
US 20140280433A1 · Messerli · 2014 [cited by examiner]
US 20150180901A1 · Weiner · 2015 [cited by examiner]
US 20160036860A1 · Xing · 2016 [cited by examiner]
US 20170024572A1 · Ferraiolo · 2017 [cited by examiner]
US 20170147709A1 · Ganz · 2017 [cited by examiner]
US 20170187751A1 · Andrews · 2017 [cited by examiner]
US 20170302531A1 · Maes · 2017 [cited by examiner]
US 20190058709A1 · Kempf · 2019 [cited by examiner]
US 20190327271A1 · Saxena · 2019 [cited by examiner]
US 20200410170A1 · Good · 2020 [cited by examiner]
US 20210120555A1 · Badic · 2021 [cited by examiner]
US 20210240312A1 · Wohlstadter · 2021 [cited by examiner]
US 20210279355A1 · Otte · 2021 [cited by examiner]
US 20210341894A1 · Leander · 2021 [cited by examiner]
US 20220159003A1 · Butcher · 2022 [cited by examiner]
US 20220327223A1 · Norman · 2022 [cited by examiner]
CA 2130704A1 · 1996 [cited by examiner]
CN 101513091A · 2009 [cited by examiner]
CN 102915447A · 2013 [cited by examiner]
CN 103457958A · 2013 [cited by examiner]
CN 104009959A · 2014 [cited by examiner]
CN 105095777A · 2015 [cited by examiner]
CN 106919956A · 2017 [cited by examiner]
CN 114647825A · 2022 [cited by examiner]
WO WO2018237098A1 · 2018 [cited by examiner]
“Ticketmaster Adds SafeTix™ Encrypted Tickets to Next Generation Access Control Platform”, May 15, 2019, https://business.ticketmaster.com/blog/ticketmaster-adds-safetix-encrypted-ticketsto-next-generation-access-contro… [cited by examiner]
International Committee for Information Technology Standards, Next Generation Access Control-Functional Architecture (NG ACFA), INCITS 499-201x, Mar. 19, 2012 (Year: 2012). [cited by examiner]
Basnet, Rejina, Subhojeet Mukherjee, Vignesh M. Pagadala, and Indrakshi Ray. “An efficient implementation of next generation access control for the mobile health cloud.” In 2018 Third International Conference on Fog and… [cited by examiner]
Chiquito, Alex, Ulf Bodin, and Olov Schelén. “Fine-grained Access Control for Time-Series Databases using NGAC.” In 2021 IEEE 19th International Conference on Industrial Informatics (INDIN), pp. 1-8. IEEE, 2021. (Year: … [cited by examiner]
Mell, Peter, James M. Shook, and Serban Gavrila. “Restricting insider access through efficient implementation of multi-policy access control systems.” In Proceedings of the 8th ACM CCS International Workshop on Managing… [cited by examiner]
Rassadko, Nataliya. “Policy classes and query rewriting algorithm for XML security views.” In IFIP Annual Conference on Data and Applications Security and Privacy, pp. 104-118. Springer, Berlin, Heidelberg, 2006. (Year:… [cited by examiner]
Ferraiolo, David, Serban Gavrila, and Wayne Jansen. “On the unification of access control and data services.” In Proceedings of the 2014 IEEE 15th International Conference on Information Reuse and Integration (IEEE IRI … [cited by examiner]
“Managing federations of virtualized infrastructures: A semantic-aware policy based approach.” In 12th IFIP/IEEE International Symposium on Integrated Network Management (IM 2011) and Workshops, pp. 1235-1242. IEEE, 201… [cited by examiner]
Lawal. “Enabling flexible administration in ABAC through policy review: A policy machine case study.” IEEE Intl Conference on Intelligent Data and Security (IDS), pp. 69-74. IEEE, 2021. (Year: 2021). [cited by examiner]
Luo, Xiao-feng, and Sen Wang. “Improved access control decision diagrams for ABAC policy evaluation and management.” In 2019 6th International Conference on Systems and Informatics (ICSAI), pp. 932-937. IEEE, 2019. (Yea… [cited by examiner]
Cited By (1)
US 12,641,128