INTERNET DRAFT                                              O. Paridaens
<draft-paridaens-xcast-sec-framework-01.txt>                     D. Ooms
                                                                B. Sales
                                                                 Alcatel
                                                          November, 2000
                                                       Expires May, 2001


               Security Framework for Explicit Multicast


Status of this Memo

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

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups. Note that other
   groups may also distribute working documents as Internet-Drafts.
   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time. It is inappropriate to use Internet- Drafts as reference
   material or to cite them other than as "work in progress."

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

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

Abstract

   This document describes the general issues related to securing
   explicit multicast traffic.  Explicit multicast is a mechanism aiming
   at providing multicast services for small groups of users.  The
   distinctive characteristics of explicit multicast is that the sender
   specifies the list of receivers.  This document reviews and discusses
   security issues related to the explicit IP multicast model, hence
   providing a general framework for securing explicit multicast IP
   traffic as described in [16].

Conventions used in this document

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC-2119 [2].

1 Introduction

   Explicit multicast [11, 12, 13, 14] is a mechanism providing
   multicast services for small groups of users.  One major
   particularity of explicit multicast is that the sender normally
   explicitly specifies the list of recipients (how this is exactly
   achieved is further specified in [16]).  Such a multicast model is
   already used for electronic messaging but the idea here is to apply
   it at the IP level.

   As it is well-known, "traditional" multicast brings complex issues in
   terms of applying security services to such traffic.  This has been a
   subject of research for several years and is now being more
   specifically studied within the IRTF SmuG group [1-9].  A
   corresponding IETF WG may also probably be setup in the near future.

   Explicit multicast distinguishes from traditional multicast at least
   in terms of scalability issues and membership control.  Indeed, an
   explicit multicast session is made of few members, which
   significantly reduces scalability issues being dealt with in SmuG.
   Also, the receivers are known by the sender(s), which plays a role in
   membership management issues (e.g. access control, anonymity).

   Explicit multicast brings specificities compared to traditional
   multicast, specificities which have consequences on security aspects.
   Based on the work being done in SmuG, this document discusses those
   security matters related to explicit IP multicast, hence providing a
   general framework for securing explicit multicast IP traffic.

   The first section reviews security services usually considered in
   multicast environments.  For each such service, we determine whether
   the solution(s) being developed for traditional multicast solely
   apply, or whether simpler or better solution(s) can apply, taking
   benefit of the explicit multicast specificities.  The following
   section covers aspects linked to the existing IPsec technology [10].
   It reviews issues in the use of IPsec for multicast traffic and
   discusses possible scenarios that might be applied for securing
   explicit IP multicast traffic [16] with IPsec AH and/or ESP.  The
   last section is devoted to the important problem of Security
   Association (SA) and key management, identifying issues and
   suggesting possible solutions in a generic way.

2 Security Services

   This section discusses basic security services that can be required
   in the context of explicit IP multicast.  Problems may seem similar
   to those arising in "traditional" multicast environments and which
   are being discussed within the SmuG IRTF group but the explicit
   aspect leads to specificities which we have considered throughout
   this document.

   For each identified security aspect, we discuss whether solutions
   being developed for traditional multicast apply or whether simpler,
   better solutions can apply by taking benefit of the explicit
   multicast model characteristics.  Because the explicit multicast
   model being considered applies at the IP level, our discussions focus
   on security aspects at the IP level.

2.1 Membership Management

   This section covers the various aspects linked to the group
   membership that influence or are directly related to the provision of
   security services in an explicit multicast environment, main
   characteristic of which is that the list of recipient IP addresses
   explicitly appears in the IP datagram.

2.1.1 Access Control

