Notes for November 16, 1998
- Greetings and Felicitations!
- Puzzle of the Day
- Privilege in Languages
- Nesting program units
- Temporary upgrading of privileges
- 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
- 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
- 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)...))
You can also see this document
in its native format,
in Postscript,
in PDF,
or
in ASCII text.
Send email to
[email protected].
Department of Computer Science
University of California at Davis
Davis, CA 95616-8562
Page last modified on 11/17/98