home *** CD-ROM | disk | FTP | other *** search
/ Internet Core Protocols / Oreilly-InternetCoreProtocols.iso / RFCs / rfc2627.txt < prev    next >
Encoding:
Text File  |  1999-10-14  |  59.1 KB  |  1,292 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                       D. Wallner
  8. Request for Comments: 2627                                   E. Harder
  9. Category: Informational                                        R. Agee
  10.                                               National Security Agency
  11.                                                              June 1999
  12.  
  13.  
  14.          Key Management for Multicast: Issues and Architectures
  15.  
  16. Status of this Memo
  17.  
  18.    This memo provides information for the Internet community.  It does
  19.    not specify an Internet standard of any kind.  Distribution of this
  20.    memo is unlimited.
  21.  
  22. Copyright Notice
  23.  
  24.    Copyright (C) The Internet Society (1999).  All Rights Reserved.
  25.  
  26. Abstract
  27.  
  28.    This report contains a discussion of the difficult problem of key
  29.    management for multicast communication sessions.  It focuses on two
  30.    main areas of concern with respect to key management, which are,
  31.    initializing the multicast group with a common net key and rekeying
  32.    the multicast group.  A rekey may be necessary upon the compromise of
  33.    a user or for other reasons (e.g., periodic rekey).  In particular,
  34.    this report identifies a technique which allows for secure compromise
  35.    recovery, while also being robust against collusion of excluded
  36.    users.  This is one important feature of multicast key management
  37.    which has not been addressed in detail by most other multicast key
  38.    management proposals [1,2,4].  The benefits of this proposed
  39.    technique are that it minimizes the number of transmissions required
  40.    to rekey the multicast group and it imposes minimal storage
  41.    requirements on the multicast group.
  42.  
  43. 1.0  MOTIVATION
  44.  
  45.    It is recognized that future networks will have requirements that
  46.    will strain the capabilities of current key management architectures.
  47.    One of these requirements will be the secure multicast requirement.
  48.    The need for high bandwidth, very dynamic secure multicast
  49.    communications is increasingly evident in a wide variety of
  50.    commercial, government, and Internet communities.  Specifically, the
  51.    secure multicast requirement is the necessity for multiple users who
  52.    share the same security attributes and communication requirements to
  53.    securely communicate with every other member of the multicast group
  54.    using a common multicast group net key.  The largest benefit of the
  55.  
  56.  
  57.  
  58. Wallner, et al.              Informational                      [Page 1]
  59.  
  60. RFC 2627             Key Management for Multicast              June 1999
  61.  
  62.  
  63.    multicast communication being that multiple receivers simultaneously
  64.    get the same transmission.  Thus the problem is enabling each user to
  65.    determine/obtain the same net key without permitting unauthorized
  66.    parties to do likewise (initializing the multicast group) and
  67.    securely rekeying the users of the multicast group when necessary.
  68.    At first glance, this may not appear to be any different than current
  69.    key management scenarios.  This paper will show, however, that future
  70.    multicast scenarios will have very divergent and dynamically changing
  71.    requirements which will make it very challenging from a key
  72.    management perspective to address.
  73.  
  74. 2.0  INTRODUCTION
  75.  
  76.    The networks of the future will be able to support gigabit bandwidths
  77.    for individual users, to large groups of users.  These users will
  78.    possess various quality of service options and multimedia
  79.    applications that include video, voice, and data, all on the same
  80.    network backbone.  The desire to create small groups of users all
  81.    interconnected and capable of communicating with each other, but who
  82.    are securely isolated from all other users on the network is being
  83.    expressed strongly by users in a variety of communities.
  84.  
  85.    The key management infrastructure must support bandwidths ranging
  86.    from kilobits/second to gigabits/second, handle a range of multicast
  87.    group sizes, and be flexible enough for example to handle such
  88.    communications environments as wireless and mobile technologies.  In
  89.    addition to these performance and communications requirements, the
  90.    security requirements of different scenarios are also wide ranging.
  91.    It is required that users can be added and removed securely and
  92.    efficiently, both individually and in bulk.  The system must be
  93.    resistant to compromise, insofar as users who have been dropped
  94.    should not be able to read any subsequent traffic, even if they share
  95.    their secret information.  The costs we seek to minimize are time
  96.    required for setup, storage space for each end user, and total number
  97.    of transmissions required for setup, rekey and maintenance.  It is
  98.    also envisioned that any proposed multicast security mechanisms will
  99.    be implemented no lower than any layer with the characteristics of
  100.    the network layer of the protocol stack.  Bandwidth efficiency for
  101.    any key management system must also be considered.  The trade-off
  102.    between security and performance of the entire multicast session
  103.    establishment will be discussed in further detail later in this
  104.    document.
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Wallner, et al.              Informational                      [Page 2]
  115.  
  116. RFC 2627             Key Management for Multicast              June 1999
  117.  
  118.  
  119.    The following section will explain several potential scenarios where
  120.    multicast capabilities may be needed, and quantify their requirements
  121.    from both a performance and security perspective.  It will be
  122.    followed in Section 4.0 by a list of factors one must consider when
  123.    designing a potential solution.  While there are several security
  124.    services that will be covered at some point in this document, much of
  125.    the focus of this document has been on the generation and
  126.    distribution of multicast group net keys.  It is assumed that all
  127.    potential multicast participants either through some manual or
  128.    automated, centralized or decentralized mechanism have received
  129.    initialization keying material (e.g. certificates).  This document
  130.    does not address the initialization key distribution issue.  Section
  131.    5 will then detail several potential multicast key management
  132.    architectures, manual (symmetric) and public key based (asymmetric),
  133.    and highlight their relative advantages and disadvantages (Note:The
  134.    list of advantages and disadvantages is by no means all inclusive.).
  135.    In particular, this section emphasizes our technique which allows for
  136.    secure compromise recovery.
  137.  
  138. 3.0  MULTICAST SCENARIOS
  139.  
  140.    There are a variety of potential scenarios that may stress the key
  141.    management infrastructure.  These scenarios include, but are not
  142.    limited to, wargaming, law enforcement, teleconferencing, command and
  143.    control conferencing, disaster relief, and distributed computing.
  144.    Potential performance and security requirements, particularly in
  145.    terms of multicast groups that may be formed by these users for each
  146.    scenario, consists of the potential multicast group sizes,
  147.    initialization requirements (how fast do users need to be brought
  148.    on-line), add/drop requirements (how fast a user needs to be added or
  149.    deleted from the multicast group subsequent to initialization), size
  150.    dynamics (the relative number of people joining/leaving these groups
  151.    per given unit of time), top level security requirements, and
  152.    miscellaneous special issues for each scenario.  While some scenarios
  153.    describe future secure multicast requirements, others have immediate
  154.    security needs.
  155.  
  156.    As examples, let us consider two scenarios, distributed gaming and
  157.    teleconferencing.
  158.  
  159.    Distributed gaming deals with the government's need to simulate a
  160.    conflict scenario for the purposes of training and evaluation.  In
  161.    addition to actual communications equipment being used, this concept
  162.    would include a massive interconnection of computer simulations
  163.    containing, for example, video conferencing and image processing.
  164.    Distributed gaming could be more demanding from a key management
  165.    perspective than an actual scenario for several reasons.  First, the
  166.    nodes of the simulation net may be dispersed throughout the country.
  167.  
  168.  
  169.  
  170. Wallner, et al.              Informational                      [Page 3]
  171.  
  172. RFC 2627             Key Management for Multicast              June 1999
  173.  
  174.  
  175.    Second, very large bandwidth communications, which enable the
  176.    possibility for real time simulation capabilities, will drive the
  177.    need to drop users in and out of the simulation quickly.  This is
  178.    potentially the most demanding scenario of any considered.
  179.  
  180.    This scenario may involve group sizes of potentially 1000 or more
  181.    participants, some of which may be collected in smaller subgroups.
  182.    These groups must be initialized very rapidly, for example, in a ten
  183.    second total initialization time.  This scenario is also very
  184.    demanding in that users may be required to be added or dropped from
  185.    the group within one second.  From a size dynamics perspective, we
  186.    estimate that approximately ten percent of the group members may
  187.    change over a one minute time period.  Data rate requirements are
  188.    broad, ranging from kilobits per second (simulating tactical users)
  189.    to gigabits per second (multicast video). The distributed gaming
  190.    scenario has a fairly thorough set of security requirements covering
  191.    access control, user to user authentication, data confidentiality,
  192.    and data integrity.  It also must be "robust" which implies the need
  193.    to handle noisy operating environments that are typical for some
  194.    tactical devices.  Finally, the notion of availability is applied to
  195.    this scenario which implies that the communications network supplying
  196.    the multicast capability must be up and functioning a specified
  197.    percentage of the time.
  198.  
  199.    The teleconference scenario may involve group sizes of potentially
  200.    1000 or more participants.  These groups may take up to minutes to be
  201.    initialized.  This scenario is less demanding in that users may be
  202.    required to be added or dropped from the group within seconds.  From
  203.    a size dynamics perspective, we estimate that approximately ten
  204.    percent of the group members may change over a period of minutes.
  205.    Data rate requirements are broad, ranging from kilobits per second to
  206.    100's of Mb per second.  The teleconference scenario also has a
  207.    fairly thorough set of security requirements covering access control,
  208.    user to user authentication, data confidentiality, data integrity,
  209.    and non-repudiation.  The notion of availability is also applicable
  210.    to this scenario.  The time frame for when this scenario must be
  211.    provided is now.
  212.  
  213. 4.0   ARCHITECTURAL ISSUES
  214.  
  215.    There are many factors that must be taken into account when
  216.    developing the desired key management architecture.  Important issues
  217.    for key management architectures include level (strength) of
  218.    security, cost, initializing the system, policy concerns, access
  219.    control procedures, performance requirements and support mechanisms.
  220.    In addition, issues particular to multicast groups include:
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Wallner, et al.              Informational                      [Page 4]
  227.  
  228. RFC 2627             Key Management for Multicast              June 1999
  229.  
  230.  
  231.       1. What are the security requirements of the group members? Most
  232.          likely there will be some group controller, or controllers.  Do
  233.          the other members possess the same security requirements as the
  234.          controller(s)?
  235.  
  236.       2. Interdomain issues - When crossing from one "group domain" to
  237.          another domain with a potentially different security policy,
  238.          which policy is enforced?  An example would be two users
  239.          wishing to communicate, but having different cryptoperiods
  240.          and/or key length policies.
  241.  
  242.       3. How does the formation of the multicast group occur?  Will the
  243.          group controller initiate the user joining process, or will the
  244.          users initiate when they join the formation of the multicast
  245.          group?
  246.  
  247.       4. How does one handle the case where certain group members have
  248.          inferior processing capabilities which could delay the
  249.          formation of the net key?  Do these users delay the formation
  250.          of the whole multicast group, or do they come on-line later
  251.          enabling the remaining participants to be brought up more
  252.          quickly?
  253.  
  254.       5. One must minimize the number of bits required for multicast
  255.          group net key distribution.  This greatly impacts bandwidth
  256.          limited equipments.
  257.  
  258.    All of these and other issues need to be taken into account, along
  259.    with the communication protocols that will be used which support the
  260.    desired multicast capability.  The next section addresses some of
  261.    these issues and presents some candidate architectures that could be
  262.    used to tackle the key management problem for multicasting.
  263.  
  264. 5.0  CANDIDATE ARCHITECTURES
  265.  
  266.    There are several basic functions that must be performed in order for
  267.    a secure multicast session to occur.  The order in which these
  268.    functions will be performed, and the efficiency of the overall
  269.    solution results from making trade-offs of the various factors listed
  270.    above.  Before looking at specific architectures, these basic
  271.    functions will be outlined, along with some definition of terms that
  272.    will be used in the representative architectures. These definitions
  273.    and functions are as follows:
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Wallner, et al.              Informational                      [Page 5]
  283.  
  284. RFC 2627             Key Management for Multicast              June 1999
  285.  
  286.  
  287.       1. Someone determines the need for a multicast session, sets the
  288.          security attributes for that particular session (e.g.,
  289.          classification levels of traffic, algorithms to be used, key
  290.          variable bit lengths, etc.), and creates the group access
  291.          control list which we will call the initial multicast group
  292.          participant list.  The entity which performs these functions
  293.          will be called the INITIATOR.  At this point, the multicast
  294.          group participant list is strictly a list of users who the
  295.          initiator wants to be in the multicast group.
  296.  
  297.       2. The initiator determines who will control the multicast group.
  298.          This controller will be called the ROOT (or equivalently the
  299.          SERVER). Often, the initiator will become the root, but the
  300.          possibility exists where this control may be passed off to
  301.          someone other than the initiator. (Some key management
  302.          architectures employ multiple roots, see [4].) The root's job
  303.          is to perform the addition and deletion of group participants,
  304.          perform user access control against the security attributes of
  305.          that session, and distribute the traffic encryption key for the
  306.          session which we will call the multicast group NET KEY.  After
  307.          initialization, the entity with the authority to accept or
  308.          reject the addition of future group participants, or delete
  309.          current group participants is called the LIST CONTROLLER.
  310.  
  311.          This may or may not be the initiator. The list controller has
  312.          been distinguished from the root for reasons which will become
  313.          clear later.  In short, it may be desirable for someone to have
  314.          the authority to accept or reject new members, while another
  315.          party (the root) would actually perform the function.
  316.  
  317.       3. Every participant in the multicast session will be referred to
  318.          as a GROUP PARTICIPANT.  Specific group participants other than
  319.          the root or list controller will be referred to as LEAVES.
  320.  
  321.       4. After the root checks the security attributes of the
  322.          participants listed on the multicast group participant list to
  323.          make sure that they all support the required security
  324.          attributes, the root will then pass the multicast group list to
  325.          all other participants and create and distribute the Net Key.
  326.          If a participant on the multicast group list did not meet the
  327.          required security attributes, the leaf must be deleted from the
  328.          list.
  329.  
  330.          Multiple issues can be raised with the distribution of the
  331.          multicast group list and Net Key.
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338. Wallner, et al.              Informational                      [Page 6]
  339.  
  340. RFC 2627             Key Management for Multicast              June 1999
  341.  
  342.  
  343.           a.  An issue exists with the time ordering of these functions.
  344.               The multicast group list could be distributed before or
  345.               after the link is secured (i.e. the Net Key is
  346.               distributed).
  347.  
  348.           b.  An issue exists when a leaf refuses to join the session.
  349.               If a leaf refuses to join a session, we can send out a
  350.               modified list before sending out the Net Key, however
  351.               sending out modified lists, potentially multiple times,
  352.               would be inefficient.  Instead, the root could continue
  353.               on, and would not send the Net Key to those participants
  354.               on the list who rejected the session.
  355.  
  356.           For the scenario architectures which follow, we assume the
  357.           multicast group list will be distributed to the group
  358.           participants once before the Net Key is distributed.  Unlike
  359.           the scheme described in [4], we recommend that the multicast
  360.           group participant list be provided to all leaves.  By
  361.           distributing this list to the leaves, it allows them to
  362.           determine upfront whether they desire to participate in the
  363.           multicast group or not, thus saving potentially unnecessary
  364.           key exchanges.
  365.  
  366.    Four potential key management architectures to distribute keying
  367.    material for multicast sessions are presented.  Recall that the
  368.    features that are highly desirable for the architecture to possess
  369.    include the time required to setup the multicast group should be
  370.    minimized, the number of transmissions should be minimized, and
  371.    memory/storage requirements should be minimized. As will be seen, the
  372.    first three proposals each fall short in a different aspect of these
  373.    desired qualities, whereas the fourth proposal appears to strike a
  374.    balance in the features desired.  Thus, the fourth proposal is the
  375.    one recommended for general implementation and use.
  376.  
  377.    Please note that these approaches also address securely eliminating
  378.    users from the multicast group, but don't specifically address adding
  379.    new users to the multicast group following initial setup because this
  380.    is viewed as evident as to how it would be performed.
  381.  
  382. 5.1  MANUAL KEY DISTRIBUTION
  383.  
  384.    Through manual key distribution, symmetric key is delivered without
  385.    the use of public key exchanges.  To set up a multicast group Net Key
  386.    utilizing manual key distribution would require a sequence of events
  387.    where Net Key and spare Net Keys would be ordered by the root of the
  388.    multicast session group. Alternate (supersession) Net Keys are
  389.    ordered (by the root) to be used in case of a compromise of a group
  390.    participant(s). The Net Keys would be distributed to each individual
  391.  
  392.  
  393.  
  394. Wallner, et al.              Informational                      [Page 7]
  395.  
  396. RFC 2627             Key Management for Multicast              June 1999
  397.  
  398.  
  399.    group participant, often through some centralized physical
  400.    intermediate location. At some predetermined time, all group
  401.    participants would switch to the new Net Key.  Group participants use
  402.    this Net Key until a predetermined time when they need another new
  403.    Net Key. If the Net Key is compromised during this time, the
  404.    alternate Net Key is used. Group participants switch to the alternate
  405.    Net Key as soon as they receive it, or upon notification from the
  406.    root that everyone has the new Net Key and thus the switch over
  407.    should take place. This procedure is repeated for each cryptoperiod.
  408.  
  409.    A scheme like this may be attractive because the methods exist today
  410.    and are understood by users.  Unfortunately, this type of scheme can
  411.    be time consuming to set up the multicast group based on time
  412.    necessary to order keying material and having it delivered.  For most
  413.    real time scenarios, this method is much too slow.
  414.  
  415. 5.2  N Root/Leaf Pairwise Keys Approach
  416.  
  417.    This approach is a brute force method to provide a common multicast
  418.    group Net Key to the group participants. In this scheme, the
  419.    initiator sets the security attributes for a particular session,
  420.    generates a list of desired group participants and transmits the list
  421.    to all group participants.  The leaves then respond with an initial
  422.    acceptance or rejection of participation.  By sending the list up
  423.    front, time can be saved by not performing key exchanges with people
  424.    who rejected participation in the session.  The root (who for this
  425.    and future examples is assumed to be the initiator) generates a
  426.    pairwise key with one of the participants (leaves) in the multicast
  427.    group using some standard public key exchange technique (e.g., a
  428.    Diffie-Hellman public key exchange.)  The root will then provide the
  429.    security association parameters of the multicast (which may be
  430.    different from the parameters of the initial pairwise key) to this
  431.    first leaf.  Parameters may include items such as classification and
  432.    policy.  Some negotiation (through the use of a Security Association
  433.    Management Protocol, or SAMP) of the parameters may be necessary.
  434.    The possibility exists for the leaf to reject the connection to the
  435.    multicast group based on the above parameters and  multicast group
  436.    list.  If the leaf rejects this session, the root will repeat this
  437.    process with another leaf.
  438.  
  439.    Once a leaf accepts participation in the multicast session, these two
  440.    then choose a Net Key to be used by the multicast group.  The Net Key
  441.    could be generated through another public key exchange between the
  442.    two entities, or simply chosen by the root, depending upon the policy
  443.    which is in place for the multicast group ( i.e. this policy decision
  444.    will not be a real time choice).  The issue here is the level of
  445.    trust that the leaf has in the root.  If the initial pairwise key
  446.    exchange provides some level of user authentication, then it seems
  447.  
  448.  
  449.  
  450. Wallner, et al.              Informational                      [Page 8]
  451.  
  452. RFC 2627             Key Management for Multicast              June 1999
  453.  
  454.  
  455.    adequate to just have the root select the Net Key at this stage.
  456.    Another issue is the level of trust in the strength of the security
  457.    of the generated key.  Through a cooperative process, both entities
  458.    (leaf and root) will be providing information to be used in the
  459.    formation of the Net Key.
  460.  
  461.    The root then performs a pairwise key exchange with another leaf and
  462.    optionally performs the negotiation discussed earlier.  Upon
  463.    acceptance by the leaf to join the multicast group, the root sends
  464.    the leaf the Net Key.
  465.  
  466.    This pairwise key exchange and Net Key distribution continues for all
  467.    N users of the multicast group.
  468.  
  469.    Root/leaves cache pairwise keys for future use.  These keys serve as
  470.    Key Encryption Keys (KEKs) used for rekeying leaves in the net at a
  471.    later time.  Only the root will cache all of the leaves' pairwise
  472.    keys.  Each individual leaf will cache only its own unique pairwise
  473.    Key Encryption Key.
  474.  
  475.    There are two cases to consider when caching the KEKs.  The first
  476.    case is when the Net key and KEK are per session keys. In this case,
  477.    if one wants to exclude a group participant from the multicast
  478.    session (and rekey the remaining participants with a new Net Key),
  479.    the root would distribute a new Net key encrypted with each
  480.    individual KEK to every legitimate remaining participant.  These KEKs
  481.    are deleted once the multicast session is completed.
  482.  
  483.    The second case to consider is when the KEKs are valid for more than
  484.    one session.  In this case, the Net Key may also be valid for
  485.    multiple sessions, or the Net Key may still only be valid for one
  486.    session as in the above case.  Whether the Net Key is valid for one
  487.    session or more than one session, the KEK will be cached.  If the Net
  488.    Key is only valid per session, the KEKs will be used to encrypt new
  489.    Net Keys for subsequent multicast sessions.  The deleting of group
  490.    participants occurs as in the previous case described above,
  491.    regardless of whether the Net Key is per session or to be used for
  492.    multiple sessions.
  493.  
  494.    A scheme like this may be attractive to a user because it is a
  495.    straightforward extension of certifiable public key exchange
  496.    techniques. It may also be attractive because it does not involve
  497.    third parties.  Only the participants who are part of the multicast
  498.    session participate in the keying mechanism.  What makes this scheme
  499.    so undesirable is that it will be transmission intensive as we scale
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506. Wallner, et al.              Informational                      [Page 9]
  507.  
  508. RFC 2627             Key Management for Multicast              June 1999
  509.  
  510.  
  511.    up in numbers, even for the most computationally efficient
  512.    participants, not to mention those with less capable hardware
  513.    (tactical, wireless, etc.).  Every time the need arises to drop an
  514.    "unauthorized" participant, a new Net Key must be distributed.
  515.  
  516.    This distribution requires a transmission from the Root to each
  517.    remaining participant, whereby the new Net Key will be encrypted
  518.    under the cover of each participant's unique pairwise Key Encryption
  519.    Key (KEK).
  520.  
  521.    Note: This approach is essentially the same as one proposal to the
  522.    Internet Engineering Task Force (IETF) Security Subworking Group [Ref
  523.    1,2].
  524.  
  525.    Also note that there exist multiple twists to an approach like this.
  526.    For example, instead of having the root do all N key exchanges, the
  527.    root could pass some of this functionality (and control) to a number
  528.    of leaves beneath him.  For example, the multicast group list could
  529.    be split in half and the root tells one leaf to take half of the
  530.    users and perform a key exchange with them (and then distribute the
  531.    Net key) while the root will take care of the other half of the list.
  532.    (The chosen leaves are thus functioning as a root and we can call
  533.    them "subroots."  These subroots will have leaves beneath them, and
  534.    the subroots will maintain the KEK of each leaf beneath it.)  This
  535.    scales better than original approach as N becomes large.
  536.    Specifically, it will require less time to set up (or rekey) the
  537.    multicast net because the singular responsibility of performing
  538.    pairwise key exchanges and distributing Net Key will be shared among
  539.    multiple group participants and can be performed in parallel, as
  540.    opposed to the root only distributing the Net Key to all of the
  541.    participants.
  542.  
  543.    This scheme is not without its own security concerns.  This scheme
  544.    pushes trust down to each subgroup controller - the root assumes that
  545.    these "subroot" controllers are acting in a trustworthy way.  Every
  546.    control element (root and subroots) must remain in the system
  547.    throughout the multicast.  This effectively makes removing someone
  548.    from the net (especially the subroots) harder and slower due to the
  549.    distributed control.  When removing a participant from the multicast
  550.    group which has functioned on behalf of the root, as a subroot, to
  551.    distribute Net Key, additional steps will be necessary.  A new
  552.    subroot must be delegated by the root to replace the removed subroot.
  553.    A key exchange (to generate a new pairwise KEK) must occur between
  554.    the new subroot and each leaf the removed subroot was responsible
  555.    for.  A new Net Key will now be distributed from the root, to the
  556.    subroots, and to the leaves.  Note that this last step would have
  557.    been the only step required if the removed party was a leaf with no
  558.    controlling responsibilities.
  559.  
  560.  
  561.  
  562. Wallner, et al.              Informational                     [Page 10]
  563.  
  564. RFC 2627             Key Management for Multicast              June 1999
  565.  
  566.  
  567. 5.3   COMPLEMENTARY VARIABLE APPROACH
  568.  
  569.    Let us suppose we have N leaves.  The Root performs a public key
  570.    exchange with each leaf i (i= 1,2, ..., N).  The Root will cache each
  571.    pairwise KEK. Each leaf stores their own KEK.  The root would provide
  572.    the multicast group list of participants and attributes to all users.
  573.    Participants would accept or reject participation in the multicast
  574.    session as described in previous sections.  The root encrypts the Net
  575.    Key for the Multicast group to each leaf, using their own unique
  576.    KEK(i).  (The Root either generated this Net Key himself, or
  577.    cooperatively generated with one of the leaves as was discussed
  578.    earlier).  In addition to the encrypted Net Key, the root will also
  579.    encrypt something called complementary variables and send them to the
  580.    leaves.
  581.  
  582.    A leaf will NOT receive his own complementary variable, but he will
  583.    receive the other N-1 leaf complementary variables.  The root sends
  584.    the Net Key and complementary variables j, where j=1,2,...,N and j
  585.    not equal to i, encrypted by KEK(i) to each leaf. Thus, every leaf
  586.    receives and stores N variables which are the Net key, and N-1
  587.    complementary variables.
  588.  
  589.    Thus to cut a user from the multicast group and get the remaining
  590.    participants back up again on a new Net Key would involve the
  591.    following. Basically, to cut leaf number 20 out of the net, one
  592.    message is sent out that says "cut leaf 20 from the net." All of the
  593.    other leaves (and Root) generate a new Net Key based on the current
  594.    Net Key and Complementary variable 20.  [Thus some type of
  595.    deterministic key variable generation process will be necessary for
  596.    all participants of the multicast group]. This newly generated
  597.    variable will be used as the new Net Key by all remaining
  598.    participants of the multicast group.  Everyone except leaf 20 is able
  599.    to generate the new Net Key, because they have complementary variable
  600.    20, but leaf 20 does not.
  601.  
  602.    A scheme like this seems very desirable from the viewpoint of
  603.    transmission savings since a rekey message encrypted with each
  604.    individual KEK to every leaf does not have to be sent to delete
  605.    someone from the net.  In other words, there will be one plaintext
  606.    message to the multicast group versus N encrypted rekey messages.
  607.    There exists two major drawbacks with this scheme.  First are the
  608.    storage requirements necessary for the (N-1) complementary variables.
  609.    Secondly, when deleting multiple users from the multicast group,
  610.    collusion will be a concern.  What this means is that these deleted
  611.    users could work together and share their individual complementary
  612.    variables to regain access to the multicast session.
  613.  
  614.  
  615.  
  616.  
  617.  
  618. Wallner, et al.              Informational                     [Page 11]
  619.  
  620. RFC 2627             Key Management for Multicast              June 1999
  621.  
  622.  
  623. 5.4  HIERARCHICAL TREE APPROACH
  624.  
  625.    The Hierarchical Tree Approach is our recommended approach to address
  626.    the multicast key management problem.  This approach provides for the
  627.    following requisite features:
  628.  
  629.       1. Provides for the secure removal of a compromised user from the
  630.          multicast group
  631.  
  632.       2. Provides for transmission efficiency
  633.  
  634.       3. Provides for storage efficiency
  635.  
  636.    This approach balances the costs of time, storage and number of
  637.    required message transmissions, using a hierarchical system of
  638.    auxiliary keys to facilitate distribution of new Net Key. The result
  639.    is that the storage requirement for each user and the transmissions
  640.    required for key replacement are both logarithmic in the number of
  641.    users, with no background transmissions required. This approach is
  642.    robust against collusion of excluded users. Moreover, while the
  643.    scheme is hierarchical in nature, no infrastructure is needed beyond
  644.    a server (e.g., a root), though the presence of such elements could
  645.    be used to advantage (See Figure 1).
  646.  
  647.                         --------------------------
  648.                        |                          |
  649.                        |        S E R V E R       |
  650.                        |                          |
  651.                         --------------------------
  652.                         |    |                   |
  653.                         |    |     .  .  .  .    |
  654.                         -    -                   -
  655.                        |1|  |2|                 |n|
  656.                         -    -                   -
  657.  
  658.  
  659.                   Figure 1: Assumed Communication Architecture
  660.  
  661.    The scheme, advantages and disadvantages are enumerated in more
  662.    detail below.  Consider Figure 2 below.  This figure illustrates the
  663.    logical key distribution architecture, where keys exist only at the
  664.    server and at the users.  Thus, the server in this architecture would
  665.    hold Keys A through O, and the KEKs of each user.  User 11 in this
  666.    architecture would hold its own unique KEK, and Keys F, K, N, and O.
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674. Wallner, et al.              Informational                     [Page 12]
  675.  
  676. RFC 2627             Key Management for Multicast              June 1999
  677.  
  678.  
  679.   net key                         Key O
  680.                    -------------------------------------
  681.   intermediate    |                                     |
  682.   keys            |                                     |
  683.               Key M                                 Key N
  684.         -----------------                   --------------------
  685.        |                 |                 |                    |
  686.        |                 |                 |                    |
  687.      Key I             Key J             Key K               Key L
  688.    --------          --------         ---------           ----------
  689.   |        |        |        |       |         |         |          |
  690.   |        |        |        |       |         |         |          |
  691.  Key A   Key B   Key C    Key D    Key E     Key F     Key G     Key H
  692.   ---     ---     ---      ---      ---       ----      ----      ----
  693.  |   |   |   |   |   |    |   |    |   |     |    |    |    |    |    |
  694.  -   -   -   -   -   -    -   -   -   --    --   --   --   --   --   --
  695. |1| |2| |3| |4| |5| |6|  |7| |8| |9| |10|  |11| |12| |13| |14| |15| |16|
  696.  -   -   -   -   -   -    -   -   -   --    --   --   --   --   --   --
  697.                                users
  698.  
  699.  
  700.  
  701.                Figure 2: Logical Key Distribution Architecture
  702.  
  703.    We now describe the organization of the key hierarchy and the setup
  704.    process.  It will be clear from the description how to add users
  705.    after the hierarchy is in place; we will also describe the removal of
  706.    a user.  Note: The passing of the multicast group list and any
  707.    negotiation protocols is not included in this discussion for
  708.    simplicity purposes.
  709.  
  710.    We construct a rooted tree (from the bottom up) with one leaf
  711.    corresponding to each user, as in Figure 2. (Though we have drawn a
  712.    balanced binary tree for convenience, there is no need for the tree
  713.    to be either balanced or binary - some preliminary analysis on tree
  714.    shaping has been performed.) Each user establishes a unique pairwise
  715.    key with the server. For users with transmission capability, this can
  716.    be done using the public key exchange protocol. The situation is more
  717.    complicated for receive-only users; it is easiest to assume these
  718.    users have pre-placed key.
  719.  
  720.    Once each user has a pairwise key known to the server, the server
  721.    generates (according to the security policy in place for that
  722.    session) a key for each remaining node in the tree.  The keys
  723.    themselves should be generated by a robust process.  We will also
  724.    assume users have no information about keys they don't need.  (Note:
  725.    There are no users at these remaining nodes, (i.e., they are logical
  726.    nodes) and the key for each node need only be generated by the server
  727.  
  728.  
  729.  
  730. Wallner, et al.              Informational                     [Page 13]
  731.  
  732. RFC 2627             Key Management for Multicast              June 1999
  733.  
  734.  
  735.    via secure means.)  Starting with those nodes all of whose children
  736.    are leaves and proceeding towards the root, the server transmits the
  737.    key for each node, encrypted using the keys for each of that node's
  738.    children.  At the end of the process, each user can determine the
  739.    keys corresponding to those nodes above her leaf.  In particular, all
  740.    users hold the root key, which serves as the common Net Key for the
  741.    group.  The storage requirement for a user at depth d is d+1 keys
  742.    (Thus for the example in Figure 2, a user at depth d=4 would hold
  743.    five keys.  That is, the unique Key Encryption Key generated as a
  744.    result of the pairwise key exchange, three intermediate node keys -
  745.    each separately encrypted and transmitted, and the common Net Key for
  746.    the multicast group which is also separately encrypted.)
  747.  
  748.    It is also possible to transmit all of the intermediate node keys and
  749.    root node key in one message, where the node keys would all be
  750.    encrypted with the unique pairwise key of the individual leaf.  In
  751.    this manner, only one transmission (of a larger message) is required
  752.    per user to receive all of the node keys (as compared to d
  753.    transmissions).  It is noted for this method, that the leaf would
  754.    require some means to determine which key corresponds to which node
  755.    level.
  756.  
  757.    It is important to note that this approach requires additional
  758.    processing capabilities at the server where other alternative
  759.    approaches may not.  In the worst case, a server will be responsible
  760.    for generating the intermediate keys required in the architecture.
  761.  
  762. 5.4.1 The Exclusion Principle
  763.  
  764.    Suppose that User 11 (marked on Figure 2 in black) needs to be
  765.    deleted from the multicast group. Then all of the keys held by User
  766.    11 (bolded Keys F, K, N, O) must be changed and distributed to the
  767.    users who need them, without permitting User 11 or anyone else from
  768.    obtaining them. To do this, we must replace the bolded keys held by
  769.    User 11, proceeding from the bottom up.  The server chooses a new key
  770.    for the lowest node, then transmits it encrypted with the appropriate
  771.    daughter keys (These transmissions are represented by the dotted
  772.    lines).  Thus for this example, the first key replaced is Key F, and
  773.    this new key will be sent encrypted with User 12's unique pairwise
  774.    key.
  775.  
  776.    Since we are proceeding from the bottom up, each of the replacement
  777.    keys will have been replaced before it is used to encrypt another
  778.    key. (Thus, for the replacement of Key K, this new key will be sent
  779.    encrypted in the newly replaced Key F (for User 12) and will also be
  780.    sent as one multicast transmission encrypted in the node key shared
  781.    by Users 9 and 10 (Key E). For the replacement of Key N, this new key
  782.    will be sent encrypted in the newly replaced Key K (for Users 9, 10,
  783.  
  784.  
  785.  
  786. Wallner, et al.              Informational                     [Page 14]
  787.  
  788. RFC 2627             Key Management for Multicast              June 1999
  789.  
  790.  
  791.    and 12) and will also be encrypted in the node key shared by Users
  792.    13, 14, 15, and 16 (Key L).  For the replacement of Key O, this new
  793.    key will be sent encrypted in the newly replaced Key N (for Users 9,
  794.    10, 12, 13, 14, 15, and 16) and will also be encrypted in the node
  795.    key shared by Users 1, 2 , 3, 4, 5, 6, 7, and 8 (Key M).)  The number
  796.    of transmissions required is the sum of the degrees of the replaced
  797.    nodes. In a k-ary tree in which a sits at depth d, this comes to at
  798.    most kd-1 transmissions.  Thus in this example, seven transmissions
  799.    will be required to exclude User 11 from the multicast group and to
  800.    get the other 15 users back onto a new multicast group Net Key that
  801.    User 11 does not have access to.  It is easy to see that the system
  802.    is robust against collusion, in that no set of users together can
  803.    read any message unless one of them could have read it individually.
  804.  
  805.    If the same strategy is taken as in the previous section to send
  806.    multiple keys in one message, the number of transmissions required
  807.    can be reduced even further to four transmissions.  Note once again
  808.    that the messages will be larger in the number of bits being
  809.    transmitted.  Additionally, there must exist a means for each leaf to
  810.    determine which key in the message corresponds to which node of the
  811.    hierarchy.  Thus, in this example, for the replacement of keys F, K,
  812.    N, and O to User 12, the four keys will be encrypted in one message
  813.    under User 12's unique pairwise key.  To replace keys K, N, and O for
  814.    Users 9 and 10, the three keys will be encrypted in one message under
  815.    the node key shared by Users 9 and 10 (Key E).  To replace keys N and
  816.    O for Users  13, 14, 15, 16, the two keys will be encrypted in one
  817.    message under the node key shared by Users 13, 14, 15, and 16 (Key
  818.    L). Finally, to replace key O for Users 1, 2 , 3, 4, 5, 6, 7, and 8,
  819.    key O will be encrypted under the node key shared by Users 1, 2 , 3,
  820.    4, 5, 6, 7, and 8 (Key M).  Thus the number of transmission required
  821.    is at most (k-1)d.
  822.  
  823.    The following table demonstrates the removal of a user, and how the
  824.    storage and transmission requirements grow with the number of users.
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842. Wallner, et al.              Informational                     [Page 15]
  843.  
  844. RFC 2627             Key Management for Multicast              June 1999
  845.  
  846.  
  847. Table 1: Storage and Transmission Costs
  848.  
  849. Number    Degree   Storage per user  Transmissions to    Transmissions
  850. of users   (k)        (d+1)          rekey remaining     to rekey
  851.                                      participants of     remaining
  852.                                      multicast group-    participants of
  853.                                      one key per message multicast
  854.                                          (kd-1)          group -
  855.                                                          multiple keys
  856.                                                          per message
  857.                                                             (k-1)d
  858.      8       2            4                 5                 3
  859.      9       3            3                 5                 4
  860.     16       2            5                 7                 4
  861.   2048       2           12                21                11
  862.   2187       3            8                20                14
  863. 131072       2           18                33                17
  864. 177147       3           12                32                22
  865.  
  866. The benefits of a scheme such as this are:
  867.  
  868.       1. The costs of user storage and rekey transmissions are balanced
  869.          and scalable as the number of users increases.  This is not the
  870.          case for [1], [2], or [4].
  871.  
  872.       2. The auxiliary keys can be used to transmit not only other keys,
  873.          but also messages. Thus the hierarchy can be designed to place
  874.          subgroups that wish to communicate securely (i.e. without
  875.          transmitting to the rest of the large multicast group) under
  876.          particular nodes, eliminating the need for maintenance of
  877.          separate Net Keys for these subgroups. This works best if the
  878.          users operate in a hierarchy to begin with (e.g., military
  879.          operations), which can be reflected by the key hierarchy.
  880.  
  881.       3. The hierarchy can be designed to reflect network architecture,
  882.          increasing efficiency (each user receives fewer irrelevant
  883.          messages). Also, server responsibilities can be divided up
  884.          among subroots (all of which must be secure).
  885.  
  886.       4. The security risk associated with receive-only users can be
  887.          minimized by collecting such users in a particular area of the
  888.          tree.
  889.  
  890.       5. This approach is resistant to collusion among arbitrarily many
  891.          users.
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898. Wallner, et al.              Informational                     [Page 16]
  899.  
  900. RFC 2627             Key Management for Multicast              June 1999
  901.  
  902.  
  903.    As noted earlier, in the rekeying process after one user is
  904.    compromised, in the case of one key per message, each replaced key
  905.    must be decrypted successfully before the next key can be replaced
  906.    (unless users can cache the rekey messages).  This bottleneck could
  907.    be a problem on a noisy or slow network. (If multiple users are being
  908.    removed, this can be parallelized, so the expected time to rekey is
  909.    roughly independent of the number of users removed.)
  910.  
  911.    By increasing the valences and decreasing the depth of the tree, one
  912.    can reduce the storage requirements for users at the price of
  913.    increased transmissions.  For example, in the one key per message
  914.    case, if n users are arranged in a k-ary tree, each user will need
  915.    storage. Rekeying after one user is removed now requires
  916.    transmissions.  As k approaches n, this approaches the pairwise key
  917.    scheme described earlier in the paper.
  918.  
  919. 5.4.2 Hierarchical Tree Approach Options
  920.  
  921. 5.4.2.1  Distributed Hierarchical Tree Approach
  922.  
  923.    The Hierarchical Tree Approach outlined in this section could be
  924.    distributed as indicated in Section 5.2 to more closely resemble the
  925.    proposal put forth in [4].  Subroots could exist at each of the nodes
  926.    to handle any joining or rekeying that is necessary for any of the
  927.    subordinate users.  This could be particularly attractive to users
  928.    which do not have a direct connection back to the Root.  Recall as
  929.    indicated in Section 5.2, that the trust placed in these subroots to
  930.    act with the authority and security of a Root, is a potentially
  931.    dangerous proposition.  This thought is also echoed in [4].
  932.  
  933.    Some practical recommendations that might be made for these subroots
  934.    include the following.  The subroots should not be allowed to change
  935.    the multicast group participant list that has been provided to them
  936.    from the Root.  One method to accomplish this, would be for the Root
  937.    to sign the list before providing it to the subroots.  Authorized
  938.    subroots could though be allowed to set up new multicast groups for
  939.    users below them in the hierarchy.
  940.  
  941.    It is important to note that although this distribution may appear to
  942.    provide some benefits with respect to the time required to initialize
  943.    the multicast group (as compared to the time required to initialize
  944.    the group as described in Section 5.4) and for periodic rekeying, it
  945.    does not appear to provide any benefit in rekeying the multicast
  946.    group when a user has been compromised.
  947.  
  948.    It is also noted that whatever the key management scheme is
  949.    (hierarchical tree, distributed hierarchical tree, core based tree,
  950.    GKMP, etc.), there will be a "hit" incurred to initialize the
  951.  
  952.  
  953.  
  954. Wallner, et al.              Informational                     [Page 17]
  955.  
  956. RFC 2627             Key Management for Multicast              June 1999
  957.  
  958.  
  959.    multicast group with the first multicast group net key.  Thus, the
  960.    hierarchical tree approach does not suffer from additional complexity
  961.    with comparison to the other schemes with respect to initialization.
  962.  
  963. 5.4.2.2  Multicast Group Formation
  964.  
  965.    Although this paper has presented the formation of the multicast
  966.    group as being Root initiated, the hierarchical approach is
  967.    consistent with user initiated joining.  User initiated joining is
  968.    the method of multicast group formation presented in [4].  User
  969.    initiated joining may be desirable when some core subset of users in
  970.    the multicast group need to be brought up on-line and communicating
  971.    more quickly.  Other participants in the multicast group can then be
  972.    brought in when they wish.  In this type of approach though, there
  973.    does not exist a finite period of time by when it can be ensured all
  974.    participants will be a part of the multicast group.
  975.  
  976.    For example, in the case of a single root, the hierarchy is set up
  977.    once, in the beginnning, by the initiator (also usually the root) who
  978.    also generates the group participant list. The group of keys for each
  979.    participant can then be individually requested (pulled) as soon as,
  980.    but not until, each participant wishes to join the session.
  981.  
  982. 5.4.2.3  Sender Specific Authentication
  983.  
  984.    In the multicast environment, the possibility exists that
  985.    participants of the group at times may want to uniquely identify
  986.    which participant is the sender of a multicast group message.  In the
  987.    multicast key distribution system described by Ballardie [4], the
  988.    notion of "sender specific keys" is presented.
  989.  
  990.    Another option to allow participants of a multicast group to uniquely
  991.    determine the sender of a message is through the use of a signature
  992.    process.  When a member of the multicast group signs a message with
  993.    their own private signature key, the recipients of that signed
  994.    message in the multicast group can use the sender's public
  995.    verification key to determine if indeed the message is from who it is
  996.    claimed to be from.
  997.  
  998.    Another related idea to this is the case when two users of a
  999.    multicast group want to communicate strictly with each other, and
  1000.    want no one else to listen in on the communication.  If this
  1001.    communication relationship is known when the multicast group is
  1002.    originally set up, then these two participants could simply be placed
  1003.    adjacent to one another at the lowest level of the hierarchy (below a
  1004.    binary node).  Thus, they would naturally share a secret pairwise
  1005.    key.  Otherwise, a simple way to accomplish this is to perform a
  1006.    public key based pairwise key exchange between the two users to
  1007.  
  1008.  
  1009.  
  1010. Wallner, et al.              Informational                     [Page 18]
  1011.  
  1012. RFC 2627             Key Management for Multicast              June 1999
  1013.  
  1014.  
  1015.    generate a traffic encryption key for their private unicast
  1016.    communications.  Through this process, not only will the encrypted
  1017.    transmissions between them be readable only by them, but unique
  1018.    sender authentication can be accomplished via the public key based
  1019.    pairwise exchange.
  1020.  
  1021. 5.4.2.4  Rekeying the Multicast Group and the Use of Group Key
  1022.          Encryption Keys
  1023.  
  1024.    Reference [4] makes use of a Group Key Encryption Key that can be
  1025.    shared by the multicast group for use in periodic rekeys of the
  1026.    multicast group. Aside from the potential security drawbacks of
  1027.    implementing a shared key for encrypting future keys, the use of a
  1028.    Group Key Encryption Key is of no benefit to a multicast group if a
  1029.    rekey is necessary due to the known compromise of one of the members.
  1030.    The strategy for rekeying the multicast group presented in Section
  1031.    5.4.1 specifically addresses this critical problem and offers a means
  1032.    to accomplish this task with minimal message transmissions and
  1033.    storage requirements.
  1034.  
  1035.    The question though can now be asked as to whether the rekey of a
  1036.    multicast group will be necessary in a non-compromise scenario.  For
  1037.    example, if a user decides they do not want to participate in the
  1038.    group any longer, and requests the list controller to remove them
  1039.    from the multicast group participant list, will a rekey of the
  1040.    multicast group be necessary?  If the security policy of the
  1041.    multicast group mandates that deleted users can no longer receive
  1042.    transmissions, than a rekey of a new net key will be required.  If
  1043.    the multicast group security policy does not care that the deleted
  1044.    person can still decrypt any transmissions (encrypted in the group
  1045.    net key that they might still hold), but does care that they can not
  1046.    encrypt and transmit messages, a rekey will once again be necessary.
  1047.    The only alternative to rekeying the multicast group under this
  1048.    scenario would require a recipient to check every received message
  1049.    sender, against the group participant list.  Thus rejecting any
  1050.    message sent by a user not on the list.  This is not a practical
  1051.    option.  Thus it is recommended to always rekey the multicast group
  1052.    when someone is deleted, whether it is because of compromise reasons
  1053.    or not.
  1054.  
  1055. 5.4.2.5  Bulk Removal of Participants
  1056.  
  1057.    As indicated in Section 2, the need may arise to remove users in
  1058.    bulk.  If the users are setup as discussed in Section 5.4.1 into
  1059.    subgroups that wish to communicate securely all being under the same
  1060.    node, bulk user removal can be done quite simply if the whole node is
  1061.    to be removed.  The same technique as described in Section 5.4.1 is
  1062.    performed to rekey any shared node key that the remaining
  1063.  
  1064.  
  1065.  
  1066. Wallner, et al.              Informational                     [Page 19]
  1067.  
  1068. RFC 2627             Key Management for Multicast              June 1999
  1069.  
  1070.  
  1071.    participants hold in common with the removed node.
  1072.  
  1073.    The problem of bulk removal becomes more difficult when the
  1074.    participants to be removed are dispersed throughout the tree.
  1075.    Depending on how many participants are to be removed, and where they
  1076.    are located within the hierarchy, the number of transmissions
  1077.    required to rekey the multicast group could be equivalent to brute
  1078.    force rekeying of the remaining participants. Also the question can
  1079.    be raised as to at what point the remaining users are restructured
  1080.    into a new hierarchical tree, or should a new multicast group be
  1081.    formed.  Restructuring of the hierarchical tree would most likely be
  1082.    the preferred option, because it would not necessitate the need to
  1083.    perform pairwise key exchanges again to form the new user unique
  1084.    KEKs.
  1085.  
  1086. 5.4.2.6  ISAKMP Compatibility
  1087.  
  1088.    Thus far this document has had a major focus on the architectural
  1089.    trade-offs involved in the generation, distribution, and maintenance
  1090.    of traffic encryption keys (Net Keys) for multicast groups.  There
  1091.    are other elements involved in the establishment of a secure
  1092.    connection among the multicast participants that have not been
  1093.    discussed in any detail.  For example, the concept of being able to
  1094.    "pick and choose" and negotiating the capabilities of the key
  1095.    exchange mechanism and various other elements is a very important and
  1096.    necessary aspect.
  1097.  
  1098.    The NSA proposal to the Internet Engineering Task Force (IETF)
  1099.    Security Subworking Group [Ref. 3] entitled "Internet Security
  1100.    Association and Key Management Protocol (ISAKMP)" has attempted to
  1101.    identify the various functional elements required for the
  1102.    establishment of a secure connection for the largest current network,
  1103.    the Internet.  While the proposal has currently focused on the
  1104.    problem of point to point connections, the functional elements should
  1105.    be the same for multicast connections, with appropriate changes to
  1106.    the techniques chosen to implement the individual functional
  1107.    elements.  Thus the implementation of ISAKMP is compatible with the
  1108.    use of the hierarchical tree approach.
  1109.  
  1110. 6.0  SUMMARY
  1111.  
  1112.    As discussed in this report, there are two main areas of concern when
  1113.    addressing solutions for the multicast key management problem.  They
  1114.    are the secure initialization and rekeying of the multicast group
  1115.    with a common net key.  At the present time, there are multiple
  1116.    papers which address the initialization of a multicast group, but
  1117.    they do not adequately address how to efficiently and securely remove
  1118.    a compromised user from the multicast group.
  1119.  
  1120.  
  1121.  
  1122. Wallner, et al.              Informational                     [Page 20]
  1123.  
  1124. RFC 2627             Key Management for Multicast              June 1999
  1125.  
  1126.  
  1127.    This paper proposed a hierarchical tree approach to meet this
  1128.    difficult problem.  It is robust against collusion, while at the same
  1129.    time, balancing the number of transmissions required and storage
  1130.    required to rekey the multicast group in a time of compromise.
  1131.  
  1132.    It is also important to note that the proposal recommended in this
  1133.    paper is consistent with other multicast key management solutions
  1134.    [4], and allows for multiple options for its implementation.
  1135.  
  1136. 7.0 Security Considerations
  1137.  
  1138.    Security concerns are discussed throughout this memo.
  1139.  
  1140. 8.0  REFERENCES
  1141.  
  1142.    1. Harney, H., Muckenhirn, C. and T. Rivers, "Group Key Management
  1143.       Protocol Architecture", RFC 2094, September 1994.
  1144.  
  1145.    2. Harney, H., Muckenhirn, C. and T. Rivers, "Group Key Management
  1146.       Protocol Specification", RFC 2093,  September 1994.
  1147.  
  1148.    3. Maughan, D., Schertler, M. Schneider, M. and J.Turner, "Internet
  1149.       Security Association and Key Management Protocol, Version 7",
  1150.       February 1997.
  1151.  
  1152.    4. Ballardie, T., "Scalable Multicast Key Distribution", RFC 1949,
  1153.       May 1996.
  1154.  
  1155.    5. Wong, C., Gouda, M. and S. Lam, "Secure Group Communications Using
  1156.       Key Graphs", Technical Report TR 97-23, Department of Computer
  1157.       Sciences, The University of Texas at Austin, July 1997.
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178. Wallner, et al.              Informational                     [Page 21]
  1179.  
  1180. RFC 2627             Key Management for Multicast              June 1999
  1181.  
  1182.  
  1183. Authors' Addresses
  1184.  
  1185.    Debby M. Wallner
  1186.    National Security Agency
  1187.    Attn: R2
  1188.    9800 Savage Road  STE 6451
  1189.    Ft. Meade, MD.  20755-6451
  1190.  
  1191.    Phone: 301-688-0331
  1192.    EMail: dmwalln@orion.ncsc.mil
  1193.  
  1194.  
  1195.    Eric J. Harder
  1196.    National Security Agency
  1197.    Attn: R2
  1198.    9800 Savage Road  STE 6451
  1199.    Ft. Meade, MD.  20755-6451
  1200.  
  1201.    Phone: 301-688-0850
  1202.    EMail: ejh@tycho.ncsc.mil
  1203.  
  1204.  
  1205.    Ryan C. Agee
  1206.    National Security Agency
  1207.    Attn: R2
  1208.    9800 Savage Road  STE 6451
  1209.    Ft. Meade, MD.  20755-6451
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234. Wallner, et al.              Informational                     [Page 22]
  1235.  
  1236. RFC 2627             Key Management for Multicast              June 1999
  1237.  
  1238.  
  1239. Full Copyright Statement
  1240.  
  1241.    Copyright (C) The Internet Society (1999).  All Rights Reserved.
  1242.  
  1243.    This document and translations of it may be copied and furnished to
  1244.    others, and derivative works that comment on or otherwise explain it
  1245.    or assist in its implementation may be prepared, copied, published
  1246.    and distributed, in whole or in part, without restriction of any
  1247.    kind, provided that the above copyright notice and this paragraph are
  1248.    included on all such copies and derivative works.  However, this
  1249.    document itself may not be modified in any way, such as by removing
  1250.    the copyright notice or references to the Internet Society or other
  1251.    Internet organizations, except as needed for the purpose of
  1252.    developing Internet standards in which case the procedures for
  1253.    copyrights defined in the Internet Standards process must be
  1254.    followed, or as required to translate it into languages other than
  1255.    English.
  1256.  
  1257.    The limited permissions granted above are perpetual and will not be
  1258.    revoked by the Internet Society or its successors or assigns.
  1259.  
  1260.    This document and the information contained herein is provided on an
  1261.    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
  1262.    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
  1263.    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
  1264.    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
  1265.    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  1266.  
  1267. Acknowledgement
  1268.  
  1269.    Funding for the RFC Editor function is currently provided by the
  1270.    Internet Society.
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290. Wallner, et al.              Informational                     [Page 23]
  1291.  
  1292.