IP Library › Granted Patent US 8,543,607
Granted Patent B2
US 8,543,607 · App. 12/196,682 · Granted Sep 24, 2013

System and method for role based analysis and access control

Inventor: Vugranam Chakravarthy Sreedhar (Yorktown Heights, NY)
Assignee: International Business Machines Corporation
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 8,543,607
App. No.
12/196,682
Granted
Sep 24, 2013
Kind
B2
Abstract

A system and method for program access control includes, for a typestate, providing typestate properties and assigning a role to the typestate in a program in accordance with the typestate properties. Access to operations is limited for the typestate in the program based on the role assigned to the typestate and an access permission level.

Claims (23)

1. A method for analyzing role consistency for program access control, comprising:

assigning roles to a plurality of objects in a program, wherein the roles are modeled using a lattice structure;

computing, for each object in the plurality of objects, a set of methods that directly access an object;

checking a role assignment for the object by determining if the object's role is a least upper bound of the roles assigned to the methods of the set; and

permitting access to the set of methods if an accessor's role is at least equal to the least upper bound of the roles assigned to the methods that access the object.

2. The method as recited in claim 1 , wherein computing includes generating a pointer graph of the program.

3. The method as recited in claim 2 , wherein pointer graph includes a method-annotated pointer graph.

4. A method for analyzing role consistency for program access control, comprising:

assigning roles to a plurality of objects in a program, wherein the roles are modeled using a lattice structure;

constructing a pointer graph for the plurality of objects having assigned roles;

checking each object in the pointer graph to determine if said objects role-escape a first role by determining, for each of said objects, if there exists a path to a first object in the pointer graph that can be reached by a second object having a second role, where a lifetime of the second role exceeds the life time of the first role; and

determining that information is leaked based upon role escaped objects.

5. The method as recited in claim 4 , further comprising performing a role consistency analysis to determine if assigning the role is consistent throughout the program.

6. A computer program product comprising a non-transitory computer useable storage medium having a computer readable program, wherein the computer readable program when executed on a computer causes the computer to:

assign roles to a plurality of objects in a program, wherein the roles are modeled using a lattice structure;

compute, for each object in the plurality of objects, a set of methods that directly access an object;

check a role assignment for the object by determining if the object's role is a least upper bound of the roles assigned to the methods of the set; and

permit access to the set of methods if an accessor's role is at least equal to the least upper bound of the roles assigned to the methods that access the object.

7. A computer program product comprising a non-transitory computer useable storage medium having a computer readable program, wherein the computer readable program when executed on a computer causes the computer to:

assign roles to a plurality of objects in a program wherein the roles are modeled using a lattice structure;

construct a pointer graph for the plurality of objects having assigned roles;

check each object in the pointer graph to determine if said objects role-escape a first role by determining, for each of said objects, if there exists a path to a first object in the pointer graph that can be reached by a second object having a second role, where and a lifetime of the second role exceeds the life time of the first role; and

determine that information is leaked based upon role escaped objects.

Continuity (2)
Continuation 11446104 · Jun 1, 2006
Related Publication 20080306958A1 · Dec 11, 2008