Which Access Control model is the best solution to manage security?
jGuard uses an ABAC access control model. Here is a list of the different Access Control Models:Discretionary Access Control (DAC)
the main disadvantages are:- loss of flexibility
- security is discretionary, not central
- the Solaris RBAC system introduced since solaris 8 (Solaris is a UNIX system shipped by SUN)
- the gr-security security system for linux which also add RBAC features to the Linux kernel
Mandatory Access Control (MAC)
In Mandatory Access Control (MAC) models,Subjects(users) receive a clearance label and objects receive a classification label, also referred to as security levels. no users can do operations on objects that are not permitted by the administrator which has configured the system. this system remove the discretionary aspect of the DAC model, to centrally control operations on objects made by users. But this system has got the disadvantage to not be flexible: access rights are defined for each users;this mecahnism implies many administrative operations, when by example a user replace another one to a function in the organization.Role Based Access Control (RBAC)
many informations comes from this RBAC draft provided by the NIST. RBAC features are divided into 4 components.Core RBAC
- relations between users, roles, permissions
- administrative functions
- user sessions
- user and multiple roles
- centrally administering security
- Least Privilege
hierarchical RBAC
RBAC recognises two types of hierarchies:- general hierarchy with support of multiple inheritance
- limited hierarchy without support of multiple inheritance
Static separation of duty (SSOD)
This principle permits to avoid conflict of interest. it consists of constraints added to the user-role assignement, which prevents some roles to be added to users which have got some others roles.The standard only specifies constraints on roles, but it can be useful to put constraint on permissions, or operations on protected ressources.Dynamic separation of duty (DSOD)
Dynamic separation of Duty is an extension because it implies a separation of duty across the user's session.Attribute Based Access Control (ABAC)
ABAC permits to resolve access control decisions on role, and permissions like in the RBAC model, but also on user attributes. since jGuard 1.0.0, we permit to include in permissions (see contextual permissions) and roles(see dynamic role definition) some variables referencing user attributes.
on 29/12/2006 at 01:11