2.1.1.1 Membership Control

   Controlling the membership of the session is obviously a (possible)
   security requirement.  Such a control can be achieved merely to
   identify who is part of the session without applying any restriction
   or to control access to the session (hence applying yes/no decisions
   on join requests).  Control can also be achieved thanks to "invite"
   requests whereby receivers are invited to join the multicast session.
   The entity responsible for controlling the membership is termed the
   group controller (GC).  As further discussed in section 4, in
   traditional multicast, the work of the GC is not so obvious.  Current
   proposed multicast routing schemes do not enable a central GC to
   always know which IP entities are joining the multicast group (as the
   entity's IP address is lost on the way).  In any case, a scalable
   solution for traditional multicast will probably require the use of a
   distributed GC model.

   With explicit multicast, control of the group membership is
   eventually under the sole authority of the sender since it specifies
   the list of destination IP addresses.

   If there is a single sender, it can easily act as the GC.  In a
   "join" model, a membership management protocol (possibly located
   within the application itself) could be used to enable members to
   join and leave the group by sending requests to the GC (ie. the
   sender).  In an "invite" model, the GC (ie. the sender) issues
   invitations to receivers, thereby controlling membership.

   If there are multiple senders, the solution becomes more complex
   since membership updates must be distributed amongst all senders.  A
   typical solution would be to use a central GC (either one of the
   senders or a third-party entity) tasked with managing the group.
   Membership updates could then be reported to all senders thanks to
   some management protocol (a simple unicast protocol can be designed
   to achieve this given the small number of senders and that each
   sender is known).

2.1.1.2 Senders Control

   Access control also covers "who is allowed to send traffic to the
   group".  Because we focus on IP multicast, access control is
   discussed here in terms of IP entities, not end-users.  Several
   strategies can be envisaged to control the sending entities.

   In traditional multicast, it does not seem easy to control senders in
   an efficient way (ie. detect and drop IP traffic from unauthorized
   senders as soon as possible).  In multicast routing schemes where the
   IP traffic passes through a root entity, this can be used as a
   filtering point.  Even with such schemes however, it is still usually
   possible to bypass the root entity (for routing efficiency reasons).
   Senders control policy should then be distributed to routers located
   upfront multicast members.  Those routers could then be tasked with
   the job of filtering on senders to the group (ie. IP datagrams from
   unauthorized senders are discarded).  This would however require that
   those routers keep track of such policies attached to multicast
   groups they are aware of.  Such filtering could anyway be achieved by
   members themselves, which has the obvious disadvantage of potentially
   wasting bandwidth on the network infrastructure but members can set
   up individual policies on whom they want to receive from (in addition
   to the group policy itself which may have been received when joining
   the group).

   In explicit multicast , there is normally no central point through
   which the IP traffic passes.  In addition, because the purpose itself
   of explicit multicast is to avoid keeping state in routers, routers
   cannot be tasked with the job of filtering on senders to the group
   (i.e. IP datagrams from unauthorized senders are discarded when
   detected).  This would indeed require that (at least some) routers
   keep track of explicit multicast sessions and their authorized
   senders.  Receivers will therefore have to filter by themselves
   (although some basic policy can be distributed to members by the GC).

   In any case, filtering on senders requires that the sender be
   correctly authenticated.  Otherwise, valid senders could easily be
   spoofed.  Some individual authentication must therefore be provided
   as further discussed in section 2.2.4.

2.1.2 Anonymity

   In certain environments, members' anonymity can be a requirement.
   Because we talk about IP multicast issues, we focus here on anonymity
   at the IP level, hence in terms of IP addresses.

   Group membership anonymity can be provided in various flavors.

   A first type of anonymity can be required amongst members : no member
   is aware of the other members.

   Within traditional multicast , this can somewhat be achieved because
   member IP addresses are "hidden" behind the multicast group address
   and the IP addresses of the entities joining the routing tree are not
   widely distributed.  A sender's anonymity is obviously less obvious
   to keep since it is the source of datagrams.  An entity located
   "near" a member can determine its membership by looking at its "join"
   or "invite" operations but this is still rather limited.

   In explicit multicast this is clearly not possible for the sender(s).
   By the very nature of explicit multicast, each sender is aware of the
   group membership.  Regarding pure receivers, anonymity amongst them
   can only be achieved if other receiver IP addresses are removed
   before the IP datagram is relayed to the final destination.  The
   receiver still knows the sender and some routers "on the path" can
   determine (at least partially) the list of other recipients.

   Anonymity towards the external world (i.e. non-members) can also be
   required.

   Within traditional multicast, this can somewhat be achieved for the
   same reasons as given above.

   In explicit multicast, this seems difficult to achieve.  Third-party
   entities located on the IP traffic paths can determine at least
   partially the receivers (as long as their IP addresses remain in the
   IP datagrams).  Membership, join, leave and invite operations can
   also be seen by third-parties located on such traffic paths between
   the GC and the members.  The use of unicast IPsec/IKE tunnel
   connections between the GC and the members can provide some level of
   confidentiality and hence anonymity at that level.

2.1.3 Group Dynamics

   The dynamics of the group membership can have an important impact on
   the security mechanisms put in place.  The fact that members can
   dynamically join and leave the group has consequences on the scheme
   used to provide data privacy for example, as discussed in section
   2.2.6 below.  The rate at which members join and/or leave is also an
   important factor in the design of a solution.

   The policy regarding the access control to the multicast data
   exchanged on the group is a factor that can be combined with the
   group dynamics.  This will lead to different strategies as to how
   keying material is distributed to members and how often this is done.
   The policy may indeed require that a new member not be able to read
   previously exchanged data.  It may also require that a member leaving
   (forcibly or not) the group not be able to read future traffic.  In
   both cases, new keying material must be distributed to members so
   that new traffic is protected (i.e. encrypted) using this new keying
   material.

   Clearly, a static group in which members have been predefined or have
   pre-joined the group (in the sense that they know in advance all the
   keying material necessary in order to receive and send traffic) is
   much simpler to manage from a security point of view.

   In traditional multicast, this is a very complex problem to solve
   efficiently in a scalable way.  In explicit multicast, it is possible
   to design simple solutions as the complex scalability issue vanishes.

   Section 4 discusses in more detail the group dynamics aspects since
   these heavily influence key management strategies.

2.1.4 Group Density

   The distribution and size of the membership over the network greatly
   influence any solution that can be developed to provide security
   services, especially with regards to key management schemes.  The
   problem becomes more complex as the group is widely dispersed and
   made of many members, since the solution must scale.  This is
   therefore a major problem for traditional multicast.  The
   characteristics of explicit multicast (in terms of size at least)
   greatly reduce the problem of designing a key management scheme for
   explicit multicast traffic.

2.1.5 Non-repudiation

   Membership management policy might require that join, leave or invite
   operations cannot be later on denied by a member or the GC (whether a
   central controller or the sender itself).  The basis for such a non-
   repudiation service is the use of digital signatures with timestamps
   on join/leave/invite operations.

   Such a security service is not linked to the multicast scheme itself
   (whether traditional or explicit).

2.1.6 Membership Verification

   An additional service may be provided to members to enable these to
   query and obtain the membership of the multicast group.

   In traditional multicast, this can become practically unfeasible as
   the group size increases, spreads and the exact detailed membership
   is no longer known by any single entity.

   In explicit multicast, such a service can be automatically provided
   if the list of receivers is left untouched in each IP datagram
   delivered to final destinations.  If this is not the case, it would
   still be easy to design a simple solution whereby the GC is queried
   about membership.

2.2 Data Handling

   This section deals with security aspects linked to the explicit
   multicast traffic itself, between sender(s) and receiver(s) in the
   group.

2.2.1 Anti-replay

   Depending on the type of application data carried within multicast IP
   datagrams, a third-party may try and replay old IP traffic (hence
   mounting a replay attack).  Anti-replay would normally be achieved by
   sequentially numbering every IP datagram (such as in IPsec) and
   protecting this sequence number with some data integrity mechanism
   (see 2.2.2 below).

   Section 3.1.2 below discusses issues with the use of IPsec to provide
   anti-replay.  It also suggests solutions applicable to explicit
   multicast scenarios.

2.2.2 Data Integrity

   Data integrity is normally combined with authentication and is
   therefore discussed in the context of group and individual
   authentication in the following sections.

2.2.3 Group Authentication

   Group authentication means that receivers can ensure that the traffic
   comes from another group member, without necessarily being able to
   determine exactly which one (a mere check of the source IP address is
   not sufficient since this can be spoofed).  One possible solution is
   to have a secret key shared between all members and the sender(s)
   that can be used to compute a MAC (Message Authentication Code) for
   each packet sent by the sender(s).  Aspects linked to the
   distribution of such keying material are discussed in section 4.

   IPsec can be used as is to provide group authentication in
   traditional or explicit multicast models (apart from the problem of
   keying material distribution as discussed in section 4).

   Group authentication could be achieved via confidentiality since the
   ability to correctly decrypt received data indirectly shows that it
   was encrypted by an entity knowing the correct encryption key, hence
   a group member.  This is however only possible if the data format is
   such that individual encrypted blocks cannot be successfully replaced
   by an attacker so that decrypted data looks correct.  In such
   situations, separate authentication/integrity would still be required
   (and this is the recommended strategy).

2.2.4 Individual Authentication

   Individual authentication enables the receivers to ensure that the
   traffic comes from a particular entity (sender).  This is therefore
   more fine-grained than the above group authentication but is much
   more difficult to provide since a simple shared secret is not enough.
   This is typically a hard problem to solve for secure multicasting in
   general.

   A solution based on digital signatures would theoretically make it
   but at the expense of decreased performance.  In most multicast
   applications, such a mechanism would not stand.

   Considering explicit multicast, it would be practically feasible to
   set up a different IPsec SA (Security Association) for each sender
   (as discussed in section 3).  Each sender would then use its own
   "personal" SA when sending IPsec traffic to other session members.
   Receivers can then determine that the traffic comes from a given
   sender.  However, because IPsec authentication is based on shared
   secret key and because these are actually distributed to all
   receivers (to enable verification on reception), this does not
   guarantee individual authentication.

2.2.5 Anonymity

   As already mentioned in section 2.1.2 above, anonymity in explicit
   multicast traffic can only be provided in a limited way during the
   data traffic exchange.  Senders know the receivers and vice-versa.
   Receivers would not know each other only if there is a mechanism by
   which other receiver addresses are removed prior to datagram relay to
   the final destination (such a mechanism would still need to be
   compatible with other security mechanisms such as data integrity
   covering the IP datagram).

2.2.6 Data Confidentiality

   Data confidentiality requires that the sender and the receivers
   commonly agree on a shared secret key used for traffic encryption.
   Issues linked to the distribution of the shared secret are further
   discussed in section 4 below.

   The major problems linked to data confidentiality are when members
   join or leave the group.

   When a new member joins the group, two situations may arise.  First,
   the member may be allowed to see the traffic that was exchanged prior
   to its joining.  In such a case, it is sufficient to give a copy of
   the current group encryption key to that new member.  On the
   contrary, the member may be prevented from seeing the traffic
   previously exchanged.  In that case, a new encryption key must be
   generated and distributed to all members for use.

   When a member leaves the group, the leaving member may be prevented
   from seeing the future traffic.  It is therefore necessary to change
   the shared secret key used for data encryption between the remaining
   members.

2.2.7 Denial of Service

   Some forms of denial of service attacks can take advantage of the
   multicast characteristics to increase their "effects".  Such an
   attack is the smurf attack whereby an ICMP Echo request (ping) is
   sent to a multicast address with a source address which is the target
   of the attack.  Measures have been taken in traditional multicast
   schemes to forbid replies on such ICMP requests : a router or host
   can be configured so as to reply or not to ICMP requests with a
   multicast address, the Reverse Path Forwarding check is inherent
   traditional multicast architectures also helps in preventing such
   attacks.  However, in explicit multicast, it can be more difficult to
   simply forbid it because the destination may not recognize that this
   is an explicit multicast IP datagram (if all other receiver IP
   addresses have been removed).  The effect is however greatly
   diminished because of the small number of members.

   Obviously, the use of IPsec to provide confidentiality and/or
   authentication can diminish those risks.

3 Use of IPsec

   This section focuses on the possibility to use IPsec for securing
   explicit multicast traffic.  The discussion relates to the xcast
   encoding methods described in [16].

3.1 IPsec Issues

3.1.1 SPI Generation

   The SPI value , which is used by the IP datagram receiver to uniquely
   identify the SA, is chosen by the recipient itself when setting up
   the SA.  In a multicast environment, this becomes unfeasible.

   If left to the sender, the choice of the SPI value should be done so
   by the sender that it cannot possibly conflict with SPI values chosen
   by other entities sending IPsec traffic to any of the receivers
   (given that from the receiver's point of view, the SPI value in the
   received IP datagram solely identifies which SA to use for processing
   the datagram).  To overpass this problem, the rule could be that the
   SPI value chosen by the sender is based on unique information such as
   its IP address.  However, this does not solve the problem if several
   senders exist for the multicast group : no single sender can generate
   the unique SPI value usable by other senders (the unique SPI value
   should then be distributed to other senders so that they can use it
   as if they were the SPI creator).

   Generation of the SPI value (together with the shared keying
   material) can be left to some designated server which then
   distributes this SPI value to all members for use.  The set up of the
   multicast SA would then be under the control of this central entity
   rather than the sender(s), using some key distribution protocol as
   discussed in section 4.

   Another possibility is to let each sender generate and distribute the
   SPI value (together with the shared secret material) to every
   receiver.  Each sender therefore creates and makes use of its own
   IPsec SA.  This avoids problems linked to sharing an IPsec SA between
   several senders.  This is further discussed in section 4 below.

3.1.2 Anti-replay Protection

   The anti-replay mechanism provided by IPsec (AH and ESP) is based on
   the use of a sequence number which is always set (and incremented) by
   the sender and may optionally be verified by the receiver.

   Such a mechanism does not scale when several senders would make use
   of the same Security Association previously set up to protect the
   multicast traffic.  Each sender would indeed handle its own counter
   out of synchronization with other senders.  Receivers would
   consequently detect duplicates by examining the sequence number in
   incoming IP datagrams although these would actually have been
   generated by different entities.

   A possible solution to this problem is to have the receivers take
   account of the couple (SPI, source IP address) when checking for
   duplicates, hence maintaining a separate window for each potential
   sender.  Because explicit multicast groups are not large, this is
   achievable.

   Another possible solution would be to set up different SA's per
   sender.  Each SPI would therefore be implicitly related to the
   corresponding sender.  This is further discussed in section 4.2 below
   on key management.

3.2 AH

   We hereby assume that the sender makes use of a single SA (hence SPI)
   for all receivers.  Issues and solutions to achieve this are further
   discussed in sections 3.1.1 and 4.2.  In case several senders co-
   exist, it is suggested as discussed in section 4 that each sender has
   its own SA.

   The AH payload is inserted between the IP header and the IP data
   being carried (e.g. TCP, UDP, ICMP, ...).  Its integrity protection
   basically covers the header source and destination IP addresses and
   any header option defined to be protected (whether, and how, the
   option is covered, is specified within the specification defining
   that option, together with the setting of a "mutability flag" in the
   context of IPv6 header options).

3.2.1 Xcast4

   If AH is applied after the Xcast4 header has been placed in the IPv4
   datagram, which corresponds to the common understanding of applying
   IPsec on the whole IP datagram once it has been built, the whole
   Xcast4 header is covered by AH.  This gives the following resulting
   construction.

   [IP] [AH] [Xcast4] [app payload]

   As such, no modification can be brought to the Xcast4 fields by
   intermediate routers.

   IPsec defines the possibility to define IPv4 header options as
   mutable, hence providing a way to avoid calculating AH over such
   options.  However, this only applies to header options, not to
   payloads carried within the IP datagram.  Consequently, current IPsec
   implementations would be incompatible with the Xcast4 encoding
   described in [16].  It is also worth noting that intermediate routers
   must be able to skip the AH payload before getting to the routing
   information (ie the Xcast4 payload).  Indeed, in normal situations
   (without AH), the Xcast4 payload will be located directly after the
   IP header.  When AH has been applied, the Xcast4 payload is no longer
   located after the IP header but after the AH payload, which the
   router must skip to jump to reach the Xcast4 payload.  Note that for
   currently implemented AH algorithms (MD5 and SHA1), the AH payload
   length is the same and fixed (24 bytes).

   Another scenario would be to apply Xcast4 after IPsec as described in
   the following construction.

   [IP] [Xcast4] [AH] [app payload]

   This would break the IP implementation model and would anyway not
   really make sense: the destination addresses must be provided before
   IPsec can be applied since the IPsec SA applied depends on the
   destination addresses.  It would also require modifications to the
   IPsec implementation module itself (to ensure that the preceding
   Xcast4 payload does not bring trouble to the IPsec module).

   It can be noted that a solution to the above problem would be to
   separate the bitmap field from the Xcast4 payload and place the
   bitmap into a (mutable) IPv4 option.

   Whatever solution is finally adopted, it appears that anonymity
   cannot be provided if AH is being applied to the IP datagram.  It
   would indeed require to also leave the list of addresses out of the
   AH coverage, which would leave no useful information in the Xcast4
   payload to be covered by AH.  Hence, if anonymity is required, AH
   should not be used (or at least AH should not protect the Xcast4
   payload at all).

3.2.2 Xcast6

   In the context of IPv6, [16] defines two new header extensions: the
   Routing extension and the Destination extension.

   The Routing extension must be flagged as mutable since the bitmap
   field in it changes on the way.  It is worth noting that the
   extension option type and length subfields are covered by AH: only
   the option data subfield is considered as a stream of '00'H bytes.
   The use of AH together with anonymity is then possible since
   anonymity sets zero bytes into the list of destination addresses
   (hence the length is not changed).  The receiver can still however
   determine the number of destinations.

   The Destination extension can be flagged non-mutable and covered by
   AH.  In case of anonymity, the list of port numbers does not bring
   relevant information on destinations, except for the number of
   destinations.

   As in the case of Xcast4, it could be considered to separate the
   bitmap field and make it a (mutable) separate extension.  This would
   enable to use AH to cover the (non-mutable) Routing extension
   containing the list of destination addresses.

3.3 ESP

   We hereby assume that the sender makes use of a single SA (hence SPI)
   for all receivers.  Issues and solutions to achieve this are further
   discussed in sections 3.1.1 and 4.2.  In case several senders co-
   exist, it is suggested as discussed in section 4 that each sender has
   its own SA.

3.3.1 Xcast4

   In the commonly understood IPsec model, the ESP payload is added
   after the IP header and "wraps" the IP data (e.g. TCP, UDP, ICMP,
   ...) being covered with ESP.  The following construction illustrates
   this scenario.

   [IP] [ESP [Xcast4] [app payload] ]

   Hence, the IP header and any payload placed in front of the ESP
   payload is left unprotected (by ESP).  Such a construction is not a
   valid solution. Because the list of destination IP addresses must be
   accessed by routers, the Xcast4 payload cannot logically be placed
   into the ESP "wrapped" data part (routers would need to go into the
   ESP payload to find routing information).  Moreover, the Xcast4
   payload may be simply unreadable to routers if ESP provides
   encryption.

   Another scenario would be to apply IPsec before Xcast4. The ESP
   payload would therefore not interact with the field (whether option
   or payload) containing the explicit multicast information since this
   latter would appear before the ESP payload, as illustrated in the
   schema below.

   [IP] [Xcast4] [ESP [app payload] ]

   However, this would somewhat break the IP implementation model for
   the same reasons given in 3.2.1.

3.3.2 Xcast6

   In the context of IPv6, [16] defines two new header extensions: the
   HBHorRouting extension and the Destination extension. Since ESP does
   not cover the IPv6 header, there is no interaction betwen ESP and
   Xcast6.

4 Key Management

   One important aspect in secure multicast communications is the
   distribution (and renewal) of the keying material to all partners
   There are several aspects to be considered in multicast key
   management.  However, because we are here focusing on explicit
   multicast, some simple solutions can probably be considered to
   resolve the problems in a practical way.  We first discuss three
   problem aspects and we then suggest solutions for key management. in
   an explicit multicast context.

4.1 Key Management Issues

4.1.1 Key Distribution

   Key distribution mechanisms where each group member contributes to
   the generation of the shared secret keying material do not scale very
   well.  A scheme whereby some designated entity (a central entity or
   the sender) distributes the keying material to every member is
   therefore a better path towards a solution.  Within the model under
   development in SmuG, such an entity (KS - Key Server) is combined
   with the GC and is hence termed GCKS.  A scheme whereby a single GCKS
   is responsible for generating the keying material and distributing it
   to members is probably the best way.  However, this requires that
   members fully trust the GCKS for this task.  Depending on the
   application, the role of the GCKS (and in particular the KS aspect)
   can be better left to a third-party entity and not a participant such
   as a sender.

   If there are several senders however (i.e. in a n-m multicast
   context), the problem remains of coordinating the key generation and
   distribution between all the senders.  One possibility is therefore
   to have each sender to generate and distribute its own secret
   material to all other potential receivers (including other senders).
   Because explicit multicast is dedicated to very sparse groups (up to
   the order of 10 members), this is practically feasible as we avoid
   scalability problems.

   If access control or confidentiality are required (one could indeed
   imagine a group to which anyone can subscribe but still requires
   subscription to read the multicast traffic), key distribution must be
   combined with strong member authentication (iow. keys must be
   distributed to authenticated members only).  This is also better
   achieved by some designated entity.  Moreover, one can benefit from
   the protocol used to control the access (which would usually be
   unicast) to authenticate and distribute the keying material.

4.1.2 Membership Dynamics

   Traffic confidentiality also severely impacts on the key distribution
   scheme when non-current members are not allowed to read the traffic.
   This indeed means that the keying material must be changed each time
   a member joins or leaves the group so as to prevent it from reading
   past or future traffic.

4.1.3 Security Association Negotiation

   Key management (initial keying material distribution, updates)
   naturally apply within the context of SA management (as achieved with
   IKE for unicast IPsec connections).  Key management is however not
   the sole aspect of SA management, which also includes negotiating
   cryptographic algorithms, use of AH and/or ESP is IPsec is used, SA
   lifetime, ...

   In a 1-1 unicast context, this is "readily" achieved with a protocol
   such as IKE which enables two entities to negotiate services and
   algorithms based on their respective capabilities.  In a multicast
   context, this becomes somewhat unfeasible and the negotiation is
   limited to accept or reject what the sender or GCKS imposes.

   In an explicit multicast context, the capabilities and policy of the
   (few) members could be made available in a directory (DNS, LDAP) so
   that sender(s) and GCKS can try and take account of everyone's
   desiderata as much as possible before making a final choice.

4.2 Possible Solutions

4.2.1 Manual Configuration

   Given the small number of members in an explicit multicast session,
   it is possible to manually configure each member.  However, this is
   not very practical when the configuration needs to be updated because
   a member joins or leaves or because rekeying must occur after some
   period.

4.2.2 IPsec-based Configuration Protocol

   IKE is defined to provide key management for IPsec in a 1-1 unicast
   context.  There is currently no key management protocol  for n-m
   multicast environments.  One possibility is to take advantage of the
   very low membership which characterizes explicit multicast together
   with the fact that each sender knows all the receivers.

   Considering each sender separately, it sets up a different IPsec
   connection with each receiver (this IPsec connection is built as
   usual using IKE since this is a 1-1 unicast "connection").  The
   sender then generates, on its own, the Security Association (all the
   necessary keying material, crypto algorithms, unique SPI value, ...).
   The sender distributes that material (SA parameters) to each other
   member safely over the individual IPsec connections (using some
   simple protocol).  The whole keying material is therefore generated
   under the sole responsibility of the sender.

   All in all, this results in the set up of maximum nxm (unicast) IPsec
   connections (this number can be reduced if some senders are also
   receivers).

4.2.3 SIP-based Management

   This solution is applicable when SIP is used to create the explicit
   multicast session itself.  SIP contains provision for carrying
   encrypted material using a PGP data blob for example.  This
   functionality can be used to distribute SA parameters amongst members
   at the same time as the member is being invited using SIP.  With this
   method, a single SA can be created (under the control of a SIP
   server) and made known to all members.  It also becomes difficult to
   update the SA since SIP is normally used once at the beginning (and
   once when leaving the session but the remaining members are not
   contacted then).

4.2.4 New IKE Phase 2 Exchange Type

   This is a variant of the scenario described in 4.2.2 above.
   Considering each sender separately, it sets up a unicast IKE
   connection (IKE phase 1) with each other member.  A new exchange type
   for phase 2 is defined that enables the sender to distribute ("push")
   the SA parameters to the other side (ie. other members).  Each sender
   generates a single SA that will be distributed to all other members.

5 Security Considerations

   This whole memo is about security considerations.

References

[1]     Canetti et al, "A taxonomy of multicast security issues",
        draft-irtf-smug-taxonomy-01.txt, April 1999.
[2]     Hardjono et al, "Secure IP Multicast : Problem areas, Framework
        and Building Blocks", draft-irtf-smugframework-00.txt, November
        1999.
[3]     Canetti et al, "An Architecture for Secure Internet Multicast",
        draft-irtf-smug-sec-mcast-arch-00.txt, February 1999.
[4]     Harney et al, "GKM Building Block : Group Security Association
        (GSA) Definition", draft-irtf-smug-gkmbbgsadef-00.txt, February
        2000.
[5]     Ballardie, "Scalable Multicast Key Distribution", RFC 1949, May
        1996.
[6]     Wallner et al, "Key Management for Multicast : Issues and
        Architectures", RFC 2627, June 1999.
[7]     Moyer et al, "Maintaining Balanced Key Trees for Secure
        Multicast", draft-irtf-smug-key-tree-balance00.txt, June 1999.
[8]     Harney et al, "Group Key Management Protocol (GKMP)
        Specification", RFC 2093, July 1997.
[9]     Harney et al, "Group Key Management Protocol (GKMP)
        Architecture", RFC 2094, July 1997.
[10]    Kent et al, "Security Architecture for the Internet Protocol",
        RFC 2401, November 1998.
[11]    Ooms et al, "Connectionless Multicast", draft-ooms-cl-
        multicast-02.txt, April 2000.
[12]    Boivie et al, "Small Group Multicast", draft-boivie-sgm-00.txt,
        March 2000.
[13]    Imai, "Multiple Destination option in IPv6 (MDO6)", draft-imai-
        mdo6-01.txt, March 2000.
[14]    http://www.alcatel.com/xcast
[15]    Kent et al, "IP Authentication Header", RFC 2402, November 1998.
[16]    Ooms et al, "Explicit Multicast (Xcast) Basic Specification",
        draft-ooms-xcast-basic-spec-00.txt, December 2000.

Authors' Addresses

   Olivier Paridaens
   Alcatel
   Fr. Wellensplein, 1
   B-2018 Antwerpen
   Belgium
   Phone : +32 (0)3 2409320
   E-mail : Olivier.Paridaens@alcatel.be

   Dirk Ooms
   Alcatel
   Fr. Wellensplein, 1
   B-2018 Antwerpen
   Belgium
   Phone : +32 (0)3 2404732
   E-mail : Dirk.Ooms@alcatel.be

   Bernard Sales
   Alcatel
   Fr. Wellensplein, 1
   B-2018 Antwerpen
   Belgium
   Phone : +32 (0)3 2409574
   E-mail : Bernard.Sales@alcatel.be

Full Copyright Statement

   "Copyright (C) The Internet Society (date). All Rights Reserved. This
   document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works. However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."