RFC 7645 INFORMATIONAL SECURITY · IS-IS · ROUTING

The Keying and Authentication for Routing Protocol (KARP) IS-IS Security Analysis

What the IS-IS routing protocol protects today, and where its authentication falls short.

On rfc-editor.org ↗
PUBLISHED
September 2015
AUTHORS
U. Chunduri, A. Tian, W. Lu
STREAM
IETF
ALGORITHMS IN THE OLDER MECHANISM
HMAC-MD5
ALGORITHMS IN THE NEWER MECHANISM
The HMAC-SHA family
LINK STATE SEQUENCE NUMBER
32 bits
SEQUENCE CHECK ON HELLO PACKETS
None
KEY USAGE MODELS
2: subnetwork independent and subnetwork dependent
PUBLICATION DATE
September 2015
DOI
10.17487/RFC7645

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                       U. Chunduri
Request for Comments: 7645                                       A. Tian
Category: Informational                                            W. Lu
ISSN: 2070-1721                                            Ericsson Inc.
                                                          September 2015


       The Keying and Authentication for Routing Protocol (KARP)
                        IS-IS Security Analysis

Abstract

   This document analyzes the current state of the Intermediate System
   to Intermediate System (IS-IS) protocol according to the requirements
   set forth in "Keying and Authentication for Routing Protocols (KARP)
   Design Guidelines" (RFC 6518) for both manual and automated key
   management protocols.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   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).  Not all documents
   approved by the IESG are a candidate for any level of Internet
   Standard; see 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/rfc7645.

Copyright Notice

   Copyright (c) 2015 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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   3
     1.2.  Acronyms  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Current State . . . . . . . . . . . . . . . . . . . . . . . .   3
     2.1.  Key Usage . . . . . . . . . . . . . . . . . . . . . . . .   4
       2.1.1.  Subnetwork Independent  . . . . . . . . . . . . . . .   4
       2.1.2.  Subnetwork dependent  . . . . . . . . . . . . . . . .   4
     2.2.  Key Agility . . . . . . . . . . . . . . . . . . . . . . .   5
     2.3.  Security Issues . . . . . . . . . . . . . . . . . . . . .   5
       2.3.1.  Replay Attacks  . . . . . . . . . . . . . . . . . . .   5
         2.3.1.1.  Current Recovery Mechanism for LSPs . . . . . . .   6
       2.3.2.  Spoofing Attacks  . . . . . . . . . . . . . . . . . .   7
       2.3.3.  DoS Attacks . . . . . . . . . . . . . . . . . . . . .   8
   3.  Gap Analysis and Security Requirements  . . . . . . . . . . .   8
     3.1.  Manual Key Management . . . . . . . . . . . . . . . . . .   8
     3.2.  Key Management Protocols  . . . . . . . . . . . . . . . .   9
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .  10
   5.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  10
     5.1.  Normative References  . . . . . . . . . . . . . . . . . .  10
     5.2.  Informative References  . . . . . . . . . . . . . . . . .  11
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .  12
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  12

1.  Introduction

   This document analyzes the current state of the Intermediate System
   to Intermediate System (IS-IS) protocol according to the requirements
   set forth in "Keying and Authentication for Routing Protocols (KARP)
   Design Guidelines" [RFC6518] for both manual and automated key
   management protocols.

   With currently published work, IS-IS meets some of the requirements
   expected from a manually keyed routing protocol.  Integrity
   protection is expanded by allowing more cryptographic algorithms to
   be used [RFC5310].  However, even with this expanded protection, only
   limited algorithm agility (HMAC-SHA family) is possible.  [RFC5310]
   makes possible a basic form of intra-connection rekeying, but with
   some gaps as analyzed in Section 3 of this document.

   This document summarizes the current state of cryptographic key usage
   in the IS-IS protocol and several previous efforts that analyze IS-IS
   security.  This includes the base IS-IS specifications: [RFC1195],
   [RFC5304], [RFC5310], and [RFC6039].

   This document also analyzes various threats to IS-IS (as described in
   [RFC6862]), lists security gaps, and provides specific
   recommendations to thwart the threats for both manual keying and
   automated key management mechanisms.

1.1.  Requirements Language

   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].

1.2.  Acronyms

   DoS     -  Denial of Service

   GDOI    -  Group Domain of Interpretation

   IGP     -  Interior Gateway Protocol

   IIH     -  IS-IS HELLO

   IPv4    -  Internet Protocol version 4

   KMP     -  Key Management Protocol (automated key management)

   LSP     -  Link State PDU

   MKM     -  Manual Key Management

   NONCE   -  Number Once

   PDU     -  Protocol Data Unit

   SA      -  Security Association

   SNP     -  Sequence Number PDU

