diff options
Diffstat (limited to 'doc/rfc/rfc1949.txt')
| -rw-r--r-- | doc/rfc/rfc1949.txt | 1011 | 
1 files changed, 1011 insertions, 0 deletions
| diff --git a/doc/rfc/rfc1949.txt b/doc/rfc/rfc1949.txt new file mode 100644 index 0000000..00d0691 --- /dev/null +++ b/doc/rfc/rfc1949.txt @@ -0,0 +1,1011 @@ + + + + + + +Network Working Group                                       A. Ballardie +Request for Comments: 1949                     University College London +Category: Experimental                                          May 1996 + + +                  Scalable Multicast Key Distribution + +Status of this Memo + +   This memo defines an Experimental Protocol for the Internet +   community.  This memo does not specify an Internet standard of any +   kind.  Discussion and suggestions for improvement are requested. +   Distribution of this memo is unlimited. + +Abstract + +   The benefits of multicasting are becoming ever-more apparent, and its +   use much more widespread. This is evident from the growth of the +   MBONE [1]. Providing security services for multicast, such as traffic +   integrity, authentication, and confidentiality, is particularly +   problematic since it requires securely distributing a group (session) +   key to each of a group's receivers.  Traditionally, the key +   distribution function has been assigned to a central network entity, +   or Key Distribution Centre (KDC), but this method does not scale for +   wide-area multicasting, where group members may be widely-distributed +   across the internetwork, and a wide-area group may be densely +   populated. + +   Even more problematic is the scalable distribution of sender-specific +   keys. Sender-specific keys are required if data traffic is to be +   authenticated on a per-sender basis. + +   This memo provides a scalable solution to the multicast key +   distribution problem. + +   NOTE: this proposal requires some simple support mechanisms, which, +   it is recommended here, be integrated into version 3 of IGMP. This +   support is described in Appendix B. + +1.  Introduction + +   Growing concern about the integrity of Internet communication [13] +   (routing information and data traffic) has led to the development of +   an Internet Security Architecture, proposed by the IPSEC working +   group of the IETF [2]. The proposed security mechanisms are +   implemented at the network layer - the layer of the protocol stack at +   which networking resources are best protected [3]. + + + + +Ballardie                     Experimental                      [Page 1] + +RFC 1949          Scalable Multicast Key Distribution           May 1996 + + +   Unlike many network layer protocols, the Core Based Tree (CBT) +   multicast protocol [4] makes explicit provision for security; it has +   its own protocol header, unlike existing IP multicast schemes +   [10,11], and other recently proposed schemes [12]. + +   In this document we describe how the CBT multicast protocol can +   provide for the secure joining of a CBT group tree, and how this same +   process can provide a scalable solution to the multicast key +   distribution problem.  These security services are an integral part +   of the CBT protocol [4]. Their use is optional, and is dependent on +   each individual group's requirements for security. Furthermore, the +   use of the CBT multicast protocol for multicast key distribution does +   not preclude the use of other multicast protocols for the actual +   multicast communication itself, that is, CBT need only be the vehicle +   with which to distribute keys. + +   Secure joining implies the provision for authentication, integrity, +   and optionally, confidentiality, of CBT join messages. The scheme we +   describe provides for the authentication of tree nodes (routers) and +    receivers (end-systems) as part of the tree joining process. Key +   distribution (optional) is an integral part of secure joining. + +   Network layer multicast protocols, such as DVMRP [7] and M-OSPF [9], +   do not have their own protocol header(s), and so cannot provision for +   security in themselves; they must rely on whatever security is +   provided by IP itself. Multicast key distribution is not addressed to +   any significant degree by the new IP security architecture [2]. + +   The CBT security architecture is independent of any particular +   cryptotechniques, although many security services, such as +   authentication, are easier if public-key cryptotechniques are +   employed. + +   What follows is an overview of the CBT multicasting. The description +   of our proposal in section 6.1 assumes the reader is reasonably +   familiar with the CBT protocol. Details of the CBT architecture and +   protocol can be found in [7] and [4], respectively. + +2.  Overview of BCT Multicasting + +   CBT is a new architecture for local and wide-area IP multicasting, +   being unique in its utilization of just one shared delivery tree per +   group, as opposed to the source-based delivery tree approach of +   existing IP multicast schemes, such as DVMRP and MOSPF. + +   A shared multicast delivery tree is built around several so-called +   core routers. A group receiver's local multicast router is required +   to explicitly join the corresponding delivery tree after receiving an + + + +Ballardie                     Experimental                      [Page 2] + +RFC 1949          Scalable Multicast Key Distribution           May 1996 + + +   IGMP [8] group membership report over a directly connected interface. +   A CBT join message is targeted at one of the group's core routers. +   The resulting acknowledgement traverses the reverse-path of the join, +   resulting in the creation of a tree branch. Routers along these +   branches are called non-core routers for the group, and there exists +   a parent-child relationship between adjacent routers along a branch +   of the same tree (group). + +3.  How the CBT Architecture Complements Security + +   The CBT architecture requires "leaf" routers to explicitly join a CBT +   tree. Hence, CBT is not data driven; the ack associated with a join +   "fixes" tree state in the routers that make up the tree. This so- +   called "hard state" remains until the tree re-configures, for +   example, due to receivers leaving the group, or because an upstream +   failure has occurred. The CBT protocol incorporates mechanisms +   enabling a CBT tree to repair itself in the event of the latter. + +   As far as the establishment of an authenticated multicast +   distribution tree is concerned, DVMRP, M-OSPF, and PIM, are at a +   disadvan- tage; the nature of their "soft state" means a delivery +   tree only exists as long as there is data flow.  Also, routers +   implementing a multicast protocol that builds its delivery tree based +   on a reverse-path check (like DVMRP and PIM dense mode) cannot be +   sure of the previous-hop router, but only the interface a multicast +   packet arrived on. + +   These problems do not occur in the CBT architecture. CBT's hard state +   approach means that all routers that make up a delivery tree know who +   their on-tree neighbours are; these neighbours can be authenticated +   as part of delivery tree set-up. As part of secure tree set-up, +   neighbours could exchange a secret packet handle for inclusion in the +   CBT header of data packets exchanged between those neighbours, +   allowing for the simple and efficient hop-by-hop authentication of +   data packets (on-tree). + +   The presence of tree focal points (i.e. cores) provides CBT trees +   with natural authorization points (from a security viewpoint) -- the +   formation of a CBT tree requires a core to acknowledge at least one +   join in order for a tree branch to be formed. Thereafter, +   authorization and key distribution capability can be passed on to +   joining nodes that are authenticated. + +   In terms of security, CBT's hard state approach offers several +   additional advantages: once a multicast tree is established, tree +   state maintained in the routers that make up the tree does not time +   out or change necessarily to reflect underlying unicast topology. +   The security implications of this are that nodes need not be subject + + + +Ballardie                     Experimental                      [Page 3] + +RFC 1949          Scalable Multicast Key Distribution           May 1996 + + +   to repeated authentication subsequent to a period of inactivity, and +   tree nodes do not need to re-authenticate themselves as a result of +   an underlying unicast topology change, unless of course, an network +   (node) failure has occurred. + +   Hard-state protocol mechanisms are often thought of as being less +   fault tolerant than soft-state schemes, but there are pros and cons +   to both approaches; we see here that security is one of the pros. + +4.  The Multicast Key Distribution Problem + +   We believe that multicast key distribution needs to be combined with +   group access control. Without group access control, there is no point +   in employing multicast key distribution, since, if there are no group +   restrictions, then it should not matter to whom multicast information +   is divulged. + +   There are different ways of addressing group access control. The +   group access control we describe requires identifying one group +   member (we suggest in [14] that this should be the group initiator) +   who has the ability to create, modify and delete all or part of a +   group access control list. The enforcement of group access control +   may be done by a network entity external to the group, or by a group +   member. + +   The essential problem of distributing a session (or group) key to a +   group of multicast receivers lies in the fact that some central key +   management entity, such as a key distribution centre (KDC) (A Key +   Distribution Centre (KDC) is a network entity, usually residing at a +   well-known address. It is a third party entity whose responsibility +   it to generate and distribute symmetric key(s) to peers, or group +   receivers in the case of multicast, wishing to engage in a "secure" +   communication. It must therefore be able to identify and reliably +   authenticate requestors of symmetric keys.), must authenticate each +   of a group's receivers, as well as securely distribute a session key +   to each of them.  This involves encrypting the relevant message n +   times, once with each secret key shared between the KDC and +   corresponding receiver (or alternatively, with the public key of the +   receiver), before multicasting it to the group. (Alternatively, the +   KDC could send an encrypted message to each of the receivers +   individually, but this does not scale either.)  Potentially, n may be +   very large.  Encrypting the group key with the secret key (of a +   secret-public key pair) of the KDC is not an option, since the group +   key would be accessible to anyone holding the KDC's public key, and +   public keys are either well-known or readily available.  In short, +   existing multicast key distribution methods do not scale. + + + + + +Ballardie                     Experimental                      [Page 4] + +RFC 1949          Scalable Multicast Key Distribution           May 1996 + + +   The scaling problem of secure multicast key distribution is +   compounded for the case where sender-specific keys need to be +   distributed to a group. This is required for sender-specific +   authentication of data traffic. It is not possible to achieve per- +   sender authentication, given only a group session key. + +   Recently a proposal has emerged, called the Group Key Management +   Protocol (GKMP) [15]. This was designed for military networks, but +   the authors have demonstrated how the architecture could be applied +   to a network like the Internet, running receiver-oriented multicast +   applications. + +   GKMP goes a considerable way to addressing the problems of multicast +   key distribution: it does not rely on a centralised KDC, but rather +   places the burden of key management on a group member(s). This is the +   approach adopted by the CBT solution, but our solution can take this +   distributed approach further, which makes our scheme that much more +   scalable. Furthermore, our scheme is relatively simple. + +   The CBT model for multicast key distribution is unique in that it is +   integrated into the CBT multicast protocol itself. It offers a +   simple, low-cost, scalable solution to multicast key distribution. We +   describe the CBT multicast key distribution approach below. + +5.  Multicast Security Associations + +   The IP security architecture [2] introduces the concept of "Security +   Associations" (SAs), which must be negotiated in advance during the +   key management phase, using a protocol such as Photuris [20], or +   ISAKMP [21].  A Security Association is normally one-way, so if two- +   way communication is to take place (e.g. a typical TCP connection), +   then two Security Associations need to be negotiated.  During the +   negotiation phase, the destination system normally assigns a Security +   Parameter Index to the association, which is used, together with the +   destination address (or, for the sender, the sender's user-id) to +   index into a Security Association table, maintained by the +   communicating parties.  This table enables those parties to index the +   correct security parameters pertinent to an association.  The +   security association parameters include authentication algorithm, +   algorithm mode, cryptographic keys, key lifetime, sensitivity level, +   etc. + +   The establishment of Security Associations (SA) for multicast +   communication does not scale using protocols like Photuris, or +   ISAKMP.  This is why it is often assumed that a multicast group will +   be part of a single Security Association, and hence share a single +   SPI. It is assumed that one entity (or a pair of entities) creates +   the SPI "by some means" (which may be an SA negotiation protocol, + + + +Ballardie                     Experimental                      [Page 5] + +RFC 1949          Scalable Multicast Key Distribution           May 1996 + + +   like [20] and [21]), which is then simply multicast, together with +   the SA parameters, to the group for subsequent use. However, this +   precludes multicast receivers from performing sender-specific origin +   authentication; all a receiver can be sure of is that the sender is +   part of the multicast Security Association. + +   We advocate that the primary core, either alone, or in conjunction +   with the group initiator, establish the security parameters to be +   used in the group communication. These are distributed as part of the +   secure join process. Thereafter, individual senders can distribute +   their own key and security parameters to the group.  In the case of +   the latter, there are two cases to consider: + +   +    the sender is already a group member. In this case, the sender +        can decide upon/generate its own security parameters, and multi- +        cast them to the group using the current group session key. + +   +    the sender is not a group member. In this case, before the +        sender begins sending, it must first negotiate the security +        parameters with the primary core, using a protocol such as Pho- +        turis [20] or ISAKMP [21].  Once completed, the primary core +        multicasts (securely) the new sender's session key and security +        parameters to the group. + +   Given that we assume the use of asymmetric cryptotechniques +   throughout, this scheme provides a scalable solution to multicast +   origin authentication. + +   Sender-specific keys are also discussed in section 8. + +6.  The CBT Multicast Key Distribution Model + +   The security architecture we propose allows not only for the secure +   joining of a CBT multicast tree, but also provides a solution to the +   multicast key distribution problem [16]. Multicast key distribution +   is an optional, but integral, part of the secure tree joining +   process; if a group session key is not required, its distribution may +   be omitted. + +   The use of CBT for scalable multicast key distribution does not +   preclude the use of other multicast protocols for the actual +   multicast communication.  CBT could be used solely for multicast key +   distribution -- any multicast protocol could be used for the actual +   multicast communication itself. + +   The model that we propose does not rely on the presence of a +   centralised KDC -- indeed, the KDC we propose need not be dedicated +   to key distribution. We are proposing that each group have its own + + + +Ballardie                     Experimental                      [Page 6] + +RFC 1949          Scalable Multicast Key Distribution           May 1996 + + +   group key distribution centre (GKDC), and that the functions it +   provides should be able to be "passed on" to other nodes as they join +   the tree.  Hence, our scheme involves truly distributed key +   distribution capability, and is therefore scalable. It does not +   require dedicated KDCs.  We are proposing that a CBT primary core +   initially take on the role of a GKDC. + +6.1  Operational Overview + +   When a CBT group is created, it is the group initiator's +   responsibility to create a multicast group access control list (ACL) +   [14]. It is recommended that this list is a digitally signed +   "document", the same as (or along the lines of) an X.509 certificate +   [9], such that it can be authenticated.  The group initiator +   subsequently unicasts the ACL to the primary core for the group. This +   communication is not part of the CBT protocol. The ACL's digital +   signature ensures that it cannot be modified in transit without +   detection. If the group membership itself is sensitive information, +   the ACL can be additionally encrypted with the public key of the +   primary core before being sent.  The ACL can be an "inclusion" list +   or an "exclusion" list, depending on whether group membership +   includes relatively few, or excludes relatively few. + +   The ACL described above consists of group membership (inclusion or +   exclusion) information, which can be at the granularity of hosts or +   users. How these granularities are specified is outside the scope of +   this document.  Additionally, it may be desirable to restrict key +   distribution capability to certain "trusted" nodes (routers) in the +   network, such that only those trusted nodes will be given key +   distribution capability should they become part of a CBT delivery +   tree. For this case, an additional ACL is required comprising +   "trusted" network nodes. + +   The primary core creates a session key subsequent to receiving and +   authenticating the message containing the access control list.  The +   primary core also creates a key encrypting key (KEK) which is used +   for re-keying the group just prior to an old key exceeding its life- +   time.  This re-keying strategy means that an active key is less +   likely to become compromised during its lifetime. + +   The ACL(s), group key, and KEK are distributed to secondary cores as +   they become part of the distribution tree. + +   Any tree node with this information can authenticate a joining +   member, and hence, secure tree joining and multicast session key +   distribution are truly distributed across already authenticated tree +   nodes. + + + + +Ballardie                     Experimental                      [Page 7] + +RFC 1949          Scalable Multicast Key Distribution           May 1996 + + +6.2  Integrated Join Authentication and Multicast Key Distribution + +   For simplicity, in our example we assume the presence of an +   internetwork-wide asymmetric key management scheme, such as that +   proposed in [17].  However, we are not precluding the use of +   symmetric cryptographic techniques -- all of the security services we +   are proposing, i.e. integrity, authentication, and confidentiality, +   can all be achieved using symmetric cryptography, albeit a greater +   expense, e.g. negotiation with a third party to establish pairwise +   secret keys. For these reasons, we assume that a public (asymmetric) +   key management scheme is globally available, for example, through the +   Domain Name System (DNS) [17] or World Wide Web [18]. + +   NOTE: given the presence of asymmetric keys, we can assume digital +   signatures provide integrity and origin authentication services +   combined. + +   The terminology we use here is described in Appendix A. We formally +   define some additional terms here: + +   +    grpKey: group key used for encrypting group data traffic. + +   +    ACL: group access control list. + +   +    KEK: key encrypting key, used for re-keying a group with a new +        group key. + +   +    SAparams: Security Association parameters, including SPI. + +   +    group access package (grpAP): sent from an already verified tree +        node to a joining node. + +        [token_sender, [ACL]^SK_core, {[grpKey, KEK, +        SAparams]^SK_core}^PK_origin-host, +        {[grpKey, KEK, SAparams]^SK_core}^PK_next-hop]^SK_sender + +        NOTE: SK_core is the secret key of the PRIMARY core. + +   As we have already stated, the elected primary core of a CBT tree +   takes on the initial role of GKDC. In our example, we assume that a +   group access control list has already been securely communicated to +   the primary core. Also, it is assumed the primary core has already +   participated in a Security Association estabishment protocol [20,21], +   and thus, holds a group key, a key-encrypting key, and an SPI. + +      NOTE, there is a minor modification required to the CBT protocol +      [4], which is as follows: when a secondary core receives a join, +      instead of sending an ack followed by a re-join to the primary, + + + +Ballardie                     Experimental                      [Page 8] + +RFC 1949          Scalable Multicast Key Distribution           May 1996 + + +      the secondary forwards the join to the primary; the ack travels +      from the primary (or intermediate on-tree router) back to the join +      origin. All routers (or only specific routers) become GKDCs after +      they receive the ack. + +   We now demonstrate, by means of an example, how CBT routers join a +   tree securely, and become GKDCs. For clarity, in the example, it is +   assumed all routers are authorised to become GKDCs, i.e. there is no +   trusted-router ACL. + +   In the diagram below, only one core (the primary) is shown. The +   process of a secondary joining the primary follows exactly what we +   describe here. + +   In the diagram, host h wishes to join multicast group G.  Its local +   multicast router (router A) has not yet joined the CBT tree for the +   group G. + +    b      b     b-----b +     \     |     | +      \    |     | +       b---b     b------b +      /     \  /              KEY.... +     /       \/ +    b         C               C = Core (Initial Group Key Dist'n Centre) +             / \             A, B, b = non-core routers +            /   \ +           /     \           ======= LAN where host h is located +           B      b------b +            \ +             \              NOTE: Only one core is shown, but typically +host h        A              a CBT tree is likely to comprise several. +    o         | +===================== + +       Figure 1: Example of Multicast Key Distribution using CBT + +   A branch is created as part of the CBT secure tree joining process, +   as follows: + +   +    Immediately subsequent to a multicast application starting up on +        host h, host h immediately sends an IGMP group membership +        report, addressed to the group. This report is not suppressible +        (see Appendix B), like other IGMP report types, and it also +        includes the reporting host's token, which is digitally signed + +        h --> DR (A): [[token_h]^SK_h, IGMP group membership report] + + + + +Ballardie                     Experimental                      [Page 9] + +RFC 1949          Scalable Multicast Key Distribution           May 1996 + + +        (A host's token differs in two respects compared with tokens +        defined in [9]. To refresh, a token assists a recipient in the +        verification process, and typically contains: recipient's +        unique identity, a timestamp, and a pseudo-random number. A +        token is also usually digitally signed by its originator. +        Firstly, A host's token does not contain the intended +        recipient's identity, since this token may need to traverse +        several CBT routers before reaching a GKDC.  A host does not +        actually know which router, i.e. GKDC, will actually +        acknowledge the join that it invoked.  Secondly, the host's +        token is digitally signed -- this is usual for a token. +        However, tokens generated by routers need not be explicitly +        digitally signed because the JOIN-REQUESTs and JOIN-ACKs that +        carry them are themselves digitally signed.) + +   +    In response to receiving the IGMP report, the local designated +        router (router A) authenticates the host's enclosed token. If +        successful, router A formulates a CBT join-request, whose target +        is core C (the primary core). Router A includes its own token in +        the join, as well as the signed token received from host h. The +        join is digitally signed by router A. + +        NOTE 1: router A, like all CBT routers, is configured with the +        unicast addresses of a prioritized list of cores, for different +        group sets, so that joins can be targeted accordingly. + +        NOTE 2: the host token is authenticated at most twice, once by +        the host's local CBT router, and once by a GKDC. If the local +        router is already a GKDC, then authentication only happens once. +        If the local router is not already a GKDC, a failed authentica- +        tion check removes the overhead of generating and sending a CBT +        join-request. + +        Router A unicasts the join to the best next-hop router on the +        path to core C (router B). + +            A --> B: [[token_A], [token_h]^SK_h, JOIN-REQUEST]^SK_A + +   +    B authenticates A's join-request. If successful, B repeats the +        previous step, but now the join is sent from B to C (the pri- +        mary, and target), and the join includes B's token. Host h's +        token is copied to this new join. + +            B --> C: [[token_B], [token_h]^SK_h, JOIN-REQUEST]^SK_B + +   +    C authenticates B's join. As the tree's primary authorization +        point (and GKDC), C also authenticates host h, which triggered +        the join process. For this to be successful, host h must be + + + +Ballardie                     Experimental                     [Page 10] + +RFC 1949          Scalable Multicast Key Distribution           May 1996 + + +        included in the GKDC's access control list for the group.  If h +        is not in the corresponding access control list, authentication +        is redundant, and a join-nack is returned from C to B, which +        eventually reaches host h's local DR, A. + +        Assuming successful authentication of B and h, C forms a group +        access package (grpAP), encapsulates it in a join-ack, and digi- +        tally signs the complete message. C's token, host h's signed +        token, a signed ACL, and two (group key, KEK) pairs are included +        in the group access package; one for the originating host, and +        one for the next-hop CBT router to which the join-ack is des- +        tined. Each key pair is digitally signed by the issuer, i.e. the +        primary core for the group. The host key pair is encrypted using +        the public key of the originating host, so as to be only deci- +        pherable by the originating host, and the other key pair is +        encrypted using the public key of the next-hop router to which +        the ack is destined -- in this case, B.  Host h's token is used +        by the router connected to the subnet where h resides so as to +        be able to identify the new member. + +              C --> B: [[token^h]^SK_h, grpAP, JOIN-ACK]^SK_C + +   +    B authenticates the join-ack from C. B extracts its encrypted +        key pair from the group access package, decrypts it, authenti- +        cates the primary core, and stores the key pair in encrypted +        form, using a local key.  B also verifies the digital signature +        included with the access control list. It subsequently stores +        the ACL in an appropriate table.  The originating host key pair +        remains enciphered. + +        The other copy of router B's key pair is taken and deciphered +        using its secret key, and immediately enciphered with the public +        key of next-hop to which a join-ack must be passed, i.e. router +        A. A group access package is formulated by B for A. It contains +        B's token, the group ACL (which is digitally signed by the pri- +        mary core), a (group key, KEK) pair encrypted using the public +        key of A, and the originating host's key pair, already +        encrypted.  The group access package is encapsulated in a join- +        ack, the complete message is digitally signed by B, then for- +        warded to A. + +                B --> A: [[token^h]^SK_h, grpAP, JOIN-ACK]^SK_B + +   +    A authenticates the join-ack received from B.  A copy of the +        encrypted key pair that is for itself is extracted from the +        group access package and deciphered, and the key issuer (primary +        core) is authenticated.  If successful, the enciphered key pair +        is stored by A.  The digital signature of the included access + + + +Ballardie                     Experimental                     [Page 11] + +RFC 1949          Scalable Multicast Key Distribution           May 1996 + + +        control list is also verified, and stored in an appropriate +        table.  The key pair encrypted for host h is extracted from the +        group access package, and is forwarded directly to host h, which +        is identified from the presence of its signed token.  On +        receipt, host h decrypts the key pair for subsequent use, and +        stores the SA parameters in its SA table. + +          A --> h: [[token^h]^SK_h, {grpKey, KEK, SAparams}^PK_h] + +   Going back to the initial step of the tree-joining procedure, if the +   DR for the group being joined by host h were already established as +   part of the corresponding tree, it would already be a GKDC. It would +   therefore be able to directly pass the group key and KEK to host h +   after receiving an IGMP group membership report from h: + +          A --> h: [[token^h]^SK_h, {grpKey, KEK, SAparams}^PK_h] + +   If paths, or nodes fail, a new route to a core is gleaned as normal +   from the underlying unicast routing table, and the re-joining process +   (see [4]) occurs in the same secure fashion. + +7.  A Question of Trust + +   The security architecture we have described, involving multicast key +   distribution, assumes that all routers on a delivery tree are trusted +   and do not misbehave. A pertinent question is: is it reasonable to +   assume that network routers do not misbehave and are adequately +   protected from malicious attacks? + +   Many would argue that this is not a reasonable assumption, and +   therefore the level of security should be increased to discount the +   threat of misbehaving routers. As we described above, routers +   periodically decrypt key pairs in order to verify them, and/or re- +   encrypt them to pass them on to joining neighbour routers. + +   In view of the above, we suggest that if more stringent security is +   required, the model we presented earlier should be slightly amended +   to accommodate this requirement.  However, depending on the security +   requirement and perceived threat, the model we presented may be +   acceptable. + +   We recommend the following change to the model already presented +   above, to provide a higher level of security: + +   All join-requests must be authenticated by a core router, i.e. a join +   arriving at an on-tree router must be forwarded upstream to a core if +   the join is identified as being a "secure" join (as indicated by the +   presence of a signed host token). + + + +Ballardie                     Experimental                     [Page 12] + +RFC 1949          Scalable Multicast Key Distribution           May 1996 + + +   The implication of this is that key distribution capability remains +   with the core routers and is not distributed to non-core routers +   whose joins have been authenticated. Whilst this makes our model +   somewhat less distributed than it was before, the concept of key +   distribution being delegated to the responsibility of individual +   groups remains.  Our scheme therefore retains its attractiveness over +   centralized schemes. + +8.  The Multicast Distribution of Sender-Specific Keys + +   Section 5, in part, discussed the scalable distribution of sender- +   specific keys and sender-specific security parameters to a multicast +   group, for both member-senders, and non-member senders. If asymmetric +   cryptotechniques are employed, this allows for sender-specific origin +   authentication. + +   For member-senders, the following message is multicast to the group, +   encrypted using the current group session key, prior to the new +   sender transmitting data: + +            {[sender_key, senderSAparams]^SK_sender}^group_key + +   Non-member senders must first negotiate (e.g. using Photuris or +   ISAKMP) with the primary core, to establish the security association +   parameters, and the session key, for the sender.  The sender, of +   course, is subject to access control at the primary.  Thereafter, the +   primary multicasts the sender-specific session key, together with +   sender's security parameters to the group, using the group's current +   session key.  Receivers are thus able to perform origin +   authentication. + +                           Photuris or ISAKMP +             1. sender <----------------------> primary core + +          2. {[sender_key, senderSAparams]^SK_primary}^group_key + +   For numerous reasons, it may be desirable to exclude certain group +   members from all or part of a group's communication.  We cannot offer +   any solution to providing this capability, other than requiring new +   keys to be distributed via the establishment of a newly-formed group +   (CBT tree). + + + + + + + + + + +Ballardie                     Experimental                     [Page 13] + +RFC 1949          Scalable Multicast Key Distribution           May 1996 + + +9.  Summary + +   This memo has offered a scalable solution to the multicast key +   distribution problem. Our solution is based on the CBT architecture +   and protocol, but this should not preclude the use of other multicast +   protocols for secure multicast communication subsequent to key +   distribution. Furthermore, virtually all of the functionality present +   in our solution is in-built in the secure version of the CBT +   protocol, making multicast key distribution an optional, but integral +   part, of the CBT protocol. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Ballardie                     Experimental                     [Page 14] + +RFC 1949          Scalable Multicast Key Distribution           May 1996 + + +Appendix A + +   The following terminology is used throughout this document: + +   +    PK_A indicates the public key of entity A. + +   +    SK_A indicates the secret key of entity A. The secret key can be +        used by a sender to digitally sign a digest of the message, +        which is computed using a strong, one-way hash function, such as +        MD5 [19]. + +   +    Unencrypted messages will appear enclosed within square brack- +        ets, e.g. [X, Y, Z]. If a message is digitally signed, a super- +        script will appear outside the right hand bracket, indicating +        the message signer.  Encrypted messages appear enclosed within +        curly braces, with a superscript on the top right hand side out- +        side the closing curly brace indicating the encryption key, e.g. +        {X, Y, Z}^{PK_A}. + +   +    a token is information sent as part of a strong authentication +        exchange, which aids a receiver in the message verification pro- +        cess. It consists of a timestamp, t (to demonstrate message +        freshness), a random, non-repeating number, r (to demonstrate +        message originality), and the unique name of the message +        recipient (to demonstrate that the message is indeed intended +        for the recipient).  A digital signature is appended to the +        token by the sender (which allows the recipient to authenticate +        the sender). The token is as follows: + +             [t_A, r_A, B]^{SK_A} --  token sent from A to B. + +   +    A --> B:  -- denotes a message sent from A to B. + +Appendix B + +   The group access controls described in this document require a few +   simple support mechanisms, which, we recommend, be integrated into +   version 3 of IGMP. This would be a logical inclusion to IGMP, given +   that version 3 is expected to accommodate a variety of multicast +   requirements, including security. Furthermore, this would remove the +   need for the integration of a separate support protocol in hosts. + +   To refresh, IGMP [8] is a query/response multicast support protocol +   that operates between a multicast router and attached hosts. + +   Whenever an multicast application starts on a host, that host +   generates a small number of IGMP group membership reports in quick +   succession (to overcome potential loss). Thereafter, a host only + + + +Ballardie                     Experimental                     [Page 15] + +RFC 1949          Scalable Multicast Key Distribution           May 1996 + + +   issues a report in response to an IGMP query (issued by the local +   multicast router), but only if the host has not received a report for +   the same group (issued by some other host on the same subnet) before +   the host's IGMP random response timer expires. Hence, IGMP, +   incorporates a report "suppression" mechanism to help avoid "IGMP +   storms" on a subnet, and generally conserve bandwidth. + +   We propose that IGMP accommodate "secure joins" - IGMP reports that +   indicate the presence of a digitally signed host (or user) token. +   These report types must not be suppressible, as is typically the case +   with IGMP reports; it must be possible for each host to independently +   report its group presence to the local router, since a GKDC bases its +   group access control decision on this information. + +   This functionality should not adversely affect backwards +   compatibility with earlier versions of IGMP that may be present on +   the same subnet; the new reports will simply be ignored by older IGMP +   versions, which thus continue to operate normally. + +Security Considerations + +   Security issues are discussed throughout this memo. + +Author's Address + +   Tony Ballardie, +   Department of Computer Science, +   University College London, +   Gower Street, +   London, WC1E 6BT, +   ENGLAND, U.K. + +   Phone: ++44 (0)71 419 3462 +   EMail: A.Ballardie@cs.ucl.ac.uk + +References + +   [1] MBONE, The Multicast BackbONE; M. Macedonia and D. Brutzman; +   available from http://www.cs.ucl.ac.uk/mice/mbone_review.html. + +   [2] R. Atkinson. Security Architecture for the Internet Protocol; RFC +   1825, SRI Network Information Center, August 1995. + +   [3] D. Estrin and G. Tsudik. An End-to-End Argument for Network Layer, +   Inter-Domain Access Controls; Journal of Internetworking & Experience, +   Vol 2, 71-85, 1991. + + + + + +Ballardie                     Experimental                     [Page 16] + +RFC 1949          Scalable Multicast Key Distribution           May 1996 + + +   [4] A. Ballardie, S. Reeve, N. Jain. Core Based Tree (CBT) Multicast - +   Protocol Specification; Work in Progress, 1996. Available from: +   ftp://cs.ucl.ac.uk/darpa/IDMR/draft-ietf-idmr-cbt-spec-XX.txt. + +   [5] R. Atkinson. IP Authentication Header; RFC 1826, SRI Network +   Information Center, August 1995. + +   [6] R. Atkinson. IP Encapsulating Security Payload; RFC 1827, SRI Net- +   work Information Center, August 1995. + +   [7] A. Ballardie. Core Based Tree (CBT) Multicast Architecture; Work +   in progress, 1996. Available from: +   ftp://cs.ucl.ac.uk/darpa/IDMR/draft-ietf-idmr-cbt-arch-XX.txt + +   [8] W. Fenner. Internet Group Management Protocol, version 2 (IGMPv2), +   Work in progress, 1996. + +   [9] CCITT Data Communication Networks Directory (Blue Book). Recommen- +   dation X.509, Authentication Framework. + +   [10] T. Pusateri. Distance-Vector Multicast Routing Protocol (DVMRP) +   version 3. Working draft, February 1996. + +   [11] J. Moy. Multicast Extensions to OSPF; RFC 1584, SRI Network +   Information Center, March 1994. + +   [12] D. Estrin et al. Protocol Independent Multicast, protocol specif- +   ication; Work in progress, January 1996. + +   [13] R. Braden, D. Clark, S. Crocker and C. Huitema. Security in the +   Internet Architecture. RFC 1636, June 1994. + +   [14] A. Ballardie and J. Crowcroft. Multicast-Specific Security +   Threats and Counter-Measures. In ISOC Symposium on Network and Distri- +   buted System Security, February 1995. + +   [15] H. Harney, C. Muckenhirn, and T. Rivers. Group Key Management +   Protocol (GKMP) Architecture. Working draft, 1994. + +   [16] N. Haller and R. Atkinson. RFC 1704, On Internet Authentication. +   SRI Network Information Center, October 1994. + +   [17] C. Kaufman and D. Eastlake. DNS Security Protocol Extensions. +   Working draft, January 1996. + +   [18] T. Berners-Lee, R. Cailliau, A. Luotonen, H. Frystyk Nielsen, A. +   Secret.  The World Wide Web. Communications of the ACM, 37(8):76-82, +   August 1994. + + + +Ballardie                     Experimental                     [Page 17] + +RFC 1949          Scalable Multicast Key Distribution           May 1996 + + +   [19] R. Rivest. RFC 1321, The MD-5 Message Digest Algorithm, SRI Net- +   work Information Center, 1992. + +   [20] P. Karn, W. Simpson. The Photuris Session Key Management Proto- +   col; Working draft, January 1996. + +   [21] D. Maughan, M. Schertler. Internet Security Association and Key +   Management Protocol; Working draft, November 1995. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Ballardie                     Experimental                     [Page 18] + |