Top Banner
Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003
68

Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

Mar 26, 2015

Download

Documents

Gavin Alexander
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

Role-Based Access Control

Prof. Ravi Sandhu

George Mason University and

NSD Security

SACMAT 2003

Page 2: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

2© Ravi Sandhu 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

Page 3: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

3© Ravi Sandhu 2003

ACCESS CONTROL MODELS

RBACRole-based

Policy neutral

DACIdentity based

owner controlled

MACLattice based

label controlled

Page 4: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

4© Ravi Sandhu 2003

THE OM-AM WAY

Objectives

Model

Architecture

Mechanism

What?

How?

Assurance

Page 5: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

5© Ravi Sandhu 2003

OM-AM AND ROLE-BASED ACCESS CONTROL (RBAC)

What?

How?

Policy neutral

RBAC96

user-pull, server-pull, etc.

certificates, tickets, PACs, etc.

Assurance

Page 6: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

The RBAC96 Model

Page 7: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

7© Ravi Sandhu 2003

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

Page 8: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

8© Ravi Sandhu 2003

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

Page 9: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

9© Ravi Sandhu 2003

RBAC SECURITY PRINCIPLES

least privilege separation of duties separation of administration and

access abstract operations

Page 10: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

10© Ravi Sandhu 2003

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)

Page 11: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

11© Ravi Sandhu 2003

WHAT IS RBAC?

multidimensional open ended ranges from simple to sophisticated

Page 12: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

12© Ravi Sandhu 2003

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

Page 13: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

13© Ravi Sandhu 2003

RBAC96 FAMILY OF MODELS

RBAC0BASIC RBAC

RBAC3ROLE HIERARCHIES +

CONSTRAINTS

RBAC1ROLE

HIERARCHIES

RBAC2CONSTRAINTS

Page 14: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

14© Ravi Sandhu 2003

RBAC0

ROLES

USER-ROLEASSIGNMENT

PERMISSION-ROLEASSIGNMENT

USERS PERMISSIONS

... SESSIONS

Page 15: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

15© Ravi Sandhu 2003

PERMISSIONS

Primitive permissions read, write, append, execute

Abstract permissions credit, debit, inquiry

Page 16: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

16© Ravi Sandhu 2003

PERMISSIONS

System permissions Auditor

Object permissions read, write, append, execute, credit,

debit, inquiry

Page 17: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

17© Ravi Sandhu 2003

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

Page 18: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

18© Ravi Sandhu 2003

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

Page 19: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

19© Ravi Sandhu 2003

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

Page 20: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

20© Ravi Sandhu 2003

USERS

Users are human beings or other active agents

Each individual should be known as exactly one user

Page 21: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

21© Ravi Sandhu 2003

USER-ROLE ASSIGNMENT

A user can be a member of many roles

Each role can have many users as members

Page 22: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

22© Ravi Sandhu 2003

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

Page 23: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

23© Ravi Sandhu 2003

PERMISSION-ROLE ASSIGNMENT

A permission can be assigned to many roles

Each role can have many permissions

Page 24: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

24© Ravi Sandhu 2003

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

Page 25: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

25© Ravi Sandhu 2003

RBAC1

ROLES

USER-ROLEASSIGNMENT

PERMISSION-ROLEASSIGNMENT

USERS PERMISSIONS

... SESSIONS

ROLE HIERARCHIES

Page 26: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

26© Ravi Sandhu 2003

HIERARCHICAL ROLES

Health-Care Provider

Physician

Primary-CarePhysician

SpecialistPhysician

Page 27: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

27© Ravi Sandhu 2003

HIERARCHICAL ROLES

Engineer

HardwareEngineer

SoftwareEngineer

SupervisingEngineer

Page 28: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

28© Ravi Sandhu 2003

PRIVATE ROLES

Engineer

HardwareEngineer

SoftwareEngineer

SupervisingEngineer

HardwareEngineer’

SoftwareEngineer’

Page 29: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

29© Ravi Sandhu 2003

EXAMPLE ROLE HIERARCHY

Employee (E)

