INTERNET-DRAFT                        D. Balenson, D. McGrew, A. Sherman
                                          TIS Labs at Network Associates
                                                       February 26, 1999

               Key Management for Large Dynamic Groups:
        One-Way Function Trees and Amortized Initialization
              <draft-balenson-groupkeymgmt-oft-00.txt>


Status of this Memo

  This document is an Internet-Draft and is in full conformance
  with all provisions of Section 10 of RFC2026.

  Internet-Drafts are working documents of the Internet Engineering
  Task Force (IETF), its areas, and its working groups.  Note that
  other groups may also distribute working documents as Internet-Drafts.

  Internet-Drafts are draft documents valid for a maximum of six
  months and may be updated, replaced, or obsoleted by other
  documents at any time.  It is inappropriate to use Internet-Drafts
  as reference material or to cite them other than as "work in
  progress."

  The list of current Internet-Drafts can be accessed at
  http://www.ietf.org/ietf/1id-abstracts.txt

  The list of Internet-Draft Shadow Directories can be accessed at
  http://www.ietf.org/shadow.html.


Copyright Notice
   
  Copyright (C) The Internet Society (1999).  All Rights Reserved.


Abstract

  We present a scalable method for establishing group session keys
  for secure large, dynamic groups such as multicast sessions.
  Our method is based on a novel application of One-Way Function
  Trees (OFTs).  The number of keys stored by group members, the
  number of keys broadcast to the group when new members are added
  or evicted, and the computational efforts of group members, are
  logarithmic in the number of group members.  The method provides
  perfect forward and backward security:  evicted members cannot
  read future messages, even with collusion by arbitrarily many
  evicted members, and newly admitted group members cannot read
  previous messages.








Balenson, McGrew, Sherman     expires August 26, 1999         [Page 01]
INTERNET-DRAFT                                        February 26, 1999


Contents

  1.   Introduction ................................................. 2
  2.   Previous Work ................................................ 3
  2.1  Key Establishment Algorithms for Large Groups ................ 3
  2.2  Managing Large Groups ........................................ 4
  2.3  Authentication in Large Groups ............................... 4
  2.4  Multicast Security ........................................... 5
  3.   Group Operations and Their Security Requirements ............. 5
  3.1  Operations ................................................... 5
  3.2  Security Requirements ........................................ 6
  4.   One-Way Function Trees ....................................... 7
  4.1  Structure of an OFT .......................................... 7
  4.2  Algorithms ................................................... 8
  4.3  Properties .................................................. 10
  4.4  Implementation Notes and Example ............................ 11
  4.5  Comparisons with Other Leading Key-Establishment Methods .... 12
  5.   Amortized Group Induction ................................... 15
  5.1  Induction Model ............................................. 15
  5.2  Induction Algorithm ......................................... 16
  5.3  An Example of Induction ..................................... 16
  6.   Conclusion and Open Problems ................................ 17
  7.   Security Considerations ..................................... 18
  8.   References .................................................. 18
  9.   Acronyms and Abbreviations .................................. 23
  10.  Authors' Addresses .......................................... 24
  11.  Acknowledgments ............................................. 24


1. Introduction

  Efficiently managing cryptographic keys for large, dynamically
  changing groups is a difficult problem.  Every time a member is
  evicted from a group, the group key must change; it may also be
  required to change when new members are added.  The members of
  the group must be able to compute a new key efficiently, while
  arbitrary coalitions of evicted members must not be able to obtain
  it.  Communication costs must also be considered.

  Real-time applications, such as secure audio and visual broadcasts,
  pay TV, secure conferencing, and military command and control,
  need very fast re-keying so that changes in group membership are
  not disruptive.  To deal with large group sizes (e.g. 100,000
  members), we seek solutions whose re- keying operations "scale"
  well in the sense that time, space, and broadcast requirements
  of the method grow at most logarithmically in the group size.
  Key management for these applications should be able to take
  advantage of efficient broadcast channels, such as radio broadcast
  and Internet multicast.

  We present a new practical algorithm for establishing shared,
  secret group communications keys in large, dynamic groups.  Our


Balenson, McGrew, Sherman     expires August 26, 1999         [Page 02]
INTERNET-DRAFT                                        February 26, 1999


  algorithm [McG98, Hard97, Bal98], which is based on a novel
  application of one-way function trees, scales logarithmically in
  group size.  In comparison with previously published methods,
  our algorithm achieves a new low in the required broadcast size.
  
  
2. Previous Work
  
  The broad and challenging problem of establishing keys for large
  dynamic groups touches upon a large body of previous work,
  including algorithms for key establishment, group management,
  authentication in large groups, and multicast security. As for
  key management, unfortunately very little work has been done on
  this critical problem in the open literature (e.g.  see Schneier
  [Sch96, pp. 169-187]).

2.1 Key Establishment Algorithms for Large Groups

  Prior methods for establishing keys in groups fall roughly into
  five categories: simple methods that scale linearly in group
  size, information- theoretic approaches, algorithms based on
  group Diffie-Hellman key exchange, hybrid methods that trade off
  information-theoretic security for reduced storage requirements,
  scalable methods based on hierarchies, and other techniques.
  Sherman [Bal98, Section 7], Kruus [Kru98], Menezes [Men97], and
  Just [Jus94] survey some of these methods.

  Unfortunately, the information-theoretic approaches [Blu92, Sti96,
  Chi89] require exponential space to achieve forward secrecy
  against arbitrarily many colluding evicted members.  Although
  the group Diffie-Hellman methods [Ste96-7, Bur97, Bur94] offer
  attractive distributed functionality, they suffer from a linear
  number of expensive public-key operations.  Similarly, the hybrid
  approaches [Fia93, Ber91] scale linearly or worse.  As for other
  techniques (e.g. [Blo90, Gon89]) that do not fall nicely into
  any of the above categories, we have not found any that provide
  adequate security.

  Therefore, for large groups, the leading candidates are the
  hierarchical methods, which scale logarithmically in group size.
  There are two hierarchical methods that do not require trusted
  internal nodes: the Logical Key Hierarchy (LHK) of Wallner,
  Harder, and Agee [Wal97, Won97], and the One-Way Function Tree
  (OFT) method of McGrew and Sherman [McG98].  OFT was developed
  at TIS Labs at Networks Associates, Inc., as part of the DARPA-funded
  Dynamic Cryptographic Context Management (DCCM) Project [Bal98];
  it is the subject of this document.

  The hierarchical methods of Ballardie [Bal96, Bal97] and Harkins
  [Hark98a] are scalable but require trusted routers.

  In addition, the linear Single Key Distribution Center (SKDC)


Balenson, McGrew, Sherman     expires August 26, 1999         [Page 03]
INTERNET-DRAFT                                        February 26, 1999


  approach is attractive for its simplicity -- at least for relatively
  small groups (e.g. see [Harn97a-b, Harn98]).

