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∗, or owner, or (r and control over S'). Delete if owner or control (s.17)
Check (S0,α,X): allowed iff α∈A[S0,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)