home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / rfc / 1900s / rfc1949.txt < prev    next >
Text File  |  1996-05-15  |  42KB  |  1,012 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                       A. Ballardie
  8. Request for Comments: 1949                     University College London
  9. Category: Experimental                                          May 1996
  10.  
  11.  
  12.                   Scalable Multicast Key Distribution
  13.  
  14. Status of this Memo
  15.  
  16.    This memo defines an Experimental Protocol for the Internet
  17.    community.  This memo does not specify an Internet standard of any
  18.    kind.  Discussion and suggestions for improvement are requested.
  19.    Distribution of this memo is unlimited.
  20.  
  21. Abstract
  22.  
  23.    The benefits of multicasting are becoming ever-more apparent, and its
  24.    use much more widespread. This is evident from the growth of the
  25.    MBONE [1]. Providing security services for multicast, such as traffic
  26.    integrity, authentication, and confidentiality, is particularly
  27.    problematic since it requires securely distributing a group (session)
  28.    key to each of a group's receivers.  Traditionally, the key
  29.    distribution function has been assigned to a central network entity,
  30.    or Key Distribution Centre (KDC), but this method does not scale for
  31.    wide-area multicasting, where group members may be widely-distributed
  32.    across the internetwork, and a wide-area group may be densely
  33.    populated.
  34.  
  35.    Even more problematic is the scalable distribution of sender-specific
  36.    keys. Sender-specific keys are required if data traffic is to be
  37.    authenticated on a per-sender basis.
  38.  
  39.    This memo provides a scalable solution to the multicast key
  40.    distribution problem.
  41.  
  42.    NOTE: this proposal requires some simple support mechanisms, which,
  43.    it is recommended here, be integrated into version 3 of IGMP. This
  44.    support is described in Appendix B.
  45.  
  46. 1.  Introduction
  47.  
  48.    Growing concern about the integrity of Internet communication [13]
  49.    (routing information and data traffic) has led to the development of
  50.    an Internet Security Architecture, proposed by the IPSEC working
  51.    group of the IETF [2]. The proposed security mechanisms are
  52.    implemented at the network layer - the layer of the protocol stack at
  53.    which networking resources are best protected [3].
  54.  
  55.  
  56.  
  57.  
  58. Ballardie                     Experimental                      [Page 1]
  59.  
  60. RFC 1949          Scalable Multicast Key Distribution           May 1996
  61.  
  62.  
  63.    Unlike many network layer protocols, the Core Based Tree (CBT)
  64.    multicast protocol [4] makes explicit provision for security; it has
  65.    its own protocol header, unlike existing IP multicast schemes
  66.    [10,11], and other recently proposed schemes [12].
  67.  
  68.    In this document we describe how the CBT multicast protocol can
  69.    provide for the secure joining of a CBT group tree, and how this same
  70.    process can provide a scalable solution to the multicast key
  71.    distribution problem.  These security services are an integral part
  72.    of the CBT protocol [4]. Their use is optional, and is dependent on
  73.    each individual group's requirements for security. Furthermore, the
  74.    use of the CBT multicast protocol for multicast key distribution does
  75.    not preclude the use of other multicast protocols for the actual
  76.    multicast communication itself, that is, CBT need only be the vehicle
  77.    with which to distribute keys.
  78.  
  79.    Secure joining implies the provision for authentication, integrity,
  80.    and optionally, confidentiality, of CBT join messages. The scheme we
  81.    describe provides for the authentication of tree nodes (routers) and
  82.     receivers (end-systems) as part of the tree joining process. Key
  83.    distribution (optional) is an integral part of secure joining.
  84.  
  85.    Network layer multicast protocols, such as DVMRP [7] and M-OSPF [9],
  86.    do not have their own protocol header(s), and so cannot provision for
  87.    security in themselves; they must rely on whatever security is
  88.    provided by IP itself. Multicast key distribution is not addressed to
  89.    any significant degree by the new IP security architecture [2].
  90.  
  91.    The CBT security architecture is independent of any particular
  92.    cryptotechniques, although many security services, such as
  93.    authentication, are easier if public-key cryptotechniques are
  94.    employed.
  95.  
  96.    What follows is an overview of the CBT multicasting. The description
  97.    of our proposal in section 6.1 assumes the reader is reasonably
  98.    familiar with the CBT protocol. Details of the CBT architecture and
  99.    protocol can be found in [7] and [4], respectively.
  100.  
  101. 2.  Overview of BCT Multicasting
  102.  
  103.    CBT is a new architecture for local and wide-area IP multicasting,
  104.    being unique in its utilization of just one shared delivery tree per
  105.    group, as opposed to the source-based delivery tree approach of
  106.    existing IP multicast schemes, such as DVMRP and MOSPF.
  107.  
  108.    A shared multicast delivery tree is built around several so-called
  109.    core routers. A group receiver's local multicast router is required
  110.    to explicitly join the corresponding delivery tree after receiving an
  111.  
  112.  
  113.  
  114. Ballardie                     Experimental                      [Page 2]
  115.  
  116. RFC 1949          Scalable Multicast Key Distribution           May 1996
  117.  
  118.  
  119.    IGMP [8] group membership report over a directly connected interface.
  120.    A CBT join message is targeted at one of the group's core routers.
  121.    The resulting acknowledgement traverses the reverse-path of the join,
  122.    resulting in the creation of a tree branch. Routers along these
  123.    branches are called non-core routers for the group, and there exists
  124.    a parent-child relationship between adjacent routers along a branch
  125.    of the same tree (group).
  126.  
  127. 3.  How the CBT Architecture Complements Security
  128.  
  129.    The CBT architecture requires "leaf" routers to explicitly join a CBT
  130.    tree. Hence, CBT is not data driven; the ack associated with a join
  131.    "fixes" tree state in the routers that make up the tree. This so-
  132.    called "hard state" remains until the tree re-configures, for
  133.    example, due to receivers leaving the group, or because an upstream
  134.    failure has occurred. The CBT protocol incorporates mechanisms
  135.    enabling a CBT tree to repair itself in the event of the latter.
  136.  
  137.    As far as the establishment of an authenticated multicast
  138.    distribution tree is concerned, DVMRP, M-OSPF, and PIM, are at a
  139.    disadvan- tage; the nature of their "soft state" means a delivery
  140.    tree only exists as long as there is data flow.  Also, routers
  141.    implementing a multicast protocol that builds its delivery tree based
  142.    on a reverse-path check (like DVMRP and PIM dense mode) cannot be
  143.    sure of the previous-hop router, but only the interface a multicast
  144.    packet arrived on.
  145.  
  146.    These problems do not occur in the CBT architecture. CBT's hard state
  147.    approach means that all routers that make up a delivery tree know who
  148.    their on-tree neighbours are; these neighbours can be authenticated
  149.    as part of delivery tree set-up. As part of secure tree set-up,
  150.    neighbours could exchange a secret packet handle for inclusion in the
  151.    CBT header of data packets exchanged between those neighbours,
  152.    allowing for the simple and efficient hop-by-hop authentication of
  153.    data packets (on-tree).
  154.  
  155.    The presence of tree focal points (i.e. cores) provides CBT trees
  156.    with natural authorization points (from a security viewpoint) -- the
  157.    formation of a CBT tree requires a core to acknowledge at least one
  158.    join in order for a tree branch to be formed. Thereafter,
  159.    authorization and key distribution capability can be passed on to
  160.    joining nodes that are authenticated.
  161.  
  162.    In terms of security, CBT's hard state approach offers several
  163.    additional advantages: once a multicast tree is established, tree
  164.    state maintained in the routers that make up the tree does not time
  165.    out or change necessarily to reflect underlying unicast topology.
  166.    The security implications of this are that nodes need not be subject
  167.  
  168.  
  169.  
  170. Ballardie                     Experimental                      [Page 3]
  171.  
  172. RFC 1949          Scalable Multicast Key Distribution           May 1996
  173.  
  174.  
  175.    to repeated authentication subsequent to a period of inactivity, and
  176.    tree nodes do not need to re-authenticate themselves as a result of
  177.    an underlying unicast topology change, unless of course, an network
  178.    (node) failure has occurred.
  179.  
  180.    Hard-state protocol mechanisms are often thought of as being less
  181.    fault tolerant than soft-state schemes, but there are pros and cons
  182.    to both approaches; we see here that security is one of the pros.
  183.  
  184. 4.  The Multicast Key Distribution Problem
  185.  
  186.    We believe that multicast key distribution needs to be combined with
  187.    group access control. Without group access control, there is no point
  188.    in employing multicast key distribution, since, if there are no group
  189.    restrictions, then it should not matter to whom multicast information
  190.    is divulged.
  191.  
  192.    There are different ways of addressing group access control. The
  193.    group access control we describe requires identifying one group
  194.    member (we suggest in [14] that this should be the group initiator)
  195.    who has the ability to create, modify and delete all or part of a
  196.    group access control list. The enforcement of group access control
  197.    may be done by a network entity external to the group, or by a group
  198.    member.
  199.  
  200.    The essential problem of distributing a session (or group) key to a
  201.    group of multicast receivers lies in the fact that some central key
  202.    management entity, such as a key distribution centre (KDC) (A Key
  203.    Distribution Centre (KDC) is a network entity, usually residing at a
  204.    well-known address. It is a third party entity whose responsibility
  205.    it to generate and distribute symmetric key(s) to peers, or group
  206.    receivers in the case of multicast, wishing to engage in a "secure"
  207.    communication. It must therefore be able to identify and reliably
  208.    authenticate requestors of symmetric keys.), must authenticate each
  209.    of a group's receivers, as well as securely distribute a session key
  210.    to each of them.  This involves encrypting the relevant message n
  211.    times, once with each secret key shared between the KDC and
  212.    corresponding receiver (or alternatively, with the public key of the
  213.    receiver), before multicasting it to the group. (Alternatively, the
  214.    KDC could send an encrypted message to each of the receivers
  215.    individually, but this does not scale either.)  Potentially, n may be
  216.    very large.  Encrypting the group key with the secret key (of a
  217.    secret-public key pair) of the KDC is not an option, since the group
  218.    key would be accessible to anyone holding the KDC's public key, and
  219.    public keys are either well-known or readily available.  In short,
  220.    existing multicast key distribution methods do not scale.
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Ballardie                     Experimental                      [Page 4]
  227.  
  228. RFC 1949          Scalable Multicast Key Distribution           May 1996
  229.  
  230.  
  231.    The scaling problem of secure multicast key distribution is
  232.    compounded for the case where sender-specific keys need to be
  233.    distributed to a group. This is required for sender-specific
  234.    authentication of data traffic. It is not possible to achieve per-
  235.    sender authentication, given only a group session key.
  236.  
  237.    Recently a proposal has emerged, called the Group Key Management
  238.    Protocol (GKMP) [15]. This was designed for military networks, but
  239.    the authors have demonstrated how the architecture could be applied
  240.    to a network like the Internet, running receiver-oriented multicast
  241.    applications.
  242.  
  243.    GKMP goes a considerable way to addressing the problems of multicast
  244.    key distribution: it does not rely on a centralised KDC, but rather
  245.    places the burden of key management on a group member(s). This is the
  246.    approach adopted by the CBT solution, but our solution can take this
  247.    distributed approach further, which makes our scheme that much more
  248.    scalable. Furthermore, our scheme is relatively simple.
  249.  
  250.    The CBT model for multicast key distribution is unique in that it is
  251.    integrated into the CBT multicast protocol itself. It offers a
  252.    simple, low-cost, scalable solution to multicast key distribution. We
  253.    describe the CBT multicast key distribution approach below.
  254.  
  255. 5.  Multicast Security Associations
  256.  
  257.    The IP security architecture [2] introduces the concept of "Security
  258.    Associations" (SAs), which must be negotiated in advance during the
  259.    key management phase, using a protocol such as Photuris [20], or
  260.    ISAKMP [21].  A Security Association is normally one-way, so if two-
  261.    way communication is to take place (e.g. a typical TCP connection),
  262.    then two Security Associations need to be negotiated.  During the
  263.    negotiation phase, the destination system normally assigns a Security
  264.    Parameter Index to the association, which is used, together with the
  265.    destination address (or, for the sender, the sender's user-id) to
  266.    index into a Security Association table, maintained by the
  267.    communicating parties.  This table enables those parties to index the
  268.    correct security parameters pertinent to an association.  The
  269.    security association parameters include authentication algorithm,
  270.    algorithm mode, cryptographic keys, key lifetime, sensitivity level,
  271.    etc.
  272.  
  273.    The establishment of Security Associations (SA) for multicast
  274.    communication does not scale using protocols like Photuris, or
  275.    ISAKMP.  This is why it is often assumed that a multicast group will
  276.    be part of a single Security Association, and hence share a single
  277.    SPI. It is assumed that one entity (or a pair of entities) creates
  278.    the SPI "by some means" (which may be an SA negotiation protocol,
  279.  
  280.  
  281.  
  282. Ballardie                     Experimental                      [Page 5]
  283.  
  284. RFC 1949          Scalable Multicast Key Distribution           May 1996
  285.  
  286.  
  287.    like [20] and [21]), which is then simply multicast, together with
  288.    the SA parameters, to the group for subsequent use. However, this
  289.    precludes multicast receivers from performing sender-specific origin
  290.    authentication; all a receiver can be sure of is that the sender is
  291.    part of the multicast Security Association.
  292.  
  293.    We advocate that the primary core, either alone, or in conjunction
  294.    with the group initiator, establish the security parameters to be
  295.    used in the group communication. These are distributed as part of the
  296.    secure join process. Thereafter, individual senders can distribute
  297.    their own key and security parameters to the group.  In the case of
  298.    the latter, there are two cases to consider:
  299.  
  300.    +    the sender is already a group member. In this case, the sender
  301.         can decide upon/generate its own security parameters, and multi-
  302.         cast them to the group using the current group session key.
  303.  
  304.    +    the sender is not a group member. In this case, before the
  305.         sender begins sending, it must first negotiate the security
  306.         parameters with the primary core, using a protocol such as Pho-
  307.         turis [20] or ISAKMP [21].  Once completed, the primary core
  308.         multicasts (securely) the new sender's session key and security
  309.         parameters to the group.
  310.  
  311.    Given that we assume the use of asymmetric cryptotechniques
  312.    throughout, this scheme provides a scalable solution to multicast
  313.    origin authentication.
  314.  
  315.    Sender-specific keys are also discussed in section 8.
  316.  
  317. 6.  The CBT Multicast Key Distribution Model
  318.  
  319.    The security architecture we propose allows not only for the secure
  320.    joining of a CBT multicast tree, but also provides a solution to the
  321.    multicast key distribution problem [16]. Multicast key distribution
  322.    is an optional, but integral, part of the secure tree joining
  323.    process; if a group session key is not required, its distribution may
  324.    be omitted.
  325.  
  326.    The use of CBT for scalable multicast key distribution does not
  327.    preclude the use of other multicast protocols for the actual
  328.    multicast communication.  CBT could be used solely for multicast key
  329.    distribution -- any multicast protocol could be used for the actual
  330.    multicast communication itself.
  331.  
  332.    The model that we propose does not rely on the presence of a
  333.    centralised KDC -- indeed, the KDC we propose need not be dedicated
  334.    to key distribution. We are proposing that each group have its own
  335.  
  336.  
  337.  
  338. Ballardie                     Experimental                      [Page 6]
  339.  
  340. RFC 1949          Scalable Multicast Key Distribution           May 1996
  341.  
  342.  
  343.    group key distribution centre (GKDC), and that the functions it
  344.    provides should be able to be "passed on" to other nodes as they join
  345.    the tree.  Hence, our scheme involves truly distributed key
  346.    distribution capability, and is therefore scalable. It does not
  347.    require dedicated KDCs.  We are proposing that a CBT primary core
  348.    initially take on the role of a GKDC.
  349.  
  350. 6.1  Operational Overview
  351.  
  352.    When a CBT group is created, it is the group initiator's
  353.    responsibility to create a multicast group access control list (ACL)
  354.    [14]. It is recommended that this list is a digitally signed
  355.    "document", the same as (or along the lines of) an X.509 certificate
  356.    [9], such that it can be authenticated.  The group initiator
  357.    subsequently unicasts the ACL to the primary core for the group. This
  358.    communication is not part of the CBT protocol. The ACL's digital
  359.    signature ensures that it cannot be modified in transit without
  360.    detection. If the group membership itself is sensitive information,
  361.    the ACL can be additionally encrypted with the public key of the
  362.    primary core before being sent.  The ACL can be an "inclusion" list
  363.    or an "exclusion" list, depending on whether group membership
  364.    includes relatively few, or excludes relatively few.
  365.  
  366.    The ACL described above consists of group membership (inclusion or
  367.    exclusion) information, which can be at the granularity of hosts or
  368.    users. How these granularities are specified is outside the scope of
  369.    this document.  Additionally, it may be desirable to restrict key
  370.    distribution capability to certain "trusted" nodes (routers) in the
  371.    network, such that only those trusted nodes will be given key
  372.    distribution capability should they become part of a CBT delivery
  373.    tree. For this case, an additional ACL is required comprising
  374.    "trusted" network nodes.
  375.  
  376.    The primary core creates a session key subsequent to receiving and
  377.    authenticating the message containing the access control list.  The
  378.    primary core also creates a key encrypting key (KEK) which is used
  379.    for re-keying the group just prior to an old key exceeding its life-
  380.    time.  This re-keying strategy means that an active key is less
  381.    likely to become compromised during its lifetime.
  382.  
  383.    The ACL(s), group key, and KEK are distributed to secondary cores as
  384.    they become part of the distribution tree.
  385.  
  386.    Any tree node with this information can authenticate a joining
  387.    member, and hence, secure tree joining and multicast session key
  388.    distribution are truly distributed across already authenticated tree
  389.    nodes.
  390.  
  391.  
  392.  
  393.  
  394. Ballardie                     Experimental                      [Page 7]
  395.  
  396. RFC 1949          Scalable Multicast Key Distribution           May 1996
  397.  
  398.  
  399. 6.2  Integrated Join Authentication and Multicast Key Distribution
  400.  
  401.    For simplicity, in our example we assume the presence of an
  402.    internetwork-wide asymmetric key management scheme, such as that
  403.    proposed in [17].  However, we are not precluding the use of
  404.    symmetric cryptographic techniques -- all of the security services we
  405.    are proposing, i.e. integrity, authentication, and confidentiality,
  406.    can all be achieved using symmetric cryptography, albeit a greater
  407.    expense, e.g. negotiation with a third party to establish pairwise
  408.    secret keys. For these reasons, we assume that a public (asymmetric)
  409.    key management scheme is globally available, for example, through the
  410.    Domain Name System (DNS) [17] or World Wide Web [18].
  411.  
  412.    NOTE: given the presence of asymmetric keys, we can assume digital
  413.    signatures provide integrity and origin authentication services
  414.    combined.
  415.  
  416.    The terminology we use here is described in Appendix A. We formally
  417.    define some additional terms here:
  418.  
  419.    +    grpKey: group key used for encrypting group data traffic.
  420.  
  421.    +    ACL: group access control list.
  422.  
  423.    +    KEK: key encrypting key, used for re-keying a group with a new
  424.         group key.
  425.  
  426.    +    SAparams: Security Association parameters, including SPI.
  427.  
  428.    +    group access package (grpAP): sent from an already verified tree
  429.         node to a joining node.
  430.  
  431.         [token_sender, [ACL]^SK_core, {[grpKey, KEK,
  432.         SAparams]^SK_core}^PK_origin-host,
  433.         {[grpKey, KEK, SAparams]^SK_core}^PK_next-hop]^SK_sender
  434.  
  435.         NOTE: SK_core is the secret key of the PRIMARY core.
  436.  
  437.    As we have already stated, the elected primary core of a CBT tree
  438.    takes on the initial role of GKDC. In our example, we assume that a
  439.    group access control list has already been securely communicated to
  440.    the primary core. Also, it is assumed the primary core has already
  441.    participated in a Security Association estabishment protocol [20,21],
  442.    and thus, holds a group key, a key-encrypting key, and an SPI.
  443.  
  444.       NOTE, there is a minor modification required to the CBT protocol
  445.       [4], which is as follows: when a secondary core receives a join,
  446.       instead of sending an ack followed by a re-join to the primary,
  447.  
  448.  
  449.  
  450. Ballardie                     Experimental                      [Page 8]
  451.  
  452. RFC 1949          Scalable Multicast Key Distribution           May 1996
  453.  
  454.  
  455.       the secondary forwards the join to the primary; the ack travels
  456.       from the primary (or intermediate on-tree router) back to the join
  457.       origin. All routers (or only specific routers) become GKDCs after
  458.       they receive the ack.
  459.  
  460.    We now demonstrate, by means of an example, how CBT routers join a
  461.    tree securely, and become GKDCs. For clarity, in the example, it is
  462.    assumed all routers are authorised to become GKDCs, i.e. there is no
  463.    trusted-router ACL.
  464.  
  465.    In the diagram below, only one core (the primary) is shown. The
  466.    process of a secondary joining the primary follows exactly what we
  467.    describe here.
  468.  
  469.    In the diagram, host h wishes to join multicast group G.  Its local
  470.    multicast router (router A) has not yet joined the CBT tree for the
  471.    group G.
  472.  
  473.     b      b     b-----b
  474.      \     |     |
  475.       \    |     |
  476.        b---b     b------b
  477.       /     \  /              KEY....
  478.      /       \/
  479.     b         C               C = Core (Initial Group Key Dist'n Centre)
  480.              / \             A, B, b = non-core routers
  481.             /   \
  482.            /     \           ======= LAN where host h is located
  483.            B      b------b
  484.             \
  485.              \              NOTE: Only one core is shown, but typically
  486. host h        A              a CBT tree is likely to comprise several.
  487.     o         |
  488. =====================
  489.  
  490.        Figure 1: Example of Multicast Key Distribution using CBT
  491.  
  492.    A branch is created as part of the CBT secure tree joining process,
  493.    as follows:
  494.  
  495.    +    Immediately subsequent to a multicast application starting up on
  496.         host h, host h immediately sends an IGMP group membership
  497.         report, addressed to the group. This report is not suppressible
  498.         (see Appendix B), like other IGMP report types, and it also
  499.         includes the reporting host's token, which is digitally signed
  500.  
  501.         h --> DR (A): [[token_h]^SK_h, IGMP group membership report]
  502.  
  503.  
  504.  
  505.  
  506. Ballardie                     Experimental                      [Page 9]
  507.  
  508. RFC 1949          Scalable Multicast Key Distribution           May 1996
  509.  
  510.  
  511.         (A host's token differs in two respects compared with tokens
  512.         defined in [9]. To refresh, a token assists a recipient in the
  513.         verification process, and typically contains: recipient's
  514.         unique identity, a timestamp, and a pseudo-random number. A
  515.         token is also usually digitally signed by its originator.
  516.         Firstly, A host's token does not contain the intended
  517.         recipient's identity, since this token may need to traverse
  518.         several CBT routers before reaching a GKDC.  A host does not
  519.         actually know which router, i.e. GKDC, will actually
  520.         acknowledge the join that it invoked.  Secondly, the host's
  521.         token is digitally signed -- this is usual for a token.
  522.         However, tokens generated by routers need not be explicitly
  523.         digitally signed because the JOIN-REQUESTs and JOIN-ACKs that
  524.         carry them are themselves digitally signed.)
  525.  
  526.    +    In response to receiving the IGMP report, the local designated
  527.         router (router A) authenticates the host's enclosed token. If
  528.         successful, router A formulates a CBT join-request, whose target
  529.         is core C (the primary core). Router A includes its own token in
  530.         the join, as well as the signed token received from host h. The
  531.         join is digitally signed by router A.
  532.  
  533.         NOTE 1: router A, like all CBT routers, is configured with the
  534.         unicast addresses of a prioritized list of cores, for different
  535.         group sets, so that joins can be targeted accordingly.
  536.  
  537.         NOTE 2: the host token is authenticated at most twice, once by
  538.         the host's local CBT router, and once by a GKDC. If the local
  539.         router is already a GKDC, then authentication only happens once.
  540.         If the local router is not already a GKDC, a failed authentica-
  541.         tion check removes the overhead of generating and sending a CBT
  542.         join-request.
  543.  
  544.         Router A unicasts the join to the best next-hop router on the
  545.         path to core C (router B).
  546.  
  547.             A --> B: [[token_A], [token_h]^SK_h, JOIN-REQUEST]^SK_A
  548.  
  549.    +    B authenticates A's join-request. If successful, B repeats the
  550.         previous step, but now the join is sent from B to C (the pri-
  551.         mary, and target), and the join includes B's token. Host h's
  552.         token is copied to this new join.
  553.  
  554.             B --> C: [[token_B], [token_h]^SK_h, JOIN-REQUEST]^SK_B
  555.  
  556.    +    C authenticates B's join. As the tree's primary authorization
  557.         point (and GKDC), C also authenticates host h, which triggered
  558.         the join process. For this to be successful, host h must be
  559.  
  560.  
  561.  
  562. Ballardie                     Experimental                     [Page 10]
  563.  
  564. RFC 1949          Scalable Multicast Key Distribution           May 1996
  565.  
  566.  
  567.         included in the GKDC's access control list for the group.  If h
  568.         is not in the corresponding access control list, authentication
  569.         is redundant, and a join-nack is returned from C to B, which
  570.         eventually reaches host h's local DR, A.
  571.  
  572.         Assuming successful authentication of B and h, C forms a group
  573.         access package (grpAP), encapsulates it in a join-ack, and digi-
  574.         tally signs the complete message. C's token, host h's signed
  575.         token, a signed ACL, and two (group key, KEK) pairs are included
  576.         in the group access package; one for the originating host, and
  577.         one for the next-hop CBT router to which the join-ack is des-
  578.         tined. Each key pair is digitally signed by the issuer, i.e. the
  579.         primary core for the group. The host key pair is encrypted using
  580.         the public key of the originating host, so as to be only deci-
  581.         pherable by the originating host, and the other key pair is
  582.         encrypted using the public key of the next-hop router to which
  583.         the ack is destined -- in this case, B.  Host h's token is used
  584.         by the router connected to the subnet where h resides so as to
  585.         be able to identify the new member.
  586.  
  587.               C --> B: [[token^h]^SK_h, grpAP, JOIN-ACK]^SK_C
  588.  
  589.    +    B authenticates the join-ack from C. B extracts its encrypted
  590.         key pair from the group access package, decrypts it, authenti-
  591.         cates the primary core, and stores the key pair in encrypted
  592.         form, using a local key.  B also verifies the digital signature
  593.         included with the access control list. It subsequently stores
  594.         the ACL in an appropriate table.  The originating host key pair
  595.         remains enciphered.
  596.  
  597.         The other copy of router B's key pair is taken and deciphered
  598.         using its secret key, and immediately enciphered with the public
  599.         key of next-hop to which a join-ack must be passed, i.e. router
  600.         A. A group access package is formulated by B for A. It contains
  601.         B's token, the group ACL (which is digitally signed by the pri-
  602.         mary core), a (group key, KEK) pair encrypted using the public
  603.         key of A, and the originating host's key pair, already
  604.         encrypted.  The group access package is encapsulated in a join-
  605.         ack, the complete message is digitally signed by B, then for-
  606.         warded to A.
  607.  
  608.                 B --> A: [[token^h]^SK_h, grpAP, JOIN-ACK]^SK_B
  609.  
  610.    +    A authenticates the join-ack received from B.  A copy of the
  611.         encrypted key pair that is for itself is extracted from the
  612.         group access package and deciphered, and the key issuer (primary
  613.         core) is authenticated.  If successful, the enciphered key pair
  614.         is stored by A.  The digital signature of the included access
  615.  
  616.  
  617.  
  618. Ballardie                     Experimental                     [Page 11]
  619.  
  620. RFC 1949          Scalable Multicast Key Distribution           May 1996
  621.  
  622.  
  623.         control list is also verified, and stored in an appropriate
  624.         table.  The key pair encrypted for host h is extracted from the
  625.         group access package, and is forwarded directly to host h, which
  626.         is identified from the presence of its signed token.  On
  627.         receipt, host h decrypts the key pair for subsequent use, and
  628.         stores the SA parameters in its SA table.
  629.  
  630.           A --> h: [[token^h]^SK_h, {grpKey, KEK, SAparams}^PK_h]
  631.  
  632.    Going back to the initial step of the tree-joining procedure, if the
  633.    DR for the group being joined by host h were already established as
  634.    part of the corresponding tree, it would already be a GKDC. It would
  635.    therefore be able to directly pass the group key and KEK to host h
  636.    after receiving an IGMP group membership report from h:
  637.  
  638.           A --> h: [[token^h]^SK_h, {grpKey, KEK, SAparams}^PK_h]
  639.  
  640.    If paths, or nodes fail, a new route to a core is gleaned as normal
  641.    from the underlying unicast routing table, and the re-joining process
  642.    (see [4]) occurs in the same secure fashion.
  643.  
  644. 7.  A Question of Trust
  645.  
  646.    The security architecture we have described, involving multicast key
  647.    distribution, assumes that all routers on a delivery tree are trusted
  648.    and do not misbehave. A pertinent question is: is it reasonable to
  649.    assume that network routers do not misbehave and are adequately
  650.    protected from malicious attacks?
  651.  
  652.    Many would argue that this is not a reasonable assumption, and
  653.    therefore the level of security should be increased to discount the
  654.    threat of misbehaving routers. As we described above, routers
  655.    periodically decrypt key pairs in order to verify them, and/or re-
  656.    encrypt them to pass them on to joining neighbour routers.
  657.  
  658.    In view of the above, we suggest that if more stringent security is
  659.    required, the model we presented earlier should be slightly amended
  660.    to accommodate this requirement.  However, depending on the security
  661.    requirement and perceived threat, the model we presented may be
  662.    acceptable.
  663.  
  664.    We recommend the following change to the model already presented
  665.    above, to provide a higher level of security:
  666.  
  667.    All join-requests must be authenticated by a core router, i.e. a join
  668.    arriving at an on-tree router must be forwarded upstream to a core if
  669.    the join is identified as being a "secure" join (as indicated by the
  670.    presence of a signed host token).
  671.  
  672.  
  673.  
  674. Ballardie                     Experimental                     [Page 12]
  675.  
  676. RFC 1949          Scalable Multicast Key Distribution           May 1996
  677.  
  678.  
  679.    The implication of this is that key distribution capability remains
  680.    with the core routers and is not distributed to non-core routers
  681.    whose joins have been authenticated. Whilst this makes our model
  682.    somewhat less distributed than it was before, the concept of key
  683.    distribution being delegated to the responsibility of individual
  684.    groups remains.  Our scheme therefore retains its attractiveness over
  685.    centralized schemes.
  686.  
  687. 8.  The Multicast Distribution of Sender-Specific Keys
  688.  
  689.    Section 5, in part, discussed the scalable distribution of sender-
  690.    specific keys and sender-specific security parameters to a multicast
  691.    group, for both member-senders, and non-member senders. If asymmetric
  692.    cryptotechniques are employed, this allows for sender-specific origin
  693.    authentication.
  694.  
  695.    For member-senders, the following message is multicast to the group,
  696.    encrypted using the current group session key, prior to the new
  697.    sender transmitting data:
  698.  
  699.             {[sender_key, senderSAparams]^SK_sender}^group_key
  700.  
  701.    Non-member senders must first negotiate (e.g. using Photuris or
  702.    ISAKMP) with the primary core, to establish the security association
  703.    parameters, and the session key, for the sender.  The sender, of
  704.    course, is subject to access control at the primary.  Thereafter, the
  705.    primary multicasts the sender-specific session key, together with
  706.    sender's security parameters to the group, using the group's current
  707.    session key.  Receivers are thus able to perform origin
  708.    authentication.
  709.  
  710.                            Photuris or ISAKMP
  711.              1. sender <----------------------> primary core
  712.  
  713.           2. {[sender_key, senderSAparams]^SK_primary}^group_key
  714.  
  715.    For numerous reasons, it may be desirable to exclude certain group
  716.    members from all or part of a group's communication.  We cannot offer
  717.    any solution to providing this capability, other than requiring new
  718.    keys to be distributed via the establishment of a newly-formed group
  719.    (CBT tree).
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. Ballardie                     Experimental                     [Page 13]
  731.  
  732. RFC 1949          Scalable Multicast Key Distribution           May 1996
  733.  
  734.  
  735. 9.  Summary
  736.  
  737.    This memo has offered a scalable solution to the multicast key
  738.    distribution problem. Our solution is based on the CBT architecture
  739.    and protocol, but this should not preclude the use of other multicast
  740.    protocols for secure multicast communication subsequent to key
  741.    distribution. Furthermore, virtually all of the functionality present
  742.    in our solution is in-built in the secure version of the CBT
  743.    protocol, making multicast key distribution an optional, but integral
  744.    part, of the CBT protocol.
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786. Ballardie                     Experimental                     [Page 14]
  787.  
  788. RFC 1949          Scalable Multicast Key Distribution           May 1996
  789.  
  790.  
  791. Appendix A
  792.  
  793.    The following terminology is used throughout this document:
  794.  
  795.    +    PK_A indicates the public key of entity A.
  796.  
  797.    +    SK_A indicates the secret key of entity A. The secret key can be
  798.         used by a sender to digitally sign a digest of the message,
  799.         which is computed using a strong, one-way hash function, such as
  800.         MD5 [19].
  801.  
  802.    +    Unencrypted messages will appear enclosed within square brack-
  803.         ets, e.g. [X, Y, Z]. If a message is digitally signed, a super-
  804.         script will appear outside the right hand bracket, indicating
  805.         the message signer.  Encrypted messages appear enclosed within
  806.         curly braces, with a superscript on the top right hand side out-
  807.         side the closing curly brace indicating the encryption key, e.g.
  808.         {X, Y, Z}^{PK_A}.
  809.  
  810.    +    a token is information sent as part of a strong authentication
  811.         exchange, which aids a receiver in the message verification pro-
  812.         cess. It consists of a timestamp, t (to demonstrate message
  813.         freshness), a random, non-repeating number, r (to demonstrate
  814.         message originality), and the unique name of the message
  815.         recipient (to demonstrate that the message is indeed intended
  816.         for the recipient).  A digital signature is appended to the
  817.         token by the sender (which allows the recipient to authenticate
  818.         the sender). The token is as follows:
  819.  
  820.              [t_A, r_A, B]^{SK_A} --  token sent from A to B.
  821.  
  822.    +    A --> B:  -- denotes a message sent from A to B.
  823.  
  824. Appendix B
  825.  
  826.    The group access controls described in this document require a few
  827.    simple support mechanisms, which, we recommend, be integrated into
  828.    version 3 of IGMP. This would be a logical inclusion to IGMP, given
  829.    that version 3 is expected to accommodate a variety of multicast
  830.    requirements, including security. Furthermore, this would remove the
  831.    need for the integration of a separate support protocol in hosts.
  832.  
  833.    To refresh, IGMP [8] is a query/response multicast support protocol
  834.    that operates between a multicast router and attached hosts.
  835.  
  836.    Whenever an multicast application starts on a host, that host
  837.    generates a small number of IGMP group membership reports in quick
  838.    succession (to overcome potential loss). Thereafter, a host only
  839.  
  840.  
  841.  
  842. Ballardie                     Experimental                     [Page 15]
  843.  
  844. RFC 1949          Scalable Multicast Key Distribution           May 1996
  845.  
  846.  
  847.    issues a report in response to an IGMP query (issued by the local
  848.    multicast router), but only if the host has not received a report for
  849.    the same group (issued by some other host on the same subnet) before
  850.    the host's IGMP random response timer expires. Hence, IGMP,
  851.    incorporates a report "suppression" mechanism to help avoid "IGMP
  852.    storms" on a subnet, and generally conserve bandwidth.
  853.  
  854.    We propose that IGMP accommodate "secure joins" - IGMP reports that
  855.    indicate the presence of a digitally signed host (or user) token.
  856.    These report types must not be suppressible, as is typically the case
  857.    with IGMP reports; it must be possible for each host to independently
  858.    report its group presence to the local router, since a GKDC bases its
  859.    group access control decision on this information.
  860.  
  861.    This functionality should not adversely affect backwards
  862.    compatibility with earlier versions of IGMP that may be present on
  863.    the same subnet; the new reports will simply be ignored by older IGMP
  864.    versions, which thus continue to operate normally.
  865.  
  866. Security Considerations
  867.  
  868.    Security issues are discussed throughout this memo.
  869.  
  870. Author's Address
  871.  
  872.    Tony Ballardie,
  873.    Department of Computer Science,
  874.    University College London,
  875.    Gower Street,
  876.    London, WC1E 6BT,
  877.    ENGLAND, U.K.
  878.  
  879.    Phone: ++44 (0)71 419 3462
  880.    EMail: A.Ballardie@cs.ucl.ac.uk
  881.  
  882. References
  883.  
  884.    [1] MBONE, The Multicast BackbONE; M. Macedonia and D. Brutzman;
  885.    available from http://www.cs.ucl.ac.uk/mice/mbone_review.html.
  886.  
  887.    [2] R. Atkinson. Security Architecture for the Internet Protocol; RFC
  888.    1825, SRI Network Information Center, August 1995.
  889.  
  890.    [3] D. Estrin and G. Tsudik. An End-to-End Argument for Network Layer,
  891.    Inter-Domain Access Controls; Journal of Internetworking & Experience,
  892.    Vol 2, 71-85, 1991.
  893.  
  894.  
  895.  
  896.  
  897.  
  898. Ballardie                     Experimental                     [Page 16]
  899.  
  900. RFC 1949          Scalable Multicast Key Distribution           May 1996
  901.  
  902.  
  903.    [4] A. Ballardie, S. Reeve, N. Jain. Core Based Tree (CBT) Multicast -
  904.    Protocol Specification; Work in Progress, 1996. Available from:
  905.    ftp://cs.ucl.ac.uk/darpa/IDMR/draft-ietf-idmr-cbt-spec-XX.txt.
  906.  
  907.    [5] R. Atkinson. IP Authentication Header; RFC 1826, SRI Network
  908.    Information Center, August 1995.
  909.  
  910.    [6] R. Atkinson. IP Encapsulating Security Payload; RFC 1827, SRI Net-
  911.    work Information Center, August 1995.
  912.  
  913.    [7] A. Ballardie. Core Based Tree (CBT) Multicast Architecture; Work
  914.    in progress, 1996. Available from:
  915.    ftp://cs.ucl.ac.uk/darpa/IDMR/draft-ietf-idmr-cbt-arch-XX.txt
  916.  
  917.    [8] W. Fenner. Internet Group Management Protocol, version 2 (IGMPv2),
  918.    Work in progress, 1996.
  919.  
  920.    [9] CCITT Data Communication Networks Directory (Blue Book). Recommen-
  921.    dation X.509, Authentication Framework.
  922.  
  923.    [10] T. Pusateri. Distance-Vector Multicast Routing Protocol (DVMRP)
  924.    version 3. Working draft, February 1996.
  925.  
  926.    [11] J. Moy. Multicast Extensions to OSPF; RFC 1584, SRI Network
  927.    Information Center, March 1994.
  928.  
  929.    [12] D. Estrin et al. Protocol Independent Multicast, protocol specif-
  930.    ication; Work in progress, January 1996.
  931.  
  932.    [13] R. Braden, D. Clark, S. Crocker and C. Huitema. Security in the
  933.    Internet Architecture. RFC 1636, June 1994.
  934.  
  935.    [14] A. Ballardie and J. Crowcroft. Multicast-Specific Security
  936.    Threats and Counter-Measures. In ISOC Symposium on Network and Distri-
  937.    buted System Security, February 1995.
  938.  
  939.    [15] H. Harney, C. Muckenhirn, and T. Rivers. Group Key Management
  940.    Protocol (GKMP) Architecture. Working draft, 1994.
  941.  
  942.    [16] N. Haller and R. Atkinson. RFC 1704, On Internet Authentication.
  943.    SRI Network Information Center, October 1994.
  944.  
  945.    [17] C. Kaufman and D. Eastlake. DNS Security Protocol Extensions.
  946.    Working draft, January 1996.
  947.  
  948.    [18] T. Berners-Lee, R. Cailliau, A. Luotonen, H. Frystyk Nielsen, A.
  949.    Secret.  The World Wide Web. Communications of the ACM, 37(8):76-82,
  950.    August 1994.
  951.  
  952.  
  953.  
  954. Ballardie                     Experimental                     [Page 17]
  955.  
  956. RFC 1949          Scalable Multicast Key Distribution           May 1996
  957.  
  958.  
  959.    [19] R. Rivest. RFC 1321, The MD-5 Message Digest Algorithm, SRI Net-
  960.    work Information Center, 1992.
  961.  
  962.    [20] P. Karn, W. Simpson. The Photuris Session Key Management Proto-
  963.    col; Working draft, January 1996.
  964.  
  965.    [21] D. Maughan, M. Schertler. Internet Security Association and Key
  966.    Management Protocol; Working draft, November 1995.
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010. Ballardie                     Experimental                     [Page 18]
  1011.  
  1012.