05 · RBAC
06 · Exam traps
02 · DAC / MAC / RBAC
04 · Access matrix
03 · Requirements & elements
01 · Access control basics

04 · Access Control

Basics → DAC/MAC/RBAC → requirements & elements → access matrix → RBAC models

(s.N) = slide number.

Access control = prevention of unauthorized use of a resource, including use in an unauthorized manner; central to computer security (s.2)

Flow: user → authentication → access control function (checks authorization database) → resources; auditing watches all (s.3)

A policy in the authorization database says what access, under what circumstances, by whom (s.4)

Three policies (s.4-6) - may combine all three

  • DAC: identity + rules; holder can pass access on
  • MAC: labels vs clearances; holder cannot
  • RBAC: roles

DAC = traditional; owner decides ('discretionary') (s.4, 6)

MAC: TOP SECRET, SECRET, CONFIDENTIAL, UNCLASSIFIED; military origin, trusted systems (s.5-6)

RBAC: rights to roles, not users; increasingly popular (s.6, 21)

↪ detail → 05 · RBAC

Requirements (s.8-9) reliable input · fine/coarse grain · least privilege (minimum needed) · administrative policies

Closed policy: only what is authorized (most used). Open policy: all except prohibited (s.9)

Elements (s.10-11)

  • subject: owner, group, world
  • object: files, records, programs
  • right: read, write, execute, delete, create, search

↪ used in → 04 · Access matrix

Access matrix: rows subjects, columns objects, entries rights; sparse. Rows → capability lists, columns → ACLs (s.12-13)

Extended matrix: objects include subjects (control, owner), processes (wakeup, stop), disks (seek, owner); * = copy flag (s.14-16)

Transfer if A[S,X]=r∗A[S,X]=r^*, or owner, or (rr and control over S'). Delete if owner or control (s.17)

Check (S0,α,X)(S_0,\alpha,X): allowed iff α∈A[S0,X]\alpha \in A[S_0,X], else protection violation (s.18)

RBAC vs DAC: rights go to roles; users get roles by responsibility; user-role is many-to-many (s.21)

RBAC1: inheritance; Director > Project Lead > Production/Quality Engineer > Engineer > Engineering Dept. (s.26)

Exam traps (see Past Exam note: one-word terms)

Q: DAC vs MAC? A: DAC lets the holder pass access on; MAC does not, labels vs clearances (s.4-5)

Slide error: capability list for User A shows File 2 Read, but the matrix gives A File 3 (s.13)

RBAC0 entities: user, role, permission (= right, privilege, authorization), session (s.25)

Models (s.24)

  • RBAC0 base
  • RBAC1 + role hierarchies
  • RBAC2 + constraints
  • RBAC3 = both

RBAC2 constraints (s.27)

  • mutual exclusion: one role of the set
  • cardinality: max users per role
  • prerequisite: must hold another role first

Q: Minimum permissions to do the job? A: least privilege (s.8)

Class notes only: rule-based AC and Active Directory are not on the slides (Added Context)