2.2 Managing Large Groups

  Managing large groups is important for group communications and
  for a variety of other applications, including distributed
  fault-tolerant computing and virtual private networks.  Researchers
  have addressed important group-management issues including defining
  group membership, supporting distributed fault-tolerant applications,
  and effecting decentralized dynamic group management.

  An important problem in group management is the problem of defining
  group membership.  To support the design of secure, asynchronous,
  distributed, fault-tolerant systems, Michael Reiter [Rei94]
  devised a group-membership protocol that tolerates malicious
  corruption of up to one third of the participants.  This protocol
  is useful in building systems that are robust against limited
  failures (e.g. hardware failure of some nodes), and that through
  threshold techniques distribute trust among two or more parties.
  By contrast, a single group controller is a single point of
  failure and hence not fault tolerant.

  Although group keying is often used to secure group communications,
  another application of group keying arises in security architectures
  for distributed fault-tolerant computing.  For example, Kenneth
  Birman [Rei93] and his research group at Cornell have studied
  how the notion of a secure process group can be used to effect
  secure, distributed, fault-tolerant computing.  Their efforts
  include the ISIS, Horus [Hor], and Ensemble [Hay98] Systems,
  which provide a framework and toolkit for developing distributed
  applications.

  Birman [Rod97] and his group have also applied similar ideas to
  design a virtual private network that can handle network faults,
  decentralized management, and dynamic membership.  Unfortunately,
  their "solution currently scales [only] to approximately 100
  machines" [Rod97, p. 14].  Also, they claim, that for data
  confidentiality, "[their] keys are so dynamic and short-lived
  [changed once a minute] that the approach could be used with a
  fairly weak cryptographic scheme" [Rod97, p. 1].

  Li Gong [Gon96, Keu96] designed and implemented a toolkit called
  Enclaves for building secure user-level group applications.
  Enclaves enable users to form virtual private networks on the
  Internet dynamically.  His methods, however, do not scale to
  large groups.  Other recent work in group management includes
  research by Fenner [Fen97].

2.3 Authentication in Large Groups

  There are several ongoing projects to develop infrastructures to


Balenson, McGrew, Sherman     expires August 26, 1999         [Page 04]
INTERNET-DRAFT                                        February 26, 1999


  support authentication.  Among these are the following.  The
  X.509 [Ken93] approach is based on a hierarchical global name
  space.  By contrast, the SDSI/SPKI approaches of Rivest and
  Lampson [Riv96], and Ellison [Ell97] are based on linked local
  name spaces.  The Secure DNS approach of Eastlake [Eas96] builds
  on the existing DNS (Domain Name System).

  In addition, there is work on batch authentication [Nac94], which
  provides a way to verify many certificates simultaneously for
  certificates signed by the same authority under the same signature
  key.

2.4 Multicast Security

  Securing multicast is an active area of research.  Some examples
  of this research are works by Kent [Ken81], Gong and Shachan
  [Gon94], Ballardie and Crowcroft [Bal95], Deering [Dee98, Dee89],
  Bagnall [Bag97], Mittra [Mit97], Caronni, et., al. [Car98], and
  Canetti and Pinkas [Can98], which address issues, requirements,
  architectures, protocols, and techniques. In addition, the works
  by Ballardie [Bal96] and Harkins [Hark98a] on key establishment
  discuss a variety of security problems and solutions for multicast.
  Securing Mbone [Kum95] broadcasts is one driving application.

3. Group Operations and Their Security Requirements

  We envision that the management of group communications keys will
  take place in a setting in which there will be a communications
  system, a set of possibly overlapping groups of individuals with
  common purposes, and individual group members.  A systems manager
  will manage the communications system, and a group manager will
  manage each group. We envision that groups will comprise a
  hierarchy of subgroups, with subgroup and organizational managers
  negotiating on behalf of subgroup members.
  
3.1 Operations 
  
  Associated with each role (system manager, group manager,
  individual) is a set of operations, minimally including the
  following operations.
  
  Operations processed by the system manager:
  
  - induct individual into system,
  - evict individual from system,
  - create group, and
  - dissolve group.
  
  Section 5 explains the concept of group induction.  In short,
  the most important results of system (or group) induction are
  for an individual to establish a base system key known only to
  the individual and the system (or group) manager, and for the


Balenson, McGrew, Sherman     expires August 26, 1999         [Page 05]
INTERNET-DRAFT                                        February 26, 1999


  system (or group) manager to check the credentials of the
  individual.

  Operations processed by a group manager:
  
  - add member(s) to group,
  - remove member(s) from group,
  - evict member(s) from group,
  - initiate communications session, and
  - terminate communications session.

  This document focuses on the crucial operations of adding and
  deleting members from a group.  Note that our OFT method offers
  some economy of scale when adding or deleting two or more
  individuals simultaneously.  There are two types of membership
  deletions:  a temporary removal (when the individual has not lost
  his security privileges), and a permanent eviction as the result
  of loss of security privileges.

  Operations requested by individuals:
  
  - request to join group,
  - request to leave group,
  - request to join session,
  - request to leave session, and
  - request to return to session.
  
  It is possible that an individual might temporarily lose contact
  with his group manager --for example, as might happen if an
  airplane flies out of radio range of his group. Therefore, there
  must be a way for such a member to re-synchronize key establishment
  with the group.
  
3.2 Security Requirements

  The primary security requirements for the group operations of
  adding and deleting members are forward and backward security,
  as quantified by the degree of forward or backward security
  [Men97, pp. 528-529].    We say that a method has t-forward
  security if and only if (iff) no t colluding evictees can read
  any future communications traffic of the group.  Similarly, a
  method has t-backward security iff no group of t colluding new
  members can read any previous group traffic.  A method has perfect
  forward (backward) security iff the method has t-forward (t-backward)
  security for all t.

  Backward security is optional.  When a new member is added, the
  group manager may choose to create a new group key, thus denying
  the new member access to the old key and hence previous traffic.
  We seek methods, such as OFT, that provide perfect forward
  security, with the option of perfect backward security.



Balenson, McGrew, Sherman     expires August 26, 1999         [Page 06]
INTERNET-DRAFT                                        February 26, 1999


  Carefully note our definitions of the phrases "perfect forward
  security" and "perfect backward security."  Our use of these
  convenient phrases should not be confused with the different
  requirement, as explained by Menezes et al. [Men97, p. 496], that
  compromise of long-term keys does not reveal past session keys.
  Similarly, our use of these phrases does not necessarily imply
  information-theoretic "perfectly-secure key distribution" in the
  sense used by Blundo et al. [Blu92].

  Two additional valuable security measures are degree of traceability
  and degree of disclosure amplification.  A method is t-traceable
  iff more than t colluding members are required to leak plaintext
  or session keys without being identified if leaked material is
  discovered.  Disclosure amplification refers to the extent of
  unauthorized disclosure of internal state information (e.g.
  subgroup keys) caused by the unauthorized disclosure of certain
  other internal state information.

  In addition, when specifying security requirements for particular
  applications, it is important to understand the security needs
  and assumptions with regard to any underlying cryptographic
  primitives (e.g.  one-way functions) and with regard to fundamental
  types of cryptographic strength (e.g. information theoretic,
  computational, quantum uncertainty).

