HGABAC: Towards a Formal Model of Hierarchical Attribute-Based - - PowerPoint PPT Presentation

hgabac towards a formal model of hierarchical attribute
SMART_READER_LITE
LIVE PREVIEW

HGABAC: Towards a Formal Model of Hierarchical Attribute-Based - - PowerPoint PPT Presentation

HGABAC: Towards a Formal Model of Hierarchical Attribute-Based Access Control Sylvia L. Osborn Daniel Servos sylvia@csd.uwo.ca dservos5@uwo.ca Department of Computer Science The 7th International Symposium on Foundations & Practice of


slide-1
SLIDE 1

HGABAC: Towards a Formal Model of Hierarchical Attribute-Based Access Control

Daniel Servos dservos5@uwo.ca Sylvia L. Osborn sylvia@csd.uwo.ca The 7th International Symposium on Foundations & Practice of Security, November 2014

Department of Computer Science

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 1 / 31

slide-2
SLIDE 2

Background

Role-Based Access Control (RBAC)

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 2 / 31

slide-3
SLIDE 3

Background

Role-Based Access Control (RBAC)

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 2 / 31

slide-4
SLIDE 4

Background

Role-Based Access Control (RBAC)

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 2 / 31

slide-5
SLIDE 5

Background

Attribute-Based Access Control (ABAC)

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 2 / 31

slide-6
SLIDE 6

Background

Attribute-Based Access Control (ABAC)

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 2 / 31

slide-7
SLIDE 7

Background

Attribute-Based Access Control (ABAC)

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 2 / 31

slide-8
SLIDE 8

Background

Attribute-Based Access Control (ABAC)

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 2 / 31

slide-9
SLIDE 9

Related Work & Current Models

Comparison of Notable Models of Attribute-Based Access Control

Logic-based Framework for ABAC ABACα ABAC for Web Services WS-ABAC ABMAC Hierarchical Hierarchical attributes

✗ ✗ ✗ ✗

Object Attributes

✗ ✓ ✓ ✓ ✓

User Attributes

✓ ✓ ✓ ✓ ✓

Environment Attributes

✗ ✗ ✓ ✓ ✓

Connection Attributes

✗ ✗ ✗ ✗

Shown in example but not model Administrative Attributes

✗ ✗ ✗ ✗ ✗

Separation of Duties

✗ ✗ ✗ ✗ ✗

General Model

✓ ✓

For web services For web services For grid computing Formal Model Only models policies and evaluation

Simplistic Simplistic

Administrative Model

Limited

✗ ✗ ✗

Can Model DAC, MAC, and RBAC Not demon- strated

Not demon- strated Not demon- strated Not demon- strated Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 5 / 31

slide-10
SLIDE 10

Related Work & Current Models

Comparison of Notable Models of Attribute-Based Access Control

Logic-based Framework for ABAC ABACα ABAC for Web Services WS-ABAC ABMAC Hierarchical Hierarchical attributes

✗ ✗ ✗ ✗

Object Attributes

✗ ✓ ✓ ✓ ✓

User Attributes

✓ ✓ ✓ ✓ ✓

Environment Attributes

✗ ✗ ✓ ✓ ✓

Connection Attributes

✗ ✗ ✗ ✗

Shown in example but not model Administrative Attributes

✗ ✗ ✗ ✗ ✗

Separation of Duties

✗ ✗ ✗ ✗ ✗

General Model

✓ ✓

For web services For web services For grid computing Formal Model Only models policies and evaluation

Simplistic Simplistic

Administrative Model

Limited

✗ ✗ ✗

Can Model DAC, MAC, and RBAC Not demon- strated

Not demon- strated Not demon- strated Not demon- strated Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 5 / 31

Open Problems

Lack of hierarchical structures comparable to RBAC. Lack of group based administration of multiple users. Limited work towards a separation of duties model for ABAC. Limited work towards a administrative model of ABAC. Auditability of ABAC systems. Need for formal foundational models of ABAC.

slide-11
SLIDE 11

Related Work & Current Models

Comparison of Notable Models of Attribute-Based Access Control

Logic-based Framework for ABAC ABACα ABAC for Web Services WS-ABAC ABMAC Hierarchical Hierarchical attributes

✗ ✗ ✗ ✗