2.  Current State

   IS-IS is specified in International Standards Organization (ISO)
   10589 [ISO10589], with extensions to support Internet Protocol
   version 4 (IPv4) described in [RFC1195].  The specification includes
   an authentication mechanism that allows for any authentication
   algorithm and also specifies the algorithm for clear text passwords.
   Further, [RFC5304] extends the authentication mechanism to work with
   HMAC-MD5 and also modifies the base protocol for more effectiveness.
   [RFC5310] provides algorithm agility, with a new generic
   cryptographic authentication mechanism (CRYPTO_AUTH) for IS-IS.

   CRYPTO_AUTH also introduces a Key ID mechanism that maps to unique
   IS-IS SAs.

   The following sections describe the current authentication key usage
   for various IS-IS messages, current key change methodologies, and the
   various potential security threats.

2.1.  Key Usage

   IS-IS can be provisioned with a per-interface, peer-to-peer key for
   IIH PDUs and a group key for LSPs and SNPs.  If provisioned, IIH
   packets can potentially use the same group key used for LSPs and
   SNPs.

2.1.1.  Subnetwork Independent

   Link State PDUs, Complete and partial Sequence Number PDUs come under
   Sub network Independent messages.  For protecting Level-1 SNPs and
   Level-1 LSPs, provisioned Area Authentication key is used.  Level-2
   SNPs as well as Level-2 LSPs use the provisioned domain
   authentication key.

   Because authentication is performed on the LSPs transmitted by an IS,
   rather than on the LSP packets transmitted to a specific neighbor, it
   is implied that all the ISes within a single flooding domain must be
   configured with the same key in order for authentication to work
   correctly.  This is also true for SNP packets, though they are
   limited to link-local scope in broadcast networks.

   If multiple instances share the circuits as specified in [RFC6822],
   instance-specific authentication credentials can be used to protect
   the LSPs and SNPs within an area or domain.  It is important to note
   that [RFC6822] also allows usage of topology-specific authentication
   credentials within an instance for the LSPs and SNPs.

2.1.2.  Subnetwork Dependent

   IIH PDUs use the Link Level Authentication key, which may be
   different from that of LSPs and SNPs.  This could be particularly
   true for point-to-point links.  In broadcast networks, it is possible
   to provision the same common key used for LSPs and SNPs to protect
   IIH messages.  This allows neighbor discovery and adjacency formation
   with more than one neighbor on the same physical interface.  If
   multiple instances share the circuits as specified in [RFC6822],
   instance-specific authentication credentials can be used to protect
   Hello messages.

2.2.  Key Agility

   Key roll over without effecting the routing protocols operation in
   general and IS-IS in particular is necessary for effective key
   management protocol integration.

   Current HMAC-MD5 cryptographic authentication as defined in
   [RFC5304], suggests a transition mode so that ISes use a set of keys
   when verifying the authentication value to allow key changes.  This
   approach will allow changing the authentication key manually without
   bringing down the adjacency and without dropping any control packet.
   But, this can increase the load on the control plane for the key
   transition duration, as each control packet may have to be verified
   by more than one key, and it also allows a potential DoS attack in
   the transition duration.

   The above situation is improved with the introduction of the Key ID
   mechanism as defined in [RFC5310].  With this, the receiver
   determines the active SA by looking at the Key ID field in the
   incoming PDU and need not try with other keys when the integrity
   check or digest verification fails.  But, neither key coordination
   across the group nor an exact key change mechanism is clearly
   defined.  [RFC5310] says:

      Normally, an implementation would allow the network operator to
      configure a set of keys in a key chain, with each key in the chain
      having a fixed lifetime.  The actual operation of these mechanisms
      is outside the scope of this document.

2.3.  Security Issues

   The following section analyzes various possible security threats in
   the current state of the IS-IS protocol.