4. One-Way Function Trees

  A One-Way Function Tree (OFT) is a binary tree, each node x of
  which is associated with two cryptographic keys: a node key k_x
  and a blinded node key k'_x = g(k_x).  The blinded node key is
  computed from the node key using a one-way function g; it is
  blinded in the sense that a computationally limited adversary
  cannot find k_x from k'_x.

  Although the concept of a one-way function tree is not new (e.g.
  in 1979, Merkle [Mer79] proposed an authentication system based
  on a similar idea), our application of this concept is novel.

4.1 Structure of an OFT

  A group manager maintains a one-way function tree.  Each leaf is
  associated with a member of the group.  The manager uses a
  symmetric encryption function E to communicate securely with
  subsets of group members, using unblinded keys as encryption keys
  as explained below.

  Each internal node of the tree has exactly two children.  The
  manager assigns a randomly chosen key to each member, securely
  communicates this key to the member (using an external secure
  channel), and sets the node key of the member's leaf to the
  member's key.  The interior node keys are defined by the rule:



Balenson, McGrew, Sherman     expires August 26, 1999         [Page 07]
INTERNET-DRAFT                                        February 26, 1999


  k_x = f( g(k_left(x)), g(k_right(x)) ),          (1)

  where left(x) and right(x) denotes the left and right child of
  the node x, respectively.  The function g is one-way, and the
  function f is a "mixing" function (e.g. XOR).  McGrew and Sherman

  [McG98] discuss the properties of f and g in detail.  The node
  key associated with the root of the tree is the group key, which
  the group can use to communicate with privacy among group members
  and/or authentication of group membership.

  The security of the system depends on the fact that each member's
  knowledge about the current state of the key tree is limited by
  the following invariant:

    OFT Security Invariant - each member knows the unblinded node
    keys on the path from its node to the root, and the blinded
    node keys that are siblings to its path to the root, and no
    other blinded or unblinded keys.

  This invariant is maintained by all operations that add members
  to the group, and by all operations that delete members from the
  group.

4.2 Algorithms

  The operations of adding and evicting members rely on the
  communication of new blinded key values, from the manager to all
  members, after the node key associated with a leaf has changed.
  To maintain security, each blinded node key must be communicated
  only to the appropriate subset of members.  If the blinded key
  k'_x changes, then its new value must be communicated to all of
  the members who store it.  These members are associated with the
  descendants of the sibling of x, and they know the unblinded node
  key k_s, where s is the sibling of x.  To provide the new value
  of the blinded key to the appropriate set of members, and keeping
  it from other members, the manager encrypts k'_x with k_s before
  broadcasting k_x to the group.  (Here and throughout, we shall
  use the verb "broadcast" in the sense of  "group broadcast" --
  sending a message from the group manager to all members of the
  group.)

4.2.1 Adding a member

  When a new member joins the group, an existing leaf node x is
  split, creating new nodes left(x) and right(x). The member
  associated with x becomes associated with left(x), and the new
  member is associated with right(x).  Both members are given new
  keys.  The old member gets a new key because their former sibling
  knows the old blinded node key and could use this information in
  collusion with another group member to find an unblinded key that
  is not on his path to the root.  The new values of the blinded


Balenson, McGrew, Sherman     expires August 26, 1999         [Page 08]
INTERNET-DRAFT                                        February 26, 1999


  node keys that have changed are broadcast securely to the
  appropriate subgroups, as described in the previous paragraph.
  The number of blinded keys that must be broadcast to the group
  is equal to the distance from x to the root plus two.  In addition,
  in a unicast transmission, the new member is given their set of
  blinded node keys, using the external secure channel.  In order
  to keep the height h of the tree as low as possible, when a new
  member is added, the leaf closest to the root is split.

4.2.2 Evicting a member

  When the member associated with a leaf y is evicted from the
  group, the member assigned to the sibling of y is reassigned to
  the parent p of y and given a new leaf key value.  If the sibling
  s of y is the root of a subtree, then p becomes s, moving the
  subtree closer to the root.  In this case, one of the leaves of
  this subtree is given a new key (so that the evictee no longer
  knows the blinded key associated with the root of the subtree).
  The new values of the blinded node keys that have changed are
  broadcast securely to the appropriate subgroups.  The number of
  keys that must be broadcast is equal to the distance from y to
  the root.

4.2.3 Initialization

  Group initialization is the process through which the group
  establishes an initial group communications key.  For our OFT
  method, this process involves two steps.  First, the group manager
  broadcasts some information to the group members needed to apply
  the OFT key-updating procedures.  Second, the members compute a
  shared group communications key, which is needed to begin secure
  group communications.

  Group initialization is separate from group induction, which is
  explained in Section 5.  During group induction, each member
  establishes an individual group base key known only by the member
  and the group manager.  Group initialization assumes that each
  member has already established an individual group base key.

  In the first step of OFT group initialization, the manager
  broadcasts every blinded node key in the OFT to all group members.
  In this broadcast, each blinded node key is encrypted by the
  unblinded key of the sibling node, so that only members in the
  sibling subtree can learn the blinded node key.  All members
  receive the entire broadcast, which consists of a sequence of
  encrypted blinded node keys.  The order in which the keys are
  broadcast is determined by a postorder traversal of the OFT.
  This procedure enables the members to associate the keys that
  they need with the encrypted message parts they receive.





Balenson, McGrew, Sherman     expires August 26, 1999         [Page 09]
INTERNET-DRAFT                                        February 26, 1999


4.3 Properties

  In this section we comment briefly on the security, resource
  usage, and salient characteristic features of The OFT method.
  For more details, see the paper by McGrew and Sherman [McG98].

  The security properties of OFT stem from the system invariant
  stated in Section 4.1, from the strength of the component one-way
  function, and from the random selection of leaf keys.  In short,
  OFT provides perfect forward secrecy and optional perfect backward
  secrecy.  Thus, arbitrary coalitions of evicted members cannot
  directly compute the group communications key nor any unblinded
  node key.

  Evicted members have some information about the key tree but not
  enough to compute directly any unblinded node key.  After a member
  is evicted, the keys along the path from the member's node to
  the root change.  After this change, the evictee knows only the
  blinded keys of the siblings of the nodes along the path from
  the evictee to the root.  These blinded nodes are insufficient
  to compute directly any unblinded key.

  Interestingly, OFT is a centralized, member-contributory method.
  OFT is centralized in the sense that the group manager plays a
  special trusted role.  OFT is member contributory in the sense
  that each leaf can contribute entropy to the group communication
  key.

  The hierarchical nature of OFT distributes the computational
  costs of re- keying among the entire group, so that the managers
  computational burden is comparable to that of a group member.
  Table 1 below summarizes the salient resource usage of adding or
  deleting a member with OFT in terms of time, memory, number of
  bits broadcast, and number of random bits needed.


    Resource Measure         Group Member Cost      Group Manager Cost
  
    Time                     h                      h
    Memory                   hK                     2nK
    Bits broadcast           0                      hK + h
    Random bits generated    0                      K
  
	Table 1: Summary of resource usage of adding or deleting
	a member with OFT.  Here, n is the group size, K is the
	size of a key in bits, and h is the height of the OFT (h
	= lg n when the tree is balanced).  Either the member or
	the manager could generate the random bits needed at the
	leaves.
  