Object Attributes

✗ ✓ ✓ ✓ ✓

User Attributes

✓ ✓ ✓ ✓ ✓

Environment Attributes

✗ ✗ ✓ ✓ ✓

Connection Attributes

✗ ✗ ✗ ✗

Shown in example but not model Administrative Attributes

✗ ✗ ✗ ✗ ✗

Separation of Duties

✗ ✗ ✗ ✗ ✗

General Model

✓ ✓

For web services For web services For grid computing Formal Model Only models policies and evaluation

Simplistic Simplistic

Administrative Model

Limited

✗ ✗ ✗

Can Model DAC, MAC, and RBAC Not demon- strated

Not demon- strated Not demon- strated Not demon- strated Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 5 / 31

Open Problems

Lack of hierarchical structures comparable to RBAC. Lack of group based administration of multiple users. Limited work towards a separation of duties model for ABAC. Limited work towards a administrative model of ABAC. Auditability of ABAC systems. Need for formal foundational models of ABAC.

slide-12
SLIDE 12

Related Work & Current Models

Comparison of Notable Models of Attribute-Based Access Control

Logic-based Framework for ABAC ABACα ABAC for Web Services WS-ABAC ABMAC HGABAC Hierarchical Hierarchical attributes

✗ ✗ ✗ ✗ ✓

Object Attributes

✗ ✓ ✓ ✓ ✓ ✓

User Attributes

✓ ✓ ✓ ✓ ✓ ✓

Environment Attributes

✗ ✗ ✓ ✓ ✓ ✓

Connection Attributes

✗ ✗ ✗ ✗

Shown in example but not model

Administrative Attributes

✗ ✗ ✗ ✗ ✗ ✓

Separation of Duties

✗ ✗ ✗ ✗ ✗ ✗

General Model

✓ ✓

For web services For web services For grid computing

Formal Model Only models policies and evaluation

Simplistic Simplistic

✓ ✓

Administrative Model

Limited

✗ ✗ ✗ ✗

Can Model DAC, MAC, and RBAC Not demon- strated

Not demon- strated Not demon- strated Not demon- strated

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 5 / 31

slide-13
SLIDE 13

HGABAC Model

User Attributes Object Attributes Users Objects

User Attribute Assignment Object Attribute Assignment

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 6 / 31

slide-14
SLIDE 14

HGABAC Model

User Attributes Object Attributes Users Objects

User Attribute Assignment Object Attribute Assignment

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 6 / 31

Attributes

attr = (name, type, value)

slide-15
SLIDE 15

HGABAC Model

User Attributes Object Attributes Users Objects

User Attribute Assignment

Policies

Object Attribute Assignment

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 6 / 31

slide-16
SLIDE 16

Policy Language

Three-valued logic (True, False and Undefined). Boolean statements using AND, OR, and NOT logical operations. AND, OR and NOT truth tables from Kleene K3 logic. Support for value and set comparison operations <, >, ≤, ≥, =, =, ∈, ⊂, etc.

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 7 / 31

slide-17
SLIDE 17

Policy Language

Three-valued logic (True, False and Undefined). Boolean statements using AND, OR, and NOT logical operations. AND, OR and NOT truth tables from Kleene K3 logic. Support for value and set comparison operations <, >, ≤, ≥, =, =, ∈, ⊂, etc.

Examples

(a) user.id IN {5, 72, 4, 6, 4} OR user.id = object.owner (b) object.required perms SUBSET user.perms AND user.age >= 18 (c) user.admin OR (user.role = “doctor” AND user.id != object.patient)

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 7 / 31

slide-18
SLIDE 18

HGABAC Model

User Attributes Object Attributes Users Objects

User Attribute Assignment

Policies

Object Attribute Assignment

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 8 / 31

slide-19
SLIDE 19

HGABAC Model

User Attributes Object Attributes Users Objects

User Attribute Assignment

Policies

Operations

Permissions

Object Attribute Assignment

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 8 / 31

slide-20
SLIDE 20

HGABAC Model

User Attributes Object Attributes Users Objects

User Attribute Assignment

Policies

Operations

Permissions

Object Attribute Assignment

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 8 / 31

Permissions

user.id = object.patient OR user.role = “doctor” → read user.role = “doctor” → write

slide-21
SLIDE 21