2.3.1.  Replay Attacks

   Replaying a captured protocol packet to cause damage is a common
   threat for any protocol.  Securing the packet with cryptographic
   authentication information alone cannot mitigate this threat
   completely.  Though this problem is more prevalent in broadcast
   networks, it is important to note that most of the IGP deployments
   use P2P-over-lan circuits [RFC5309], which makes it possible for an
   adversary to replay an IS-IS PDU more easily than the traditional P2P
   networks.

   In intra-session replay attacks, a secured protocol packet of the
   current session that is replayed can cause damage, if there is no
   other mechanism to confirm this is a replay packet.  In inter-session
   replay attacks, a captured packet from one of the previous sessions
   can be replayed to cause damage.  IS-IS packets are vulnerable to
   both of these attacks, as there is no sequence number verification
   for IIH and SNP packets.  Also with current manual key management,
   periodic key changes across the group are rarely done.  Thus, the
   intra-connection and inter-connection replay requirements are not
   met.

   IS-IS specifies the use of the HMAC-MD5 [RFC5304] and HMAC-SHA-1
   family in [RFC5310] to protect IS-IS packets.  An adversary could
   replay old IIHs or replay old SNPs that would cause churn in the
   network or bring down the adjacencies.

   1. At the time of adjacency bring up an IS sends IIH packet with
      empty neighbor list (TLV 6) and with the authentication
      information as per the provisioned authentication mechanism.  If
      this packet is replayed later on the broadcast network, all ISes
      in the broadcast network can bounce the adjacency to create a huge
      churn in the network.

   2. Today, LSPs have intra-session replay protection as the LSP header
      contains a 32-bit sequence number, which is verified for every
      received packet against the local LSP database.  But, if a node in
      the network is out of service (is undergoing some sort of high
      availability condition or an upgrade) for more than LSP refresh
      time and the rest of the network ages out the LSPs of the node
      under consideration, an adversary can potentially plunge in inter-
      session replay attacks in the network.  If the key is not changed
      in the above circumstances, attack can be launched by replaying an
      old LSP with a higher sequence number and fewer prefixes or fewer
      adjacencies.  This may force the receiver to accept and remove the
      routes from the routing table, which eventually causes traffic
      disruption to those prefixes.  However, as per the IS-IS
      specification, there is a built-in recovery mechanism for LSPs
      from inter-session replay attacks and it is further discussed in
      Section 2.3.1.1.

   3. In any IS-IS network (broadcast or otherwise), if an old and an
      empty Complete Sequence Number Packet (CSNP) is replayed, this can
      cause LSP flood in the network.  Similarly, a replayed Partial
      Sequence Number Packet (PSNP) can cause LSP flood in the broadcast
      network.

2.3.1.1.  Current Recovery Mechanism for LSPs

   In the event of inter-session replay attack by an adversary, as an
   LSP with a higher sequence number gets accepted, it also gets
   propagated until it reaches the originating node of the LSP.  The
   originator recognizes the LSP is "newer" than in the local database,
   which prompts the originator to flood a newer version of the LSP with
   a higher sequence number than that received.  This newer version can
   potentially replace any versions of the replayed LSP that may exist
   in the network.

   However, in the above process, depending on where in the network the
   replay is initiated, how quickly the nodes in the network react to
   the replayed LSP, and how different the content in the accepted LSP
   is determines the damage caused by the replayed LSP.

2.3.2.  Spoofing Attacks

   IS-IS shares the same key between all neighbors in an area or in a
   domain to protect the LSP, SNP packets, and in broadcast networks
   even IIH packets.  False advertisement by a router is not within the
   scope of the KARP work.  However, given the wide sharing of keys as
   described above, there is a significant risk that an attacker can
   compromise a key from one device and use it to falsely participate in
   the routing, possibly even in a very separate part of the network.

   If the same underlying topology is shared across multiple instances
   to transport routing/application information as defined in [RFC6822],
   it is necessary to use different authentication credentials for
   different instances.  In this connection, based on the deployment
   considerations, if certain topologies in a particular IS-IS instance
   require more protection from spoofing attacks and less exposure,
   topology-specific authentication credentials can be used for LSPs and
   SNPs as facilitated in [RFC6822].

   Currently, possession of the key itself is used as an authentication
   check and there is no identity check done separately.  Spoofing
   occurs when an illegitimate device assumes the identity of a
   legitimate one.  An attacker can use spoofing to launch various types
   of attacks, for example:

   1. The attacker can send out unrealistic routing information that
      might cause the disruption of network services, such as block
      holes.

   2. A rogue system that has access to the common key used to protect
      the LSP can flood an LSP by setting the Remaining Lifetime field
      to zero, thereby initiating a purge.  Subsequently, this can cause
      the sequence number of all the LSPs to increase quickly to max out
      the sequence number space, which can cause an IS to shut down for
      MaxAge + ZeroAgeLifetime period to allow the old LSPs to age out
      in other ISes of the same flooding domain.

2.3.3.  DoS Attacks

   DoS attacks using the authentication mechanism is possible and an
   attacker can send packets that can overwhelm the security mechanism
   itself.  An example is initiating an overwhelming load of spoofed but
   integrity-protected protocol packets, so that the receiver needs to
   process the integrity check, only to discard the packet.  This can
   cause significant CPU usage.  DoS attacks are not generally
   preventable within the routing protocol.  As the attackers are often
   remote, the DoS attacks are more damaging to area-scoped or domain-
   scoped packet receivers than link-local-scoped packet receivers.