Balenson, McGrew, Sherman     expires August 26, 1999         [Page 10]
INTERNET-DRAFT                                        February 26, 1999


4.4 Implementation Notes and Example
  
  Several important engineering decisions must be made in the
  implementation of the OFT algorithm: the choice of f and g, the
  format of broadcasts by the manager, the representation of the
  tree, and time-space tradeoffs by each member involving how many
  unblinded ancestor keys to store.

  The function g can be based on a cryptographic hash function such
  as MD5 [Riv92] or SHA-1 [Sha-1].  It is possible that the node
  keys do not need to be as large as the output size of the underlying
  function.  For example, MD5 has a sixteen-byte output, while DES
  keys are only seven bytes long.  The function g can be constructed
  from MD5 by discarding some of the output, as is done by S/KEY,
  so that the node keys (and thus the broadcasts) are smaller.

  The function f does not need to be one-way; it needs only to mix
  its inputs.  This fact suggests that f(x,y) = x XOR y is a fast,
  simple,  and effective choice (XOR denotes the bitwise exclusive-or
  function).
  


  
                              +----------@----------+
                              |                     |
                        +-----@-----+         +-----#-----+
                        |           |         |           |
                     +--#--+     +--@--+      *           *
                     |     |     |     |
                     *     *     #     @
                                       M
  
  
      Figure 1: An example of an OFT key tree.  The member at the
      leaf labeled M knows the keys of the nodes labeled @ (including
      the root key, which is used as the group key), and the blinded
      keys of the nodes labeled #.
  
  














Balenson, McGrew, Sherman     expires August 26, 1999         [Page 11]
INTERNET-DRAFT                                        February 26, 1999

  The representation of the tree and the formats of the messages
  from the group manager are important but routine engineering
  decisions.  For example, the tree could be represented as a record
  and pointer structure, or as a linear array.  Message formats
  for messages broadcast from the manager could explicitly include
  node number information to identify which parts of a message
  correspond to which subtrees, or such topological information
  could be implicit in the ordering of the message parts.

4.5 Comparisons with Other Leading Key-Establishment Methods

  In this section we briefly compare our OFT algorithm against the
  two leading competing algorithms for establishing keys in large
  dynamic groups:  the Logical Key Hierarchy (LKH) of Wallner,
  Harder, and Agee [Wal97], and the Single Key Distribution Center
  (SKDC).  As reviewed in Section 2, these two algorithms and OFT
  are the main choices available to system engineers who do not
  wish to trust network routers in large group applications.  OFT
  and LKH are appealing because their computation, broadcast, and
  memory requirements scale logarithmically with group size.
  Despite its linear complexity, SKDC is appealing for its simplicity.

  As suggested in an observation attributed to Radia Perlman, the
  add-member operation in LKH can be significantly improved by
  computing the new group communications key as the result of
  applying a one-way function to the current group communications
  key.  We shall refer to this refinement of LKH, which maintains
  perfect backward security, as LKH+.  Unfortunately, this refinement
  applies neither to the delete-member operation nor to the OFT
  algorithm -- in OFT, this refinement would violate the main system
  invariant.  Fortunately, in many applications, add-member is
  performed much more frequently than is evict-member.  Independently
  of Perlman, V.  Viswanathan [Vis96, pp. 25-26] also suggested a
  similar constant-time member-parallel idea.

4.5.1 Comparison Criteria

  The choice of which key-establishment algorithm should be used
  can be answered meaningfully only in the context of the requirements
  of particular applications.  To assist engineers in making their
  choices, we shall summarize some of the major properties of SDKC,
  LHK, LKH+, and OFT in terms of selected quantitative comparison
  criteria.  These criteria include total delay, number of bits
  broadcast, number of bits unicast, manager computation, maximum
  member computation, number of random bits generated, and manager
  and member memory requirements.  Each of these methods provides
  perfect forward security with the option of perfect backward
  security.

  The four leading candidate methods differ also in terms of required
  primitives, security semantics, central versus contributory
  flavor, and resynchronization capabilities (for dealing with
  group members who temporarily are unable to receive manager


Balenson, McGrew, Sherman     expires August 26, 1999         [Page 12]
INTERNET-DRAFT                                        February 26, 1999


  broadcasts).  For example, SDKC and LKH require encryption
  functions;  LKH+ and OFT require encryption functions and one-way
  functions.  Although none of the authors of any of these methods
  has provided a formal proof of security, some engineers may have
  greater confidence in the security of methods with simpler security
  semantics.  Listed in increasing complexity of security semantics,
  the methods are: SDKC, LKH, LKH+, OFT.  With regard to the source
  of entropy of random bits in common group communication keys,
  SDKC, LKH, and LKH+ may be viewed as member non-contributory
  methods because the group manager provides all of the entropy.
  By contrast, OFT can be used in either a member non-contributory
  or member-contributory fashion.  Most applications have a need
  to provide a resynchronization capability; some methods may
  provide some degree of passive member-synchronization.

  When asked why she based her LKH method on a keyed encryption
  function rather than on a faster keyless one-way function (as
  used in OFT), Wallner [private communication (11/19/97)] explained
  that her motivating application was a radio communication system.
  In this application, the available hardware supported a keyed
  encryption function but not a keyless one-way function.  Wallner
  also remarked (without connection to the choice of encryption
  function versus one-way function), that in her application, it
  was very important to conserve battery power.  Although these
  considerations were important to her application, other applications
  might have different requirements or available primitives; thus
  the rationale for Wallner's choices do not necessarily apply to
  other applications.

4.5.2 Quantitative Comparison of SKDC, LKH, LKH+, and OFT

  Tables 2 and 3 summarize the time, broadcast, and space requirements
  of each of the four leading candidate algorithms (SKDC, LKH,
  LKH+, and OFT).  Specifically, for each algorithm and for each
  of the initialize, add- member, evict-member operations, Table
  2 summarizes the total delay, number of bits broadcast, number
  of bits unicast, manager time, maximum member time, and number
  of random bits generated.  Table 3 summarizes the manager and
  member memory requirements.  For more details, see McGrew and
  Sherman [McG98].

4.5.3 Summary

  For moderate size groups, the simple SKDC may often be appealing.
  For very large groups, however, many applications will likely
  demand a method that scales logarithmically in total delay and
  member memory usage.  For such applications, especially if the
  add-member is more frequent than the evict-member operation, the
  LKH+ method looks very attractive for its constant-time add-member
  and relatively simple security semantics.  If for the application
  it is critical to minimize the number of bits broadcast or the
  number of random bits generated, or if a member-contributory
  method is needed, then OFT may be the method of choice.

