RBAC

advertisement
ROLE BASED ACCESS
CONTROL
ETHAN BLISS
Introduction
• The need for access control began with multi-user
and multi-application computers in the 1970s
• System administrator must ensure only authorized
users can access certain data and resources
• Access Control is a means by which access is
enabled or restricted
• Who can access
• Type of access
• Rule Based Access Control (RBAC) introduced in
1992 by Ferraiolo and Kuhn
Terminology
User: person who uses the computer system
Session: an instance of a user’s dialog with a system
Subject: a computer process run by a user
Object: a resource accessible on a computer
system
• Operation: an active process invoked by a subject
• Permission: authorization to perform an action
•
•
•
•
Role Based Access Control
• With Role-Based Access Control (RBAC), access to
objects is based on a user’s role in an organization
• A role is essentially a collection of permissions
RBAC Rules
• Role assignment:
• Subject can execute transaction only if subject has been
assigned to a role
• All users required to have a role
• Role authorization:
• Subject’s role must be authorized for the subject
• Users can only take on a role they are authorized for
• Transaction authorization:
• Subject can execute transaction only if transaction
authorized for subject’s role
• Users can only execute transactions they are authorized to
RBAC Security Support
• RBAC supports three well-known security principles:
• Least Privilege
• only those permissions required for tasks conducted by
members of the role are assigned to role.
• Separation of duties
• ensure that mutually exclusive roles must be invoked to
complete a sensitive task
• Data Abstraction
• supported by means of abstract permissions such as credit
and debit for an account.
RBAC Implementation
• RBAC implementation ranges from simple to
complex
• Cannot be treated as a single model
• Issues of scope and terminology
• Wide variety of technology and choices
• Many models use different terminology to describe the
same concepts
• RBAC standardization was proposed by NIST(
National Institute of Standards and Technology).
RBAC Standard
RBAC Reference Model
• Four Components
• Core RBAC
• Hierarchical RBAC
• Limited Hierarchies
• General Hierarchies
• Static Constrained RBAC
• Without Hierarchies
• With Hierarchies
• Dynamic Constrained RBAC
Functional Specification
• Set of functional components
RBAC Reference Model
• Defined in terms of four model components
•
•
•
•
Core RBAC
Hierarchical RBAC
Static Separation of Duty Relations
Dynamic Separation of Duty Relations
• Provide standard vocabulary
• Define broad range of RBAC features
Core RBAC
• The essential elements of RBAC
1.
2.
3.
4.
5.
Users
Roles
Permissions, composed of
Operations applied to
Objects
• Access policy constructed around role
• Users assigned to roles
• Permissions associated with roles
Core RBAC Mapping
• Static: do not involve a
subject
• Users assigned to roles
• Roles assigned permissions
• Dynamic: subject access
• Subject mapped to single
user
• User may be mapped to
multiple subjects
• Subject mapped to role set
Hierarchical RBAC
• Adds requirements for supporting role hierarchies
• Inheritance relationship among roles
• Parent roles acquire permission of children
• Children acquire user membership of parents
• Two types
• General: allow a role to have more than one immediate
ascendant and descendant
• Limited: impose restrictions to generate simpler tree
structure
• 1+ immediate ascendants but one descendent
• Vice versa
General Hierarchy
• Multiple inheritance
• Combine functional and organizational roles
Constrained RBAC
• Adds separation of duty (SoD) relations to RBAC
model
• Critical operations are divided among 2+ people
• No single individual can compromise security
• Minimize likelihood of collusion
• Used to enforce conflict of interest policies
• Allows both static and dynamic SoD
Static SoD
• Enforce constraints on assignment of users to roles
• If a user is assigned to one role, the user is prohibited from
being a member of a second role
• Roles may be mutually exclusive
• Conflicting permissions assigned to these roles
• Defined with and without hierarchy
• Static SoD with hierarchy: both inherited and directly
assigned roles considered
Static SoD Example
• Billing clerk and
accounts receivable
clerk mutually
exclusive
• Deters fraud
Dynamic SoD
• Also limit permissions available to a user
• Users may be authorized for conflicting roles
• Limitations imposed while the user is logged on
• No user may be active in both roles at once
• Dynamic SoD prevents applying conflicting privileges in the
same session
• Assumes a user cannot terminate a session and log
on with another role
RBAC Functional Specification
• Defines features required of RBAC system
Three categories
• Administrative Operations
• Create, delete, maintain RBAC elements and relations
• Administrative Reviews
• Query operations on RBAC elements and relations
• System level functionality
• Creation of user sessions
• Role activation/deactivation
• Enforcement of role activation constraints
RBAC, MAC, and DAC
DAC (Dynamic Access Control)
• Creators or owners of files assign access rights
• Subject with discretionary access can pass
information to another subject
MAC (Mandatory Access Control)
• Access control system mediates all access to
objects
• Users cannot give away permissions
RBAC
• More general
• Can implement both MAC and DAC
DAC using RBAC
• More theoretical than practical
• RBAC is nondiscretionary in nature
• Implemented using roles associated with each
object
• Four roles and eight permissions for each object
• Roles: OWN, PARENT, PARENTwithGRANT, READ
• Permissions associated to roles: CanRead, DestroyObject,
etc.
• Allow authorized users to assign other users to roles
MAC using RBAC
Easier than implementing DAC
Combine role hierarchies and constraints
Two role hierarchies, one for read and one for write
High security levels on top of read and bottom of
write
• Read/Write permissions for objects assigned to roles
based on security level
•
•
•
•
Questions?
Download