[cap-talk] keyrings and bootstrapping capabilities

Norman Hardy norm at cap-lore.com
Mon May 28 15:40:51 EDT 2007


Thanks Jed for the additional background.

On 2007 May 28, at 12:25 AM, Jed Donnelley wrote:

> At 02:19 PM 5/25/2007, Norman Hardy wrote:
>
>> On 2007 May 24, at 8:53 AM, Peter Amstutz wrote:
>>
>>> As part of the system I'm designing that I discussed the previous

......


>>> b) A user sits down at a public terminal and wants to log in to a
>>> remote
>>> system and edit a file for which he knows a public identifier, but
>>> doesn't happen to have the 128 bit capability key granting write
>>> access
>>> on hand.  The user should be able to log in with a user name and
>>> password and then be able to go on to acquire the capability to  
>>> permit
>>> editing the file.
>>
>> I take it that write access to the file is somehow protected by an
>> RSA key.  This is not a capability paradigm but it has its uses.
>
> I don't understand the relevance of the above sentences/comment?

I assumed from Peter's comment that there was a file and that as  
policy it was necessary and sufficient to know a 128 bit secret to  
modify the file.
I then assumed that that policy was implemented by installing a  
password guard for the file and putting the key to that guard in a  
public place.

>

....

>> I assume that a RW capability to the file's guard is in a widely held
>> directory.
>> Presenting the secret key to the guard would do the trick.
>> The secret key need not travel to and from the public terminal.
>> Public terminals are, of course, still a problem!
>
> I don't understand the contribution of the above comment.
>
See previous comment.

>

........
> If, however, one is given access to a directory without
> the "free access" right, then all access rights that are
> turned off in the directory capability itself are turned
> off in the fetched capabilities before being returned
> in response to "fetch" requests.
>
Of what use is such a returned capability?
Perhaps rights amplification was necessary to use it.
Keykos did not use this pattern but the kernel could support it.

......


>
>>> Accomdating groups in this scheme is trivial, as a "group" simply
>>> becomes a keyring shared between multiple users.
>>
>> Yes!
>
> This is indeed how "groups" were created in most of the capability
> systems that I am familiar with.  As I've noted before on this
> list, in the Elephant storage system users could create
> directories out of whole cloth and then grant access to
> such directories to other users.  Such directories may
> or may not have the "free access" noted above.
>
> I believe a mechanism like Horton can provide a responsible
> identity for any capabilities, including any shared through
> such a person to person sharing mechanism.  With such a facility
> I could create a directory (e.g. for the purpose of "group"
> sharing).  I could take responsibility for my capability
> to that directory.  Using Horton I could share it with you
> in such a way that you then were given responsibility for
> the directory and anything fetched through it.

Indeed Horton is just such a membrane technology.


......

>> If you discover that he has had motivation, means and character to
>> subvert the system then killing his password access may not suffice.
>> To anticipate that unfortunate case it would be necessary to
>> initially put his shell in a membrane.
>> Then actions by his remaining agents subsequent to his removal are
>> blocked as well.
>> If he has contributed to mission critical function then you may well
>> be out of luck.
>> If he has written and delivered code that you depend on with moles in
>> it, you have problems whether or not the code was delivered within
>> the system or not.
>
> Horton is just such a membrane mechanism, specifically focused
> on an "identity" notion that can be associated with responsible
> people.  To achieve the goal of being able to associate logged
> actions to responsible parties and to be able to reactively
> block access (e.g. remove access by a person who has behaved
> inappropriately) I believe something like the Horton mechanism
> is needed.
>

Yes!

Concerning resource control with capabilities see:
http://cap-lore.com/CapTheory/KK/Meters.html  for control of CPU time
http://cap-lore.com/CapTheory/KK/Space.html  for control of storage
http://cap-lore.com/CapTheory/KK/BankNexus.html  for more space bank  
notes.



More information about the cap-talk mailing list