HGABAC Model

User Attributes Object Attributes Users Objects Sessions

User Attribute Assignment Attribute Activation User Session

Policies

Operations

Permissions

Object Attribute Assignment

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 8 / 31

slide-22
SLIDE 22

HGABAC Model

User Attributes Object Attributes Users Objects User Groups Sessions

User Group Hierarchy User Group Assignment User Group Attribute Assignment User Attribute Assignment Attribute Activation User Session

Policies

Operations

Permissions

Object Attribute Assignment

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 8 / 31

slide-23
SLIDE 23

Group Graph

Min Group

{}

Undergrads

{(studet_level, 1), (room_access, {MC8, MC10})}

Staff

{(employe_level, 1), (room_access, {MC355})}

Gradstudents

{(studet_level, 2), (room_access, {MC342, MC325})}

Faculty

{(employe_level, 2), (room_access, {MC320})} Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 9 / 31

slide-24
SLIDE 24

Group Graph

Min Group

{}

Undergrads

{(studet_level, 1), (room_access, {MC8, MC10})}

Staff

{(employe_level, 1), (room_access, {MC355})}

Gradstudents

{(studet_level, 2), (room_access, {MC342, MC325})}

Faculty

{(employe_level, 2), (room_access, {MC320})}

Effective: employe_level = {1, 2} room_access = {MC355, MC320}

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 9 / 31

slide-25
SLIDE 25

Group Graph

Min Group

{}

Undergrads

{(studet_level, 1), (room_access, {MC8, MC10})}

Staff

{(employe_level, 1), (room_access, {MC355})}

Gradstudents

{(studet_level, 2), (room_access, {MC342, MC325})}

Faculty

{(employe_level, 2), (room_access, {MC320})}

Effective: employe_level = {1} student_level = {1,2} room_access = {MC8, MC10, MC355, MC342, MC325}

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 9 / 31

slide-26
SLIDE 26

HGABAC Model

User Attributes Object Attributes Users Objects User Groups Sessions

User Group Hierarchy User Group Assignment User Group Attribute Assignment User Attribute Assignment Attribute Activation User Session

Policies

Operations

Permissions

Object Attribute Assignment

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 10 / 31

slide-27
SLIDE 27

HGABAC Model

User Attributes Object Attributes Users Objects User Groups Sessions

User Group Hierarchy User Group Assignment User Group Attribute Assignment User Attribute Assignment Attribute Activation User Session

Policies

Operations

Permissions

Object Attribute Assignment

Object Groups

Object Group Assignment Object Group Attribute Assignment Object Group Hierarchy

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 10 / 31

slide-28
SLIDE 28

HGABAC Model

User Attributes Object Attributes Users Objects User Groups Sessions

User Group Hierarchy User Group Assignment User Group Attribute Assignment User Attribute Assignment Attribute Activation User Session

Policies

Operations

Permissions

Object Attribute Assignment

Object Groups

Object Group Assignment Object Group Attribute Assignment Object Group Hierarchy Environment & Admin Attributes

Connection Attributes

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 10 / 31

slide-29
SLIDE 29

Use Cases

Provide access control for a hypothetical university library. Access control is desired on four different kinds of resources; books, course material (textbooks, lecture notes, etc.), periodicals, and archived records.

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 11 / 31

slide-30
SLIDE 30

Use Cases

Provide access control for a hypothetical university library. Access control is desired on four different kinds of resources; books, course material (textbooks, lecture notes, etc.), periodicals, and archived records. Assumed User and Object Group Graphs:

Min Group

{}

Undergrads

{(user_type, {undergrad})}

Staff

{(user_type, {staff})}

Gradstudents

{(user_type, {grad})}

Faculty

{(user_type, {faculty})}

CS Courses

{(enrolled_in, {cs_course})}

CS101

{(enrolled_in, {cs101})}

CS203

{(enrolled_in, {cs203})}

Min Group

{}

Books

{(object_type, {book})}

Course Material

{(object_type, {course})}

Periodicals

{(object_type, {periodical})}

Archived Records

{(object_type, {archive})}

CS101

{(req_course, {cs101})}

CS203

{(req_course, {cs203})}

Restricted Books

{(restricted, {true})}

CS Records

{(depart, {compsci})}

CS Department

