[cap-talk] SCOLL : A Language for Safe Capability Based Collaboration

Mark Miller markm at cs.jhu.edu
Wed Jul 20 11:52:43 EDT 2005


Fred Spiessens wrote:
> and at least have provided a reference to LP.

Good. But what is the LP calculus?


Saltzer and Schroeder wrote:
> Our discussion [...] rested on an unstated assumption: the principal that
> creates a file or other object in a computer system has unquestioned 
> authority to authorize access to it by other principals. [...] We may 
> characterize this control pattern as discretionary.

Fred Spiessens wrote:
> However, I think Saltzer & Schroeder's definition in not necessarily 
> defining capabilities to be mandatory.

In my note I was careful to avoid saying that by S&S's definitions caps are 
"mandatory". I merely said that, by their definitions, caps are "not 
discretionary". I have no idea what people think they mean when they say 
"mandatory".


> in my opinion, translating their definition would lead to :
> 
>  ... the subject has unquestioned (potential) authority to authorize 
> access to [it] by other subjects.
> 
> not:
> 
>  ... the subject has unquestioned (potential) authority to *impose* 
> access to [it] by other subjects.

I was indeed interpreting S&S according to your first translation above, so 
let's go with that. Caps are more restrictive than your first translation, and 
so are not discretionary. Let's rewrite with labeled subjects:

     Given that Alice creates Carol, then Alice has unquestioned potential
     authority to authorize access to Carol by Bob. We may characterize this
     control pattern as discretionary.

This property holds in ACL systems. Hence (using S&S's definitions) we should 
regard ACLs are discretionary. This property holds in some object-cap-like 
systems, such as cryptographic capability protocols or SPKI. Hence, we should 
regard them as discretionary.

But in DVH and other object-cap systems, If Alice does not have access to Bob, 
then Alice cannot [even potentially] authorize access to Carol by Bob. Hence 
object-cap systems are not discretionary. It is exactly this difference that 
explains how object-cap systems support confinement, and why cryptographic cap 
protocols cannot confine machines.

This is property F on the table on p13 of Myths Demolished 
<http://srl.cs.jhu.edu/pubs/SRL2003-02.pdf>, and leads to the Delegation Myth 
listed in the same table.


Bottom line: I think the terms "discretionary" and "mandatory" are an 
irredeemable swamp of confusion, and we should all just avoid using these 
terms in all our papers.

-- 
Text by me above is hereby placed in the public domain

     Cheers,
     --MarkM



More information about the cap-talk mailing list