[chord] new auth type patch
Michael Walfish
mwalfish at lcs.mit.edu
Thu Jul 24 15:31:53 EDT 2003
Frans wrote:
| What the exact interface to dhash should be is not only an interesting
| implementation question but gets at the heart of what a DHT is and for
| what it is useful.
So are people curious about other requirements or anticipated future
requirements users might have for dhash? If that's a conversation that
dhash developers and designers are having, then permit me to mention
another interface / block type it might be nice to have:
I mentioned this in my first e-mail to the list as "option B" (option A
being what is now called "pubkey+salt"). Option B mentioned a block type
that would not be self-certifying, but dhash (a cooperating dhash, anyway)
would ensure that if a user inserts a block with id I and public key P
that future updates to the contents of I have been signed with P's
corresponding secret key, S. The reason for abandoning self-certification
is that one could imagine wanting to update the public key associated with
a block.
Our motivation is that chordIDs wind up being long lived references in our
application, and, ideally, the lifetime of our references would not be
constrained by the lifetime of the corresponding public key. Also, we
envision some degree of management over the nodes comprising the dhash, so
we needn't assume arbitrary maliciousness.
I realize it is very difficult to get key update to work and that this
kind of thing might require assumptions about the types of attacks that
are expected (and the level of trust of nodes), but for now, I'll just say
that it might be useful to have a block type where the user selects the id
completely independently of the contents; this differs from noauth because
users would have to present a valid signature on insert and on update.
Also, depending on the application and on whether the dhash nodes are part
of a "managed infrastructure" vs. being behind cable modems, trust
assumptions might be more or less reasonable. For example, everyone trusts
the root and top-level domains of DNS even though these do not currently
use meaningful security.
I don't have a suggestion for this block type that yields the same
guarantees provided by self-certification, but I would like to toss this
into the conversation if people are talking about block types and the
requirements of applications that use dhash. And if there is demand for
the block type, I would be happy to implement it.
Thanks,
Mike
More information about the chord
mailing list