{(depart, {compsci})}

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 11 / 31

slide-31
SLIDE 31

Use Cases

Case A

Undergraduate students may check out any unrestricted book and any course materials for a course in which they are enrolled.

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 12 / 31

slide-32
SLIDE 32

Use Cases

Case A

Undergraduate students may check out any unrestricted book and any course materials for a course in which they are enrolled.

“undergrad” IN user.user type AND ( (object.object type = “book” AND NOT object.restricted) OR (object.object type = “course” AND user.enrolled in IN object.req course) ) → check out book

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 12 / 31

slide-33
SLIDE 33

Use Cases

Case B

Faculty may check out any book, periodical or course material as well as any archived record from their department.

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 14 / 31

slide-34
SLIDE 34

Use Cases

Case B

Faculty may check out any book, periodical or course material as well as any archived record from their department.

“faculty” IN user.user type AND (

  • bject.object type IN {“book”, “periodical”, “course”} OR (
  • bject.object type = “archive” AND object.depart IN user.depart

) ) → check out book

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 14 / 31

slide-35
SLIDE 35

Use Cases

Case C

Students enrolled in a computer science course may access periodicals from the university network.

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 16 / 31

slide-36
SLIDE 36

Use Cases

Case C

Students enrolled in a computer science course may access periodicals from the university network. Four connection attributes are required which represent the user’s IP address; “ip octet 1” represents the first digit of the user’s IP address, “ip octet 2”, the second and so on. It is assumed that IP addresses matching the pattern “192.168.*.*” are internal to the university’s network.

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 16 / 31

slide-37
SLIDE 37

Use Cases

Case C

Students enrolled in a computer science course may access periodicals from the university network. Four connection attributes are required which represent the user’s IP address; “ip octet 1” represents the first digit of the user’s IP address, “ip octet 2”, the second and so on. It is assumed that IP addresses matching the pattern “192.168.*.*” are internal to the university’s network.

“cs course” IN user.enrolled in AND connect.ip octet 1 = 192 AND connect.ip octet 2 = 168 AND

  • bject.object type = “periodical”

→ check out book

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 16 / 31

slide-38
SLIDE 38

Evaluation

Aimed to test whether the hierarchical user and object groups of the HGABAC model provide an advantage over non hierarchical ABAC models. Each model evaluated on basis of number of attribute and group assignments needed to full the requirements of each use case. Assumed non hierarchical models support environment and connection attributes for cases 4 and 5. Worst case (each user is enrolled in each course and each object is of an object type such that it will have the most attributes) is assumed. A constant number of courses and departments are assumed.

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 17 / 31

slide-39
SLIDE 39

Results

Case A

Undergraduate students may check out any unrestricted book and any course materials for a course in which they are enrolled.

200 400 600 800 1,000 200 400 600 800 1,000 1,000 2,000 3,000 4,000 5,000 6,000

TA = 4U + 2O TA = 3U + O + 9

Number of Users (U) Number of Objects (O) Total Assignments (TA) Case A: Total Assignments HGABAC ABAC

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 19 / 31

slide-40
SLIDE 40

Results

Case B

Faculty may check out any book, periodical or course material as well as any archived record from their department.

200 400 600 800 1,000 200 400 600 800 1,000 1,000 2,000 3,000 4,000

TA = 2U + 2O TA = 2U + O + 12

Number of Users (U) Number of Objects (O) Total Assignments (TA) Case B: Total Assignments HGABAC ABAC

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 21 / 31

slide-41
SLIDE 41

Results

Case C

Students enrolled in a computer science course may access periodicals from the university network.

5 10 15 20 25 30 5 10 15 20 25 30 10 20 30 40 50 60

TA = U + O TA = U + O + 2

Number of Users (U) Number of Objects (O) Total Assignments (TA) Case C: Total Assignments ABAC HGABAC

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 23 / 31

slide-42
SLIDE 42

Emulating Traditional Models

DAC Style Configuration

Assigning each user an “id” attribute which contains a unique identifier. Assigning each object an attribute for each access mode (e.g. “read” and “write”) which contains the set of user ids corresponding to users who have access to that object for the given access mode. Policy is simply: (user.id IN object.read) → read (user.id IN object.write) → write For administration add “owner” attribute to objects that contains a single user id corresponding to the owner of the object. Policy is: (user.id = object.owner) → admin operation

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 24 / 31