Balenson, McGrew, Sherman     expires August 26, 1999         [Page 13]
INTERNET-DRAFT                                        February 26, 1999

  
    Initialization
     RESOURCE MEASURE               SKDC      LKH       LKH+       OFT   
     Total delay                    n         2n        2n         3n
     Number of bits broadcast       nK        2nK+h     2nK+h      2nK+h
     Number of bits unicast         0         0         0          0
     Manager computation            n         2n        2n         3n
     Max member computation         1         h         h          2h
     No. of random bits generated   K         2nK       2nK        nK
                                                                  
    Add member
     RESOURCE MEASURE               SKDC      LKH       LKH+       OFT   
     Total delay                    n         2h        1          3h
     Number of bits broadcast       nK        2hK+h     h          hK+h
     Number of bits unicast         0         0         K          hK
     Manager computation            n         2h        1          3h
     Max member computation         1         h         1          2h
     No. of random bits generated   K         hK        0          K
  
    Evict member
     RESOURCE MEASURE               SKDC      LKH       LKH+       OFT   
     Total delay                    n         2h        2h         3h
     Number of bits broadcast       nK+lg n   2hK+h     2hK+h      hK+h
     Number of bits unicast         0         0         0          0
     Manager computation            n         2h        2h         3h
     Max member computation         1         h         h          2h
     No. of random bits generated   K         hK        hK         K
  
      Table 2: Summary of time and communication usage of
      initialization, add-member, and evict-member with the SKDC,
      LKH, LKH+, and OFT key-establishment methods.  Here, n is
      the group size, K is the size of a key in bits, and h is the
      height of the key tree (h = lg n when the tree is balanced).
      Note that while LKH and LKH+ hve lower magnitudes of total
      delay, the units of time for OFT are typically much smaller
      because keyless one-way functions are much faster than are
      keyed-encryption functions.
  
  
    Memory Usage
     RESOURCE MEASURE               SKDC      LKH       LKH+       OFT   
     Manager storage                nK        2nK       2nK        2nK
     Max member storage             2K        hK        hK         hK        
          
      Table 3: Summary of manager and member memory usage in the
      SKDC, LKH, LKH+, and OFT Key-establishment methods.  Here,
      n is the group size, K is the size of a key in bits, and h
      is the height of the key tree (h = lg n when the tree is
      balanced).






Balenson, McGrew, Sherman     expires August 26, 1999         [Page 14]
INTERNET-DRAFT                                        February 26, 1999


5. Amortized Group Induction

  Before a group can establish an initial group communications key,
  the members must be inducted (enrolled) into the group.  For
  centralized key establishment methods including OFT, an important
  objective of this induction step is for each member to establish
  an individual base key known only to the member and the group
  manager. The induction process also ensures that each member has
  the necessary certificates to take advantage of the supporting
  authentication infrastructure.  The main computational goal of
  induction is to minimize its total delay.

  For each group member to establish a separate base key with the
  Group Manager, the simplest approach is for the manager to engage
  each member in a separate pairwise authenticated key exchange
  protocol, such as the Internet Key Exchange (IKE) protocol [Har98,
  Mau98, Orm].  Unfortunately, this simple approach scales linearly
  in group size.

  In this section we describe a new approach to group induction
  due to Sherman [She98] that amortizes the relatively high cost
  of a pairwise key exchange over multiple entries into groups.
  This amortization saves time when many users become members of
  two or more groups.  We call this new approach "amortized
  induction."  An IBM team [Blu97] independently discovered a
  similar idea in a network context.

5.1 Induction Model

  Assume there is a universe of N individuals from which G groups
  are formed, each group having at most n members.  Assume further
  that N is much smaller than Gn; that is, many individuals belong
  to several groups.  It is for this reasonable assumption that
  amortized induction offers significant savings.

  We assume that there is a system that administers multiple groups,
  each of whose group communications key is established by a
  key-establishment algorithm such as OFT.  Each participant may
  join one or more group.  Each group has a group manager, and
  there is a system manager who controls induction into the system.
  For simplicity we shall describe the induction process in terms
  of a single system manager, though the concept of system manager
  can be extended to a more general system management function
  which might be distributed.  For each group, each member must
  establish an individual base key known only to the member and
  the group manager.

  Amortized induction reduces the number of expensive pairwise key
  exchanges from Gn to N, which can be a significant savings.
  Amortized induction comes at the cost of Gn one-way function
  applications by the system manager, but these function evaluations
  are much faster than pairwise key exchanges. For example, a single


Balenson, McGrew, Sherman     expires August 26, 1999         [Page 15]
INTERNET-DRAFT                                        February 26, 1999


  application of the MD5 hash function is approximately 1000 times
  faster than a single ISAKMP/OAKLEY key exchange.


5.2 Induction Algorithm

  Whenever an individual first enters the system, the member
  establishes an individual system base key known only to the
  individual and the system manager.  For example, this step could
  be carried out using the ISAKMP/OAKLEY Key-Exchange Protocol.
  Thereafter, whenever the individual joins a group, the individual
  can establish an individual group base key with the group manager
  as a one-way function of the individual's system base key, the
  individual's name, and the group name.

  More specifically, let A be the group name.  For each member M,
  the group base key KA_M for M is computed as a one-way function
  F of M's system base key K_M, the name of M, and the group name.
  For example,

  KA_M  =  F( K_M, M, A ),                 (2)

  where F is a publicly known one-way function such as the hash
  function MD5.    The total member delay in this computation is
  constant.

  The function F must satisfy the following properties: it must be
  easy to compute given its three inputs, and it must be infeasible
  for anyone to compute the output given only the last two inputs
  (even under an adaptive chosen plaintext/ciphertext attack).

  Whenever a group manager is appointed, the group manager establishes
  a manager key k_A known only to the group manager and the system
  manager.  For added security this key establishment could be
  carried out using the same pairwise key-exchange protocol used
  in the induction process; alternatively, it would be possible to
  compute manager keys along the lines of Equation 2.

  Whenever members of a group need to be inducted, the system
  manager computes the group base keys and unicasts them to the
  group manager, encrypted under the manager key k_A.  The length
  of this unicast is linear in the group size. Note that, unlike
  the SKDC method, no group broadcast is required.  Members of
  different groups can be inducted in parallel.

5.3 An Example of Induction

  To illustrate the amortized induction process, consider a toy
  example in which there are three individuals Q, R, S and two
  groups A = {Q, R} and B = {S}.




Balenson, McGrew, Sherman     expires August 26, 1999         [Page 16]
INTERNET-DRAFT                                        February 26, 1999


  When Member Q is inducted into the system, he establishes a base
  system key K_Q known only to Q and the system manager.  Similarly,
  Members R and S establish base system keys K_R and K_S, respectively.
  At the appointment of Group Manager A, Manger A establishes a
  manager key k_A known only to Manager A and to the system manager.
  Similarly, Group Manager B shares a manager key k_B with the
  system manager.

  To induct members of Group A, the system manager computes the
  group base keys KA_Q, and KA_R for Members Q and R, respectively,
  and sends them to Manager A encrypted under manager key k_A.
  For example, KA_Q = f(K_Q, Q, A) and KA_R = f(K_R,R,A).  In
  parallel, Members Q and R each computes his own group base key.
  Members of Group B are similarly inducted.


