  Many data dissemination and publish-subscribe systems that guarantee the
privacy and authenticity of the participants rely on symmetric key
cryptography. An important problem in such a system is to maintain the shared
group key as the group membership changes. We consider the problem of
determining a key hierarchy that minimizes the average communication cost of an
update, given update frequencies of the group members and an edge-weighted
undirected graph that captures routing costs. We first present a
polynomial-time approximation scheme for minimizing the average number of
multicast messages needed for an update. We next show that when routing costs
are considered, the problem is NP-hard even when the underlying routing network
is a tree network or even when every group member has the same update
frequency. Our main result is a polynomial time constant-factor approximation
algorithm for the general case where the routing network is an arbitrary
weighted graph and group members have nonuniform update frequencies.
