Outline for May 27, 2004
Reading: Chapters 15, 18
Outline for the Day
- Access Control Lists
- ACLs: describe, revocation issue
- Capabilities
- Capability-based addressing: show picture of accessing object
- Show process limiting access by not inheriting all parent's
capabilities
- Revocation: use of a global descriptor table
- Privilege in Languages
- Nesting program units
- Temporary upgrading of privileges
- 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: use crypto (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
- MULTICS ring mechanism
- MULTICS rings: 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
- Assurance
- Trust and assurance
Here is a PDF version of this document.