[cap-talk] Don't understand capabilities

Mark S. Miller markm at cs.jhu.edu
Fri Oct 27 00:49:47 CDT 2006


Charles Landau wrote:
>> E1 An URL may be a capability.  This one for example (in a 
>> non-indexable directory):
>>  http://www.notatla.org.uk/MISC/cap-talk/2f065fcf1cf9c77aad421a6ae0dc02a835b94243.html
> 
> E1 is a complex example. Basically, a URL is a capability only if you 
> assume it is unguessable (non-forgeable) and its internal structure 
> (bits) are not observed by the user.


Revealing an unguessable secret would serve the authorization requirement of a 
cryptographic capability, but only if we first ensure the authentication 
requirement[1], i.e., the Y property[2], so that this secret is only revealed 
to the designated target. (Actually, the example URL above is even worse. 
Since it says "http:", we can assume its secret will shortly be revealed to 
all eavesdroppers on the network.)

If we add to the URL a fingerprint -- a cryptographic hash of the public key 
of the designated target's platform, and if we check that an alleged target 
handshakes to prove knowledge of the private key, setting up an end-to-end 
connection with that target, then we have the Y property. Only then is it safe 
to reveal the authorizing secret on this connection.

Other adequate cryptographic representations of distributed capabilities have 
been proposed and/or implemented, and some are arguably better. But the above 
is one of the simplest adequate solutions.

In any case, even if we ensure by other means that no secrets are revealed to 
the wrong party, a cryptographic cap protocol must still enable its holder to 
authenticate that an alleged target is the designatee. Cryptographic caps 
therefore must be self-authenticating designators[2]. In the standard 
scenario, Bob's platform must be able to ensure that the Carol that Bob 
connects to is the Carol that Alice meant to introduce Bob to. I'm always 
surprised how often this property is overlooked when discussing capabilities.


[1] Chapter 7 of <http://www.erights.org/talks/thesis/>.
[2] http://www.waterken.com/dev/YURL/Definition/

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

     Cheers,
     --MarkM


More information about the cap-talk mailing list