Engineering Department (ED)

Project Lead 1(PL1)

Engineer 1(E1)

Production 1(P1)

Quality 1(Q1)

Director (DIR)

Project Lead 2(PL2)

Engineer 2(E2)

Production 2(P2)

Quality 2(Q2)

PROJECT 2PROJECT 1

Page 30: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

30© Ravi Sandhu 2003

EXAMPLE ROLE HIERARCHY

Employee (E)

Engineering Department (ED)

Project Lead 1(PL1)

Engineer 1(E1)

Production 1(P1)

Quality 1(Q1)

Project Lead 2(PL2)

Engineer 2(E2)

Production 2(P2)

Quality 2(Q2)

PROJECT 2PROJECT 1

Page 31: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

31© Ravi Sandhu 2003

EXAMPLE ROLE HIERARCHY

Project Lead 1(PL1)

Engineer 1(E1)

Production 1(P1)

Quality 1(Q1)

Director (DIR)

Project Lead 2(PL2)

Engineer 2(E2)

Production 2(P2)

Quality 2(Q2)

PROJECT 2PROJECT 1

Page 32: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

32© Ravi Sandhu 2003

EXAMPLE ROLE HIERARCHY

Project Lead 1(PL1)

Engineer 1(E1)

Production 1(P1)

Quality 1(Q1)

Project Lead 2(PL2)

Engineer 2(E2)

Production 2(P2)

Quality 2(Q2)

PROJECT 2PROJECT 1

Page 33: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

33© Ravi Sandhu 2003

RBAC3

ROLES

USER-ROLEASSIGNMENT

PERMISSIONS-ROLEASSIGNMENT

USERS PERMISSIONS

... SESSIONS

ROLE HIERARCHIES

CONSTRAINTS

Page 34: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

34© Ravi Sandhu 2003

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

Page 35: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

35© Ravi Sandhu 2003

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

Page 36: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

36© Ravi Sandhu 2003

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

Page 37: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

37© Ravi Sandhu 2003

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

Page 38: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

RBAC-MAC-DAC

Page 39: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

39© Ravi Sandhu 2003

RBAC96

ROLES

USER-ROLEASSIGNMENT

PERMISSIONS-ROLEASSIGNMENT

USERS PERMISSIONS

... SESSIONS

ROLE HIERARCHIES

CONSTRAINTS

Page 40: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

40© Ravi Sandhu 2003

LBAC: LIBERAL *-PROPERTY

H

L

M1 M2

Read Write- +

+ -

Page 41: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

41© Ravi Sandhu 2003

RBAC96: LIBERAL *-PROPERTY

HR

LR

M1R M2R

LW

HW

M1W M2W

Read Write-

+

Page 42: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

42© Ravi Sandhu 2003

RBAC96: LIBERAL *-PROPERTY

user xR, user has clearance xuser 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

Page 43: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

43© Ravi Sandhu 2003

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

Page 44: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

Administrative RBACARBAC97

Page 45: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

45© Ravi Sandhu 2003

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

Page 46: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

46© Ravi Sandhu 2003

ADMINISTRATIVE RBAC

ROLES

USERS

PERMISSIONS

...

ADMINROLES

ADMINPERMISSIONS

CAN-MANAGE

Page 47: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

47© Ravi Sandhu 2003

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)

Page 48: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

48© Ravi Sandhu 2003

ADMINISTRATIVE RBAC

RBAC2RBAC1

RBAC0

RBAC3

ARBAC2ARBAC1

ARBAC0

ARBAC3

Page 49: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

49© Ravi Sandhu 2003

EXAMPLE ROLE HIERARCHY

Employee (E)

Engineering Department (ED)

Project Lead 1(PL1)

Engineer 1(E1)

Production 1(P1)

Quality 1(Q1)

Director (DIR)

Project Lead 2(PL2)

Engineer 2(E2)

Production 2(P2)

Quality 2(Q2)

PROJECT 2PROJECT 1

Page 50: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

50© Ravi Sandhu 2003

EXAMPLE ADMINISTRATIVE ROLE HIERARCHY

