next up previous
Next: Leave Protocol Up: TGDHProtocols Previous: TGDHMembership Events

Join Protocol

 

Assume that the group has n users: {M1, &ldots;, Mn}. The new member Mn+1 initiates the protocol by sending a join request message that contains its own blinded key BK0,0 . This message is separate from any JOIN messages generated by the underlying group communication system, although, in practice, the two might be combined for efficiency's sake.

When current group members receive this message, they first determine the insertion node in the tree. The insertion node is the shallowest rightmost node, where the join does not increase the height of the key tree. Otherwise, (if the key tree is well balanced), the new member joins to the root node. The sponsor is the rightmost leaf node in the subtree rooted at the insertion node. Next, the sponsorcreates a new intermediate node and a new member node, and promotes the new intermediate node to be the parent of both the insertion node and the new member node. After updating the tree, the sponsorcomputes the new group key, since it knows all the necessary blinded keys. After computing the group key, the sponsorbroadcasts the new tree which contains all blinded keys.gif All other members update their trees accordingly and compute the new group key (see fact 1).

Figure 2 shows an example of member M4 joining to a group, where the sponsorM3 performs the following actions:

  1. renames node 1,1 to 2,2
  2. generates a new intermediate node 1,1 and a new member node 2,3
  3. promotes 1,1 as the parent node of 2,2 and 2,3

Since all members know BK2,3 and BK1,0 , M3 can compute the new group key K0,0 . Every other member performs step 1 and 2, but cannot compute the group key in the first round. Upon receiving the blinded keys, every member can compute the group key.

  figure532
Figure 2: Tree updating in join operation


next up previous
Next: Leave Protocol Up: TGDHProtocols Previous: TGDHMembership Events

Adrian Perrig
Fri Sep 1 21:02:14 PDT 2000