Split Capabilities: Making Capabilities Scale

Mark S. Miller markm@caplet.com
Wed, 12 Jul 2000 21:50:20 -0700


At 11:43 AM 7/12/00 , Jonathan S. Shapiro wrote:
> > >I agree that crypto capabilities are expensive to produce, but that may
>be
> > >reason to postpone creating them until they are actually needed.
> >
> > In E, we indeed treat cryptographic capabilities in the
> > lightweight and disposable fashion Norm describes as the KeyKOS style...
> > But please don't assume SPKI is representative of the
> > costs of cryptographic capabilities.
>
>The costs I was thinking about were not storage costs, but encryption time
>when fabricating the key. Is fabrication time really low enough that
>capabilities can be created willy nilly in E?

The short answer is yes.  The only per-key cryptographic calculation is 
getting another 128 unguessable bits from the hosting vat's cryptographic 
pseudo-random-number generator.  The only cryptographic cost of transmitting 
this over an already established secure connection is the cost of encrypting 
& MACing the key representation (detained in earlier email) with already 
established single keys -- exactly as it would be with an SSL connection.  
In both cases, the cost is so negligible that you'll have trouble finding it 
in a profile of any real system.

>Perhaps I should be asking: is the excessive capability creation time in
>SPKI a problem confined to SPKI?

Yup.  But perhaps SPKI's costs are not confined to SPKI per se.  It's 
possible that SPKI's costs are representative of off-lie capabilities with 
built in auditing & non-repudiation.  By contrast, E is on-line, and does 
not by itself provide for auditing or non-repudiation.  These features can 
be built in E, but at additional cost.  Another contrast: SPKI relies only 
on authentication to implement its properties.  E relies on both 
authentication and secrecy.  Where E uses secrecy in place of SPKI's use of 
authentication, secrecy is a far cheaper solution.


         Cheers,
         --MarkM