380 likes | 401 Views
Future Directions in Role-Based Access Control Models. Ravi Sandhu Co-Founder and Chief Scientist SingleSignOn.Net & Professor of Information Technology and Engineering George Mason University. ACCESS CONTROL. Also called Authorization Entitlement Different from Authentication
E N D
Future Directions in Role-Based Access Control Models Ravi Sandhu Co-Founder and Chief Scientist SingleSignOn.Net & Professor of Information Technology and Engineering George Mason University
ACCESS CONTROL • Also called • Authorization • Entitlement • Different from • Authentication • Typically requires authentication as a prerequisite
AUTHORIZATION, TRUST AND RISK • Information security is fundamentally about managing • authorization and • trust so as to manage risk • We don’t know how to do this
ACCESS CONTROL PRINCIPLES • Least privilege • Separation of duties • Abstract permissions • Decentralized administration • Keep it simple stupid (KISS)
ACCESS CONTROL MODELS RBAC Role-based access control DAC Discretionary access control MAC Mandatory access control
ACCESS CONTROL MODELS RBAC Role-based Policy configured DAC Identity based Owner controlled MAC Lattice based Policy controlled
WHY DO WE NEED MODELS • Separate the questions of • What • How • Provide a framework for managing complexity • Complex authorization • Simple authorization • Allow us to guarantee and understand policy • Prove safety theorems • Capture policy in constraints
WHY DO WE NEED MODELS • Separate the questions of • What • How • Provide a framework for managing complexity • Complex authorization • Simple authorization • Allow us to guarantee and understand policy • Prove safety theorems • Capture policy in constraints
WHY DO WE NEED MODELS A s s u r a n c e What? Objectives Model Architecture Mechanism How?
... ADMINISTRATIVE RBAC ROLES PERMISSIONS USERS ADMIN ROLES ADMIN PERMISSIONS
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
WHY DO WE NEED MODELS A s s u r a n c e What? Objectives Model Architecture Mechanism How?
ACCESS-CONTROL ARCHITECTURESERVER-PULL Client Server Authorization Server Authentication Server
ACCESS-CONTROL ARCHITECTUREUSER-PULL Client Server Authorization Server Authentication Server
ACCESS-CONTROL ARCHITECTUREPROXY-BASED Client Proxy Server Authentication Server Authorization Server
WHY DO WE NEED MODELS A s s u r a n c e What? Objectives Model Architecture Mechanism How?
ACCESS-CONTROL MECHANISMSECURE COOKIES IN USER-PULL ARCHITECTURE
ACCESS-CONTROL MECHANISMX.509 CERTIFICATES • X.509 certificates can be used in • User-pull architecture • Server-pull architecture • Secure cookies inherently user pull
WHY DO WE NEED MODELS • Separate the questions of • What • How • Provide a framework for managing complexity • Complex authorization • Simple authorization • Allow us to guarantee and understand policy • Prove safety theorems • Capture policy in constraints
WHY DO WE NEED MODELS A s s u r a n c e What? Objectives Model Architecture Mechanism How?
COMPLEX VERSUS SIMPLE AUTHORIZATION • Complex authorization • Many roles: hundreds, thousands • Dynamic policy and complex administration • Simple authorization • Few roles: tens • Static policy and simple administration
COMPLEX AUTHORIZATION 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)
COMPLEX AUTHORIZATION Senior Security Officer (SSO) Department Security Officer (DSO) Project Security Officer 1 (PSO1) Project Security Officer 2 (PSO2)
SIMPLE AUTHORIZATION Senior Administrator Internal User External User Junior Administrator
COMPLEX AUTHORIZATION VERSUS COMPLEX PERMISSIONS • A consumer has access to only his own account and to no other account • A branch manager has access to accounts of customers at his branch but no accounts at any other branch
WHY DO WE NEED MODELS • Separate the questions of • What • How • Provide a framework for managing complexity • Complex authorization • Simple authorization • Allow us to guarantee and understand policy • Prove safety theorems • Capture policy in constraints
WHY DO WE NEED MODELS A s s u r a n c e What? Objectives Model Architecture Mechanism How?
RBAC POLICY • Policy in RBAC is determined by • Hierarchies • Constraints • MAC and DAC can be configured in RBAC by suitable design of hierarchies and constraints
ROLE-CENTRIC SEPARATION OF DUTIES • Static SOD : Conflicting roles cannot have common users U = {u1,u2,…un} , R = {r1,r2,…rn}, CR = {cr1,cr2} : cr1 = {r1,r2,r3} , cr2 = {ra,rb,rc} • |roles(OE(U)) OE(CR)| 1
PERMISSION-CENTRIC SEPARATION OF DUTIES • SSOD-CP • |permissions(roles(OE(U))) OE(CP)| 1 • Variations of SSOD-CP • SSOD-CP |permissions(OE(R)) OE(CP)| 1
CONSTRAINTS CHARACTERIZATION PROHIBITION OBLIGATION CONSTRAINTS
SIMPLE PROHIBITION CONSTRAINTS • Type 1 • expr 1 • Type 2 • expr or expr 0 • Type 3 • expr1expr2
SIMPLE OBLIGATION CONSTRAINTS • Type 1 • expr 0 or expr 0 • Type 2 • Set X Set Y • Type 3 • obligation constraints obligation constraints • Type 4 • expr 1 • expr 1 expr 1 expr 0
LOOKING AHEAD • Do we need more models or should we focus on understanding how to make better use of existing models? • How do we know we have a good model?
LOOKING AHEAD • Engineering systems with complex authorizations • Deeper understanding of simple constraints and policy that can serve as building blocks • How to implement a model with different trust and performance tradeoffs