slide-43
SLIDE 43

Emulating Traditional Models

MAC Style Configuration

HGABAC’s user groups allow configurations that emulate MAC style lattice based access control. For MAC with liberal *-property, each user is assigned only to a single read group and a single write group. Each read group is assigned a single attribute named “read” with a value equal to its clearance level and each write group is assigned a single attribute named “write” with a value equal to its clearance level. Policy is simply: (object.level IN user.read)→ read (object.level IN user.write) → write Users are limited to only activating attributes inherited from groups of a single security level in any given session.

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 25 / 31

slide-44
SLIDE 44

Emulating Traditional Models

MAC Example

TS S1 S2 S3 C1 C2 U TSR S1R S2R S3R C1R C2R UR UW C1W C2W TSW S1W S2W S3W min_group TSR S1R S2R S3R C1R C2R UR min_group UW C1W C2W S1W S2W S3W TSW Security Lattice Liberal-* Group Graph Strict-* Group Graph

Liberal *-property Attributes: g direct(g) effective(g) min group ∅ ∅ UR “UR” “UR” C1R “C1R” “UR”, “C1R” C2R “C2R” “UR”, “C2R” S1R “S1R” “UR”, “C1R”, “S1R” S2R “S2R” “UR”, “C1R”, “C2R”, “S2R” S3R “S3R” “UR”, “C2R”, “S3R” TSR “TSR” “UR”, “C1R”, “C2R”, “S1R”, “S2R”, “S3R”, “TSR” TSW “TSW” “TSW” S1W “S1W” “TSW”, “S1W” S2W “S2W” “TSW”, “S2W” S3W “S2W” “TSW”, “S3W” C1W “C1W” “TSW”, “S1W”, “S2W”, “C1W” C2W “C2W” “TSW”, “S2W”, “S3W”, “C2W” UW “UW” “TSW”, “S1W”, “S2W”, “S3W”, “C1W”, “C2W”, “UW” Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 26 / 31

slide-45
SLIDE 45

Emulating Traditional Models

RBAC Style Configuration

HGABAC’s user groups can also enforce hierarchical RBAC style access control by having each user group represent a role and its assigned attributes, represent permissions. Each group is assigned a single attribute named “perms” that contains the set of permissions that group grants. Objects are tagged with an attribute for each access mode that contains the set of permissions that grant that access mode on the

  • bject.

Policy is simply: (user.perms IN object.read) → read (user.perms IN object.write) → write Emulating the separation of duty style constraints possible in NIST RBAC is left to future work.

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 27 / 31

slide-46
SLIDE 46

Emulating Traditional Models

RBAC Example

MAX_ROLE GradStudent Faculty Staff Undergrad MAX_ROLE GradStudent Faculty Staff Undergrad min_group

Role Hierarchy Group Graph

Role Direct Permissions Undergrad P1 Staff P2 GradStudent P3, P4 Faculty P5, P6 MAX ROLE ∅ g direct(g) effective(g) min group ∅ ∅ Undergrad P1 P1 Staff P2 P2 GradStudent P3, P4 P1, P3, P4 Faculty P5, P6 P2, P5, P6 MAX ROLE ∅ P1, P2, P3, P4, P5, P6 Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 28 / 31

slide-47
SLIDE 47

Conclusions and Future Work

Conclusions:

Introduced a new model of ABAC, entitled HGABAC, that supports boolean rule based ABAC, hierarchical user and object groups, as well as environment, connection and administrative attributes. Showed that adding user and object groups enables greater flexibility when modelling real world situations. Demonstrated that hierarchical user and object groups can simplify administration by reducing complexity in terms of the number of attribute and group assignments required. Showed that HGABAC is able to emulate the traditional models including hierarchical RBAC.

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 29 / 31

slide-48
SLIDE 48

Conclusions and Future Work

Future Work:

Extending HGABAC to support features required for real world use. Support for separation of duty. Delegation. Administrative model. Expanding the policy language or alternatively exploring using/extending XACML. Conditional user and object group membership. Reference implementation.

Daniel Servos & Sylvia L. Osborn HGABAC FPS’2014 30 / 31

slide-49
SLIDE 49