[cap-talk] Heresy: Confused Deputies do NOT Justify Capabilities
Jonathan S. Shapiro
shap at eros-os.com
Fri Aug 22 12:26:18 CDT 2008
On Fri, 2008-08-22 at 09:58 -0700, David Mercer wrote:
> I agree with the basic premise, but have some reservations as to it's
> operational safety. If such authority designation objects are
> required with each call without a default authority object,
> programmers will almost find it unduly inconvenient, and not wish to
> use such a system.
If the core API were designed that way, someone would soon build an
overlay library.
> If there is a default authority object, through
> either laziness or accidentally overlooking the need to switch
> permissions, the types of violations of POLA currently present is
> (nearly all) ACL systems would occur.
Yes, but this is the result of mis-designation, which is equally
possible in capability systems. We cannot, in principle, eliminate the
possibility of mis-designation. The best we can do is make designation
possible and limit the number of programs that arbitrate across multiple
sources of authority (and also the complexity of those programs).
> It is the need to supply two
> references, to the object being invoked and the authority object that
> goes against natural programmer laziness.
I don't think there is any substantiating evidence known for this
statement.
> Having to think about which
> authority object is appropriate to an individual call is an even
> greater cognitive burden.
In practice I do not believe so. Most programs will never care, and
those programs that do need to be very careful about this in any case.
> Of course capabilites get around this by
> there being only one reference needed, and the fact that that
> reference automatically carries the needed authority, and hopefully no
> more. The burden of deciding which authorities are needed for a
> particular call are factored out and need only be made once, instead
> of with each invocation.
This is actually *bad*. It precludes the possibility of an operation
performed on my object, on my behalf, by a trusted agent having greater
authority than I do.
shap
More information about the cap-talk
mailing list