Internet Engineering Task Force (IETF)                         W. Atwood
Request for Comments: 5796                      Concordia University/CSE
Updates: 4601                                                   S. Islam
Category: Standards Track                                        IRS-EMT
ISSN: 2070-1721                                                 M. Siami
                                             Concordia University/CIISE
                                                             March 2010


                Authentication and Confidentiality in
Protocol Independent Multicast Sparse Mode (PIM-SM) Link-Local Messages

Abstract

  RFC 4601 mandates the use of IPsec to ensure authentication of the
  link-local messages in the Protocol Independent Multicast - Sparse
  Mode (PIM-SM) routing protocol.  This document specifies mechanisms
  to authenticate the PIM-SM link-local messages using the IP security
  (IPsec) Encapsulating Security Payload (ESP) or (optionally) the
  Authentication Header (AH).  It specifies optional mechanisms to
  provide confidentiality using the ESP.  Manual keying is specified as
  the mandatory and default group key management solution.  To deal
  with issues of scalability and security that exist with manual
  keying, optional support for an automated group key management
  mechanism is provided.  However, the procedures for implementing
  automated group key management are left to other documents.  This
  document updates RFC 4601.

Status of This Memo

  This is an Internet Standards Track document.

  This document is a product of the Internet Engineering Task Force
  (IETF).  It represents the consensus of the IETF community.  It has
  received public review and has been approved for publication by the
  Internet Engineering Steering Group (IESG).  Further information on
  Internet Standards is available in Section 2 of RFC 5741.

  Information about the current status of this document, any errata,
  and how to provide feedback on it may be obtained at
  http://www.rfc-editor.org/info/rfc5796.










Atwood, et al.               Standards Track                    [Page 1]

RFC 5796               PIM-SM Link-local Security             March 2010