Senior Security Officer (SSO)

Department Security Officer (DSO)

Project SecurityOfficer 1 (PSO1)

Project SecurityOfficer 2 (PSO2)

Page 51: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

51© Ravi Sandhu 2003

URA97 GRANT MODEL:can-assign

ARole Prereq Role Role Range

PSO1 ED [E1,PL1)

PSO2 ED [E2,PL2)

DSO ED (ED,DIR)

SSO E [ED,ED]

SSO ED (ED,DIR]

Page 52: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

52© Ravi Sandhu 2003

URA97 GRANT MODEL :can-assign

ARole Prereq Cond Role Range

PSO1 ED [E1,E1]

PSO1 ED & ¬ P1 [Q1,Q1]

PSO1 ED & ¬ Q1 [P1,P1]

PSO2 ED [E2,E2]

PSO2 ED & ¬ P2 [Q2,Q2]

PSO2 ED & ¬ Q2 [P2,P2]

Page 53: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

53© Ravi Sandhu 2003

URA97 GRANT MODEL

“redundant” assignments to senior and junior roles are allowed are useful

Page 54: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

54© Ravi Sandhu 2003

URA97 REVOKE MODEL

WEAK REVOCATION revokes explicit membership in a role independent of who did the assignment

Page 55: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

55© Ravi Sandhu 2003

URA97 REVOKE MODEL

STRONG REVOCATION revokes explicit membership in a role and its

seniors authorized only if corresponding weak

revokes are authorized alternatives

• all-or-nothing• revoke within range

Page 56: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

56© Ravi Sandhu 2003

URA97 REVOKE MODEL :can-revoke

ARole Role Range

PSO1 [E1,PL1)

PSO2 [E2,PL2)

DSO (ED,DIR)

SSO [ED,DIR]

Page 57: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

57© Ravi Sandhu 2003

PERMISSION-ROLE ASSIGNMENT

dual of user-role assignment can-assign-permission

can-revoke-permission weak revoke

strong revoke (propagates down)

Page 58: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

58© Ravi Sandhu 2003

PERMISSION-ROLE ASSIGNMENT CAN-ASSIGN-PERMISSION

ARole Prereq Cond Role Range

PSO1 PL1 [E1,PL1)

PSO2 PL2 [E2,PL2)

DSO E1 E2 [ED,ED]

SSO PL1 PL2 [ED,ED]

SSO ED [E,E]

Page 59: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

59© Ravi Sandhu 2003

PERMISSION-ROLE ASSIGNMENT CAN-REVOKE-PERMISSION

ARole Role Range

PSO1 [E1,PL1]

PSO2 [E2,PL2]

DSO (ED,DIR)

SSO [ED,DIR]

Page 60: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

60© Ravi Sandhu 2003

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)

Page 61: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

61© Ravi Sandhu 2003

Range Definitions

Range

Create Range

Encap. Range

AuthorityRange

Page 62: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

RBAC Architectures and Mechanisms

Page 63: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

63© Ravi Sandhu 2003

OM-AM AND ROLE-BASED ACCESS CONTROL (RBAC)

What?

How?

Objective neutral

RBAC96, ARBAC97, etc.

user-pull, server-pull, etc.

certificates, tickets, PACs, etc.

Assurance

Page 64: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

64© Ravi Sandhu 2003

SERVER MIRROR

Client Server

User-roleAuthorization

Server

Page 65: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

65© Ravi Sandhu 2003

SERVER-PULL

Client Server

User-roleAuthorization

Server

Page 66: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

66© Ravi Sandhu 2003

USER-PULL

Client Server

User-roleAuthorization

Server

Page 67: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

67© Ravi Sandhu 2003

PROXY-BASED

Client ServerProxyServer

User-roleAuthorization

Server

Page 68: Role-Based Access Control Prof. Ravi Sandhu George Mason University and NSD Security SACMAT 2003.

68© Ravi Sandhu 2003

THE OM-AM WAY

Objectives

Model

Architecture

Mechanism

What?

How?

Assurance