-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

If an SSK insert collides with data in the store or the cache, we
replace the data in the insert with the existing data and keep
inserting. This makes it impossible to overwrite an SSK even if you have
the private key, which is a good thing because keys can be compromised
and authors can be threatened.

But I think there might be a problem: if we're processing an SSK insert
and we receive a collision from downstream, we replace the data in the
insert with the existing data and keep inserting. But what if the
"existing" data from downstream is actually new data generated by
someone with the private key? They'd be able to spread the new data to
every node on the upstream path of the insert.

Example: Alice inserts X. Alice's private key is later seized by Bob.
Bob can't overwrite X by inserting Y under the same key, but whenever he
gets a request for the key he can return Y instead of X, spreading Y to
every node between himself and the requester, *even the ones that have
already seen X*. If someone later attempts to reinsert X, every insert
that hits a node containing Y will spread Y even further instead of
spreading X.

Should we ignore collision messages from downstream?

Cheers,
Michael
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQFFGszIyua14OQlJ3sRAgLZAJ0TjRepB3txq9mOlJma/tqJS9Kg6wCgvm3j
NFbWVSB9U77dDdhPnFn7e5c=
=dcBc
-----END PGP SIGNATURE-----

Reply via email to