next up previous
Next: Group Communication and Group Up: Simple and Fault-Tolerant Key Previous: Introduction

Notation and Definitions

  

We use the following notation:

N number of protocol parties (group members)
Mi i-th group member; i ∈{1,&ldots;,N}
h height of a tree
l,v v-th node at level l in a tree
Ti Mi's view of the key tree
Ti Mi's modified tree after membership operation
p,q prime integers
α exponentiation base

Key trees have been suggested in the past for centralized group key distribution systems; the work of Wallner et al. [17] is the earliest such proposal. One of the key features of our work is the adaptation of key trees for use in fully distributed, contributory key agreement. Figure 1 shows an example of a key tree. The root is located at level 0 and the lowest leaves are at level h. Since we use binary trees,gif every node is either a leaf or a parent of two nodes. The nodes are denoted l,v , where 0 ≤v ≤2l-1 since each level l hosts at most 2l nodes.gif Each node l,v is associated with the key Kl,v and the blinded key BKl,v =f(Kl,v ) where the function f() is modular exponentiation in prime order groups, i.e., f(k)=αk p (analogous to the Diffie-Hellman protocol). Assuming a leaf node l,v hosts the member Mi, then the node l,v has Mi's session random key Kl,v . Furthermore, the member Mi at node l,v knows every key along the path from l,v to 0,0 , referred to as the key-path and denoted KEYi. In figure 1, if a member M2 owns the tree T2, then M2 knows every key { K3,1 , K2,0 , K1,0 , K0,0 } in KEY2={ 3,1 , 2,0 , 1,0 , 0,0 } and every blinded key BK2={BK0,0 , BK1,0 ,&ldots;,BK3,7 } on T2. Every key Kl,v is computed recursively as follows:

Kl,v = (BKl+1,2v+1 )373Kl+1,2v p = (BKl+1,2v )379Kl+1,2v+1 p = Kl+1,2v Kl+1,2v+1 p = f(Kl+1,2v Kl+1,2v+1 )

In other words, computing a key at l,v requires the knowledge of the key of one of the two child nodes and the blinded key of the other child node. K0,0 at the root node is the group secret shared by all members. We note that this value is never used as a cryptographic key for the purposes of encryption, authentication or integrity. Instead, such keys are derived from the group secret, e.g., by setting Kgroup=h(K0,0 ) where h is a cryptographically strong hash function.

For example, in figure 1, M2 can compute K2,0 , K1,0 and K0,0 using BK3,0 , BK2,1 , BK1,1 , and K3,1 . The final group key K0,0 is:

K0,0 = 2{(2r3(<r1r2)} {(r4(r5r6)}.

To simplify our subsequent protocol description, we introduce the term co-path, denoted as COi, which is the set of siblings of each node in the key-path of member Mi For example, the co-path CO2 of member M2 in figure 1 is the set of nodes {3,0 , 2,1 , 1,1 }. Consequently, every member Mi at leaf node l,v can derive the group secret K0,0 from all blinded keys on the co-path COi and its session random Kl,v .

  figure287
Figure 1: Notation for tree


next up previous
Next: Group Communication and Group Up: Simple and Fault-Tolerant Key Previous: Introduction

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