3.  Gap Analysis and Security Requirements

   This section outlines the differences between the current state of
   the IS-IS routing protocol and the desired state as specified in the
   KARP Design Guidelines [RFC6518].  This section focuses on where the
   IS-IS protocol fails to meet general requirements as specified in the
   threats and requirements document [RFC6862].

   This section also describes security requirements that should be met
   by IS-IS implementations that are secured by manual as well as
   automated key management protocols.

3.1.  Manual Key Management

   1. With CRYPTO_AUTH specification [RFC5310], IS-IS packets can be
      protected with the HMAC-SHA family of cryptographic algorithms.
      The specification provides limited algorithm agility (SHA family).
      By using Key IDs, it also conceals the algorithm information from
      the protected control messages.

   2. Even though both intra- and inter-session replay attacks are best
      prevented by deploying key management protocols with frequent key
      change capability, basic constructs for the sequence number should
      be in the protocol messages.  So, some basic or extended sequence
      number mechanism should be in place to protect IIH packets and SNP
      packets.  The sequence number should be increased for each
      protocol packet.  This allows mitigation of some of the replay
      threats as mentioned in Section 2.3.1.

   3. Any common key mechanism with keys shared across a group of
      routers is susceptible to spoofing attacks caused by a malicious
      router.  A separate authentication check (apart from the integrity
      check to verify the digest) with digital signatures as described
      in [RFC2154] can effectively nullify this attack.  But this
      approach was never deployed, which we assume is due to operational
      considerations at that time.  The alternative approach to thwart
      this threat would be to use the keys from the group key management
      protocol.  As the group key(s) are generated by authenticating the
      member ISes in the group first and are then periodically rekeyed,
      per-packet identity or authentication checks may not be needed.

   4. In general, DoS attacks may not be preventable with the mechanism
      from the routing protocol itself.  But some form of admin-
      controlled lists at the forwarding plane can reduce the damage.
      There are some other forms of DoS attacks common to any protocol
      that are not in scope per Section 3.3 of [RFC6862].

   As discussed in Section 2.2, though the Key ID mechanism described in
   [RFC5310] helps, a better key coordination mechanism for key roll
   over is desirable even with manual key management.  But, [RFC5310]
   does not specify the exact mechanism other than requiring use of key
   chains.  The specific requirements are as follows:

   a. Keys SHOULD be able to change without effecting the established
      adjacency, ideally without any control packet loss.

   b. Keys SHOULD be able to change without effecting the protocol
      operations; for example, LSP flooding should not be held for a
      specific Key ID availability.

   c. Any proposed mechanism SHOULD also be incrementally deployable
      with key management protocols.

3.2.  Key Management Protocols

   In broadcast deployments, the keys used for protecting IS-IS
   protocols messages can, in particular, be group keys.  A mechanism is
   needed to distribute group keys to a group of ISes in a Level-1 area
   or Level-2 domain, using the Group Domain of Interpretation (GDOI)
   protocol as specified in [RFC6407].  An example policy and payload
   format is described in [GDOI].

   If a group key is used, the authentication granularity becomes group
   membership of devices, not peer authentication between devices.  The
   deployed group key management protocol SHOULD support rekeying.

   In some deployments, where IS-IS point-to-point (P2P) mode is used
   for adjacency bring-up, subnetwork-dependent messages (e.g., IIHs)
   can use a different key shared between the two P2P peers, while all
   other messages use a group key.  When a group keying mechanism is
   deployed, even the P2P IIHs can be protected with the common group
   keys.  This approach facilitates one key management mechanism instead
   of both pair-wise keying and group keying protocols being deployed
   together.  If the same circuits are shared across multiple instances,
   the granularity of the group can become per instance for IIHs and per
   instance/topology for LSPs and SNPs as specified in [RFC6822].

   Effective key change capability within the routing protocol that
   allows key roll over without impacting the routing protocol operation
   is one of the requirements for deploying any group key mechanism.
   Once such mechanism is in place with the deployment of group key
   management protocol; IS-IS can be protected from various threats and
   is not limited to intra- and inter-session replay attacks and
   spoofing attacks.

   Specific use of cryptographic tables [RFC7210] should be defined for
   the IS-IS protocol.

