1 19a-AccessControls


Previous: 18-Authentication.html

1.1 Screencasts

Combined with previous lecture 18-Authentication.html

1.2 Access control

1.2.1 Access control principles

19a-AccessControls/f1-crop.png

1.2.2 Access control policies

1.2.3 Access Control Requirements

1.2.4 Access Control Elements

Subject: entity that can access objects
* a process representing user/application
* often have 3 classes: owner, group, world

Object: access controlled resource
* e.g. files, directories, records, programs etc
* number/type depend on environment

Access right: way in which subject accesses an object
* e.g. read, write, execute, delete, create, search

1.3 Discretionary Access Control (DAC)

https://en.wikipedia.org/wiki/Discretionary_access_control

1.3.1 The Basics

1.3.2 Access Control Structures

Recall: matrix storage methods in data structures

1.3.3 Access matrix and data structure

19a-AccessControls/f2-crop.png

1.3.3.1 Alternate authorization table

19a-AccessControls/image7.png

1.3.4 Access control model

19a-AccessControls/f3-crop.png
Extend the universe of objects to include:
* processes
* devices
* memory locations
* subjects (Ask: what is the impact of this?)

1.3.5 Access control function

19a-AccessControls/f4-crop.png

1.4 UNIX/Linux

1.4.1 File Concepts

$ stat file
$ ls -i file

1.4.2 File access

More to come: 19b-Permissions.html

UNIX File Access Control (Important)
19a-AccessControls/f5-crop.png

1.4.3 User IDs

UNIX File Access Control

“set user ID” (SetUID) or “set group ID” (SetGID)
* system temporarily uses rights of the file owner/group in addition to the real user’s rights when making access control decisions
* enables privileged programs to access files/resources not generally accessible

Sticky bit
* on directory limits rename/move/delete to owner

1.4.4 Superuser (su)

1.4.5 ACL

More to come: 19b-Permissions.html

UNIX Access Control Lists

1.5 Mandatory Access Control (MAC)

https://en.wikipedia.org/wiki/Mandatory_access_control
* Similar to DAC or RBAC (below), but only the admin controls the policy.
* A strict hierarchy, where objects have levels, and so do users.
19a-AccessControls/mac0.jpg
19a-AccessControls/mac1.gif

1.6 Role-based Access Control (RBAC)

https://en.wikipedia.org/wiki/Role-based_access_control

1.6.1 The Basics

19a-AccessControls/f6-crop.png

19a-AccessControls/f7-crop.png
Role-users and roles-object access matrix

1.6.2 Variations

General RBAC, Variations

A family of RBAC with four models

  1. RBAC0: min functionality
  2. RBAC1: RBAC0 plus role (permission) inheritance
  3. RBAC2: RBAC0 plus constraints (restrictions)
  4. RBAC3: RBAC0 plus all of the above

1.6.2.1 RBAC0 entities

Role-Based Access Control
19a-AccessControls/f8-crop.png

RBAC
19a-AccessControls/image17.png

1.6.2.2 Role Hierarchy & Constraints

Example of role hierarchy
19a-AccessControls/f9-crop.png

Constraints
A condition (restriction) on a role or between roles

1.6.3 Case study: RBAC system for a bank

19a-AccessControls/image25.png

Case study: RBAC system for a bank
19a-AccessControls/image26.png

Case study: RBAC system for a bank
19a-AccessControls/f14-crop.png

1.7 Summary: DAC vs MAC vs RBAC

19a-AccessControls/DACvsMACvsRBAC.jpg

1.8 Attribute-based Access Control (ABAC)

https://en.wikipedia.org/wiki/Attribute-based_access_control
* Define authorizations that express conditions on properties of both the resource and the subject
* Each resource has an attribute (e.g., the subject that created it)
* A single rule states ownership privileges for the creators
* Strength: its flexibility and expressive power
* Considerable interest in applying the model to cloud services

1.8.1 The Basics

1.8.1.1 Types of attributes

1.8.1.1.1 Subject attributes
1.8.1.1.2 Object attribute
1.8.1.1.3 Environment attributes

1.8.2 ABAC compared

1.8.3 ABAC Logical Architecture

19a-AccessControls/f10-crop.png
* A subject requests access to an object
* A.C. is governed by a set of rules (2a):
* assesses the attr of subject (2b),
* object (2c) and
* env (2d)
* A.C. grants subject access to object, if authorized

1.8.4 Comparisons

ACL vs ABAC trust relationships
19a-AccessControls/f11-crop.png

ACL vs ABAC trust relationships
19a-AccessControls/f11-crop.png

1.8.5 ABAC Policies

++++++++++++
Cahoot-19.1

Next: 19b-Permissions.html