This document discusses various access control concepts including access control lists (ACLs), capabilities (C-lists), role-based access control (RBAC), and multilevel security (MLS) models. It provides an overview of how each model works and compares ACLs to C-lists. RBAC assigns permissions to roles rather than individual users. MLS models control access to resources based on classification levels and user clearances. The document aims to explain these key access control mechanisms at a high level.
This document discusses various access control concepts including access control lists (ACLs), capabilities (C-lists), role-based access control (RBAC), and multilevel security (MLS) models. It provides an overview of how each model works and compares ACLs to C-lists. RBAC assigns permissions to roles rather than individual users. MLS models control access to resources based on classification levels and user clearances. The document aims to explain these key access control mechanisms at a high level.
This document discusses various access control concepts including access control lists (ACLs), capabilities (C-lists), role-based access control (RBAC), and multilevel security (MLS) models. It provides an overview of how each model works and compares ACLs to C-lists. RBAC assigns permissions to roles rather than individual users. MLS models control access to resources based on classification levels and user clearances. The document aims to explain these key access control mechanisms at a high level.
This document discusses various access control concepts including access control lists (ACLs), capabilities (C-lists), role-based access control (RBAC), and multilevel security (MLS) models. It provides an overview of how each model works and compares ACLs to C-lists. RBAC assigns permissions to roles rather than individual users. MLS models control access to resources based on classification levels and user clearances. The document aims to explain these key access control mechanisms at a high level.
Outline • We will consider: – Access Control: Basic Concepts – ACL vs. C-lists – Role-Based Access Control (RBAC) – Multilevel Security (MLS) Models
April IITU, Information Security 2
Access Control – Basic Concepts • An access control system is to – keep the bad guys out – let the good guys in (who can read, who can modify, etc.) – This also says: to enforce a specified security policy, and to prevent unauthorized access to data, services or other resources
April IITU, Information Security 3
Access Control – Basic Concepts • Resources may be in different forms and the control must be provided at various levels: – At the system level, e.g. security kernel in an operating system, database management systems (DBMS) – At the network level, e.g. firewalls – At physical level, e.g. lockers, biometric scanning
April IITU, Information Security 4
Access Control – Basic Concepts • Access Control = AuthN + AuthZ – Authentication (AuthN) establishes the identity of a subject (who) – Authorization (AuthZ) specifies and enforces that each object is accessed correctly and only by those that are allowed to do so • An access control policy specifies who (subject) can perform what access operations (access types) on what (object). • These rules are enforced at run-time by an AuthZ decision engine.
April IITU, Information Security 5
Authentication vs. Authorization • Authentication – Are you who you say you are? – Restrictions on who can access system? • Authorization – Are you allowed to do that? – Restrictions on actions of authenticated users. • Authorization is a form of access control.
April IITU, Information Security 6
Lampson’s Access Control Matrix • Subjects (users) index the rows. • Objects (resources) index the columns.
April IITU, Information Security 7
Are You Allowed to Do That? • Access control matrix has all relevant info • Could be 1000’s of users, 1000’s of resources • Then matrix of 1 000 000’s of entries • How to manage such a large matrix? • Need to check this matrix before access to any resource is allowed • How to make this efficient
April IITU, Information Security 8
Access Control Lists (ACLs) • ACL: store access control matrix by column • Example: ACL for insurance data is in blue
April IITU, Information Security 9
Capabilities (C-Lists) • Store access control matrix by row • Example: Capability for Alice is in red
April IITU, Information Security 10
ACLs vs. Capabilities
• Note that arrows point in opposite directions …
• With ACLs, need to associate users to files April IITU, Information Security 11 • Two resources – Compiler and BILL file (billing info) • Compiler can write file BILL • Compiler can read and invoke compiler • Alice can invoke compiler with a debug filename • Alice not allowed to write to BILL • Access control matrix:
April IITU, Information Security 12
ACLs vs. Capabilities • ACLs – Good when users manage their own files – Protection is data-oriented – Easy to change rights to a resource • Capabilities – Easy to add/delete users – More difficult to implement – Easy to delegate
April IITU, Information Security 13
RBAC: Basic Concepts • Managing access control in a large organization can be challenging – When the numbers of subjects and objects are high, permission assignments can be complex and error- prone – If user population is highly dynamic, managing grant and revoke operations can be time-consuming – End users are often not the owners of resource objects being managed; the organization is – Control is often based on employee functions rather than data ownership
April IITU, Information Security 14
RBAC: Basic Concepts • RBAC is proposed as an alternative approach to ACLs/C-Lists – A user’s permissions are determined by user’s roles rather than identity or clearance – Can simplify the task of access control management – Can reduce errors and cost in administrative process
April IITU, Information Security 15
RBAC: Basic Concept
April IITU, Information Security 16
RBAC: Security Principles • Least privilege – No more privilege than is necessary to perform his/ her job function. • Separation of duties – Static separation of duty: user cannot be authorized for both roles, e.g., student and staff – Dynamic separation of duty: user cannot act simultaneously in both roles, e.g., cashier and customer • Separation of administration and access • Abstract operations
April IITU, Information Security 17
RBAC – Functional Capabilities • RBAC96 Family of Models
Rationale for the RBAC96 Family of AccessControl Models: http://delivery.acm.org/
10.1145/280000/270167/p9-sandhu.pdf April IITU, Information Security 18 RBAC – RBAC0 • Permissions are granted to roles, users are assigned to roles, and users acquire permissions by being a members of roles. • Groups are often defined as – A collection of users • A role is – a collection of users and – a collection of permissions
• Permissions are positive
• No negative permissions or denials – Negative permissions and denials can be handled by constraints
April IITU, Information Security 19
RBAC – Management • Configuring RBAC involves the following tasks: – Determining functional roles based upon tasks, responsibilities, and qualifications, etc. – Assign users to the roles (UA) – Assign permissions to roles (PA)
• Ability to support many-to-many UA and PA relations
– A user can have many roles; a role can have many users – A permission can be assigned to many roles; each role can have many permissions
April IITU, Information Security 20
RBAC – RBAC1
April IITU, Information Security 21
RBAC – RBAC3
April IITU, Information Security 22
RBAC – RBAC3 • Constraints – Cardinally constraints on User-role Assignment (UA) • At most k users can belong to the role • At least k users can belong to the role • Exactly k users must belong to the role – Cardinally constraints on Permissions-role Assignment (PA) • At most k roles can get the permission • At least k roles can get the permission • Exactly k roles must get the permission
April IITU, Information Security 23
Multilevel Security (MLS) Models • Classifications and Clearances: – Classifications apply to objects – Clearances apply to subjects • US Department of Defense (DoD) uses 4 levels: – TOP SECRET – SECRET – CONFIDENTIAL – UNCLASSIFIED
April IITU, Information Security 24
Clearances and Classification • To obtain a SECRET clearance requires a routine background check • A TOP SECRET clearance requires extensive background check • Practical classification problems: – Proper classification is not always clear – Level of granularity to apply classifications
April IITU, Information Security 25
Multilevel Security (MLS) • MLS needed when subjects/objects at different levels use same system • MLS is a form of Access Control • Military and government interest in MLS for many decades – Lots of research into MLS – Strengths and weaknesses of MLS well understood (but, almost entirely theoretical) – Many possible uses of MLS outside military
April IITU, Information Security 26
MLS Applications • Classified government/military systems • Business example: info restricted to – Senior management only, all management, everyone in company, or generic public • Network firewall • Confidential medical info, databases, etc.
April IITU, Information Security 27
Summary • Several mechanisms can be used to enforce access control, organized on a per-object or per- subject basis - they may be suited for different scenarios or application contexts. • RBAC resembles the management structures of large organizations; it defines a user’s permissions based on the user’s roles rather than his identity or clearance. • MLS models are descriptive and explain you what needs to be done April IITU, Information Security 28 Questions?