680 likes | 923 Views
Role-Based Access Control. Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003. ACCESS CONTROL MODELS. DAC: Discretionary Access Control, 1971 Source: Academia and research laboratories Predominant in commercial systems in pre-RBAC era, in many flavors
E N D
Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003
ACCESS CONTROL MODELS • DAC: Discretionary Access Control, 1971 • Source: Academia and research laboratories • Predominant in commercial systems in pre-RBAC era, in many flavors • Continues to influence modern RBAC systems • MAC: Mandatory Access Control, 1971 • Source: Military and national security • Not widely used even by military • DTE: Domain and Type Enforcement, 1985 • Source: By product of MAC • Still around in niche situations, mostly US military funded • CPM: Controlled Propagation Models, 1976 • Source: Academic theoreticians (including myself) • No real implementations • CW: Clark-Wilson, 1987 • Source: Commercial sector • No real implementations • RBAC: Role-based Access Control, 1992 • Source: Commercial sector • Becoming dominant • Needs additional work to keep it viable
ACCESS CONTROL MODELS RBAC Role-based Policy neutral DAC Identity based owner controlled MAC Lattice based label controlled
THE OM-AM WAY A s s u r a n c e What? Objectives Model Architecture Mechanism How?
What? How? OM-AM AND ROLE-BASED ACCESS CONTROL (RBAC) A s s u r a n c e Policy neutral RBAC96 user-pull, server-pull, etc. certificates, tickets, PACs, etc.
ROLE-BASED ACCESS CONTROL (RBAC) • A user’s permissions are determined by the user’s roles • rather than identity or clearance • roles can encode arbitrary attributes • multi-faceted • ranges from very simple to very sophisticated
WHAT IS THE POLICY IN RBAC? • RBAC is a framework to help in articulating policy • The main point of RBAC is to facilitate security management
RBAC SECURITY PRINCIPLES • least privilege • separation of duties • separation of administration and access • abstract operations
RBAC96IEEE Computer Feb. 1996 • Policy neutral • can be configured to do MAC • roles simulate clearances (ESORICS 96) • can be configured to do DAC • roles simulate identity (RBAC98)
WHAT IS RBAC? • multidimensional • open ended • ranges from simple to sophisticated
RBAC CONUNDRUM • turn on all roles all the time • turn on one role only at a time • turn on a user-specified subset of roles
RBAC1 ROLE HIERARCHIES RBAC2 CONSTRAINTS RBAC96 FAMILY OF MODELS RBAC3 ROLE HIERARCHIES + CONSTRAINTS RBAC0 BASIC RBAC
USER-ROLE ASSIGNMENT PERMISSION-ROLE ASSIGNMENT USERS ROLES PERMISSIONS ... SESSIONS RBAC0
PERMISSIONS • Primitive permissions • read, write, append, execute • Abstract permissions • credit, debit, inquiry
PERMISSIONS • System permissions • Auditor • Object permissions • read, write, append, execute, credit, debit, inquiry
PERMISSIONS • Permissions are positive • No negative permissions or denials • negative permissions and denials can be handled by constraints • No duties or obligations • outside scope of access control
ROLES AS POLICY • A role brings together • a collection of users and • a collection of permissions • These collections will vary over time • A role has significance and meaning beyond the particular users and permissions brought together at any moment
ROLES VERSUS GROUPS • Groups are often defined as • a collection of users • A role is • a collection of users and • a collection of permissions • Some authors define role as • a collection of permissions
USERS • Users are • human beings or • other active agents • Each individual should be known as exactly one user
USER-ROLE ASSIGNMENT • A user can be a member of many roles • Each role can have many users as members
SESSIONS • A user can invoke multiple sessions • In each session a user can invoke any subset of roles that the user is a member of
PERMISSION-ROLE ASSIGNMENT • A permission can be assigned to many roles • Each role can have many permissions
MANAGEMENT OF RBAC • Option 1: USER-ROLE-ASSIGNMENT and PERMISSION-ROLE ASSIGNMENT can be changed only by the chief security officer • Option 2: Use RBAC to manage RBAC
... RBAC1 ROLE HIERARCHIES USER-ROLE ASSIGNMENT PERMISSION-ROLE ASSIGNMENT USERS ROLES PERMISSIONS SESSIONS
HIERARCHICAL ROLES Primary-Care Physician Specialist Physician Physician Health-Care Provider
Supervising Engineer Hardware Engineer Software Engineer Engineer HIERARCHICAL ROLES
Hardware Engineer’ Software Engineer’ Supervising Engineer Hardware Engineer Software Engineer Engineer PRIVATE ROLES
EXAMPLE ROLE HIERARCHY Director (DIR) Project Lead 1 (PL1) Project Lead 2 (PL2) Production 1 (P1) Quality 1 (Q1) Production 2 (P2) Quality 2 (Q2) Engineer 1 (E1) Engineer 2 (E2) Engineering Department (ED) PROJECT 1 PROJECT 2 Employee (E)
EXAMPLE ROLE HIERARCHY Project Lead 1 (PL1) Project Lead 2 (PL2) Production 1 (P1) Quality 1 (Q1) Production 2 (P2) Quality 2 (Q2) Engineer 1 (E1) Engineer 2 (E2) Engineering Department (ED) PROJECT 1 PROJECT 2 Employee (E)
EXAMPLE ROLE HIERARCHY Director (DIR) Project Lead 1 (PL1) Project Lead 2 (PL2) Production 1 (P1) Quality 1 (Q1) Production 2 (P2) Quality 2 (Q2) Engineer 1 (E1) Engineer 2 (E2) PROJECT 1 PROJECT 2
EXAMPLE ROLE HIERARCHY Project Lead 1 (PL1) Project Lead 2 (PL2) Production 1 (P1) Quality 1 (Q1) Production 2 (P2) Quality 2 (Q2) Engineer 1 (E1) Engineer 2 (E2) PROJECT 1 PROJECT 2
... RBAC3 ROLE HIERARCHIES USER-ROLE ASSIGNMENT PERMISSIONS-ROLE ASSIGNMENT USERS ROLES PERMISSIONS SESSIONS CONSTRAINTS
CONSTRAINTS • Mutually Exclusive Roles • Static Exclusion: The same individual can never hold both roles • Dynamic Exclusion: The same individual can never hold both roles in the same context
CONSTRAINTS • Mutually Exclusive Permissions • Static Exclusion: The same role should never be assigned both permissions • Dynamic Exclusion: The same role can never hold both permissions in the same context
CONSTRAINTS • Cardinality Constraints on User-Role Assignment • At most k users can belong to the role • At least k users must belong to the role • Exactly k users must belong to the role
CONSTRAINTS • Cardinality Constraints on Permissions-Role Assignment • At most k roles can get the permission • At least k roles must get the permission • Exactly k roles must get the permission
... RBAC96 ROLE HIERARCHIES USER-ROLE ASSIGNMENT PERMISSIONS-ROLE ASSIGNMENT USERS ROLES PERMISSIONS SESSIONS CONSTRAINTS
+ - H M1 M2 - + L LBAC: LIBERAL *-PROPERTY Read Write
HR LW M1R M2R LR HW RBAC96: LIBERAL *-PROPERTY + M1W M2W - Read Write
RBAC96: LIBERAL *-PROPERTY • user xR, user has clearance x user LW, independent of clearance • Need constraints • session xR iff session xW • read can be assigned only to xR roles • write can be assigned only to xW roles • (O,read) assigned to xR iff (O,write) assigned to xW
DAC IN RBAC • Each user can create discretionary roles for assigning grantable permissions • For true DAC need grantable permissions for each object owned by the user
Administrative RBAC ARBAC97
SCALE AND RATE OF CHANGE • roles: 100s or 1000s • users: 1000s or 10,000s or more • Frequent changes to • user-role assignment • permission-role assignment • Less frequent changes for • role hierarchy
... ADMINISTRATIVE RBAC ROLES PERMISSIONS USERS CAN- MANAGE ADMIN ROLES ADMIN PERMISSIONS
ARBAC97 DECENTRALIZES • user-role assignment (URA97) • permission-role assignment (PRA97) • role-role hierarchy • groups or user-only roles (extend URA97) • abilities or permission-only roles (extend PRA97) • UP-roles or user-and-permission roles (RRA97)
RBAC3 ARBAC3 RBAC1 RBAC2 ARBAC1 ARBAC2 RBAC0 ARBAC0 ADMINISTRATIVE RBAC
EXAMPLE ROLE HIERARCHY Director (DIR) Project Lead 1 (PL1) Project Lead 2 (PL2) Production 1 (P1) Quality 1 (Q1) Production 2 (P2) Quality 2 (Q2) Engineer 1 (E1) Engineer 2 (E2) Engineering Department (ED) PROJECT 1 PROJECT 2 Employee (E)
EXAMPLE ADMINISTRATIVE ROLE HIERARCHY Senior Security Officer (SSO) Department Security Officer (DSO) Project Security Officer 1 (PSO1) Project Security Officer 2 (PSO2)