6. Conclusion and Open Problems

  We have presented and analyzed a new practical hierarchical
  algorithm for establishing shared cryptographic keys for large,
  dynamically-changing groups.  Our algorithm is based on a novel
  application of One-way Function Trees (OFTs).

  Unlike all previously proposed solutions based on information
  theory, public-key cryptography, hybrid approaches, or a single
  key distribution center, our OFT algorithm has communication,
  computation, and storage requirements, which scale logarithmically
  with group size, for the add or evict operation.  Each of the
  aforementioned methods scale linearly or worse.

  In comparison with the only other proposed hierarchical method
  that does not depend on trusted routers - the Logical Key Hierarchy
  (LKH) [Wal97] - - our OFT algorithm reduces by half the number
  of bits broadcast by the manager per add or evict operation.
  The user time and space requirements of OFT and LKH are roughly
  comparable.  For many applications, including multicasts, minimizing
  broadcast size is especially important.

  An improvement to the LKH method which we call LKH+ (see Section
  4.5), however, offers a significant improvement to the add
  operation in LKH, reducing the cost of the add-member operation
  to one one-way function application, a unicast of one key, and
  no broadcast.  This improvement to LKH, together with LKH's
  relatively simple security semantics, makes LKH+ an attractive
  choice for many applications.

  The OFT method is a centralized algorithm with the option of
  member contributions to the entropy of the common communications
  key.  Its main advantages are that, in comparison with LKH+, it
  reduces by a factor of two the number of bits required to be
  broadcast for each evict-member operation.  Our preliminary
  security analysis of OFT [McG98] raises some interesting questions


Balenson, McGrew, Sherman     expires August 26, 1999         [Page 17]
INTERNET-DRAFT                                        February 26, 1999


  about the security of function iterates, and that of bottom-up
  one-way function trees.

  It is important to realize that there are significant fundamental
  limitations to achieving security in large groups -- one might
  even say that a secure large group is an oxymoron.  In most large
  groups, it is very likely that at least one member is unreliable,
  untrustworthy, malicious, or careless.  Each member knows the
  common communications key and the plaintext, which is the main
  commodity being protected.  Using multiple communications keys
  for different subgroups would not enhance security since each
  member would still have the plaintext.  Any member could disclose
  the plaintext.  Consequently, in large groups, it becomes especially
  important to detect traitors (e.g. through fingerprints and
  watermarks [Kur98, Sta97, Cho94]) and to limit the loss caused
  by disclosures (e.g. by rapid evictions and re-keying).
  Special-purpose, physically secure hardware may play a role in
  these objectives, by restricting access to communication keys,
  complicating effective use of compromised keys, and providing
  unique fingerprints.

  Our OFT algorithm offers a practical approach with low broadcast
  size to manage the demanding key establishment requirements of
  secure applications for large, dynamic groups.


7. Security Considerations

  This document proposes a new algorithm for securely establishing
  a shared, secret group communications key in a large, dynamic
  group.  Section 4.4 describes the security properties of this
  algorithm.

8. References

  [Bag97]  Bagnall, P., R. Briscoe, and A. Poppitt, "Taxonomy of
  communication requirements for large-scale multicast applications,"
  Internet Draft (work in progress), draft-ietf-lsma-requirements-01.txt,
  Internet Engineering Task Force (November 21, 1997).

  [Bal95]  Ballardie, Tony, and Jon Crowcroft, "Multicast-specific
  threats and counter-measures," Proceedings of the Internet Society
  1995 Symposium on Network and Distributed System Security, February
  16-17, 1995, San Diego, California, IEEE Computer Society (1995),
  2-14.

  [Bal96]  Ballardie, A., "Scalable multicast key distribution,"
  Request for Comments (RFC) 1949, Internet Engineering Task Force
  (May 1996), 18 pages.

  [Bal97]  Ballardie, A. "Core based tree (CBT) multicast routing
  architecture," Request for Comments (RFC) 2201, Internet Engineering
  Task Force (September 1997), 14 pages.

Balenson, McGrew, Sherman     expires August 26, 1999         [Page 18]
INTERNET-DRAFT                                        February 26, 1999


  [Bal98]  Balenson, David M., Dennis K. Branstad, David A. McGrew,
  and Alan T. Sherman, "Dynamic cryptographic context management

  (DCCM):  Report #1: Architecture and system design," TIS Report
  No. 0709, TIS Labs at Network Associates, Inc., Glenwood, MD
  (June 2, 1998). 121 pages.

  [Ber91]  Berkovitz, S., "How to broadcast a secret," Advances in
  Cryptology: Proceedings of Crypto 91, Feigenbaum, ed,. LNCS 576,
  Springer-Verlag (1991), 535-541.

  [Blo90]  Bloom, Joel, ed., X9.24-1990, "Financial services retail
  key management," ANSI X9A3 (March 1990). 84 pages.

  [Blu92]  Blundo, Carlo, Alfred de Santis, Amir Herzberg, Shay
  Kutten, Ugo Vaccaro, and Moti Yung, "Perfectly-secure key
  distribution for dynamic conferences," Advances in Cryptology:
  Proceedings of Crypto92, E. F. Brickell, ed., LNCS 740,
  Springer-Verlag (1992), 471-486.

  [Blu97]   Blumenthal, Uri, Nguyen C. Hien, and Bert Wijnen, "Key
  derivation for network management applications," IEEE Network
  (May/June 1997), 26-29.

  [Bur94]  Burmester, Mike, and Yvo Desmedt, "A secure and efficient
  conference key distribution system," Advances in Cryptology:
  Proceedings of Eurocrypt 94, A. De Santis, ed., LNCS 950,
  Springer-Verlag (1994), 275-286.

  [Bur97]   Burmester, Mike, and Yvo G. Desmedt, "Efficient and
  secure conference key distribution," Secure Protocols, M. Lomas,
  Ed., LNCS 1189, Springer-Verlag (1997), 119-130. [Revised and
  expanded version of the corresponding Eurocrypt 94 paper by the
  same authors.]

  [Can98]   Canetti, R. and B. Pinkas, "A taxonomy of multicast
  security issues," Internet Draft (work in progress),
  draft-canetti-secure- multicast-taxonomy-00.txt, Internet
  Engineering Task Force (May 1998).

  [Chi89]  Chiou, Guang-Huei, and Wen-Tsuen Chen, "Secure broadcasting
  using the secure lock," IEEE Transactions on Software Engineering,
  15:8 (August 1989), 929-934.

  [Cho94]   Chor, B., A. Fiat, and M. Naor, "Tracing traitors,"
  Advances in Cryptology: Proceedings of Crypto 94, Y. G. Desmedt,
  Ed., LNCS 839, Springer Verlag (1994), 257-270.

  [Dee89]  Deering, S., "Host Extensions for IP Multicasting,"
  Request for Comments (RFC) 1112, Internet Engineering Task Force
  (August 1989). 17 pages.



