Outline for October 21, 2022
Reading: text, §16.3, 16.4, 18.1–18.2.1, 20.1.2.2
Due: Homework 2, due October 21; Progress report, due Nov 11 (Note change in due date!)
- MULTICS ring mechanism
- Rings, gates, ring-crossing faults
- Used for both data and procedures; rights are REWA
(b1, b2) access bracket—can access freely; (b3, b4) call bracket—can call segment through gate; so if a’s access bracket is (32, 35) and its call bracket is (36, 39), then assuming permission mode (REWA) allows access, a procedure in:
rings 0–31: can access a, but ring-crossing fault occurs
rings 32–35: can access a, no ring-crossing fault
rings 36–39: can access a, provided a valid gate is used as an entry point
rings 40–63: cannot access a
- If the procedure is accessing a data segment d, no call bracket allowed; given the above, assuming permission mode (REWA) allows access, a procedure in:
rings 0–32: can access d
rings 33–35: can access d, but cannot write to it (W or A)
rings 36–63: cannot access d
- Lock and Key
- Associate with each object a lock; associate with each process that has access to object a key (it’s a cross between ACLs and C-Lists)
- Example: cryptographic (Gifford). X object enciphered with key K. Associate an opener R with X. Then:
OR-Access: K can be recovered with any Di in a list of n deciphering transformations, so
R = (E1(K), E2(K), …, En(K)) and any process with access to any of the Di’s can access the file
AND-Access: need all n deciphering functions to get K: R = E1(E2(… En(K) …))
- Types and locks
- Secret sharing
- Reference monitor
- Confinement problem
- Total isolation
- Isolation
- Virtual machines
- Type 1 and type 2 hypervisors
- Sandboxes