IP Library Granted Patent US 9,736,183
Granted Patent B2
US 9,736,183 · App. 14/444,475 · Granted Aug 15, 2017

Verifying access-control policies with arithmetic quantifier-free form constraints

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 9,736,183
App. No.
14/444,475
Granted
Aug 15, 2017
Kind
B2
Abstract

A system and method is provided for verifying an access-control policy against a particular constraint for a multi-step operation. In disclosed embodiments, the method includes expressing the access-control policy as a first quantifier-free form (QFF) constraint and identifying the particular constraint as a second QFF constraint. The method also includes identifying an operation vector and providing copies of the operation vector associated with steps in the multi-step operation. The method also includes determining a third QFF constraint using the first QFF constraint, the second QFF constraint, and the copies of the operation vector. The method also includes solving the third QFF constraint to determine a solution and outputting a result of the solving.

Claims (63)

1. A method comprising:

expressing an access-control policy as a first quantifier-free form (QFF) constraint;

identifying a particular constraint for a multi-step operation as a second QFF constraint, the multi-step operation comprising a sequence of operational steps;

identifying an operation vector defining an incoming IP packet comprising a destination address;

providing a respective copy of the operation vector defining the incoming IP packet comprising the destination address associated with each respective step in the sequence of operational steps in the multi-step operation;

determining a third QFF constraint using the first QFF constraint, the second QFF constraint, and the copies of the operation vector defining the incoming IP packet comprising the destination address;

solving the third QFF constraint to determine a solution, wherein the solving indicates an extent to which permitting or prohibiting the multi-step operation by the access control policy is consistent with permitting or prohibiting the multi-step operation by the particular constraint, wherein the operational steps of the multi-step operation comprise different access operations at different security levels, and wherein in each step a security level of a target object against which a subject operation is to be performed by a subject object is to be less than two levels greater than a security level of the subject object; and

outputting the solution.

2. The method of claim 1 , wherein the solution comprises at least one of:

an empty set, indicating that the access-control policy does not permit the multi-step operation; or

operation vector values enumerating particular multi-step operations described by the second QFF constraint and permitted by the access-control policy.

3. The method of claim 1 , wherein the third QFF constraint comprises a combination of:

multiple instances of the first QFF constraint each separately applied to different copies of the operation vector; and

the second QFF constraint applied to the copies of the operation vector.

4. The method of claim 1 , wherein expressing the access-control policy further comprises parsing the access-control policy to express the access-control policy as the first QFF constraint.

5. The method of claim 1 , wherein:

the operation vector comprises a plurality of fields;

each of the copies of the operation vector include a different set of variables for the fields; and

each of the copies of the operation vector represent an operation step in the multi-step operation.

6. A non-transitory computer-readable medium storing program instructions for execution to perform:

expressing an access-control policy as a first quantifier-free form (QFF) constraint;

identifying a particular constraint for a multi-step operation as a second QFF constraint, the multi-step operation comprising a sequence of operational steps;

identifying an operation vector defining an incoming IP packet comprising a destination address;

providing a respective copy of the operation vector defining the incoming IP packet comprising the destination address associated with each respective step in the sequence of operational steps in the multi-step operation;

determining a third QFF constraint using the first QFF constraint, the second QFF constraint, and the copies of the operation vector defining the incoming IP packet comprising the destination address;

solving the third QFF constraint to determine a solution, wherein the solving indicates an extent to which permitting or prohibiting the multi-step operation by the access control policy is consistent with permitting or prohibiting the multi-step operation by the particular constraint, wherein the operational steps of the multi-step operation comprise different access operations at different security levels, and wherein in each step a security level of a target object against which a subject operation is to be performed by a subject object is to be less than two levels greater than a security level of the subject object; and

outputting the solution.

7. The non-transitory computer-readable medium of claim 6 , wherein the solution comprises at least one of:

an empty set, indicating that the access-control policy does not permit the multi-step operation; or

operation vector values enumerating particular multi-step operations described by the second QFF constraint and permitted by the access-control policy.

8. The non-transitory computer-readable medium of claim 6 , wherein the third QFF constraint comprises a combination of:

multiple instances of the first QFF constraint each separately applied to different copies of the operation vector; and

the second QFF constraint applied to the copies of the operation vector.

9. The non-transitory computer-readable medium of claim 6 , wherein expressing the access-control policy further comprises parsing the access-control policy to express the access-control policy as the first QFF constraint.

10. The non-transitory computer-readable medium of claim 6 , wherein:

