[cap-talk] What Boebert actually proved (was: Confinement Confusion
Toby Murray
toby.murray at dsto.defence.gov.au
Tue Jul 18 04:23:10 EDT 2006
Fred Spiessens wrote:
>
> I've be wanting to give my two cent meaning for some time about how
> http://www.erights.org/elib/capability/duals/myths.html
> treats Boebert.
> I think Karge has chosen the most probable interpretation of Boebert's
> proof, and, just like Boebert, is "only" confused by the difference
> between permission and authority.
>
<snipped most of Fred's reasoning which I really like>
> *Boebert's proof actually proves this:*
> If write-capabilities guarantee grant-authority and read-capabilities
> guarantee take-authority, then the *-property cannot be guaranteed by
> a simple clearance-level based policy to hand out read-capabilities
> and write-capabilities.
>
I really like this interpretation, as it gives a framework to view both
of the different conclusions that have been drawn from Boebert's proof.
> The solution simply follows from the strong preconditions of what
> Boebert really proved :
> => Avoid that /all/ read /and/ /all/ write authority is carried by
> capabilities that /guarantee/ delegation authority.
> o for instance, use access-permission-only Object-Capabilities like in
> E: they can easily provide as little as zero guaranteed authority.
> o or use Take-Grant capabilities that have no delegation-authority
> guaranteed by any other capabilities than take- or grant-capabilities
> themselves. (The normal Take-Grant systems will do just fine).
> o if you use capabilities-as-unguessable-data, find a way to
> distinguish authority-to-write-plain-data form
> authority-to-write-capabilities-as-data. In many cases that can be
> feasible (e.g. compete behavior mediation).
>
> In http://www.erights.org/elib/capability/duals/myths.html#confine
> it is argued that:
> "To prevent Alice from delegating to Bob, don't give Alice access to
> Bob."
> "A subgraph of cooperating objects cannot delegate to Bob if Bob is
> not reachable from that subgraph"
> --> This ALSO confuses permission with authority: Alice should get
> authority to Bob without getting authority to delegate to Bob.
> --> Preventing that Bob becomes
> indirectly-connected-in-the-access-graph to Alice, cuts of ALL of
> Alice's authority-to-Bob.
> --> The solution is always in the authority-reducing behavior of a
> suitably inter-positioned relied-upon subject.
>
Interestingly enough, this is exactly how (later on in )CapMyths they
solve the problem of enforcing the *-property anyway: by building a
data-diode that allows the low subject to write "int"s (which in E I
guess are really caps to immutable objects containing integers) but
nothing else to the high subject. The data-diode is an
authority-reducing inter-positioned relied-upon subject that gives low
subject authority to high subject without having authority to delegate
(anything useful) to high subject.
--
Toby Murray
Advanced Computer Capabilities Group
Information Networks Division
DSTO, Australia
IMPORTANT: This e-mail remains the property of the Australian Defence
Organisation and is subject to the jurisdiction of section 70 of the
Crimes Act 1914. If you have received this e-mail in error, you are
requested to contact the sender and delete the e-mail.
More information about the cap-talk
mailing list