Efficient Key Distribution for Secure Multicast
Secure group communication systems typically rely on a group key, which is a shared secret amont the members of the group. This key is used to provide access to group data by encrypting all group communicaitons. In the case where groups are dynamic, with members joining and leaving, a method is needed to maintain a shared key so that joining members can obtain access to the group data and leaving members no longer have access to the group data. One solution to this is a key tree, where the group key is at the root of the tree and the leaves are individual keys. Keys at intermediate nodes are shared by all the members in the subtree rooted at the node. Thus, a member of the group holds all the keys on the path from its leaf to the root. Distributing keys in an efficient way is the focus of this work. The branching factor of the key tree is an important parameter on how efficient it is to maintain the tree. Three-way branching trees are optimal for deletions and n-way branching trees are optimal for insertions, where n is the number of members in the group. We describe and evaluate several dyanmic tree algorithms that are efficient for both insertions and deletions. This is joint work with Justin Goshi.