A survey of key management for secure group communication <s> MARKS <s> This document describes the MD5 message-digest algorithm. The ::: algorithm takes as input a message of arbitrary length and produces as ::: output a 128-bit "fingerprint" or "message digest" of the input. This ::: memo provides information for the Internet community. It does not ::: specify an Internet standard. <s> BIB001 </s> A survey of key management for secure group communication <s> MARKS <s> The goal of this work is to separately control individual secure sessions between unlimited pairs of multicast receivers and senders. At the same time, the solution given preserves the scalability of receiver initiated Internet multicast for the data transfer itself. Unlike other multicast key management solutions, there are absolutely no side eects on other receivers when a single receiver joins or leaves a session and no smartcards are required. Solutions are presented for single and for multi-sender multicast. Further, we show how each receiver’s data can be subject to an individual, watermarked audit trail. The cost per receiver-session is typically just one short set-up message exchange with a key manager. Key managers can be replicated without limit because they are only loosely coupled to the senders who can remain oblivious to members being added or removed. The technique is a general solution for access to an arbitrary sub-range of a sequence of information and for its revocation, as long as each session end can be planned at the time each access is requested. It might therefore also be appropriate for virtual private networks or for information distribution on other duplicated media such as DVD. <s> BIB002
In MARKS, BIB002 suggests slicing the time-length to be protected (such as the transmission time of a TV program) into small portions of time and using a different key for encrypting each slice. The encryption keys are leaves in a binary hash tree that is generated from a single seed. The internal nodes of the tree are also called seeds. A blinding function, such as MD5 BIB001 , is used on the seed to create the tree in the following way: (1) first, the depth D of the tree is chosen. The depth, D, defines the total number (N) of keys (N = 2 D ). (2) then, the root seed, S 0,0 , is randomly chosen. In S i, j , i represents the depth of the seed in the tree, and j is the number of that key in level i. (3) after that, two intermediate seeds (left and right) are generated. The left node is generated by shifting S 0,0 one bit to the left and applying the blinding function on it (S1, 0 = b(ls(S 0,0 ))). The right node is generated by shifting S 0,0 one bit to the right and applying the blinding function on it (S1, 1 = b(rs(S 0,0 ))). (4) the same algorithm is applied to the following levels until the expected depth is reached. Users willing to access the group communication receive the seeds need to generate the keys required. For example, Figure 9 shows a binary hash tree of depth 3. if a user wants to participate in the group from time 3 to 7, it would be necessary to have only two seeds: S 3,3 , as K3, and S 1,1 , to generate K 4 till K 7 . This system cannot be used in situations when a membership change requires change of the group key, since the keys are changed as a function of the time.