4.3 Unregistering a Key

When a key is unregistered, a Revoke CPA is sent to two entries from the leaf set of the ID being unregistered. One entry is the numerically closest ID greater than the local ID and the other entry is the numerically closest ID less than the local ID. Each recipient checks its cache to determine whether an entry exists for the key. If one is found, the recipient removes it from its cache. If the entry is in a leaf set of a locally registered ID, the node sends FLOOD messages with the Revoke CPA on to other members of its leaf set.

DRT Name Revocation Process

Figure 3: DRT Name Revocation Process

  1. The unregistering node (Node 6) creates a Revoke CPA for the Key. The R field of the CPA is set to indicate that this is a Revoke CPA. It puts the Revoke CPA in a FLOOD message and sends it to the node in its leaf set with the closest registered key lower than its own (for example, Node 5). Upon receiving the FLOOD message, Node 5 removes the key of the unregistering node from its local cache. If Node 5 has the key of the unregistering node in its leaf set, it forwards the Revoke CPA to the node in its leaf set with the closest registered key lower than its own (for example, Node 4), where it is processed exactly as described here. This continues until the Revoke CPA reaches a node that does not have the key of the unregistering node in either its cache or its leaf set, at which point possessing (and forwarding) of the Revoke CPA ceases.

  2. Node 6 sends an identical FLOOD message to the node in its leaf set with the closest registered key greater than its own (for example, Node 7). Node 7 processes the Revoke CPA exactly as described in step 1, except all Revoke CPA forwards will be converted to nodes with numerically greater keys.

  3. The unregistration of Node 6 produces gaps in the leaf sets of its nearby nodes. Node 6 therefore sends a FLOOD message to the node in its leaf set with the smallest key (for example, Node 1). The FLOOD message informs the recipient of the node with the next greater key than the unregistering node (for example, Node 7). Node 1 will place the Node 7 key in its leaf set where the Node 6 key used to reside.

  4. Node 6 repeats step 3, notifying the node in its leaf set with the greatest key (for example, Node 11) of the node with the next lower key than the unregistering node (for example, Node 5), allowing Node 11 to repair its leaf set as well.