The subject matter disclosed herein relates generally to physical access control systems (PACS), and more particularly to how improve and reduce the number of access control groups required for an enterprise.
Physical access control systems (PACS) prevent unauthorized individuals access protected to areas. Individuals who have a credential (e.g., card, badge, RFID card, FOB, or mobile device) present it at an access point (e.g., swipe a card at a reader) and the PACS makes an almost immediate decision whether to grant them access (e.g., unlock the door). The decision is usually computed at a controller by checking a permissions database to ascertain whether there is a static permission linked to requester's credential. If the permission(s) are correct, the PACS unlocks the door as requested providing the requestor access. Typically, with static permissions, such a request for access can be made at a given time of the day and access will be granted. In standard deployment of a PACS, a permission(s) database is maintained at a central server and relevant parts of the permissions database are downloaded to individual controllers that control the locks at the doors.
Maintaining the correct list of permissions for each cardholder is done through access administration process and can be complex, time consuming and prone to errors. In addition, the database of permissions can be large especially as the scale of an enterprise grows large. Such large databases can consume significant amounts of memory on a controller. Moreover, because of the size of the database, it can be very time consuming to update controllers by downloading databases from the central server to controllers every time there is a change in any permission(s), credential, controller, or users. Such deployments therefore require more costly installations, by either installing more powerful controllers or larger number of controllers.
In order to simplify administration, the permissions are often organized into groups and roles which are sometimes called access levels. Administrators then assign groups of permissions to cardholder credentials which simplifies administration. However, the number of groups grows over time and can become complex, time consuming, and error-prone to maintain. Furthermore, cardholders can accumulate unused or infrequently used permissions, that cannot be easily removed from cardholders given that they are combined with other permissions within access levels.
According to an exemplary embodiment, described herein is a method of managing access control permissions groups. The method includes acquiring a permissions database having user access control permissions groups and links between a user and at least one permission of a plurality of permissions and the groups, and revising the access control permissions groups.
In addition to one or more of the features described above or below, or as an alternative, further embodiments could include constructing permission groups when no initial groups have been provided—this is equivalent to restructuring permission groups where each permission belongs to a separate group containing only that permission.
In addition to one or more of the features described above or below, or as an alternative, further embodiments may include identifying an importance associated with a permission of the plurality of permissions associated with the user.
In addition to one or more of the features described above or below, or as an alternative, further embodiments may include that the importance is based on at least one of frequency of use of a permission, time of use of a permission, and last use of a permission.
In addition to one or more of the features described above or below, or as an alternative, further embodiments may include that the importance is based on at least one of a role of the user, a number of permissions the user has, an assigned importance, and a rule based policy.
In addition to one or more of the features described above or below, or as an alternative, further embodiments may include an administrator identifying an importance to remove a permission of the plurality of permissions associated with the user.
In addition to one or more of the features described above or below, or as an alternative, further embodiments may include an administrator identifying an importance to preserve a permission of the plurality of permissions associated with the user.
In addition to one or more of the features described above or below, or as an alternative, further embodiments may include an administrator identifying an importance to preserve a permissions group already defined in the system.
In addition to one or more of the features described above or below, or as an alternative, further embodiments may include identifying importance to preserve definitions of permission groups associated with each existing permission group.
In addition to one or more of the features described above or below, or as an alternative, further embodiments may include that the importance of groups is based on at least one of frequency of use of permissions, time of use of permissions, last use of a permissions within the group; a number of cardholders assigned to group, the roles of cardholders assigned to group, an average number of permissions the cardholders assigned to group have, and a rule based policy.
In addition to one or more of the features described above or below, or as an alternative, further embodiments may include that the acquiring includes an existing permissions database.
In addition to one or more of the features described above or below, or as an alternative, further embodiments may include that the revising includes managing the permissions groups to maintain all existing permissions.
In addition to one or more of the features described above or below, or as an alternative, further embodiments may include that the revising includes managing the permissions groups permitting an existing permission to be eliminated.
In addition to one or more of the features described above or below, or as an alternative, further embodiments may include that the revising includes managing the permissions groups permitting an existing permission to be added.
In addition to one or more of the features described above or below, or as an alternative, further embodiments may include an administrator refining the revised access control permissions groups.
In addition to one or more of the features described above or below, or as an alternative, further embodiments may include that the refining includes the administrator at least one of: rejecting a revised access control permissions group; accepting a revised access control permissions group; editing a revised access control permissions group; and editing data associated with a revised access control permissions group.
In addition to one or more of the features described above or below, or as an alternative, further embodiments may include repeating the revising.
Also described herein is a method of managing access control permissions groups. The method including identifying an importance associated with a permission of the plurality of permissions associated with the user, and generating a permissions database having user access control permissions groups and links between a user and at least one permission of a plurality of permissions and the groups based on at least one importance.
In addition to one or more of the features described above or below, or as an alternative, further embodiments may include that the importance is based on at least one of frequency of use of a permission, time of use of a permission, and last use of a permission.
Further, described herein in another embodiment is a physical access control system for protecting a resource with optimized access control permissions groups. The physical access control system including a plurality of users, each user having a credential, the user presenting the credential to request access to a resource protected by a door, the user having assigned access control permissions groups, the access control permissions groups having assigned to a set of access control permissions, a reader in operative communication with the credential and configured to read user information from the credential, wherein the user information includes at least a user ID, and a controller executing process to determine if the user is to be granted access to the resource based on the user information and the permissions database, the controller disposed at the door to permit access to the resource via the door. Where, the access control permissions groups have been revised in accordance with the methods described herein.
Also described herein is a physical access control system server having a database of a plurality of access control permissions associated with a plurality of users and a plurality of access control permissions groups. The physical access control system server including software to access the permissions database having access control permissions groups and at least one permission of a plurality of permissions, and revise the access control permissions groups.
Other aspects, features, and techniques of embodiments will become more apparent from the following description taken in conjunction with the drawings.
The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
In general, embodiments herein relate to managing the grouping of static permissions and linking cardholders to new groups in a way that cardholders keep the same exact set of permissions as before but fewer groups have to be maintained in the system. In addition, or in the alternative also described herein is a method to manage groups in approximate way, where the number of groups can be reduced even further by permitting cardholders forfeit unused or lesser important permissions. The management of groups of permissions is facilitated by removal of unused permissions, infrequently used permissions, or reclassification of permissions designated by administrator as undesirable, but which cannot be easily removed through unassignment of access levels since that would lead to loss of legitimate permissions. Finally, the management includes optimizing group permissions while incorporating administrator input which is provided during extraction.
For the purposes of promoting an understanding of the principles of the present disclosure, reference will now be made to the embodiments illustrated in the drawings, and specific language will be used to describe the same. It will nevertheless be understood that no limitation of the scope of this disclosure is thereby intended. The following description is merely illustrative in nature and is not intended to limit the present disclosure, its application or uses. It should be understood that throughout the drawings, corresponding reference numerals indicate like or corresponding parts and features. As used herein, the term controller refers to processing circuitry that may include an application specific integrated circuit (ASIC), an electronic circuit, an electronic processor (shared, dedicated, or group) and memory that executes one or more software or firmware programs, a combinational logic circuit, and/or other suitable interfaces and components that provide the described functionality.
Additionally, the term “exemplary” is used herein to mean “serving as an example, instance or illustration.” Any embodiment or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or designs. The terms “at least one” and “one or more” are understood to include any integer number greater than or equal to one, i.e. one, two, three, four, etc. The terms “a plurality” are understood to include any integer number greater than or equal to two, i.e. two, three, four, five, etc. The term “connection” can include an indirect “connection” and a direct “connection”.
As shown and described herein, various features of the disclosure will be presented. Various embodiments may have the same or similar features and thus the same or similar features may be labeled with the same reference numeral, but preceded by a different first number indicating the figure to which the feature is shown. Thus, for example, element “a” that is shown in Figure X may be labeled “Xa” and a similar feature in Figure Z may be labeled “Za.” Although similar reference numbers may be used in a generic sense, various embodiments will be described and various features may include changes, alterations, modifications, etc. as will be appreciated by those of skill in the art, whether explicitly described or otherwise would be appreciated by those of skill in the art.
In many PACS 10, such as the access control system 10 shown in
Turning now to
Combining permissions 25 into groups 16 is related to mining roles within Role Based Access Control (RBAC) framework as employed for access control administration. In a RBAC model permissions 25 are grouped into roles which are assigned to users 12a-12n. Roles are user groups 16 with access to a specific set of resources based on a common need or function, e.g., technician, engineer, employee, manager, administrator 27, and the like. Roles could also be departmental groupings in an enterprise, e.g., finance, legal, tax, engineering, etc. To define the roles, experts in collaboration with administrators 27 either define them in top-down approach based on a deep understanding of the organizational business processes, or in bottom-up approach which uses data mining to identify meaningful groupings of existing permissions 25 into roles. Several criteria are used to evaluate the quality of role mining, such as total number of roles generated or compatibility with the organizational structure and processes. In an embodiment, experts could, for example, be security officers for a facility that do not run day-to-day administration of access permission in the facility but may have oversight.
In all these models, permissions 25 are always either present or absent and there is no notion of the importance (or the degree of importance) of the permission 25. One of the differentiators employed in the described embodiments is the introduction of “importance of the permissions” which will allow better definition and better implementation of all existing approximation methods for RBAC infrastructure. Importance of permissions 25 is a qualifier, attribute, or scale associated with a particular permission 25 employed to weight it in the assignment of roles or groups 16.
Turning now to
In an embodiment, importance 1 means that the permission assignment must be preserved, while importance 0 means that the permission assignment is not important to preserve and may be removed by the optimization algorithm. Other importance values (between 0 and 1) indicate different degrees of importance. Importance −1 might indicate permission assignments that are undesirable, e.g. security threats, and must be removed. The importance factor can be computed by combining multiple factors. For example, importance of preserving permission 25 for a cardholder 12a-12n based on frequency and time of use, e.g. how often the permission 25 is used by the user 12-12n and the time of the last usage. Such a determination may readily be ascertained from the historical access events saved in a database. Another factor that may be employed in the determination of importance is the user's 12a-12n role or other attributes associated with the user 12a-12n. Moreover, the user 12a-12n may have a given relative importance, for example based on position in the enterprise, role or based on the number of permissions 25 that the user 12a-12n has. A further factor that may be consider for assigning importance would be if the system 10 contains rule-based access policies, those rules can be used to infer importance of permissions 25 assignments for individual cardholders 12a-12n. For example, if rule-based policy does not allow cardholder 12a-12n to have a permission 25, then a system might assign a negative score to the cardholder-permission assignment. It will be appreciated that in application it may be advantageous to combine one or more measures of importance into a composite importance measure. Continuing now with
Turning now to process step 220, an revision procedure computes the new set of groups 16 and links 18 and 19 between cardholders 12 and groups 16, and groups 16 and permissions 25 while incorporating an optional administrator 27 input from the previous step (e.g. not changing any groups 16 or permissions 25 that administrator 27 indicated as unchangeable and ensuring that some groups 16 are changed). In an embodiment, the revision procedure of step 220 is an optimization that preserves the set of cardholder permission assignments exactly. In another embodiment, the revision procedure of step 220 is an optimization that preserves the set of cardholder permission assignments approximately. In the approximate optimization, some cardholders 12 may lose some of the permissions 25 that are identified as of low importance. In another embodiment, in order to preserve groups a non-existing permission may be added to a user to facilitate with the revising and simplification. In one embodiment, the management or optimization procedure 200 can be implemented by expressing the regrouping problem as an Integer Linear Programming (ILP) model and using conventional, known ILP solvers to find optimal solution. In order to formulate the ILP model, the regrouping problem of constructing permissions groups 16 is interpreted as a problem of Boolean Matrix Decomposition. In the Boolean Matrix Decomposition, an input matrix A is established, containing a cell for each cardholder 12 and each permission 25, with each cell containing a Boolean value (0 or 1) where 1 indicates that there exists an assignment for the corresponding cardholder and permission while 0 indicates there is no such assignment. The object then is to “decompose” that matrix A, into two matrices B and C that are to be determined, where matrix B indicates cardholder-group assignments and matrix C indicates group-permission assignments respectively. In order to determine dimensions of matrices B and C, first, the number of desired groups 16 that we want to generate is fixed. Later, the process may be repeated with different target number of groups 16 if desired. For each cell in matrices B and C a separate Boolean variable is included. Assigning those Boolean variables determines the content of cells B and C. A number of ILP equations is then constructed that link entries in matrix A to combination of entries in matrices B and C using standard matrix decomposition relationships. Basically, cardholder X has a permission Y in matrix A if and only if there exists a group Z such that there is a cardholder-group assignment (X-Z) in matrix B and there is a group-permission assignment (Z-Y) in matrix C. The standard ILP solver is asked to find assignment to all the variables in B and C so that the decomposition relationship holds. The above process is representative of method to reproduce the number of permissions exactly for a specific number of groups. Finally, the number of groups 16 can be reduced or optimized by repeating the above process with repeatedly smaller number of groups 16 until the solver can find no more solutions. Furthermore, the above procedure can also be updated to take into account the costs associated with importance of preserving each of the cardholder-permission assignments. One such technique is to not enforce the matrix decomposition relationships for those cells in matrix A for which we do not care whether the permission is preserved.
Continuing with
Turning now to
It should be appreciated that for the purpose of the described embodiments, the deployment mechanism such as a PACS 10 depicted in
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. While the description has been presented for purposes of illustration and description, it is not intended to be exhaustive or limited to the form disclosed. Many modifications, variations, alterations, substitutions, or equivalent arrangement not hereto described will be apparent to those of ordinary skill in the art without departing from the scope of the disclosure. Additionally, while the various embodiments have been described, it is to be understood that aspects may include only some of the described embodiments. Accordingly, embodiments are not to be seen as being limited by the foregoing description, but is only limited by the scope of the appended claims.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2018/018958 | 2/21/2018 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
62465583 | Mar 2017 | US |