Copyright Notice

  Copyright (c) 2010 IETF Trust and the persons identified as the
  document authors.  All rights reserved.

  This document is subject to BCP 78 and the IETF Trust's Legal
  Provisions Relating to IETF Documents
  (http://trustee.ietf.org/license-info) in effect on the date of
  publication of this document.  Please review these documents
  carefully, as they describe your rights and restrictions with respect
  to this document.  Code Components extracted from this document must
  include Simplified BSD License text as described in Section 4.e of
  the Trust Legal Provisions and are provided without warranty as
  described in the Simplified BSD License.





































Atwood, et al.               Standards Track                    [Page 2]

RFC 5796               PIM-SM Link-local Security             March 2010


Table of Contents

  1. Introduction ....................................................4
     1.1. Goals and Non-Goals ........................................4
  2. Terminology .....................................................5
  3. Transport Mode versus Tunnel Mode ...............................5
  4. Authentication ..................................................5
  5. Confidentiality .................................................6
  6. IPsec Requirements ..............................................6
  7. Key Management ..................................................8
     7.1. Manual Key Management ......................................8
     7.2. Automated Key Management ...................................8
     7.3. Communications Patterns ....................................9
     7.4. Neighbor Relationships ....................................10
  8. Number of Security Associations ................................11
  9. Rekeying .......................................................12
     9.1. Manual Rekeying Procedure .................................13
     9.2. KeyRolloverInterval .......................................14
     9.3. Rekeying Interval .........................................14
  10. IPsec Protection Barrier and SPD/GSPD .........................14
     10.1. Manual Keying ............................................14
          10.1.1. SAD Entries .......................................14
          10.1.2. SPD Entries .......................................14
     10.2. Automatic Keying .........................................15
          10.2.1. SAD Entries .......................................15
          10.2.2. GSPD Entries ......................................15
          10.2.3. PAD Entries .......................................15
  11. Security Association Lookup ...................................16
  12. Activating the Anti-Replay Mechanism ..........................16
  13. Implementing a Security Policy Database per Interface .........17
  14. Extended Sequence Number ......................................17
  15. Security Considerations .......................................18
  16. Acknowledgements ..............................................18
  17. References ....................................................19
     17.1. Normative References .....................................19
     17.2. Informative References ...................................19















Atwood, et al.               Standards Track                    [Page 3]

RFC 5796               PIM-SM Link-local Security             March 2010


1.  Introduction

  All the PIM-SM [RFC4601] control messages have IP protocol number
  103.  Some control messages are unicast; the rest are multicast with
  Time to Live (TTL) = 1.  The source address used for unicast messages
  is a domain-wide reachable address.  For the multicast messages, a
  link-local address of the interface on which the message is being
  sent is used as the source address and a special multicast address,
  ALL_PIM_ROUTERS (224.0.0.13 in IPv4 and ff02::d in IPv6) is used as
  the destination address.  These messages are called link-local
  messages.  Hello, Join/Prune, and Assert messages are included in
  this category.  A forged link-local message may be sent to the
  ALL_PIM_ROUTERS multicast address by an attacker.  This type of
  message affects the construction of the distribution tree [RFC4601].
  The effects of these forged messages are outlined in Section 6.1 of
  [RFC4601].  Some of the effects are very severe, whereas some are
  minor.

  PIM-SM version 2 was originally specified in RFC 2117 [RFC2117], and
  revised in RFC 2362 [RFC2362] and RFC 4601.  RFC 4601 obsoletes RFC
  2362, and corrects a number of deficiencies.  The "Security
  Considerations" section of RFC 4601 is based primarily on the
  Authentication Header (AH) specification described in RFC 4302
  [RFC4302].

  Securing the unicast messages can be achieved by the use of a normal
  unicast IPsec Security Association (SA) between the two communicants.

  This document focuses on the security issues for link-local messages.
  It provides some guidelines to take advantage of the new permitted AH
  functionality in RFC 4302 and the new permitted ESP functionality in
  RFC 4303 [RFC4303], and to bring the PIM-SM specification into
  alignment with the new AH and ESP specifications.  In particular, in
  accordance with RFC 4301, the use of ESP is made mandatory and AH is
  specified as optional.  This document specifies manual key management
  as mandatory to implement, i.e., that all implementations MUST
  support, and provides the necessary structure for an automated key
  management protocol that the PIM routers may use.

1.1.  Goals and Non-Goals

  The primary goal for link-local security is to provide data origin
  authentication for each link-local message.  A secondary goal is to
  ensure that communication only happens between legitimate peers
  (i.e., adjacent routers).  An optional goal is to provide data
  confidentiality for the link-local messages.





Atwood, et al.               Standards Track                    [Page 4]

RFC 5796               PIM-SM Link-local Security             March 2010


  The first goal implies that each router has a unique identity.  It is
  possible (but not mandatory) that this identity will be based on the
  unicast identity of the router.  (The unicast identity could be, for
  example, based on some individually configured property of the
  router, or be part of a region-wide public key infrastructure.)  The
  existence of this unique identity is assumed in this specification,
  but procedures for establishing it are out of scope for this
  document.

  The second goal implies that there is some form of "adjacency matrix"
  that controls the establishment of Security Associations among
  adjacent multicast routers.  For manual keying, this control will be
  exercised by the Administrator of the router(s), through the setting
  of initialization parameters.  For automated keying, the existence of
  this control will be reflected by the contents of the Peer
  Authorization Database (PAD) (see RFC 4301 [RFC4301]) or the Group
  Security Policy Database (GSPD) (see RFC 5374 [RFC5374]) in each
  router.  Procedures for controlling the adjacency and building the
  associated PAD and GSPD are out of scope for this document.

2.  Terminology

  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 [RFC2119].
  They indicate requirement levels for compliant PIM-SM
  implementations.

3.  Transport Mode versus Tunnel Mode

  All implementations conforming to this specification MUST support SA
  in transport mode to provide required IPsec security to PIM-SM link-
  local messages.  They MAY also support SA in tunnel mode to provide
  required IPsec security to PIM-SM link-local messages.  If tunnel
  mode is used, both destination address preservation and source
  address preservation MUST be used, as described in Section 3.1 of RFC
  5374 [RFC5374].

4.  Authentication

  Implementations conforming to this specification MUST support
  authentication for PIM-SM link-local messages.  Implementations
  conforming to this specification MUST support HMAC-SHA1 [RFC2404].








Atwood, et al.               Standards Track                    [Page 5]

RFC 5796               PIM-SM Link-local Security             March 2010


  In order to provide authentication of PIM-SM link-local messages,
  implementations MUST support ESP [RFC4303] and MAY support AH
  [RFC4302].

  If ESP in transport mode is used, it will only provide authentication
  to PIM-SM protocol packets excluding the IP header, extension
  headers, and options.

  If AH in transport mode is used, it will provide authentication to
  PIM-SM protocol packets, selected portions of the IP header,
  extension headers and options.

  Note: when authentication for PIM-SM link-local messages is enabled,

  o  PIM-SM link-local packets that are not protected with AH or ESP
     will be silently discarded by IPsec, although the implementation
     of IPsec may maintain a counter of such packets.

  o  PIM-SM link-local packets that fail the authentication checks will
     be silently discarded by IPsec, although the implementation of
     IPsec may maintain a counter of such packets.

5.  Confidentiality

  Implementations conforming to this specification SHOULD support
  confidentiality for PIM-SM.  Implementations supporting
  confidentiality MUST support AES-CBC [RFC3602] with a 128-bit key.

  If confidentiality is provided, ESP MUST be used.

  Since authentication MUST be supported by a conforming
  implementation, an implementation MUST NOT generate the combination
  of NON-NULL Encryption and NULL Authentication.

  Note: when confidentiality for PIM-SM link-local packets is enabled,

  o  PIM-SM packets that are not protected with ESP will be silently
     discarded by IPsec, although the implementation of IPsec may
     maintain a counter of such packets.

6.   IPsec Requirements

  In order to implement this specification, the following IPsec
  capabilities are required.

  Transport mode
     IPsec in transport mode MUST be supported.




Atwood, et al.               Standards Track                    [Page 6]

RFC 5796               PIM-SM Link-local Security             March 2010


  Multiple Security Policy Databases (SPDs)
     The implementation MUST support multiple SPDs with an SPD
     selection function that provides an ability to choose a specific
     SPD based on interface.

  Selectors
     The implementation MUST be able to use source address, destination
     address, protocol, and direction as selectors in the SPD.

  Interface ID tagging
     The implementation MUST be able to tag the inbound packets with
     the ID of the interface (physical or virtual) on which they
     arrived.

  Manual key support
     It MUST be possible to use manually configured keys to secure the
     specified traffic.

  Encryption and authentication algorithms
     Encryption and authentication algorithm requirements described in
     RFC 4835 [RFC4835] apply when ESP and AH are used to protect
     PIM-SM.  Implementations MUST support ESP-NULL, and if providing
     confidentiality, MUST support the ESP transforms providing
     confidentiality required by [RFC4835].  However, in any case,
     implementations MUST NOT allow the user to choose a stream cipher
     or block mode cipher in counter mode for use with manual keys.

  Encapsulation of ESP packets
     IP encapsulation of ESP packets MUST be supported.  For
     simplicity, UDP encapsulation of ESP packets SHOULD NOT be used.

  If the automatic keying features of this specification are
  implemented, the following additional IPsec capabilities are
  required:

  Group Security Policy Database (GSPD)
     The implementation MUST support the GSPD that is described in RFC
     5374 [RFC5374].

  Multiple Group Security Policy Databases
     The implementation MUST support multiple GSPDs with a GSPD
     selection function that provides an ability to choose a specific
     GSPD based on interface.

  Selectors
     The implementation MUST be able to use source address, destination
     address, protocol and direction as selectors in the GSPD.




Atwood, et al.               Standards Track                    [Page 7]

RFC 5796               PIM-SM Link-local Security             March 2010


7.  Key Management

  All the implementations MUST support manual configuration of the
  Security Associations (SAs) that will be used to authenticate PIM-SM
  link-local messages.  This does not preclude the use of a negotiation
  protocol such as the Group Domain Of Interpretation (GDOI) [RFC3547]
  or Group Secure Association Key Management Protocol (GSAKMP)
  [RFC4535] to establish these SAs.

7.1.  Manual Key Management

  To establish the SAs at PIM-SM routers, manual key configuration will
  be feasible when the number of peers (directly connected routers) is
  small.  The Network Administrator will configure a router manually.
  At that time, the authentication method and the choice of keys SHOULD
  be configured.  The parameters for the Security Association Database
  (SAD) will be entered.  The Network Administrator will also configure
  the Security Policy Database of a router to ensure the use of the
  associated SA while sending a link-local message.

7.2.  Automated Key Management

  All the link-local messages of the PIM-SM protocol are sent to the
  destination address, ALL_PIM_ROUTERS, which is a multicast address.
  By using the sender address in conjunction with the destination
  address for Security Association lookup, link-local communication
  turns into a Source-Specific Multicast (SSM) or "one-to-many"
  communication.

  The procedures for automated key management are not specified in this
  document.

  One option is to use Group Domain Of Interpretation (GDOI) [RFC3547],
  which enables a group of users or devices to exchange encrypted data
  using IPsec data encryption.  GDOI has been developed to be used in
  multicast applications, where the number of end users or devices may
  be large and the end users or devices can dynamically join/leave a
  multicast group.  However, a PIM router is not expected to join/leave
  very frequently, and the number of routers is small when compared to
  the possible number of users of a multicast application.  Moreover,
  most of the PIM routers will be located inside the same
  administrative domain and are considered to be trusted parties.  It
  is possible that a subset of GDOI functionalities will be sufficient.

  Another option is to use the Group Secure Association Key Management
  Protocol (GSAKMP) [RFC4535].





Atwood, et al.               Standards Track                    [Page 8]

RFC 5796               PIM-SM Link-local Security             March 2010


7.3.  Communications Patterns

  Before discussing the set of Security Associations that are required
  to properly manage a multicast region that is under the control of a
  single administration, it is necessary to understand the
  communications patterns that will exist among the routers in this
  region.  From the perspective of a speaking router, the information
  from that router is sent (multicast) to all of its neighbors.  From
  the perspective of a listening router, the information coming from
  each of its neighbors is distinct from the information coming from
  every other router to which it is directly connected.  Thus, an
  administrative region contains many (small) distinct groups, all of
  which happen to be using the same multicast destination address
  (e.g., ALL_PIM_ROUTERS, see Section 11), and each of which is
  centered on the associated speaking router.

  Consider the example configuration as shown in Figure 1.

  R2    R3    R4    R5    R6
  |     |     |     |     |
  |     |     |     |     |
  ---------   ---------------
         |     |
         |     |
          \   /
            R1
          /   \
         |     |
         |     |
  ---------    --------------------
        |       |    |    |    |
        |       |    |    |    |
       R7      R8   R9   R10  R11
        |       |    |    |    |
                     |
                     |
                 -------------
                  |    |    |
                  |    |    |
                 R12  R13  R14

        Figure 1: Set of router interconnections

  In this configuration, router R1 has four interfaces, and is the
  speaking router for a group whose listening routers are routers R2
  through R11.  Router R9 is the speaking router for a group whose
  listening routers are routers R1, R8, and R10-R14.




Atwood, et al.               Standards Track                    [Page 9]

RFC 5796               PIM-SM Link-local Security             March 2010


  From the perspective of R1 as a speaking router, if a Security
  Association SA1 is assigned to protect outgoing packets from R1, then
  it is necessary to distribute the key for this association to each of
  the routers R2 through R11.  Similarly, from the perspective of R9 as
  a speaking router, if a Security Association is assigned to protect
  the outgoing packets from R9, then it is necessary to distribute the
  key for this association to each of the routers R1, R8, and R10
  through R14.

  From the perspective of R1 as a listening router, all packets
  arriving from R2 through R11 need to be distinguished from each
  other, to permit selecting the correct Security Association in the
  SAD.  (Packets from each of the peer routers (R2 through R11)
  represent communication from a different speaker, with a separate
  sequence-number space, even though they are sent using the same
  destination address.)  For a multicast Security Association, RFC 4301
  permits using the source address in the selection function.  If the
  source addresses used by routers R2 through R11 are globally unique,
  then the source addresses of the peer routers are sufficient to
  achieve the differentiation.  If the sending routers use link-local
  addresses, then these addresses are unique only on a per-interface
  basis, and it is necessary to use the Interface ID tag as an
  additional selector, i.e., either the selection function has to have
  the Interface ID tag as one of its inputs or separate SADs have to be
  maintained for each interface.

  If the assumption of connectivity to the key server can be made
  (which is true in the PIM-SM case), then the Group Controller/Key
  Server (GC/KS) that is used for the management of the keys can be
  centrally located (and duplicated for reliability).  If this
  assumption cannot be made (i.e., in the case of adjacencies for a
  unicast router), then some form of "local" key server must be
  available for each group.  Given that the listening routers are never
  more than one hop away from the speaking router, the speaking router
  is the obvious place to locate the "local" key server.  As such, this
  may be a useful approach even in the PIM-SM case.  This approach has
  the additional advantage that there is no need to duplicate the local
  key server for reliability, since if the key server is down, it is
  very likely that the speaking router is also down.

7.4.  Neighbor Relationships

  Each distinct group consists of one speaker, and the set of directly
  connected listeners.  If the decision is made to maintain one
  Security Association per speaker (see Section 8), then the key server
  will need to be aware of the adjacencies of each speaker.  Procedures
  for managing and distributing these adjacencies are out of scope for
  this document.



Atwood, et al.               Standards Track                   [Page 10]

RFC 5796               PIM-SM Link-local Security             March 2010


8.  Number of Security Associations

  The number of Security Associations to be maintained by a PIM router
  depends on the required security level and available key management.

  This SHOULD be decided by the Network Administrator.  Two different
  ways are shown in Figures 2 and 3.  It is assumed that A, B, and C
  are three PIM routers, where B and C are directly connected with A,
  and there is no direct link between B and C.

                                      |
           +++++                      |
           + B + SAb     ------------>|
           +   + SAa     <------------|
           +++++                      |
                                      |
           +++++ SAb     <------------|
           +   +                 ---->|
           +   +                /
           + A + SAa     -------
           +   +                \
           +   +                 ---->|
           +++++ SAc     <------------|
                                      |
           +++++                      |
           + C + SAc     ------------>|
           +   + SAa     <------------|
           +++++                      |
                                      |
                         Directly connected network

        Figure 2: Activate unique Security Association for each peer

  The first method, shown in Figure 2, SHOULD be supported by every
  implementation.  In this method, each node will use a unique SA for
  its outbound traffic.  A, B, and C will use SAa, SAb, and SAc,
  respectively, for sending any traffic.  Each node will include the
  source address when searching the SAD for a match.  Router A will use
  SAb and SAc for packets received from B and C, respectively.  The
  number of SAs to be activated and maintained by a PIM router will be
  equal to the number of directly connected routers, plus one for
  sending its own traffic.  Also, the addition of a PIM router in the
  network will require the addition of another SA on every directly
  connected PIM router.  This solution will be scalable and practically
  feasible with an automated key management protocol.  However, it MAY
  be used with manual key management, if the number of directly
  connected routers is small.




Atwood, et al.               Standards Track                   [Page 11]

RFC 5796               PIM-SM Link-local Security             March 2010


                                      |
           +++++                      |
           + B + SAo     ------------>|
           +   + SAi     <------------|
           +++++                      |
                                      |
           +++++ SAi     <------------|
           +   +                 ---->|
           +   +                /
           + A + SAo     -------
           +   +                \
           +   +                 ---->|
           +++++ SAi     <------------|
                                      |
           +++++                      |
           + C + SAo     ------------>|
           +   + SAi     <------------|
           +++++                      |
                                      |
                         Directly connected network

        Figure 3: Activate two Security Associations

  The second method, shown in Figure 3, MUST be supported by every
  implementation.  In this simple method, all the nodes will use two
  SAs, one for sending (SAo) and the other for receiving (SAi) traffic.
  Thus, the number of SAs is always two and will not be affected by
  addition of a PIM router.  Although two different SAs (i.e., SAo and
  SAi) are used in this method, the SA parameters (keys, Security
  Parameter Index (SPI), etc.) for the two SAs are identical, i.e., the
  same information is shared among all the routers in an administrative
  region.  This document RECOMMENDS this second method for manual key
  configuration.  However, it MAY also be used with automated key
  configuration.

9.  Rekeying

  An analysis of the considerations for key management is provided in
  RFC 4107 [RFC4107].

  In PIM-SM deployments it is expected that secure sessions will be
  relatively long-lived, and it is not expected that keys will be
  significantly exposed through normal operational activity.  Manual
  keying is judged acceptable in the light of the relatively low rate
  of change that is required.






Atwood, et al.               Standards Track                   [Page 12]

RFC 5796               PIM-SM Link-local Security             March 2010


  To maintain the security of a link, the authentication and encryption
  key values SHOULD be changed periodically, to limit the risk of
  undetected key disclosure.  Keys SHOULD also be changed when there is
  a change of trusted personnel.

  Manual keying offers the ability to change keys in a coordinated way,
  but it has several drawbacks in PIM-SM systems.  Some of these are
  listed in Section 15 ("Security Considerations") of this document.

  According to an analysis in line with RFC 4107 [RFC4107], PIM-SM
  would benefit from automated key management and roll over because all
  the disadvantages of manual keys listed in Section 15 would be
  eliminated.  However, suitable techniques for automated key
  management do not currently exist.  Work is in hand in the IETF to
  develop suitable solutions.  In the meantime, implementations MUST
  support manual rekeying as described below.  Implementers and
  deployers need to be aware of the requirement to upgrade to support
  automated key management as soon as suitable techniques are
  available.

9.1.  Manual Rekeying Procedure

  In accordance with the requirements of RFC 4107 [RFC4107], the
  following three-step procedure provides a possible mechanism to rekey
  the routers on a link without dropping PIM-SM protocol packets or
  disrupting the adjacency, while ensuring that it is always clear
  which key is being used.

  1.  For every router on the link, create an additional inbound SA for
      the interface being rekeyed using a new SPI and the new key.

  2.  For every router on the link, replace the original outbound SA
      with one using the new SPI and key values.  The SA replacement
      operation MUST be atomic with respect to sending PIM-SM packets
      on the link, so that no PIM-SM packets are sent without
      authentication/encryption

  3.  For every router on the link, remove the original inbound SA.

  Note that all routers on the link MUST complete step 1 before any
  begin step 2.  Likewise, all the routers on the link MUST complete
  step 2 before any begin step 3.

  One way to control the progression from one step to another is for
  each router to have a configurable time constant KeyRolloverInterval.
  After the router begins step 1 on a given link, it waits for this
  interval and then moves to step 2.  Likewise, after moving to step 2,
  it waits for this interval and then moves to step 3.



Atwood, et al.               Standards Track                   [Page 13]

RFC 5796               PIM-SM Link-local Security             March 2010


  In order to achieve smooth key transition, all routers on a link MUST
  use the same value for KeyRolloverInterval and MUST initiate the key
  rollover process within this time period.

  At the end of this time period, all the routers on the link will have
  a single inbound and outbound SA for PIM-SM with the new SPI and key
  values.

9.2.  KeyRolloverInterval

  The configured value of KeyRolloverInterval needs to be long enough
  to allow the Administrator to change keys on all the PIM-SM routers.
  As this value can vary significantly depending on the implementation
  and the deployment, it is left to the Administrator to choose an
  appropriate value.

9.3.  Rekeying Interval

  In keeping with the goal of reducing key exposure, the encryption and
  authentication keys SHOULD be changed at least every 90 days.

10.  IPsec Protection Barrier and SPD/GSPD

10.1.  Manual Keying

10.1.1.  SAD Entries

  The Administrator must configure the necessary Security Associations.
  Each SA entry has the source address of an authorized peer, and a
  Destination Address of ALL_PIM_ROUTERS.  Unique SPI values for the
  manually configured SAs MUST be assigned by the Administrator to
  ensure that the SPI does not conflict with existing SPI values in the
  SAD.

10.1.2.  SPD Entries

  The Administrator must configure the necessary SPD entries.  The SPD
  entry must ensure that any outbound IP traffic packet traversing the
  IPsec boundary, with PIM as its next layer protocol and sent to the
  Destination Address of ALL_PIM_ROUTERS, is protected by ESP or AH.
  Note that this characterization includes all the link-local messages
  (Hello, Join/Prune, Bootstrap, Assert).









Atwood, et al.               Standards Track                   [Page 14]

RFC 5796               PIM-SM Link-local Security             March 2010


10.2.  Automatic Keying

  When automatic keying is used, the SA creation is done dynamically
  using a group key management protocol.  The GSPD and PAD tables are
  configured by the Administrator.  The PAD table provides the link
  between the IPsec subsystem and the group key management protocol.

  For automatic keying, the implementation MUST support the multicast
  extensions described in [RFC5374].

10.2.1.  SAD Entries

  All PIM routers participate in an authentication scheme that
  identifies permitted neighbors and achieves peer authentication
  during SA negotiation, leading to child SAs being established and
  saved in the SAD.

10.2.2.  GSPD Entries

  The Administrator must configure the necessary GSPD entries for
  "sender only" directionality.  This rule MUST trigger the group key
  management protocol for a registration exchange.  This exchange will
  set up the outbound SAD entry that encrypts the multicast PIM control
  message.  Considering that this rule is "sender only", no inbound SA
  is created in the reverse direction.

  In addition, the registration exchange will trigger the installation
  of the GSPD entries corresponding to each legitimate peer router,
  with direction "receiver only".  Procedures for achieving the
  registration exchange are out of scope for this document.

  A router SHOULD NOT dynamically detect new neighbors as the result of
  receiving an unauthenticated PIM-SM link-local message or an IPsec
  packet that fails an SAD lookup.  An automated key management
  protocol SHOULD provide a means of notifying a router of new,
  legitimate neighbors.

10.2.3.  PAD Entries

  The PAD will be configured with information to permit identification
  of legitimate group members and senders (i.e., to control the
  adjacency).  Procedures for doing this are out of scope for this
  document.








Atwood, et al.               Standards Track                   [Page 15]

RFC 5796               PIM-SM Link-local Security             March 2010


11.  Security Association Lookup

  For an SA that carries unicast traffic, three parameters (SPI,
  destination address, and security protocol type (AH or ESP)) are used
  in the Security Association lookup process for inbound packets.  The
  SPI is sufficient to specify an SA.  However, an implementation may
  use the SPI in conjunction with the IPsec protocol type (AH or ESP)
  for the SA lookup process.  According to RFC 4301 [RFC4301], for
  multicast SAs, in conjunction with the SPI, the destination address
  or the destination address plus the sender address may also be used
  in the SA lookup.  This applies to both ESP and AH.  The security
  protocol field is not employed for a multicast SA lookup.

  Given that, from the prospective of a receiving router, each peer
  router is an independent sender and given that the destination
  address will be the same for all senders, the receiving router MUST
  use SPI plus destination address plus sender address when performing
  the SA lookup.  In effect, link-local communication is an SSM
  communication that happens to use an Any-Source Multicast (ASM)
  address (which is shared among all the routers).

  Given that it is always possible to distinguish a connection using
  IPsec from a connection not using IPsec, it is recommended that the
  address ALL_PIM_ROUTERS be used, to maintain consistency with present
  practice.

  Given that the sender address of an incoming packet may be only
  locally unique (because of the use of link-local addresses), it is
  necessary for a receiver to use the interface ID tag to determine the
  associated SA for that sender.  Therefore, this document mandates
  that the interface ID tag, the SPI, and the sender address MUST be
  used in the SA lookup process.

12.  Activating the Anti-Replay Mechanism

  Although link-level messages on a link constitute a multiple-sender,
  multiple-receiver group, the use of the interface ID tag and sender
  address for SA lookup essentially resolves the communication into a
  separate SA for each sender/destination pair, even for the case where
  only two SAs (with identical SA parameters) are used for the entire
  administrative region.  Therefore, the statement in the AH RFC
  (Section 2.5 of [RFC4302]) that "for a multi-sender SA, the anti-
  replay features are not available" becomes irrelevant to the PIM-SM
  link-local message exchange.

  To activate the anti-replay mechanism in a unicast communication, the
  receiver uses the sliding window protocol and it maintains a sequence
  number for this protocol.  This sequence number starts from zero.



Atwood, et al.               Standards Track                   [Page 16]

RFC 5796               PIM-SM Link-local Security             March 2010


  Each time the sender sends a new packet, it increments this number by
  one.  In a multi-sender multicast group communication, a single
  sequence number for the entire group would not be enough.

  The whole scenario is different for PIM link-local messages.  These
  messages are sent to local links with TTL = 1.  A link-local message
  never propagates through one router to another.  The use of the
  sender address and the interface ID tag for SA lookup converts the
  relationship from a multiple-sender group to multiple single-sender
  associations.  This specification RECOMMENDS activation of the anti-
  replay mechanism only if the SAs are assigned using an automated key
  management procedure.  If manual key management is used, the anti-
  replay SHOULD NOT be activated.

  If an existing router has to restart, in accordance with RFC 4303
  [RFC4303], the sequence-number counter at the sender MUST be
  correctly maintained across local reboots, etc., until the key is
  replaced.

13.  Implementing a Security Policy Database per Interface

  RFC 4601 suggests that it may be desirable to implement a separate
  Security Policy Database (SPD) for each router interface.  The use of
  link-local addresses in certain circumstances implies that
  differentiation of ambiguous speaker addresses requires the use of
  the interface ID tag in the SA lookup.  One way to do this is through
  the use of multiple SPDs.  Alternatively, the interface ID tag may be
  a specific component of the selector algorithm.  This is in
  conformance with RFC 4301, which explicitly removes the requirement
  for separate SPDs that was present in RFC 2401 [RFC2401].

14.  Extended Sequence Number

  In the [RFC4302], there is a provision for a 64-bit Extended Sequence
  Number (ESN) as the counter of the sliding window used in the anti-
  replay protocol.  Both the sender and the receiver maintain a 64-bit
  counter for the sequence number, although only the lower order 32
  bits are sent in the transmission.  In other words, it will not
  affect the present header format of AH.  If ESN is used, a sender
  router can send 2^64 -1 packets without any intervention.  This
  number is very large, and from a PIM router's point of view, a PIM
  router can never exceed this number in its lifetime.  This makes it
  reasonable to permit manual configuration for a small number of PIM
  routers, since the sequence number will never roll over.  For this
  reason, when manual configuration is used, ESN SHOULD be deployed as
  the sequence number for the sliding window protocol.  In addition,





Atwood, et al.               Standards Track                   [Page 17]

RFC 5796               PIM-SM Link-local Security             March 2010


  when an ESN is used with a manually keyed SA, it MUST be saved over a
  reboot, along with an indication of which sequence numbers have been
  used.

15.  Security Considerations

  The whole document considers the security issues of PIM link-local
  messages and proposes a mechanism to protect them.

  Limitations of manual keys:

  The following are some of the known limitations of the usage of
  manual keys.

  o  If replay protection cannot be provided, the PIM routers will not
     be secured against all the attacks that can be performed by
     replaying PIM packets.

  o  Manual keys are usually long lived (changing them often is a
     tedious task).  This gives an attacker enough time to discover the
     keys.

  o  As the Administrator is manually configuring the keys, there is a
     chance that the configured keys are weak (there are known weak
     keys for DES/3DES at least).

  Impersonation attacks:

  The usage of the same key on all the PIM routers connected to a link
  leaves them all insecure against impersonation attacks if any one of
  the PIM routers is compromised, malfunctioning, or misconfigured.

  Detailed analysis of various vulnerabilities of routing protocols is
  provided in RFC 4593 [RFC4593].  For further discussion of PIM-SM and
  multicast security, the reader is referred to RFC 5294 [RFC5294], RFC
  4609 [RFC4609], and the Security Considerations section of RFC 4601
  [RFC4601].

16.  Acknowledgements

  The structure and text of this document draw heavily from RFC 4552
  [RFC4552].  The authors of this document thank M. Gupta and N. Melam
  for permission to do this.

  The quality of this document was substantially improved after SECDIR
  pre-review by Brian Weis, and after AD review by Adrian Farrel.





Atwood, et al.               Standards Track                   [Page 18]

RFC 5796               PIM-SM Link-local Security             March 2010


17.  References

17.1.  Normative References

  [RFC4601]  Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas,
             "Protocol Independent Multicast - Sparse Mode (PIM-SM):
             Protocol Specification (Revised)", RFC 4601, August 2006.

  [RFC4302]  Kent, S., "IP Authentication Header", RFC 4302,
             December 2005.

  [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.

  [RFC4301]  Kent, S. and K. Seo, "Security Architecture for the
             Internet Protocol", RFC 4301, December 2005.

  [RFC4303]  Kent, S., "IP Encapsulating Security Payload (ESP)",
             RFC 4303, December 2005.

  [RFC4835]  Manral, V., "Cryptographic Algorithm Implementation
             Requirements for Encapsulating Security Payload (ESP) and
             Authentication Header (AH)", RFC 4835, April 2007.

  [RFC5374]  Weis, B., Gross, G., and D. Ignjatic, "Multicast
             Extensions to the Security Architecture for the Internet
             Protocol", RFC 5374, November 2008.

  [RFC2404]  Madson, C. and R. Glenn, "The Use of HMAC-SHA-1-96 within
             ESP and AH", RFC 2404, November 1998.

  [RFC3602]  Frankel, S., Glenn, R., and S. Kelly, "The AES-CBC Cipher
             Algorithm and Its Use with IPsec", RFC 3602,
             September 2003.

17.2.  Informative References

  [RFC2117]  Estrin, D., Farinacci, D., Helmy, A., Thaler, D., Deering,
             S., Handley, M., Jacobson, V., Liu, C., Sharma, P., and L.
             Wei, "Protocol Independent Multicast-Sparse Mode (PIM-SM):
             Protocol Specification", RFC 2117, June 1997.

  [RFC2362]  Estrin, D., Farinacci, D., Helmy, A., Thaler, D., Deering,
             S., Handley, M., and V. Jacobson, "Protocol Independent
             Multicast-Sparse Mode (PIM-SM): Protocol Specification",
             RFC 2362, June 1998.





Atwood, et al.               Standards Track                   [Page 19]

RFC 5796               PIM-SM Link-local Security             March 2010


  [RFC2401]  Kent, S. and R. Atkinson, "Security Architecture for the
             Internet Protocol", RFC 2401, November 1998.

  [RFC4535]  Harney, H., Meth, U., Colegrove, A., and G. Gross,
             "GSAKMP: Group Secure Association Key Management
             Protocol", RFC 4535, June 2006.

  [RFC3547]  Baugher, M., Weis, B., Hardjono, T., and H. Harney, "The
             Group Domain of Interpretation", RFC 3547, July 2003.

  [RFC4593]  Barbir, A., Murphy, S., and Y. Yang, "Generic Threats to
             Routing Protocols", RFC 4593, October 2006.

  [RFC5294]  Savola, P. and J. Lingard, "Host Threats to Protocol
             Independent Multicast (PIM)", RFC 5294, August 2008.

  [RFC4609]  Savola, P., Lehtonen, R., and D. Meyer, "Protocol
             Independent Multicast - Sparse Mode (PIM-SM) Multicast
             Routing Security Issues and Enhancements", RFC 4609,
             October 2006.

  [RFC4552]  Gupta, M. and N. Melam, "Authentication/Confidentiality
             for OSPFv3", RFC 4552, June 2006.

  [RFC4107]  Bellovin, S. and R. Housley, "Guidelines for Cryptographic
             Key Management", BCP 107, RFC 4107, June 2005.

























Atwood, et al.               Standards Track                   [Page 20]

RFC 5796               PIM-SM Link-local Security             March 2010


Authors' Addresses

  J. William Atwood
  Concordia University/CSE
  1455 de Maisonneuve Blvd. West
  Montreal, QC  H3G 1M8
  Canada

  Phone: +1(514)848-2424 ext3046
  EMail: [email protected]
  URI:   http://users.encs.concordia.ca/~bill


  Salekul Islam
  INRS Energie, Materiaux et Telecommunications
  800 de La Gauchetiere, Suite 800
  Montreal, QC  H5A 1K6
  Canada

  EMail: [email protected]
  URI:   http://users.encs.concordia.ca/~salek_is


  Maziar Siami
  Concordia University/CIISE
  1455 de Maisonneuve Blvd. West
  Montreal, QC  H3G 1M8
  Canada

  EMail: [email protected]





















Atwood, et al.               Standards Track                   [Page 21]