Balenson, McGrew, Sherman     expires August 26, 1999         [Page 19]
INTERNET-DRAFT                                        February 26, 1999


  [Dee98]  Deering, S., D. Estrin, D. Farinacci, M. Handley, A,
  Helmy, V.  Jacobson, C. Liu, P. Sharma, D. Thaler, and L. Wei,
  "Protocol independent multicast-sparse mode (PIM-SM): Motivation
  and architecture," Internet Draft (work in progress), draft-ietf-

  idmr-pim-arch-05.txt, Internet Engineering Task Force (August 4,
  1998). 26 pages.

  [Ell97]   Ellison, C. M., "SPKI Requirements" (February 1997).
  [For latest version, see http://www.clark.net/pub/cme/html/spki.html]

  [Fen97]   Fenner, W., "Internet group management protocol, version
  2," Request for Comments (RFC) 2236, Internet Engineering Task
  Force (November 1997). 24 pages.

  [Fia93]  Fiat, Amos, and Moni Naor, "Broadcast encryption,"
  Advances in Cryptology: Proceedings of Crypto93, D. R. Stinson,
  ed., LNCS 773, Springer-Verlag (1993), 481-491.

  [Gon89]  Gong, Li, and David J. Wheeler F. R. S., "A matrix key
  distribution scheme," Journal of Cryptology, 2:1 (1990), 51-59.

  [Gon94]  Gong, Li, and N. Shacham, "Elements of trusted multicasting,"
  Proceedings of the IEEE International Conference on Network
  Protocols, Boston, Massachusetts (October 1994).

  [Gon96]  Gong, Li, "Enclaves: Enabling secure collaboration over
  the internet," Proceedings of  the Sixth USENIX Unix and Network
  Security Symposium, San Jose, California (July 1996), 149-159.

  [Hard97]  Harding, Michael, David A. McGrew, and Alan T. Sherman,
  "A new key-management algorithm for large dynamic groups,"
  transparencies from talk given by Alan Sherman at NSA (November
  19, 1997). 8 pages.

  [Hark98a] Harkins, Dan, and Naganand Doraswamy, "A secure, scalable
  multicast key management protocol (MKMP)," Draft (work in progress),
  cisco Systems and Bay Networks (March 1998). 20 pages.

  [Hark98b] Karkins, D. and D. Carrel, "The Internet key exchange
  (IKE)," Internet Draft (work in progress), draft-ietf-ipsec-isakmp-
  oakley-08.txt, Internet Engineering Task Force (June 1998).

  [Harn97a] Harney, Hugh, Carl Muckenhirn, and Thomas Rivers, "Group
  key management protocol (GKMP) architecture," Request for Comments
  (RFC) 2094, Internet Engineering Task Force (July 1997).

  [Harn97b] Harney, Hugh, Carl Muckenhirn, and Thomas Rivers, "Group
  key management protocol (GKMP) specification," Request for Comments
  (RFC) 2093, Internet Engineering Task Force (July 1997).




Balenson, McGrew, Sherman     expires August 26, 1999         [Page 20]
INTERNET-DRAFT                                        February 26, 1999


  [Harn98]  Harney, Hugh, and Eric Harder, "Multicast security
  management protocol (MSMP): Requirements and policy," Draft (work
  in progress), SPARTA, Inc. (February 23, 1998).  25 pages.

  [Hay98]  Hayden, Mark Garland, "The Ensemble system," Ph.D.
  Dissertation, Department of Computer Science, Cornell University
  (January 1998).  106 pages.

  [Hor]    The Horus Project,
  http://simon.cs.cornell.edu/Info/Projects/HORUS/.

  [Jus94]  Just, Michael K., "Methods of multi-party cryptographic
  key establishment," MS Thesis, School of Computer Science, Carleton
  University (August 9, 1994). 77 pages.

  [Ken81]  Kent, Stephen T., "Security requirements and protocols
  for a broadcast scenario," IEEE Transactions on Communications
  (June 1981).

  [Keu96]  Keung, S., and L. Gong, "Enclaves in Java: APIs and
  implementations," Technical Report SRI-CSL-96-07, SRI International,
  Menlo Park, California  (July 1996).

  [Kru98]  Kruus, Peter, "A survey of multicast security issues
  and architectures," Proceedings 21st National Information Systems
  Security Conference, October 5-8, 1998, Arlington, VA, 408-420.

  [Kum95]   Kumar, Vinay, Mbone Interactive Multimedia on the
  Internet, New Riders Publishing (Indianapolis, IN, 1995).

  [Kur98]   Kurosawa, Kaoru, and Yvo Desmedt, "Optimum traitor
  tracing and asymmetric schemes with arbiter," Draft (work in
  progress), Spring 98). 13 pages.

  [Mau98]   Maughan, Douglas, Mark Schertler, Mark Schneider, and
  Jeff Turner, "Internet security association and key management
  protocol (ISAKMP)," Internet Draft (work in progress), draft-
  ietf-ipsec-isakmp-10.txt, Internet Engineering Task Force (July
  3, 1998).  86 pages.

  [Men97]  Menezes, Alfred J., Paul C. van Oorschot, and Scott A.
  Vanstone, Handbook of Applied Cryptography, CRC Press, Boca Raton,
  Florida (1997).

  [McG98]  McGrew, David A., and Alan T. Sherman, "Key establishment
  in large dynamic groups using one-way function trees," TIS Report
  No. 0755, TIS Labs at Network Associates, Inc., Glenwood, MD (May
  1998).  13 pages.

  [Mer79]  Merkle, Raph C., "Secrecy, authentication, and public-key
  cryptosystems," Technical Report No.  1979-1, Information Systems
  Laboratory, Stanford University, Palo Alto, CA (1979).


