IP Library Granted Patent US 9,635,029
Granted Patent B2
US 9,635,029 · App. 13/682,428 · Granted Apr 25, 2017

Role-based access control permissions

Inventors: Kevin P. Staggs (Peoria, AZ); Thomas R. Markham (Fridley, MN); Julie J. Hull Roskos (Forest Lake, MN); Alexander Chernoguzov (Warrington, PA)
Assignee: Honeywell International Inc.
H04L63/10G06F21/6218H04L63/105G06F2221/2141H04L63/0823H04L63/101
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,635,029
App. No.
13/682,428
Granted
Apr 25, 2017
Kind
B2
Abstract

Devices, systems, and methods for role-based access control permissions are disclosed. One method includes a policy decision point that receives up-to-date security context information from one or more outside sources to determine whether to grant access for a data client to a portion of the system and creates an access vector including the determination; receiving, via a policy agent, a request by the data client for access to the portion of the computing system by the data client, wherein the policy agent checks to ensure there is a session established with communications and user/application enforcement points; receiving, via communications policy enforcement point, the request from the policy agent, wherein the communications policy enforcement point determines whether the data client is an authorized node, based upon the access vector received from the policy decision point; and receiving, via the user/application policy enforcement point, the request from the communications policy enforcement point.

Claims (49)

1. A method for providing role-based access control permissions, comprising:

executing, by a processor, instructions stored on a memory to receive up-to-date security context information from one or more outside sources, including a certificate authority;

executing, by the processor, instructions stored on the memory to receive a request made by a user interface for access to a portion of an industrial control system by the user interface;

executing, by the processor, instructions stored on the memory to create an access vector responsive to the request for access;

executing, by the processor, instructions stored on the memory to check to ensure there is a session established with a communications enforcement point and a user/application enforcement point;

executing, by the processor, instructions stored on the memory to determine whether the user interface is an authorized node based upon the access vector;

executing, by the processor, instructions stored on the memory to determine whether the user interface is using a proper application and whether the user is authorized, based upon the access vector;

maintaining the access vector in a list of access vectors created; and

maintaining a list of attempts to access the portion of the industrial control system that were blocked by a vector.

2. The method of claim 1 , wherein the method includes executing, by the processor, instructions stored on the memory to communicate one or more access logs to a policy audit point wherein the access logs include at least one of: the list of vectors created and a list of attempts at access that required the creation of a vector.

3. The method of claim 1 , wherein the method includes executing, by the processor, instructions stored on the memory to use information from the outside sources to determine the security context.

4. The method of claim 1 , wherein the method includes executing, by the processor, instructions stored on the memory to:

communicate by pushing the access vector to the user/application policy enforcement point or the communications policy enforcement point; and

allow the user interface access to the portion of the industrial control system based on the access vector.

5. The method of claim 1 , wherein the method includes executing, by the processor, instructions stored on the memory to:

communicate, via the user/application policy enforcement point or the communications policy enforcement point by pulling the access vector from the policy decision point, wherein the access vector defines the access; and

allowing access by the user interface to the portion of the computing system based on the access vector responsive to a determination to grant access by each of:

the communications policy enforcement point; and

the user/application policy enforcement point.

6. The method of claim 1 , wherein executing, by the processor, instructions stored on the memory to receive up-to-date security context information from one or more outside sources includes executing, by the processor, instructions stored on the memory to receive information from one or more of a certificate authority, a policy information point, and a policy administration point.

7. The method of claim 1 , wherein the method includes executing, by the processor, instructions stored on the memory to determine a whitelist status of the user interface.

8. The method of claim 1 , wherein the method includes executing, by the processor, instructions stored on the memory to determine an antivirus state of the user interface.

9. The method of claim 1 , wherein the method includes executing, by the processor, instructions stored on the memory to check identification information of the user to determine that the user is authorized to be using the user interface.

10. The method of claim 1 , wherein the method includes executing, by the processor, instructions stored on the memory to determine that there is not an existing access vector, and, based on that determination, determining at least one of a whitelist status of the user interface and an antivirus state of the user interface.

11. A system for providing role-based access control permissions, comprising:

a processor; and

a memory having instructions stored thereon executable by the processor to:

receive up-to-date security context information from one or more outside sources, including a certificate authority, to determine whether to grant access for a user interface to a portion of an industrial control system and create an access vector including the determination responsive to a request for access to a portion of the system made via the user interface;

check to ensure there is a session established with a communications enforcement point and a user/application enforcement point;

determine whether the user interface is an authorized node based upon the access vector;

determine whether the user interface is using a proper application and the user is authorized, based upon the access vector

maintain the access vector in a list of access vectors created; and

maintain a list of attempts to access the portion of the industrial control system that were blocked by a vector.

12. The system of claim 11 , wherein the system includes a Lightweight Directory Access Protocol server.

13. The system of claim 11 , wherein the system includes an application level access control component.

14. The system of claim 11 , wherein the instructions are executable to receive at least one of the following information types: audit logs, security policies, and training records and use the at least one information type to monitor the system for at least one of: access records, system usage, and access permissions.

15. The system of claim 11 , wherein the instructions are executable as a part of a node-layer access control.

16. The system of claim 11 , wherein the instructions are executable as part of a user and application access control.

17. A non-transitory computer readable medium having computer readable instructions stored thereon that are executable by a processor to:

receive, via a policy agent, a request by a user interface for access to a portion of an industrial control system by the user and checking for an existing access authorization that indicates the user has access to the portion of the industrial control system requested;

receive, via a user/application policy enforcement point, the request from a communications policy enforcement point, wherein the user/application policy enforcement point determines whether the user is using a proper application;

receive, via a policy decision point, the request from the user/application policy enforcement point, wherein the policy decision point receives information from one or more outside sources, including a certificate authority;

create, via the policy decision point, an access vector responsive to the request for access;

determine, via a communications policy enforcement point, whether the user interface is an authorized node based upon the access vector

maintain the access vector in a list of access vectors created; and

maintain a list of attempts to access the portion of the industrial control system that were blocked by a vector.

18. The computer readable medium of claim 17 , wherein the instructions are executable by the processor to enable the policy decision point to process the security context which includes one or more of a whitelist status, antivirus state, and user identification and wherein the policy decision point communicates the access vector to the at least one of the user/application policy enforcement point and communications policy enforcement point.

19. The computer readable medium of claim 17 , wherein the instructions are executable by the processor to receive security context information including at least one of whitelisting and antivirus information wherein whitelisting information includes at least one of whitelisting state and an application hash from a whitelisting engine, wherein the whitelisting state indicates a software application presence or absence on a whitelist associated with the system and wherein antivirus information includes an antivirus state from a virus scan engine and wherein the antivirus state includes an indication that a device associated with a user has been scanned for viruses or that the device has been found to be free of viruses.

20. The computer readable medium of claim 17 , wherein the instructions are executable by the processor to receive a user authentication token from authentication server and wherein the authentication token includes information indicating that the user has been authenticated to the system.

Assignments (2)
CONFIRMATORY LICENSE Recorded Mar 25, 2013
From: HONEYWELL INTERNATIONAL INC.
To: ENERGY, UNITED STATES DEPARTMENT OF
Reel/Frame 030092/0360 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2012
From: STAGGS, KEVIN P.; MARKHAM, THOMAS R.; HULL ROSKOS, JULIE J.; CHERNOGUZOV, ALEXANDER
To: HONEYWELL INTERNATIONAL INC.
Reel/Frame 029332/0482 →
Continuity (2)
Provisional Application 61591675 · Jan 27, 2012
Related Publication 20130198799A1 · Aug 1, 2013