4.  Security Considerations

   This document is mostly about security considerations of the IS-IS
   protocol, and it lists potential threats and security requirements
   for mitigating these threats.  This document does not introduce any
   new security threats for the IS-IS protocol.  In view of openly
   published attack vectors, as noted in Section 1 of [RFC5310] on HMAC-
   MD5 cryptographic authentication mechanism, IS-IS deployments SHOULD
   use the HMAC-SHA family [RFC5310] instead of HMAC-MD5 [RFC5304] to
   protect IS-IS PDUs.  For more detailed security considerations,
   please refer the Security Considerations section of the IS-IS Generic
   Cryptographic Authentication [RFC5310], the KARP Design Guide
   [RFC6518] document, as well as the KARP threat document [RFC6862].

5.  References

5.1.  Normative References

   [RFC1195]  Callon, R., "Use of OSI IS-IS for routing in TCP/IP and
              dual environments", RFC 1195, DOI 10.17487/RFC1195,
              December 1990, <http://www.rfc-editor.org/info/rfc1195>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <http://www.rfc-editor.org/info/rfc2119>.

   [RFC5304]  Li, T. and R. Atkinson, "IS-IS Cryptographic
              Authentication", RFC 5304, DOI 10.17487/RFC5304, October
              2008, <http://www.rfc-editor.org/info/rfc5304>.

   [RFC5310]  Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R.,
              and M. Fanto, "IS-IS Generic Cryptographic
              Authentication", RFC 5310, DOI 10.17487/RFC5310, February
              2009, <http://www.rfc-editor.org/info/rfc5310>.

5.2.  Informative References

   [GDOI]     Weis, B. and S. Rowles, "GDOI Generic Message
              Authentication Code Policy", Work in Progress,
              draft-weis-gdoi-mac-tek-03, September 2011.

   [ISO10589] International Organization for Standardization,
              "Intermediate System to Intermediate System intra-domain
              routeing information exchange protocol for use in
              conjunction with the protocol for providing the
              connectionless-mode network service (ISO 8473)", ISO/IEC
              10589:2002, Second Edition, November 2002.

   [RFC2154]  Murphy, S., Badger, M., and B. Wellington, "OSPF with
              Digital Signatures", RFC 2154, DOI 10.17487/RFC2154, June
              1997, <http://www.rfc-editor.org/info/rfc2154>.

   [RFC5309]  Shen, N., Ed., and A. Zinin, Ed., "Point-to-Point
              Operation over LAN in Link State Routing Protocols",
              RFC 5309, DOI 10.17487/RFC5309, October 2008,
              <http://www.rfc-editor.org/info/rfc5309>.

   [RFC6039]  Manral, V., Bhatia, M., Jaeggli, J., and R. White, "Issues
              with Existing Cryptographic Protection Methods for Routing
              Protocols", RFC 6039, DOI 10.17487/RFC6039, October 2010,
              <http://www.rfc-editor.org/info/rfc6039>.

   [RFC6407]  Weis, B., Rowles, S., and T. Hardjono, "The Group Domain
              of Interpretation", RFC 6407, DOI 10.17487/RFC6407,
              October 2011, <http://www.rfc-editor.org/info/rfc6407>.

   [RFC6518]  Lebovitz, G. and M. Bhatia, "Keying and Authentication for
              Routing Protocols (KARP) Design Guidelines", RFC 6518,
              DOI 10.17487/RFC6518, February 2012,
              <http://www.rfc-editor.org/info/rfc6518>.

   [RFC6822]  Previdi, S., Ed., Ginsberg, L., Shand, M., Roy, A., and
              D. Ward, "IS-IS Multi-Instance", RFC 6822,
              DOI 10.17487/RFC6822, December 2012,
              <http://www.rfc-editor.org/info/rfc6822>.

   [RFC6862]  Lebovitz, G., Bhatia, M., and B. Weis, "Keying and
              Authentication for Routing Protocols (KARP) Overview,
              Threats, and Requirements", RFC 6862,
              DOI 10.17487/RFC6862, March 2013,
              <http://www.rfc-editor.org/info/rfc6862>.

   [RFC7210]  Housley, R., Polk, T., Hartman, S., and D. Zhang,
              "Database of Long-Lived Symmetric Cryptographic Keys",
              RFC 7210, DOI 10.17487/RFC7210, April 2014,
              <http://www.rfc-editor.org/info/rfc7210>.

Acknowledgements

   Authors would like to thank Joel Halpern for initial discussions on
   this document and for giving valuable review comments.  The authors
   would like to acknowledge Naiming Shen for reviewing and providing
   feedback on this document.  Thanks to Russ White, Brian Carpenter,
   and Amanda Barber for reviewing the document during the IESG review
   process.