Balenson, McGrew, Sherman     expires August 26, 1999         [Page 21]
INTERNET-DRAFT                                        February 26, 1999


  [Mit97]  Mittra, Suvo, "Iolus: A framework for scalable secure
  multicasting," Proceedings of the ACM SIGCOMM '97, September 14-
  18, 1997, Cannes, France.  11 pages.

  [Nac94]  Naccache, David, David M'Raithi, Serge Vaudenay, and
  Dan Raphaeli, "Can D.S.A. be improved? Complexity trade-offs with
  the digital signature standard," Advances in Cryptology: Eurocrypt
  '94, Alfredo De Santis, Ed., LNCS 950, Springer-Verlag (1994),
  77-85.

  [Orm]   Orman, Hilarie K., "The OAKLEY key determination protocol,"
  Internet Draft (work in progress), draft-ietf-ipsec-oakley-
  02.txt, Internet Engineering Task Force. 48 pages.

  [Rei93]  Reiter, Michael, Kenneth Birman, and Robert van Renesse,
  "A security architecture for fault-tolerant systems," Technical
  Report TR93-1354, Department of Computer Science, Cornell University
  (June 1993). 29 pages.

  [Rei94]  Reiter, Michael K, "A secure group membership protocol,"
  Proceedings of the IEEE Computer Society Symposium on Research
  in Security and Privacy, Oakland, California, May 14-16, 1994,
  IEEE Press (1994).

  [Riv92]   Rivest, Ronald L., The MD5 Message-Digest Algorithm,
  Request for Comments (RFC) 1321, Internet Engineering Task Force
  (1992).

  [Riv96]  Rivest, Ronald L., and Butler Lampson, "SDSI: A simple
  distributed security infrastructure," Version 1.1 (October 2,
  1996).

  [Rod97]  Rodeh, Ohad, Ken Birman, and Mark Hayden, "Dynamic
  virtual private networks," Technical Report TR97-1654, Department
  of Computer Science, Cornell University (November 26, 1997).  16
  pages.

  [Sch96]  Schneier, Bruce, Applied Cryptography: Protocols,
  Algorithms, and Source Code in C, John Wiley & Sons (New York,
  1996).

  [Sha-1]   FIPS Publication 180-1, Secure hash standard, NIST,
  U.S.  Department of Commerce, Washington, D.C. (April 1995).

  [She98]  Sherman, Alan T., "A new amortized approach to group
  initialization: Refinements and analysis," TIS Report No. 0754,
  Trusted Information Systems, Inc. Glenwood, MD (March 26, 1998).
  12 pages.

  [Sta97]  Staddon, Jessica Nicola, "A combinatorial study of
  communication, storage and traceability in broadcast encryption



Balenson, McGrew, Sherman     expires August 26, 1999         [Page 22]
INTERNET-DRAFT                                        February 26, 1999


  systems," PhD Dissertation, Dept. of Mathematics, Univ. of
  California, Berkeley, CA (September 1997).  43 pages.

  [Ste96]  Steiner, Michael, Gene Tsudik, and Michael Waidner,
  "Diffie- Hellman key distribution extended to group communication,"
  Proceedings of the 3rd ACM Conference on Computer and Communications
  Security, March 14-16, 1996.  7 pages.

  [Ste97]  Steiner, M., G. Tsudik, and M. Waidner, "CLIQUES: A new
  approach to group key agreement," IBM Research Report RZ 2984 (#
  93030) (December 12, 1997). 17 pages.

  [Sti96]  Stinson, D. R., "On some methods for unconditionally
  secure distribution and broadcast encryption," unpublished document
  (November 21, 1996). 35 pages.

  [Vis96]   Viswanathan, Vaidhyanathan, "Unconditionally secure
  dynamic conference key distribution," MS Thesis, University of
  Wisconsin- Milwaukee (December 1996). 28 pages.

  [Wal97]  Wallner, Debby M., Eric J. Harder, and Ryan C. Agee,
  "Key management for multicast: Issues and architectures," Internet
  Draft (work in progress), draft-wallner-key-arch-01.txt, Internet
  Engineering Task Force (September 15, 1998). 18 pages.

  [Won97]  Wong, Chung Kei, Mohamed G. Gouda, and Simon S. Lam
  "Secure group communications using key graphs," Technical Report
  TR-97-23, Dept. of Computer Science, Univ. of Texas at Austin
  (July 28, 1997). 24 pages.
  
  
9. Acronyms and Abbreviations
  
  DCCM  Dynamic Cryptographic Context Management (a DARPA project [Bal98])
  DNS   Domain Name System
  GDH   Group Diffie-Hellman (a Group key exchange protocol)
  LKH   Logical Key Hierarchy
  LKH+  Logical Key Hierarchy, with improved constant-time add-member 
        operation
  MSMP  Multicast Security Management Protocol (an NSA/Sparta effort
        [Harn98])
  NAI   Network Associates, Inc.
  OFT   One-Way Function Tree
  SKDC  Single Key Distribution Center 
  SMG   Secure Multicast Group 
  TIS   Trusted Information Systems, Inc.
  XOR   Bit-wise exclusive-or
  






Balenson, McGrew, Sherman     expires August 26, 1999         [Page 23]
INTERNET-DRAFT                                        February 26, 1999

10. Authors' Addresses
  
  Note:  All correspondence relating to this document should be
  sent to David Balenson.
  
      David Balenson
      TIS Labs at Network Associates, Inc.
      3060 Washington Road (Rt. 97)
      Glenwood, MD 21738
      USA
  
      Phone:   +1 443 259 2358
      Fax:     +1 301 854 4731
      Email:   balenson@tislabs.com
      URL:     www.nai.com/products/security/tis_research/ 
               crypto/crypt_dccm.asp
  
  
      Dr. David A. McGrew
      Cisco Systems, Inc.
      170 West Tasman Drive
      San Jose, CA 95134-1706
      USA
  
      Phone:   +1 408 525 8651
      Fax:     +1 408 526 4952
      Email:   mcgrew@cisco.com
      URL:     www.cisco.com
  
  
      Dr. Alan T. Sherman
      Department of Computer Science and Electrical Engineering
      University of Maryland, Baltimore County (UMBC)
      1000 Hilltop Circle
      Baltimore, MD 21250
      USA
  
      Phone:   +1 410 455 2666
      Fax:     +1 410 455 3969
      Email:   sherman@umbc.edu
      URL:     www.csee.umbc.edu/~sherman
  
  
11. Acknowledgments

  This work was done as part of the Dynamic Cryptographic Context
  Management (DCCM) project at TIS Labs at Network Associates, Inc.
  (formerly the Advanced Research & Engineering (AR&E) Division of
  Trusted Information Systems (TIS)).  Support for the DCCM project
  was provided by the Defense Advanced Research Project Agency
  (DARPA) through Rome Laboratory under Contract No. F30602-97-C-0277.

  At the time of the work, David McGrew was a cryptography researcher


Balenson, McGrew, Sherman     expires August 26, 1999         [Page 24]
INTERNET-DRAFT                                        February 26, 1999


  and Alan Sherman was a contractor on sabbatical leave from The
  University of Maryland, Baltimore County (UMBC).  McGrew and
  Sherman designed and analyzed the OFT algorithm; Sherman devised
  the amortized induction procedure; and Balenson assisted with
  project management and final document preparation.  In October
  1998, McGrew became the head of the Cryptographic Software
  Development Group at cisco Systems.

  We would like to acknowledge contributions by several colleagues
  at TIS Labs.  We are very grateful to Michael V. Harding for
  significant contributions to the original algorithm and for
  discussing implementation strategies with us.  Dennis K. Branstad,
  Principal Investigator (former) of the DCCM Project, suggested
  the problem and provided constructive recommendations and technical
  guidance.   Thanks also to Jay Turner for helpful comments, and
  to Sharon Osuna and Caroline Scace for editorial suggestions.






































Balenson, McGrew, Sherman     expires August 26, 1999         [Page 25]