monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] [RFC] versioned policy -- introduction


From: Richard Levitte - VMS Whacker
Subject: Re: [Monotone-devel] [RFC] versioned policy -- introduction
Date: Thu, 07 Sep 2006 10:21:35 +0200 (CEST)

In message <address@hidden> on Thu, 7 Sep 2006 00:42:36 -0700, Nathaniel Smith 
<address@hidden> said:

njs> It's important that a community has a shared vocabulary for
njs> referencing objects.  I'll suppress my impulse to go off on a
njs> long digression about the relation between this goal and pet
njs> names systems, SPKI, blah blah blah, but basically the point is
njs> that no-one is going to use key hashes to see who committed that
njs> last change, and the group has to agree on these names so they
njs> can talk to each other.

I am not suggesting changing the user's experience at all, except to
make it possible to create a new key with the same name (for example
to follow up on revocation).  All I'm suggesting is that instead of
having an internal storage and structure like this:

        key name -> key object

we could (and should, in my opinion) have the following:

        key name -> key hash -> key object

I don't know exactly how the schema would look to implement that,
how's this for a first guess:

CREATE TABLE user_keys
        (
        id primary key,         -- key identifier chosen by user
        hash key                -- the hash identifier for the key data
        );

CREATE TABLE public_keys
        (
        hash primary key not null unique,   -- hash of the RSA public params
        keydata not null        -- RSA public params
        );

All internal referenses to keys would then be done by hash value
instead of the user's name.

As to the private keys, they could be stored on disk as they are
today, that doesn't matter much, the really truly important thing is
that a NAME should be able to point to more than one KEY, at least if
we're going to have any chance at replacing keys that have revoked for
any reason.  Whether names are globally or locally unique is
irrelevant, the name will never be local enough when revocation
happens.

Cheers,
Richard

-----
Please consider sponsoring my work on free software.
See http://www.free.lp.se/sponsoring.html for details.

-- 
Richard Levitte                         address@hidden
                                        http://richard.levitte.org/

"When I became a man I put away childish things, including
 the fear of childishness and the desire to be very grown up."
                                                -- C.S. Lewis




reply via email to

[Prev in Thread] Current Thread [Next in Thread]