Authors' Addresses

   Uma Chunduri
   Ericsson Inc.
   300 Holger Way,
   San Jose, California  95134
   United States
   Phone: 408 750-5678
   Email: uma.chunduri@ericsson.com


   Albert Tian
   Ericsson Inc.
   300 Holger Way,
   San Jose, California  95134
   United States
   Phone: 408 750-5210
   Email: albert.tian@ericsson.com


   Wenhu Lu
   Ericsson Inc.
   300 Holger Way,
   San Jose, California  95134
   United States
   Email: wenhu.lu@ericsson.com

ISO Plain Language

On this page
PROBLEMIS-IS has authentication for its control messages, but the keys are shared widely, the messages carry no sequence numbers of their own, and a key is rarely changed, so an attacker who captures or steals a key has useful options.
MECHANISMRFC 7645 compares the protocol against the requirements for routing protocol keying, works through the three threats it faces, replay, spoofing and flooding, and lists what would have to change under both manual key management and an automated key management protocol.
WHAT IT RECOMMENDSThe document is an analysis, not a specification. Its clearest recommendations are that deployments should use the HMAC-SHA family rather than HMAC-MD5, that the protocol should carry sequence numbers of its own, and that group keys managed by a protocol that authenticates its members would remove the need for a per-packet identity check.

§1What the Analysis Covers

The document analyses the current state of the Intermediate System to Intermediate System protocol against the requirements set out in the KARP design guidelines, for both manual key management and automated key management protocols.

With the work published so far, IS-IS meets some of the requirements expected of a manually keyed routing protocol. Integrity protection was extended by allowing more cryptographic algorithms to be used, but even with that expanded protection only limited algorithm agility is possible, the HMAC-SHA family, and that work also makes a basic form of intra-connection rekeying possible with some gaps that the document analyses.

The document summarises the current state of cryptographic key usage in IS-IS and several earlier efforts to analyse its security, covering the base specifications, the IPv4 extension, the generic cryptographic authentication mechanism and the document on issues with existing protection methods. It then analyses the threats to IS-IS as described in the KARP threat document, lists the security gaps, and gives specific recommendations for both manual keying and automated key management.

This is an audit of IS-IS security against a checklist written for routing protocols in general. It covers how keys are used today, how they are changed, what an attacker can do with them, and what would have to change to close the gaps.

§2.1Which Keys Protect Which Messages

IS-IS is specified in ISO 10589, with the extensions for IPv4 described in RFC 1195. The specification includes an authentication mechanism that allows any authentication algorithm and also specifies an algorithm for clear text passwords. RFC 5304 extends the mechanism to work with HMAC-MD5 and modifies the base protocol for greater effectiveness. RFC 5310 adds algorithm agility with a new generic cryptographic authentication mechanism, and introduces a Key ID mechanism that maps to unique IS-IS security associations.

IS-IS can be provisioned with a per-interface, peer-to-peer key for hello packets and a group key for the packets that carry link state and sequence numbers. If it is provisioned that way, hello packets can also use the same group key as the others.

Messages fall into two classes. The subnetwork independent messages are the link state packets and the complete and partial sequence number packets. To protect the Level-1 sequence number packets and Level-1 link state packets, the provisioned area authentication key is used, and the Level-2 ones use the provisioned domain authentication key. Because authentication is performed on the packets that a router transmits rather than on the packets it sends to one particular neighbour, every router within a flooding domain has to be configured with the same key for authentication to work. That is also true of the sequence number packets, although those are limited to link-local scope in broadcast networks. Where several instances share the same circuits, instance-specific credentials can be used to protect the link state and sequence number packets within an area or domain, and topology-specific credentials can be used within an instance.

The subnetwork dependent messages are the hello packets, which use the link level authentication key, which may be different from the key used for the other messages, and this is particularly true on point-to-point links. On broadcast networks the same common key can be provisioned to protect hello messages, which allows neighbour discovery and adjacency formation with more than one neighbour on the same physical interface. Where several instances share the circuits, instance-specific credentials can protect the hello messages as well.

There are two kinds of key. One is shared by every router in an area and protects the packets that describe the whole topology. The other is for a single link and protects the hello packets that routers exchange to become neighbours. The important detail is that the area-wide key protects packets a router floods to everyone, so everyone in the area has to hold it.

WHICH KEY PROTECTS WHICH IS-IS MESSAGE
MessageScopeKey used
HelloSubnetwork dependent, one linkThe link level authentication key, or the common group key on a broadcast network
Link state packet, Level 1Subnetwork independent, the whole areaThe provisioned area authentication key
Link state packet, Level 2Subnetwork independent, the whole domainThe provisioned domain authentication key
Sequence number packetsSubnetwork independent, limited to link-local scope on broadcast networksThe area key for Level 1 and the domain key for Level 2

§2.2Changing Keys Without Breaking the Network