the operation vector comprises a plurality of fields;

each of the copies of the operation vector include a different set of variables for the fields; and

each of the copies of the operation vector represent an operation step in the multi-step operation.

11. A system comprising:

a processor; and

a memory device communicably coupled to the processor, the memory storing:

a constraint generating configured to express an access-control policy as a first quantifier-free form (QFF) constraint, and identify a particular constraint for a multi-step operation as a second QFF constraint, the multi-step operation comprising a sequence of operational steps;

an operation vector providing unit configured to identify an operation vector defining an incoming IP packet comprising a destination address, and provide a respective copy of the operation vector defining the incoming IP packet comprising the destination address associated with each respective step in the sequence of operational steps in the multi-step operation;

wherein the constraint generating unit is further configured to determine a third QFF constraint using the first QFF constraint, the second QFF constraint, and the copies of the operation vector defining the incoming IP packet comprising the destination address; and

a constraint solving unit configured to solve the third QFF constraint to determine a solution, and output the solution, the solving indicating an extent to which permitting or prohibiting the multi-step operation by the access control policy is consistent with permitting or prohibiting the multi-step operation by the particular constraint, wherein the operational steps of the multi-step operation comprise different access operations at different security levels, and wherein in each step a security level of a target object against which a subject operation is to be performed by a subject object is to be less than two levels greater than a security level of the subject object.

12. The system of claim 11 , wherein the solution comprises at least one of:

an empty set, indicating that the access-control policy does not permit the multi-step operation; or

operation vector values enumerating particular multi-step operations described by the QFF constraint and permitted by the access-control policy.

13. The system of claim 11 , wherein the third QFF constraint comprises a combination of:

multiple instances of the first QFF constraint each separately applied to different copies of the operation vector; and

the second QFF constraint applied to the copies of the operation vector.

14. The system of claim 11 , wherein the constraint generating unit is further configured to parse the access-control policy to express the access-control policy as the first QFF constraint.

15. The system of claim 11 , wherein:

the operation vector comprises a plurality of fields;

each of the copies of the operation vector include a different set of variables for the fields; and

each of the copies of the operation vector represent an operation step in the multi-step operation.

16. A method comprising:

receiving an access-control policy in a policy language;

parsing the access-control policy to express the access-control policy in a first quantifier-free form (QFF) constraint, wherein the first QFF constraint operates on fields of an operation vector defining a multi-step operation, the multi-step operation comprising a sequence of operational steps;

identifying a second QFF constraint describing a particular constraint for the multi-step operation, the second QFF constraint operating on fields of copies of the operation vector, each copy provided for, and representing, a respective operation step of the sequence of operational steps of the multi-step operation;

solving the first QFF constraint with the second QFF constraint to determine an extent to which permitting or prohibiting the multi-step operation by the access control policy is consistent with permitting or prohibiting the multi-step operation by the particular constraint, wherein the operational steps of the multi-step operation comprise different access operations at different security levels, and wherein in each step a security level of a target object against which a subject operation is to be performed by a subject object is to be less than two levels greater than a security level of the subject object; and

outputting the solution.

17. The method of claim 16 , wherein the operation vector describes a type of operation, the type of operation comprising at least one of: a write to an object in an operating system, a read from an object in an operating system, or a network data packet.

Assignments (5)
FIRST LIEN SECURITY AGREEMENT Recorded May 6, 2021
From: PERSPECTA LABS INC.; PERSPECTA ENGINEERING INC.; PERSPECTA SERVICES & SOLUTIONS INC.; KNIGHT POINT SYSTEMS, LLC; DHPC TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 056168/0001 →
SECOND LIEN SECURITY AGREEMENT Recorded May 6, 2021
From: PERSPECTA LABS INC.; PERSPECTA ENGINEERING INC.; PERSPECTA SERVICES & SOLUTIONS INC.; KNIGHT POINT SYSTEMS, LLC; DHPC TECHNOLOGIES, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 056168/0378 →
CHANGE OF NAME Recorded Jan 15, 2019
From: VENCORE LABS, INC.
To: PERSPECTA LABS INC.
Reel/Frame 048602/0956 →
CHANGE OF NAME Recorded Mar 24, 2015
From: TT GOVERNMENT SOLUTIONS, INC.
To: VENCORE LABS, INC.
Reel/Frame 035306/0946 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2014
From: NARAIN, SANJAI; LEVIN, GARY
To: TT GOVERNMENT SOLUTIONS, INC.
Reel/Frame 033700/0640 →