Rolling a key over without affecting the operation of the routing protocol, and of IS-IS in particular, is necessary for a key management protocol to be integrated at all.

The HMAC-MD5 authentication of RFC 5304 suggests a transition mode in which routers use a set of keys when verifying the authentication value, so that keys can be changed. This allows the authentication key to be changed by hand without bringing down the adjacency and without dropping any control packet. It also increases the load on the control plane for the duration of the transition, because each control packet may have to be verified with more than one key, and it opens a window in which a denial of service attack is possible.

The Key ID mechanism of RFC 5310 improves this. The receiver determines the active security association by looking at the Key ID field in the arriving packet, and does not have to try other keys when the integrity check or digest verification fails. But neither coordination of keys across the group nor an exact key change mechanism is clearly defined: RFC 5310 says that an implementation would normally allow the operator to configure a set of keys in a key chain, with each key having a fixed lifetime, and that the actual operation of these mechanisms is outside its scope.

Keys have to be changed without dropping the adjacency, which is why the older mechanism allows a set of keys to be configured and tried in turn. The Key ID field improves this, because the receiver knows which key to use from the packet itself instead of trying them. What is still missing is a defined procedure for changing keys across a group of routers.

§2.3The Threats

Replaying a captured protocol packet to cause damage is a common threat for any protocol, and securing a packet with cryptographic authentication information alone cannot mitigate it completely. The problem is more prevalent in broadcast networks, and it matters that most interior gateway protocol deployments use point-to-point operation over a local area network, which makes it easier for an adversary to replay an IS-IS packet than on traditional point-to-point networks. In an intra-session replay a secured packet of the current session is replayed and causes damage if there is no other mechanism to confirm that it is a replay. In an inter-session replay a captured packet from an earlier session is replayed. IS-IS packets are vulnerable to both, because there is no sequence number verification for hello packets or sequence number packets, and because periodic key changes across the group are rarely done. The document describes what an attacker can achieve: replaying a hello packet sent when an adjacency was brought up, with an empty neighbour list, can make every router on the broadcast network drop and rebuild the adjacency, creating a large amount of churn.

Link state packets do have some replay protection, because the header carries a 32-bit sequence number that is checked against the local database for every packet received. But if a node is out of service, whether for high availability or an upgrade, for longer than the refresh time, and the rest of the network ages out that node's link state packets, then an adversary can mount an inter-session replay attack. If the key is not changed in those circumstances, an old packet can be replayed with a higher sequence number and fewer prefixes or adjacencies, which may force the receiver to accept it and remove those routes from the routing table, eventually disrupting traffic to them. The protocol has a built-in recovery for this: when a replayed packet with a higher sequence number is accepted, it is propagated until it reaches the node that originated it, which recognises it as newer than the local copy and floods a newer version with a higher sequence number, which can replace any copies of the replayed packet. How much damage is done depends on where in the network the replay starts, how quickly the routers react, and how different the content of the accepted packet is. A replayed old or empty complete sequence number packet, or a replayed partial sequence number packet, can also cause a flood of link state packets.

Spoofing is the second threat. IS-IS shares one key between all neighbours in an area or domain to protect the link state and sequence number packets, and on broadcast networks the hello packets too. False advertisement by a router is outside the scope of the KARP work, but because the keys are shared so widely there is a significant risk that an attacker compromises a key on one device and uses it to take part in routing, possibly in a very different part of the network. Where the same underlying topology is shared across several instances, different credentials are needed for different instances, and topology-specific credentials can be used where more protection from spoofing is needed. At present possession of the key is the whole authentication check, with no separate identity check. An attacker can use spoofing to send unrealistic routing information that might disrupt services, such as by creating holes, and a rogue system with access to the common key can flood a link state packet with the remaining lifetime set to zero, which starts a purge; the sequence numbers of all the packets then rise quickly to the top of the sequence number space, which can cause a router to shut down for a period of the maximum age plus the zero age lifetime so that the old packets age out elsewhere.

The third threat is denial of service using the authentication mechanism itself. An attacker can send an overwhelming load of spoofed but integrity-protected protocol packets, so that the receiver has to do the integrity check only to discard the packet, which can use a great deal of processor time. Such attacks are not generally preventable within the routing protocol, and since the attackers are often remote they do more damage to area-scoped or domain-scoped receivers than to link-local ones.

Three things can go wrong. An attacker can replay a packet they captured earlier: the hello packets carry nothing that says how old they are, so a replay can make every router on a broadcast network rebuild its adjacencies at once. An attacker can also steal the shared key and then say whatever they like about the topology, including claiming that the rest of the network no longer exists. And an attacker can flood the router with packets that pass the integrity check, so the router spends all its time checking and throwing them away.

THE THREE THREATS THE DOCUMENT ANALYSES
  • Replay within a sessionA captured packet of the current session is sent again, and nothing in the hello or sequence number packets reveals that it is old.
  • Replay across sessionsA packet captured in an earlier session is sent again with a higher sequence number, and the network may accept it and drop routes.
  • SpoofingAn attacker who steals the shared key claims a false topology, or flushes the link state packets to make the sequence numbers run out.
  • Denial of serviceA flood of packets that pass the integrity check make the receiver spend its time checking and discarding them.

§3.1What Has to Change Under Manual Key Management

With the generic cryptographic authentication mechanism of RFC 5310, IS-IS packets can be protected with the HMAC-SHA family, which gives limited algorithm agility, and the use of Key IDs conceals the algorithm information from the protected control messages.

Even though both kinds of replay attack are best prevented by deploying a key management protocol with frequent key change capability, the basic constructs for a sequence number should be in the protocol messages. Some basic or extended sequence number mechanism should protect the hello packets and the sequence number packets, and the sequence number should be increased for each protocol packet, which mitigates some of the replay threats.

Any common key mechanism, where keys are shared across a group of routers, is susceptible to spoofing caused by a malicious router. A separate authentication check, apart from the integrity check that verifies the digest, with digital signatures as described in RFC 2154 can effectively nullify this attack, but that approach was never deployed, which the document assumes was because of operational considerations at the time. The alternative is to use keys from a group key management protocol, where the group keys are generated by authenticating the member routers first and are then periodically rekeyed, in which case per-packet identity or authentication checks may not be needed.

Denial of service attacks may not be preventable with the mechanism in the routing protocol itself, but some form of administrator-controlled lists at the forwarding plane can reduce the damage. For key rollover, even with manual key management, keys should be able to change without affecting the established adjacency, ideally without any control packet loss, and without affecting the operation of the protocol, for example so that link state flooding is not held waiting for a particular Key ID to become available. Any proposed mechanism should also be incrementally deployable alongside key management protocols.

The document asks for three things under manual key management: a sequence number in the hello and sequence number packets, so that a replayed packet can be spotted; either a separate identity check on every packet or group keys that are rekeyed and whose members are authenticated first; and a way to change keys without dropping packets. It also suggests that filtering at the forwarding plane would blunt the flooding attack.

WHAT THE DOCUMENT ASKS FOR UNDER MANUAL KEY MANAGEMENT
  • Sequence numbers in the messagesA basic or extended sequence number in the hello and sequence number packets, increased for every packet.
  • An identity checkA separate check with digital signatures, which was never deployed, or group keys from a key management protocol.
  • Filtering listsAdministrator-controlled lists at the forwarding plane to reduce the damage from flooding.
  • Key changes without lossKeys should change without affecting the established adjacency, ideally without losing control packets.
  • No hold-up of operationsLink state flooding should not wait for a particular Key ID to become available.
  • Incremental deploymentAny proposed mechanism should be deployable step by step alongside key management protocols.

§3.2What an Automated Key Management Protocol Changes

In broadcast deployments the keys used to protect IS-IS messages are often group keys. A mechanism is needed to distribute group keys to a group of routers in a Level-1 area or a Level-2 domain, using the Group Domain of Interpretation protocol of RFC 6407. If a group key is used, the granularity of authentication becomes group membership of devices rather than peer authentication between devices, and the deployed group key management protocol should support rekeying.

In deployments where IS-IS runs in point-to-point mode for adjacency bring-up, the subnetwork-dependent messages, the hello packets, can use a different key shared between the two peers, while all other messages use a group key. When a group keying mechanism is deployed, even the point-to-point hello packets can be protected with the common group keys, which means one key management mechanism is deployed rather than both pairwise and group keying protocols together. Where the same circuits are shared across several instances, the granularity of the group can be per instance for hello packets and per instance and topology for link state and sequence number packets.

Effective key change capability within the routing protocol, allowing a key to be rolled over without affecting the operation of the protocol, is one of the requirements for deploying any group key mechanism. Once such a mechanism is in place along with the deployment of a group key management protocol, IS-IS can be protected from the various threats and is no longer limited to the intra-session and inter-session replay attacks and the spoofing attacks. The document also says that the use of cryptographic tables for long-lived symmetric keys should be defined for the IS-IS protocol.

With an automated key management protocol, the area-wide key becomes a group key: the protocol authenticates the routers that join the group and then rekeys it periodically. That changes what the key proves. Instead of proving that a packet came from a particular router, it proves that it came from a router in the group, which is why the document can say that a separate identity check on every packet may no longer be needed.

§7References