<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.17 (Ruby 3.3.1) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bdmgct-spring-srv6-security-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.21.0 -->
  <front>
    <title abbrev="SRv6 Security Considerations">SRv6 Security Considerations</title>
    <seriesInfo name="Internet-Draft" value="draft-bdmgct-spring-srv6-security-02"/>
    <author initials="N." surname="Buraglio" fullname="Nick Buraglio">
      <organization>Energy Sciences Network</organization>
      <address>
        <email>buraglio@forwardingplane.net</email>
      </address>
    </author>
    <author initials="T." surname="Mizrahi" fullname="Tal Mizrahi">
      <organization>Huawei</organization>
      <address>
        <email>tal.mizrahi.phd@gmail.com</email>
      </address>
    </author>
    <author initials="T." surname="Tong" fullname="Tian Tong">
      <organization>China Unicom</organization>
      <address>
        <email>tongt5@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="L. M." surname="Contreras" fullname="Luis M. Contreras">
      <organization>Telefonica</organization>
      <address>
        <email>luismiguel.contrerasmurillo@telefonica.com</email>
      </address>
    </author>
    <author initials="F." surname="Gont" fullname="Fernando Gont">
      <organization>SI6 Networks</organization>
      <address>
        <email>fgont@si6networks.com</email>
      </address>
    </author>
    <date year="2024" month="July" day="02"/>
    <area>Routing</area>
    <workgroup>Source Packet Routing in Networking</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 94?>

<t>SRv6 is a traffic engineering, encapsulation and steering mechanism utilizing IPv6 addresses to identify segments in a pre-defined policy. This document discusses security considerations in SRv6 networks, including the potential threats and the possible mitigation methods. The document does not define any new security protocols or extensions to existing protocols.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://buraglio.github.io/draft-bdmgct-spring-srv6-security/draft-bdmgct-spring-srv6-security.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-bdmgct-spring-srv6-security/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Source Packet Routing in Networking Working Group mailing list (<eref target="mailto:spring@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/spring/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/spring/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/buraglio/draft-bdmgct-spring-srv6-security"/>.</t>
    </note>
  </front>
  <middle>
    <?line 98?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Segment Routing (SR) <xref target="RFC8402"/> utilizing an IPv6 data plane is a source routing model that leverages an IPv6 underlay
and an IPv6 extension header called the Segment Routing Header (SRH) to signal and control the forwarding and path of packets by imposing an ordered list of
path details that are processed at each hop along the signaled path. Because SRv6 is fundamentally bound to the IPv6 protocol, and because of the reliance of a
new header there are security considerations which must be noted or addressed in order to operate an SRv6 network in a reliable and secure manner.
Specifically, some of the main properties of SRv6 that affect the security considerations are:</t>
      <ul spacing="normal">
        <li>
          <t>SRv6 makes use of the SRH which is a new type of Routing Extension
Header.  Some of the security considerations of the SRH are discussed in <xref target="RFC5095"/> and
<xref target="RFC8754"/>.</t>
        </li>
        <li>
          <t>SRv6 consists of using the SRH on the IPv6 dataplane, and therefore
known security considerations of IPv6 <xref target="RFC9099"/> are applicable to SRv6 as well.</t>
        </li>
        <li>
          <t>While SRv6 uses what appear to be typical IPv6 addresses, the address space is processed differently by segment endpoints.
A typical IPv6 unicast address is comprised of a network prefix, host identifier, and a subnet mask.
A typical SRv6 segment identifier (SID) is broken into a locator, a function identifier, and optionally, function arguments.
The locator must be routable, which enables both SRv6 capable and incapable devices to participate in forwarding, either as normal IPv6 unicast or SRv6.
The capability to operate in environments that may have gaps in SRv6 support allows the bridging of islands of SRv6 devices with standard IPv6 unicast routing.</t>
        </li>
      </ul>
      <t>This document describes various threats to SRv6 networks and also presents existing approaches to avoid or mitigate the threats.</t>
    </section>
    <section anchor="scope-of-this-document">
      <name>Scope of this Document</name>
      <t>The following IETF RFCs were selected for security assessment as part of this effort:</t>
      <ul spacing="normal">
        <li>
          <t><xref target="RFC8402"/> : "Segment Routing Architecture"</t>
        </li>
        <li>
          <t><xref target="RFC8754"/> : "IPv6 Segment Routing Header (SRH)"</t>
        </li>
        <li>
          <t><xref target="RFC8986"/> : "Segment Routing over IPv6 (SRv6) Network Programming"</t>
        </li>
        <li>
          <t><xref target="RFC9020"/> : "YANG Data Model for Segment Routing"</t>
        </li>
        <li>
          <t><xref target="RFC9256"/> : "Segment Routing Policy Architecture"</t>
        </li>
        <li>
          <t><xref target="RFC9491"/> : "Integration of the Network Service Header (NSH) and Segment Routing for Service Function Chaining (SFC)"</t>
        </li>
        <li>
          <t><xref target="RFC9524"/> : "Segment Routing Replication for Multipoint Service Delivery"</t>
        </li>
      </ul>
      <t>We note that SRv6 is under active development and, as such, the above documents might not cover all protocols employed in an SRv6 deployment.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
      <section anchor="terminology">
        <name>Terminology</name>
        <ul spacing="normal">
          <li>
            <t>HMAC TLV: Hashed Message Authentication Code Type Length Value <xref target="RFC8754"/></t>
          </li>
          <li>
            <t>SID: Segment Identifier <xref target="RFC8402"/></t>
          </li>
          <li>
            <t>SRH: Segment Routing Header <xref target="RFC8754"/></t>
          </li>
          <li>
            <t>SRv6: Segment Routing over IPv6 <xref target="RFC8402"/></t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="threat">
      <name>Threat Model</name>
      <t>This section introduces the threat model that is used in this document. The model is based on terminology from the Internet threat model <xref target="RFC3552"/>, as well as some concepts from <xref target="RFC9055"/>, <xref target="RFC7384"/> and <xref target="RFC9416"/>. Details regarding inter-domain segment routing (SR) are out of scope for this document.</t>
      <dl>
        <dt>Internal vs. External:</dt>
        <dd>
          <t>An internal attacker in the context of SRv6 is an attacker who is located within an SR domain. Specifically, an internal attacker either has access to a node in the SR domain, or is located on an internal path between two nodes in the SR domain. In this context, the latter means that the attacker can be reached from a node in the SR domain without traversing an SR egress node, and can reach a node in the SR domain without traversing an SR ingress node. External attackers, on the other hand, are not within the SR domain.</t>
        </dd>
        <dt>On-path vs. Off-path:</dt>
        <dd>
          <t>On-path attackers are located in a position that allows interception, modification or dropping of in-flight packets, as well as insertion (generation) of packets. Off-path attackers can only attack by insertion of packets.</t>
        </dd>
      </dl>
      <t>The following figure depicts the attacker types according to the taxonomy above. As illustrated in the figure, on-path attackers are located along the path of the traffic that is under attack, and therefore can listen, insert, delete, modify or replay packets in transit. Off-path attackers can insert packets, and in some cases can passively listen to some of the traffic, such as multicast transmissions.</t>
      <figure anchor="threat-figure">
        <name>Threat Model Taxonomy</name>
        <artwork><![CDATA[
     on-path         on-path        off-path      off-path
     external        internal       internal      external
     attacker        attacker       attacker      attacker
       |                   |        |__            |
       |     SR      __    | __   _/|  \           |
       |     domain /  \_/ |   \_/  v   \__        v
       |            \      |        X      \       X
       v            /      v                \
 ----->X---------->O------>X------->O------->O---->
                   ^\               ^       /^
                   | \___/\_    /\_ | _/\__/ |
                   |        \__/    |        |
                   |                |        |
                  SR               SR        SR
                  ingress        endpoint    egress
                  node                       node
]]></artwork>
      </figure>
      <t>In the current threat model the SR domain defines the boundary that distinguishes internal from external threats. As specified in <xref target="RFC8402"/>:</t>
      <artwork><![CDATA[
   By default, SR operates within a trusted domain.  Traffic MUST be
   filtered at the domain boundaries.
   The use of best practices to reduce the risk of tampering within the
   trusted domain is important.  Such practices are discussed in
   [RFC4381] and are applicable to both SR-MPLS and SRv6.
]]></artwork>
      <t>In the context of the current document it is assumed that SRv6 is deployed within a limited domain <xref target="RFC8799"/> with filtering at the domain boundaries, forming a trusted domain with respect to SRv6. Thus, external attackers are outside of the trusted domain. Specifically, an attack on one domain that is invoked from within a different domain is considered an external attack in the context of the current document.</t>
      <t>Following the spirit of <xref target="RFC8402"/>, the current document  mandates a filtering mechanism that eliminates the threats from external attackers. This approach limits the scope of the attacks described in this document to within the domain (i.e., internal attackers).</t>
      <t>It should be noted that in some threat models the distinction between internal and external attackers depends on whether an attacker has access to a cryptographically secured (encrypted or authenticated) domain. Specifically, in some of these models there is a distinction between an attacker who becomes internal by having physical access, for example by plugging into an active port of a network device, and an attacker who has full access to a legitimate network node, including for example encryption keys if the network is encrypted. The current model does not distinguish between these two types of attackers and there is no assumption about whether the SR domain is cryptographically secured or not. Thus, some of the attacks that are described in the next section can be mitigated by cryptographic means, as further discussed in <xref target="hmac"/>.</t>
    </section>
    <section anchor="impact">
      <name>Impact</name>
      <t>One of the important aspects of a threat analysis is the potential impact of each threat. SRv6 allows for the sending of IPv6 packets via arbitrary paths. An attack on SRv6 may cause packets to traverse arbitrary paths within an SR domain. This may allow an attacker to perform a number of attacks on the victim networks and hosts that would be mostly unfeasible for a non-SRv6 environment.</t>
      <t>The threat model in <xref target="ANSI-Sec"/> classifies threats according to their potential impact, defining six categories. For each of these categories we briefly discuss its applicability to SRv6 attacks.</t>
      <ul spacing="normal">
        <li>
          <t>Unauthorized Access: an attack that results in unauthorized access might be achieved by having an attacker leverage SRv6 to circumvent security controls as a result of security devices being unable to enforce security policies in the presence of IPv6 Extension Headers (see <xref target="RFC9098"/>), or by directing packets through paths where packet-filtering policies are not enforced.</t>
        </li>
        <li>
          <t>Masquerade: various attacks that result in spoofing or masquerading are possible in IPv6 networks (e.g., <xref target="RFC9098"/>). However, these attacks are not specific to SRv6, and are therefore not within the scope of this document.</t>
        </li>
        <li>
          <t>System Integrity: attacks on SRv6 can manipulate the path and the processing that the packet is subject to, thus compromising the integrity of the system. Furthermore, an attack that compromises the control plane and/or the management plane is also a means of impacting the system integrity.</t>
        </li>
        <li>
          <t>Communication Integrity: SRv6 attacks may cause packets to be forwarded through paths that the attacker controls, which may facilitate other attacks that compromise the integrity of user data. Integrity protection of user data, which is implemented in higher layers, avoids these aspects, and therefore communication integrity is not within the scope of this document.</t>
        </li>
        <li>
          <t>Confidentiality: as in communication integrity, packets forwarded through uninteded paths may traverse nodes controlled by the attacker. Since eavsedropping to user data can be avoided by using encryption in higher layers, it is not within the scope of this document. However, eavesdropping to a network that uses SRv6 allows the attacker to collect information about SR endpoint addresses, SR policies, and network topologies, is a specific form of reconnaissance</t>
        </li>
        <li>
          <t>Denial of Service: the availability aspects of SRv6 include the ability of attackers to leverage SRv6 as a means for compromising the performance of a network or for causing Denial of Service (DoS). Compromising the availability of the system can be achieved by sending multiple SRv6-enabled packets to/through victim nodes, where the SRv6-enabled packets result in a negative performance impact of the victim systems (see <xref target="RFC9098"/> for further details). Alternatively, an attacker might achieve attack amplification by causing packets to "bounce" multiple times between a set of victim nodes, with the goal of exhausing processing resources and/or bandwidth (see <xref target="CanSecWest2007"/> for a discussion of this type of attack).</t>
        </li>
      </ul>
      <t><xref target="attacks"/> discusses specific implementations of these attacks, and possible mitigations are discussed in <xref target="mitigations"/>.</t>
    </section>
    <section anchor="attacks">
      <name>Attacks</name>
      <section anchor="attack-abstractions">
        <name>Attack Abstractions</name>
        <t>Packet manipulation and processing attacks can be implemented by performing a set of one or more basic operations. These basic operations (abstractions) are as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Passive listening: an attacker who reads packets off the network can collect information about SR endpoint addresses, SR policies and the network topology. This information can then be used to deploy other types of attacks.</t>
          </li>
          <li>
            <t>Packet replaying: in a replay attack the attacker records one or more packets and transmits them at a later point in time.</t>
          </li>
          <li>
            <t>Packet insertion: an attacker generates and injects a packet to the network. The generated packet may be maliciously crafted to include false information, including for example false addresses and SRv6-related information.</t>
          </li>
          <li>
            <t>Packet deletion: by intercepting and removing packets from the network, an attacker prevents these packets from reaching their destination. Selective removal of packets may, in some cases, cause more severe damage than random packet loss.</t>
          </li>
          <li>
            <t>Packet modification: the attacker modifies packets during transit.</t>
          </li>
        </ul>
        <t>This section describes attacks that are based on packet manipulation and processing, as well as attacks performed by other means.</t>
      </section>
      <section anchor="modification">
        <name>SR Modification Attack</name>
        <section anchor="overview">
          <name>Overview</name>
          <t>An attacker can modify a packet while it is in transit in a way that directly affects the packet's SR policy. The modification can affect the destination address of the IPv6 header and/or the SRH. In this context SRH modification may refer to inserting an SRH, removing an SRH, or modifying some of the fields of an existing SRH.</t>
          <t>Modification of an existing SRH can be further classified into several possible attacks. Specifically, the attack can include adding one or more SIDs to the segment list, removing one or more SIDs or replacing some of the SIDs with differnet SIDs. Another possible type of modification is by adding, removing or modifying TLV fields in the SRH.</t>
          <t>When an SRH is present modifying the destination address (DA) of the IPv6 header affects the active segment. However, DA modification can affect the SR policy even in the absence of an SRH. One example is modifying a DA which is used as a Binding SID <xref target="RFC8402"/>. Another example is modifying a DA which represents a compressed segment list <xref target="I-D.ietf-spring-srv6-srh-compression"/>. SRH compression allows to encode multiple compressed SIDs within a single 128-bit SID, and thus modifying the DA can affect one or more hops in the SR policy.</t>
        </section>
        <section anchor="scope">
          <name>Scope</name>
          <t>An SR modification attack can be performed by on-path attackers. As discussed in <xref target="threat"/>, it assumed that filtering is deployed at the domain boundaries, thus limiting the ability of implementing SR modification attacks to on-path internal attackers.</t>
        </section>
        <section anchor="mod-impact">
          <name>Impact</name>
          <t>The SR modification attack allows an attacker to change the SR policy that the packet is steered through and thus to manipulate the path and the processing that the packet is subject to.</t>
          <t>Specifically, the SR modification attack can impact the network and the forwarding behavior of packets in one or more of the following ways:</t>
          <dl>
            <dt>Avoiding a specific node or path:</dt>
            <dd>
              <t>An attacker can manipulate the DA and/or SRH in order to avoid a specific node or path. This approach can be used, for example, for bypassing the billing service or avoiding access controls and security filters.</t>
            </dd>
            <dt>Preferring a specific path:</dt>
            <dd>
              <t>The packet can be manipulated to avert packets to a specific path. This attack can result in allowing various unauthorized services such as traffic acceleration. Alternatively, an attacker can avert traffic to be forwarded through a specific node that the attacker has access to, thus facilitating more complex on-path attacks such as passive listening, recon and various man-in-the-middle attacks. It is noted that the SR modification attack is performed by an on-path attacker who has access to packets in transit, and thus can implement these attacks directly. However, SR modification is relatively easy to implement and requires low processing resources by an attacker, while it facilitates more complex on-path attacks by averting the traffic to another node that the attacker has access to and has more processing resources.</t>
            </dd>
            <dt>Forwarding through a path that causes the packet to be discarded:</dt>
            <dd>
              <t>SR modification may casue a packet to be forwarded to a point in the network where it can no longer be forwarded, causing the packet to be discarded.</t>
            </dd>
            <dt>Manipulating the SRv6 network programming:</dt>
            <dd>
              <t>An attacker can trigger a specific endpoint behavior by modifying the destination address and/or SIDs in the segment list. This attack can be invoked in order to manipulate the path or in order to exhaust the resources of the SR endpoint.</t>
            </dd>
            <dt>Availability:</dt>
            <dd>
              <t>An attacker can add SIDs to the segment list in order to increase the number hops that each packet is forwarded through and thus increase the load on the network. For example, a set of SIDs can be inserted in a way that creates a forwarding loop (<xref target="RFC8402"/>, <xref target="RFC5095"/>) and thus loads the nodes along the loop. Network programming can be used in some cases to manipulate segment endpoints to perform unnecessary functions that consume processing resources. Path inflation, malicious looping and unnecessary instructions have a common outcome, resource exhaustion, which may in severe cases cause Denial of Service (DoS).</t>
            </dd>
          </dl>
        </section>
        <section anchor="overview-1">
          <name>Overview</name>
          <t>An on-path attacker can passively listen to packets and specifically to the SRv6-related information that is conveyed in the IPv6 header and the SRH. This approach can be used for collecting information about SIDs and policies, and thus to facilitate mapping the structure of the network and its potential vulnerabilities.</t>
        </section>
        <section anchor="scope-1">
          <name>Scope</name>
          <t>A recon attack is limited to on-path internal attackers.</t>
          <t>It is assumed that the SRv6 domain is filtered in a way that prevents any leaks of explicit SRv6 routing information through the boundaries of the administrative domain. External attackers can only collect SRv6-related data in a malfunctioning network in which SRv6-related information is leaked through the boundaries of an SR domain.</t>
        </section>
        <section anchor="impact-1">
          <name>Impact</name>
          <t>While the information collected in a recon attack does not compromise the confidentiality of the user data, it allows an attacker to gather information about the network which in turn can be used to enable other attacks.</t>
        </section>
      </section>
      <section anchor="packet-insertion">
        <name>Packet Insertion</name>
        <section anchor="overview-2">
          <name>Overview</name>
          <t>In this attack packets are inserted (injected) into the network with a segment list that defines a specific SR policy. The attack can be applied either by using synthetic packets or by replaying previously recorded packets.</t>
        </section>
        <section anchor="scope-2">
          <name>Scope</name>
          <t>Packet insertion can be performed by internal attackers, either on-path or off-path. In the case of a replay attack, recording packets in-flight requires on-path access and the recorded packets can later be injected either from an on-path or an off-path location.</t>
          <t>SRv6 domains are assumed to be filtered in a way that mitigates insertion attacks from external attackers.</t>
        </section>
        <section anchor="impact-2">
          <name>Impact</name>
          <t>The main impact of this attack is resource exhaustion which compromises the availability of the network, as described in <xref target="mod-impact"/>.</t>
        </section>
      </section>
      <section anchor="control-and-management-plane-attacks">
        <name>Control and Management Plane Attacks</name>
        <section anchor="overview-3">
          <name>Overview</name>
          <t>Depending on the control plane protocols used in a network, it is possible to use the control plane as a way of compromising the network. For example, an attacker can advertise SIDs in order to manipulate the SR policies used in the network. A wide range of attacks can be implemented, including injecting control plane messages, selectively removing legitimate messages, replaying them or passively listening to them.</t>
          <t>A compromised management plane can also facilitate a wide range of attacks, including manipulating the SR policies or compromising the network availability.</t>
        </section>
        <section anchor="scope-3">
          <name>Scope</name>
          <t>Control plane attacks can be performed by internal attackers. Injection can be performed by off-path attackers, while removal, replaying and listening require on-path access. The scope of management attacks depends on the specific management protocol and architecture.</t>
          <t>It is assumed that SRv6 domain boundary filtering is used for mitigating potential control plane and management plane attacks from external attackers. Segment routing does not define any specific security mechanisms in existing control plane or management plane protocols. However, existing control plane and management plane protocols use authentication and security mechanisms to validate the authenticity of information.</t>
        </section>
        <section anchor="impact-3">
          <name>Impact</name>
          <t>A compromised control plane or management plane can impact the network in various possible ways. SR policies can be manipulated by the attacker to avoid specific paths or to prefer specific paths, as described in <xref target="mod-impact"/>. Alternatively, the attacker can compromise the availability, either by defining SR policies that load the network resources, as described in <xref target="mod-impact"/>, or by blackholing some or all of the SR policies. A passive attacker can use the control plane or management plane messages as a means for recon, in a similar manner to <xref target="mod-impact"/>.</t>
        </section>
      </section>
      <section anchor="other-attacks">
        <name>Other Attacks</name>
        <t>Various attacks which are not specific to SRv6 can be used to compromise networks that deploy SRv6. For example, spoofing is not specific to SRv6, but can be used in a network that uses SRv6. Such attacks are outside the scope of this document.</t>
        <t>Because SRv6 is completely reliant on IPv6 for addressing, forwarding, and fundamental networking basics, it is potentially subject to any existing or emerging IPv6 vulnerabilities <xref target="RFC9099"/>, however, this is out of scope for this document.</t>
      </section>
    </section>
    <section anchor="mitigations">
      <name>Mitigation Methods</name>
      <t>This section presents methods that can be used to mitigate the threats and issues that were presented in previous sections. This section does not introduce new security solutions or protocols.</t>
      <section anchor="filtering">
        <name>Filtering</name>
        <section anchor="srh-filtering">
          <name>SRH Filtering</name>
          <t>SRv6 packets rely on the routing header in order to steer traffic that adheres to a defined SRv6 traffic policy. Thus, SRH filtering can be enforced at the ingress and egress nodes of the SR domain, so that packets with an SRH cannot be forwarded into the SR domain or out of the SR domain. Specifically, such filtering is performed by detecting Next Header 43 (Routing Header) with Routing Type 4 (SRH).</t>
          <t>Because of the methodologies used in SID compression <xref target="I-D.ietf-spring-srv6-srh-compression"/>, SRH compression does not necessarily use an SRH. In practice this means that when compressed segment lists are used without an SRH, filtering based on the Next Header is not relevant, and thus filtering can only be applied baed on the address range, as described below.</t>
        </section>
        <section anchor="address-range-filtering">
          <name>Address Range Filtering</name>
          <t>The IPv6 destination address can be filtered at the SR ingress node in order to mitigate external attacks. An ingress packet with a destination address that defines an active segment with an SR endpoint in the SR domain is filtered.</t>
          <t>In order to apply such a filtering mechanism the SR domain needs to have an allocated address range that can be detected and enforced by the SR ingress, for example by using LUA addresses.</t>
          <t>Note that the use of GUA addressing in data plane programming could result in an fail open scenario when appropriate border filtering is not implemented or supported.</t>
        </section>
      </section>
      <section anchor="encapsulation-of-packets">
        <name>Encapsulation of Packets</name>
        <t>Packets steered in an SR domain are often encapsulated in an IPv6 encapsulation. This mechanism allows for encapsulation of both IPv4 and IPv6 packets. Encapsulation of packets at the SR ingress node and decapsulation at the SR egress node mitigates the ability of external attackers to impact SR steering within the domain.</t>
      </section>
      <section anchor="hmac">
        <name>Hashed Message Authentication Code (HMAC)</name>
        <t>The SRH can be secured by an HMAC TLV, as defined in <xref target="RFC8754"/>. The HMAC is an optional TLV that secures the segment list, the SRH flags, the SRH Last Entry field and the IPv6 source address. A pre-shared key is used in the generation and verification of the HMAC.</t>
        <t>Using an HMAC in an SR domain can mitigate some of the SR Modification Attacks (<xref target="modification"/>). For example, the segment list is protected by the HMAC.</t>
        <t>The following aspects of the HAMC should be considered:</t>
        <ul spacing="normal">
          <li>
            <t>The HMAC TLV is <bcp14>OPTIONAL</bcp14>.</t>
          </li>
          <li>
            <t>While it is presumed that unique keys will be employed by each participating node, in scenarios where the network resorts to manual configuration of pre-shared keys, the same key might be reused by multiple systems as an (incorrect) shortcut to keeeping the problem of pre-shared key configuration manageable.</t>
          </li>
          <li>
            <t>An internal attacker who does not have access to the pre-shared key can capture legitimate packets, and later replay the SRH and HMAC from these recorded packets. This allows the attacker to insert the previously recorded SRH and HMAC into a newly injected packet. An on-path internal attacker can also replace the SRH of an in-transit packet with a different SRH that was previously captured.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="implications-on-existing-equipment">
      <name>Implications on Existing Equipment</name>
      <section anchor="limitations-in-filtering-capabilities">
        <name>Limitations in Filtering Capabilities</name>
        <t><xref target="RFC9288"/> provides recommendations on the filtering of IPv6 packets containing IPv6 extension headers at transit routers. SRv6 relies on the routing header (RH4). Because the technology is reasonably new, many platforms, routing and otherwise, do not posses the capability to filter and in some cases even provide logging for IPv6 next-header 43 Routing type 4.</t>
      </section>
      <section anchor="middlebox-filtering-issues">
        <name>Middlebox Filtering Issues</name>
        <t>When an SRv6 packet is forwarded in the SRv6 domain, its destination address changes constantly, the real destination address is hidden. Security devices on SRv6 network may not learn the real destination address and fail to take access control on some SRv6 traffic.</t>
        <t>The security devices on SRv6 networks need to take care of SRv6 packets. However, the SRv6 packets usually use loopback address of the PE device a as source address. As a result, the address information of SR packets may be asymmetric, resulting in improper filter traffic problems, which affects the effectiveness of security devices.
For example, along the forwarding path in SRv6 network, the SR-aware firewall will check the association relationships of the bidirectional VPN traffic packets. And it is able to retrieve the final destination of SRv6 packet from the last entry in the . When the &lt;source, destination&gt; tuple of the packet from PE1 to PE2 is &lt;PE1-IP-ADDR, PE2-VPN-SID&gt;, and the other direction is &lt;PE2-IP-ADDR, PE1-VPN-SID&gt;, the source address and destination address of the forward and backward VPN traffic are regarded as different flow. Eventually, the legal traffic may be blocked by the firewall.</t>
        <t>SRv6 is commonly used as a tunneling technology in operator networks. To provide VPN service in an SRv6 network, the ingress PE encapsulates the payload with an outer IPv6 header with the SRH carrying the SR Policy segment List along with the VPN service SID. The user traffic towards SRv6 provider backbone will be encapsulated in SRv6 tunnel. When constructing an SRv6 packet, the destination address field of the SRv6 packet changes constantly and the source address field of the SRv6 packet is usually assigned using an address on the originating device, which may be a host or a network element depending on configuration. This may affect the security equipment and middle boxes in the traffic path. Because of the existence of the SRH, and the additional headers, security appliances, monitoring systems, and middle boxes could react in different ways if do not incorporate support for the supporting SRv6 mechanisms, such as the IPv6 Segment Routing Header (SRH) <xref target="RFC8754"/>. Additionally, implementation limitations in the processing of IPv6 packets with extension headers may result in SRv6 packets being dropped <xref target="RFC9098">RFC7872</xref>.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations of SRv6 are presented throughout this document.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section anchor="topics-for-further-consideration">
      <name>Topics for Further Consideration</name>
      <t>This section lists topics that will be discussed further before deciding whether they need to be included in this document, as well as some placeholders for items that need further work.</t>
      <ul spacing="normal">
        <li>
          <t>The following references may be used in the future: <xref target="RFC8986">RFC9256</xref></t>
        </li>
        <li>
          <t>SRH compression</t>
        </li>
        <li>
          <t>Spoofing</t>
        </li>
        <li>
          <t>Path enumeration</t>
        </li>
        <li>
          <t>Infrastructure and topology exposure: this seems like a non-issue from a WAN perspective. Needs more thought - could be problematic in a host to host scenario involving a WAN and/or a data center fabric.</t>
        </li>
        <li>
          <t>Terms that may be used in a future version: Locator Block, FRR, uSID</t>
        </li>
        <li>
          <t>L4 checksum: [RFC8200] specifies that when the Routing header is present the L4 checksum is computed by the originating node based on the IPv6 address of the last element of the Routing header.  When compressed segment lists <xref target="I-D.ietf-spring-srv6-srh-compression"/> are used, the last element of the Routing header may be different than the Destination Address as received by the final destination. Furthermore, compressed segment lists can be used in the Destination Address without the presence of a Routing header, and in this case the IPv6 Destination address can be modified along the path. As a result, some existing middleboxes which verify the L4 checksum might miscalculate the checksum. This issue is currently under discusison in the SPRING WG.</t>
        </li>
        <li>
          <t>Segment Routing Header figure: the SRv6 Segment Routing Header (SRH) is defined in <xref target="RFC8754"/>.</t>
        </li>
      </ul>
      <artwork><![CDATA[
     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | Next Header   |  Hdr Ext Len  | Routing Type  | Segments Left |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  Last Entry   |     Flags     |              Tag              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    |            Segment List[0] (128 bits IPv6 address)            |
    |                                                               |
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    |                                                               |
                                  ...
    |                                                               |
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    |            Segment List[n] (128 bits IPv6 address)            |
    |                                                               |
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
    </section>
    <section anchor="security-considerations-1">
      <name>Security Considerations</name>
      <t>The security considerations of SRv6 are presented throughout this document.</t>
    </section>
    <section anchor="iana-considerations-1">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8402">
          <front>
            <title>Segment Routing Architecture</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi"/>
            <author fullname="L. Ginsberg" initials="L." surname="Ginsberg"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
            <author fullname="R. Shakir" initials="R." surname="Shakir"/>
            <date month="July" year="2018"/>
            <abstract>
              <t>Segment Routing (SR) leverages the source routing paradigm. A node steers a packet through an ordered list of instructions, called "segments". A segment can represent any instruction, topological or service based. A segment can have a semantic local to an SR node or global within an SR domain. SR provides a mechanism that allows a flow to be restricted to a specific topological path, while maintaining per-flow state only at the ingress node(s) to the SR domain.</t>
              <t>SR can be directly applied to the MPLS architecture with no change to the forwarding plane. A segment is encoded as an MPLS label. An ordered list of segments is encoded as a stack of labels. The segment to process is on the top of the stack. Upon completion of a segment, the related label is popped from the stack.</t>
              <t>SR can be applied to the IPv6 architecture, with a new type of routing header. A segment is encoded as an IPv6 address. An ordered list of segments is encoded as an ordered list of IPv6 addresses in the routing header. The active segment is indicated by the Destination Address (DA) of the packet. The next active segment is indicated by a pointer in the new routing header.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8402"/>
          <seriesInfo name="DOI" value="10.17487/RFC8402"/>
        </reference>
        <reference anchor="RFC8754">
          <front>
            <title>IPv6 Segment Routing Header (SRH)</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="D. Dukes" initials="D." role="editor" surname="Dukes"/>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="J. Leddy" initials="J." surname="Leddy"/>
            <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <date month="March" year="2020"/>
            <abstract>
              <t>Segment Routing can be applied to the IPv6 data plane using a new type of Routing Extension Header called the Segment Routing Header (SRH). This document describes the SRH and how it is used by nodes that are Segment Routing (SR) capable.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8754"/>
          <seriesInfo name="DOI" value="10.17487/RFC8754"/>
        </reference>
        <reference anchor="RFC8986">
          <front>
            <title>Segment Routing over IPv6 (SRv6) Network Programming</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="P. Camarillo" initials="P." role="editor" surname="Camarillo"/>
            <author fullname="J. Leddy" initials="J." surname="Leddy"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
            <author fullname="Z. Li" initials="Z." surname="Li"/>
            <date month="February" year="2021"/>
            <abstract>
              <t>The Segment Routing over IPv6 (SRv6) Network Programming framework enables a network operator or an application to specify a packet processing program by encoding a sequence of instructions in the IPv6 packet header.</t>
              <t>Each instruction is implemented on one or several nodes in the network and identified by an SRv6 Segment Identifier in the packet.</t>
              <t>This document defines the SRv6 Network Programming concept and specifies the base set of SRv6 behaviors that enables the creation of interoperable overlays with underlay optimization.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8986"/>
          <seriesInfo name="DOI" value="10.17487/RFC8986"/>
        </reference>
        <reference anchor="RFC9020">
          <front>
            <title>YANG Data Model for Segment Routing</title>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
            <author fullname="Y. Qu" initials="Y." surname="Qu"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <author fullname="P. Sarkar" initials="P." surname="Sarkar"/>
            <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines three YANG data models. The first is for Segment Routing (SR) configuration and operation, which is to be augmented by different Segment Routing data planes. The next is a YANG data model that defines a collection of generic types and groupings for SR. The third module defines the configuration and operational states for the Segment Routing MPLS data plane.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9020"/>
          <seriesInfo name="DOI" value="10.17487/RFC9020"/>
        </reference>
        <reference anchor="RFC9256">
          <front>
            <title>Segment Routing Policy Architecture</title>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <author fullname="A. Bogdanov" initials="A." surname="Bogdanov"/>
            <author fullname="P. Mattes" initials="P." surname="Mattes"/>
            <date month="July" year="2022"/>
            <abstract>
              <t>Segment Routing (SR) allows a node to steer a packet flow along any path. Intermediate per-path states are eliminated thanks to source routing. SR Policy is an ordered list of segments (i.e., instructions) that represent a source-routed policy. Packet flows are steered into an SR Policy on a node where it is instantiated called a headend node. The packets steered into an SR Policy carry an ordered list of segments associated with that SR Policy.</t>
              <t>This document updates RFC 8402 as it details the concepts of SR Policy and steering into an SR Policy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9256"/>
          <seriesInfo name="DOI" value="10.17487/RFC9256"/>
        </reference>
        <reference anchor="RFC9491">
          <front>
            <title>Integration of the Network Service Header (NSH) and Segment Routing for Service Function Chaining (SFC)</title>
            <author fullname="J. Guichard" initials="J." role="editor" surname="Guichard"/>
            <author fullname="J. Tantsura" initials="J." role="editor" surname="Tantsura"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>This document describes the integration of the Network Service Header (NSH) and Segment Routing (SR), as well as encapsulation details, to efficiently support Service Function Chaining (SFC) while maintaining separation of the service and transport planes as originally intended by the SFC architecture.</t>
              <t>Combining these technologies allows SR to be used for steering packets between Service Function Forwarders (SFFs) along a given Service Function Path (SFP), whereas the NSH is responsible for maintaining the integrity of the service plane, the SFC instance context, and any associated metadata.</t>
              <t>This integration demonstrates that the NSH and SR can work cooperatively and provide a network operator with the flexibility to use whichever transport technology makes sense in specific areas of their network infrastructure while still maintaining an end-to-end service plane using the NSH.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9491"/>
          <seriesInfo name="DOI" value="10.17487/RFC9491"/>
        </reference>
        <reference anchor="RFC9524">
          <front>
            <title>Segment Routing Replication for Multipoint Service Delivery</title>
            <author fullname="D. Voyer" initials="D." role="editor" surname="Voyer"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="R. Parekh" initials="R." surname="Parekh"/>
            <author fullname="H. Bidgoli" initials="H." surname="Bidgoli"/>
            <author fullname="Z. Zhang" initials="Z." surname="Zhang"/>
            <date month="February" year="2024"/>
            <abstract>
              <t>This document describes the Segment Routing Replication segment for multipoint service delivery. A Replication segment allows a packet to be replicated from a replication node to downstream nodes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9524"/>
          <seriesInfo name="DOI" value="10.17487/RFC9524"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC3552">
          <front>
            <title>Guidelines for Writing RFC Text on Security Considerations</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="B. Korver" initials="B." surname="Korver"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>All RFCs are required to have a Security Considerations section. Historically, such sections have been relatively weak. This document provides guidelines to RFC authors on how to write a good Security Considerations section. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="72"/>
          <seriesInfo name="RFC" value="3552"/>
          <seriesInfo name="DOI" value="10.17487/RFC3552"/>
        </reference>
        <reference anchor="RFC8799">
          <front>
            <title>Limited Domains and Internet Protocols</title>
            <author fullname="B. Carpenter" initials="B." surname="Carpenter"/>
            <author fullname="B. Liu" initials="B." surname="Liu"/>
            <date month="July" year="2020"/>
            <abstract>
              <t>There is a noticeable trend towards network behaviors and semantics that are specific to a particular set of requirements applied within a limited region of the Internet. Policies, default parameters, the options supported, the style of network management, and security requirements may vary between such limited regions. This document reviews examples of such limited domains (also known as controlled environments), notes emerging solutions, and includes a related taxonomy. It then briefly discusses the standardization of protocols for limited domains. Finally, it shows the need for a precise definition of "limited domain membership" and for mechanisms to allow nodes to join a domain securely and to find other members, including boundary nodes.</t>
              <t>This document is the product of the research of the authors. It has been produced through discussions and consultation within the IETF but is not the product of IETF consensus.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8799"/>
          <seriesInfo name="DOI" value="10.17487/RFC8799"/>
        </reference>
        <reference anchor="RFC9055">
          <front>
            <title>Deterministic Networking (DetNet) Security Considerations</title>
            <author fullname="E. Grossman" initials="E." role="editor" surname="Grossman"/>
            <author fullname="T. Mizrahi" initials="T." surname="Mizrahi"/>
            <author fullname="A. Hacker" initials="A." surname="Hacker"/>
            <date month="June" year="2021"/>
            <abstract>
              <t>A DetNet (deterministic network) provides specific performance guarantees to its data flows, such as extremely low data loss rates and bounded latency (including bounded latency variation, i.e., "jitter"). As a result, securing a DetNet requires that in addition to the best practice security measures taken for any mission-critical network, additional security measures may be needed to secure the intended operation of these novel service properties.</t>
              <t>This document addresses DetNet-specific security considerations from the perspectives of both the DetNet system-level designer and component designer. System considerations include a taxonomy of relevant threats and attacks, and associations of threats versus use cases and service properties. Component-level considerations include ingress filtering and packet arrival-time violation detection.</t>
              <t>This document also addresses security considerations specific to the IP and MPLS data plane technologies, thereby complementing the Security Considerations sections of those documents.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9055"/>
          <seriesInfo name="DOI" value="10.17487/RFC9055"/>
        </reference>
        <reference anchor="RFC7384">
          <front>
            <title>Security Requirements of Time Protocols in Packet Switched Networks</title>
            <author fullname="T. Mizrahi" initials="T." surname="Mizrahi"/>
            <date month="October" year="2014"/>
            <abstract>
              <t>As time and frequency distribution protocols are becoming increasingly common and widely deployed, concern about their exposure to various security threats is increasing. This document defines a set of security requirements for time protocols, focusing on the Precision Time Protocol (PTP) and the Network Time Protocol (NTP). This document also discusses the security impacts of time protocol practices, the performance implications of external security practices on time protocols, and the dependencies between other security services and time synchronization.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7384"/>
          <seriesInfo name="DOI" value="10.17487/RFC7384"/>
        </reference>
        <reference anchor="RFC9416">
          <front>
            <title>Security Considerations for Transient Numeric Identifiers Employed in Network Protocols</title>
            <author fullname="F. Gont" initials="F." surname="Gont"/>
            <author fullname="I. Arce" initials="I." surname="Arce"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>Poor selection of transient numerical identifiers in protocols such as the TCP/IP suite has historically led to a number of attacks on implementations, ranging from Denial of Service (DoS) or data injection to information leakages that can be exploited by pervasive monitoring. Due diligence in the specification of transient numeric identifiers is required even when cryptographic techniques are employed, since these techniques might not mitigate all the associated issues. This document formally updates RFC 3552, incorporating requirements for transient numeric identifiers, to prevent flaws in future protocols and implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="72"/>
          <seriesInfo name="RFC" value="9416"/>
          <seriesInfo name="DOI" value="10.17487/RFC9416"/>
        </reference>
        <reference anchor="RFC7855">
          <front>
            <title>Source Packet Routing in Networking (SPRING) Problem Statement and Requirements</title>
            <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi"/>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
            <author fullname="M. Horneffer" initials="M." surname="Horneffer"/>
            <author fullname="R. Shakir" initials="R." surname="Shakir"/>
            <date month="May" year="2016"/>
            <abstract>
              <t>The ability for a node to specify a forwarding path, other than the normal shortest path, that a particular packet will traverse, benefits a number of network functions. Source-based routing mechanisms have previously been specified for network protocols but have not seen widespread adoption. In this context, the term "source" means "the point at which the explicit route is imposed"; therefore, it is not limited to the originator of the packet (i.e., the node imposing the explicit route may be the ingress node of an operator's network).</t>
              <t>This document outlines various use cases, with their requirements, that need to be taken into account by the Source Packet Routing in Networking (SPRING) architecture for unicast traffic. Multicast use cases and requirements are out of scope for this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7855"/>
          <seriesInfo name="DOI" value="10.17487/RFC7855"/>
        </reference>
        <reference anchor="RFC7872">
          <front>
            <title>Observations on the Dropping of Packets with IPv6 Extension Headers in the Real World</title>
            <author fullname="F. Gont" initials="F." surname="Gont"/>
            <author fullname="J. Linkova" initials="J." surname="Linkova"/>
            <author fullname="T. Chown" initials="T." surname="Chown"/>
            <author fullname="W. Liu" initials="W." surname="Liu"/>
            <date month="June" year="2016"/>
            <abstract>
              <t>This document presents real-world data regarding the extent to which packets with IPv6 Extension Headers (EHs) are dropped in the Internet (as originally measured in August 2014 and later in June 2015, with similar results) and where in the network such dropping occurs. The aforementioned results serve as a problem statement that is expected to trigger operational advice on the filtering of IPv6 packets carrying IPv6 EHs so that the situation improves over time. This document also explains how the results were obtained, such that the corresponding measurements can be reproduced by other members of the community and repeated over time to observe changes in the handling of packets with IPv6 EHs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7872"/>
          <seriesInfo name="DOI" value="10.17487/RFC7872"/>
        </reference>
        <reference anchor="RFC9098">
          <front>
            <title>Operational Implications of IPv6 Packets with Extension Headers</title>
            <author fullname="F. Gont" initials="F." surname="Gont"/>
            <author fullname="N. Hilliard" initials="N." surname="Hilliard"/>
            <author fullname="G. Doering" initials="G." surname="Doering"/>
            <author fullname="W. Kumari" initials="W." surname="Kumari"/>
            <author fullname="G. Huston" initials="G." surname="Huston"/>
            <author fullname="W. Liu" initials="W." surname="Liu"/>
            <date month="September" year="2021"/>
            <abstract>
              <t>This document summarizes the operational implications of IPv6 extension headers specified in the IPv6 protocol specification (RFC 8200) and attempts to analyze reasons why packets with IPv6 extension headers are often dropped in the public Internet.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9098"/>
          <seriesInfo name="DOI" value="10.17487/RFC9098"/>
        </reference>
        <reference anchor="RFC5095">
          <front>
            <title>Deprecation of Type 0 Routing Headers in IPv6</title>
            <author fullname="J. Abley" initials="J." surname="Abley"/>
            <author fullname="P. Savola" initials="P." surname="Savola"/>
            <author fullname="G. Neville-Neil" initials="G." surname="Neville-Neil"/>
            <date month="December" year="2007"/>
            <abstract>
              <t>The functionality provided by IPv6's Type 0 Routing Header can be exploited in order to achieve traffic amplification over a remote path for the purposes of generating denial-of-service traffic. This document updates the IPv6 specification to deprecate the use of IPv6 Type 0 Routing Headers, in light of this security concern. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5095"/>
          <seriesInfo name="DOI" value="10.17487/RFC5095"/>
        </reference>
        <reference anchor="RFC9288">
          <front>
            <title>Recommendations on the Filtering of IPv6 Packets Containing IPv6 Extension Headers at Transit Routers</title>
            <author fullname="F. Gont" initials="F." surname="Gont"/>
            <author fullname="W. Liu" initials="W." surname="Liu"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document analyzes the security implications of IPv6 Extension Headers and associated IPv6 options. Additionally, it discusses the operational and interoperability implications of discarding packets based on the IPv6 Extension Headers and IPv6 options they contain. Finally, it provides advice on the filtering of such IPv6 packets at transit routers for traffic not directed to them, for those cases where such filtering is deemed as necessary.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9288"/>
          <seriesInfo name="DOI" value="10.17487/RFC9288"/>
        </reference>
        <reference anchor="RFC9099">
          <front>
            <title>Operational Security Considerations for IPv6 Networks</title>
            <author fullname="É. Vyncke" surname="É. Vyncke"/>
            <author fullname="K. Chittimaneni" initials="K." surname="Chittimaneni"/>
            <author fullname="M. Kaeo" initials="M." surname="Kaeo"/>
            <author fullname="E. Rey" initials="E." surname="Rey"/>
            <date month="August" year="2021"/>
            <abstract>
              <t>Knowledge and experience on how to operate IPv4 networks securely is available, whether the operator is an Internet Service Provider (ISP) or an enterprise internal network. However, IPv6 presents some new security challenges. RFC 4942 describes security issues in the protocol, but network managers also need a more practical, operations-minded document to enumerate advantages and/or disadvantages of certain choices.</t>
              <t>This document analyzes the operational security issues associated with several types of networks and proposes technical and procedural mitigation techniques. This document is only applicable to managed networks, such as enterprise networks, service provider networks, or managed residential networks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9099"/>
          <seriesInfo name="DOI" value="10.17487/RFC9099"/>
        </reference>
        <reference anchor="I-D.ietf-spring-srv6-srh-compression">
          <front>
            <title>Compressed SRv6 Segment List Encoding</title>
            <author fullname="Weiqiang Cheng" initials="W." surname="Cheng">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Zhenbin Li" initials="Z." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Bruno Decraene" initials="B." surname="Decraene">
              <organization>Orange</organization>
            </author>
            <author fullname="Francois Clad" initials="F." surname="Clad">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <date day="16" month="May" year="2024"/>
            <abstract>
              <t>   Segment Routing over IPv6 (SRv6) is the instantiation of Segment
   Routing (SR) on the IPv6 dataplane.  This document specifies new
   flavors for the SR segment endpoint behaviors defined in RFC 8986,
   which enable the compression of an SRv6 SID list.  Such compression
   significantly reduces the size of the SRv6 encapsulation needed to
   steer packets over long segment lists.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spring-srv6-srh-compression-17"/>
        </reference>
        <reference anchor="IANAIPv6SPAR" target="https://www.iana.org/assignments/iana-ipv6-special-registry/iana-ipv6-special-registry.xhtml">
          <front>
            <title>IANA IPv6 Special-Purpose Address Registry</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="STRIDE" target="https://msdn.microsoft.com/en-us/library/ee823878(v=cs.20).aspx">
          <front>
            <title>The STRIDE Threat Model</title>
            <author>
              <organization/>
            </author>
            <date year="2018"/>
          </front>
        </reference>
        <reference anchor="ANSI-Sec" target="https://www.ieee802.org/1/ecsg-linksec/meetings/July03/3m150075.pdf">
          <front>
            <title>Operations, Administration, Maintenance, and Provisioning Security Requirements for the Public Telecommunications Network: A Baseline of Security Requirements for the Management Plane</title>
            <author>
              <organization/>
            </author>
            <date year="2003"/>
          </front>
        </reference>
        <reference anchor="CanSecWest2007" target="https://airbus-seclab.github.io/ipv6/IPv6_RH_security-csw07.pdf">
          <front>
            <title>IPv6 Routing Header Security</title>
            <author>
              <organization/>
            </author>
            <date year="2007"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 433?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to acknowledge the contributions from Andrew Alston, Dale Carder, Bruno Decraene, Joel Halpern, Alvaro Retana, and Eric Vyncke.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+V923IbR5LoO76iDhVxDrkLgKIuFsUz4zVMSiY3SIlL0vZM
aLSOBlAAetjohvsCCiPrfMv5lv2yzWtdugFJszMPs7F0hAX0pSorK++ZlRgM
Br06rTN7YvZub9bfmFs7acq03pjTIq/SqS2TOoVPe71kPC7t+ouPTZLazoty
c2KqetpbpSfmXV1M+qYqyrq0swo+bZb44X2vNy0mebKEqadlMqsH4+lyPqkH
1apM8/mgKtffDCqZZvD4Sa9qxsu0qmCaerOCly5e3b025pFJsqoAsNJ8alcW
/pfXe32zZ6dpXZRpkuGXi9H38E9Rwqebu9d7vbxZjm150psCsCe9CQBu86qp
TkxdNrYHi3zaS0qbwKg3RVMDNHu9h6K8n5dFs0IMFE05seY6mdzb2sgjJs3N
G1vjc/TCvd3A5+lJzwzMRV7bMrf14AwX2lvbvIF5jfmrBjSG1733M18xP+Db
eH2ZpBlcZ8R9l9p6NixKeiMpJwu4s6jrVXVyeIgP4qV0bYf62CFeOByXxUNl
D3mIQ3x1ntaLZgwvj5symWdpcfjFXcLXMkBpVQdz6utDHnD4NQN9+Ynhol5m
e71e0tSLokQkw9wGUAab+GZovpdJ6SLT2Jt0ch9fh8WfmFe5LecbcztJbT6x
lWKcHrCMWF3Bd7OifEjKKQCzypLcDmFHo4nvhuYq/UuZLNJg3rski67SrOdN
8mDTcJI6yYZLfmy4Wky/m+Pl4aRYtme4K/J5OHya5P4aDX66SPPE/Jin9HYw
BTxVP/9ugrcbujuc5NHwl8OrIXI0cGqZVMEsl01amc49mu3OZnZWwHBJOFcG
LyzTeWNxDfLOEnYuy4rvavcGrS+C4PXQ/ADPB1O/Bs5J8mnhr9O0txff6F5V
4cSzOTz2XZV+k8tNnqOXF+USZNSa+O7m9emTo6OX8vH42eMn+vHF82dbrr48
/kY+vnz85LF+fPLcXX328kg/Pn8CI/TSfNaa8Onz536Wly/deM+fy8cXT4+f
ufGOdOgXx/6B4xdP3Gsvj+Xj88cvnzuIjo/9AzTFxeCMOD1monIxAKysSkvi
lJ4bvRldXK+/ub0e3ZwQPuuknFtgZOXjh4eHIdBawjIDXpznS5C11SFeHKQr
HHdlJyBxB6Wdp1Vdbj5za/gBGZgnEvWDIBiEwdzKw9dNuSoqa0bTKYJqbuRl
lDO3dzcXZ69OwhHuFlYuw0cQ37W5KqY227qaZTXNgd8mZVEVsxpp5NDmg6Y6
zNJxmQDo1h4/eXr84nh//ftJNXzy+GCYVKsPNBZpDfPk8dExfB29ub0YgDaM
INl7u1KN2Afol2mOcNOFvrlKUlAHQNMT2zdA2ea6LNYpbgQKdadYb+yvTVpa
wrEBYjI1LO+6GWfphHgOQF4iF/M0ygsnZmS+Tyqbpbk1xewLw13B/szpmrlG
iba3e+ctIOTxE9r8o0M7qeYDmOIexPHh0lpUV9XhvzbZ5vHTw6fLo+ePH794
PlxNZxG+Hj+Fr6dJDjD9DDoCLryIsEZ7r8rv3CZgVTj4twKWpOW4qVAnZMk4
0C9IcYc42i835784E2JSPTx+0QXqRa83GAxMMsYdmtS9Htk3IO4SsAaS2QzQ
bfM5oNMiA/XhyyRZVU1GeKf9q2q+Z5Z2skhgq5cG1pClf8FrtKiECRjUS12Y
FE2UdLYxlZ3zdoCiTwxw42BqZzDR1KwK2OUNyPoFwAFWUkNbNE2rSUOj6JrM
JLK+cCCCXmVfH65MsgY1Fu33qqhxbtBINTFIRfDzHeDocWbNMq3TOa9taUG3
TqshMZaHogAA8gI+ELAwwgbme/AwrcoCLL4iq9Dgsh9gxoqAg6XbD8AHCIx7
ZsjYX6bTaWZ7vUdoKpXFtJkgBLAXjCJHFfu3NwfmnUjn9wGaQQkSpmFbAZVI
y7yFFVtWpby/RIEACwbZkNk14G1uK/duA8ZjmSWbHiJFL7oFmAVT5CTJMstI
a0MnNAtAnh/gclFGAq5xOFKCRUaveTOCbq2SeoGsuiLrrzLjjUmXsB+yLLAh
bQkTZoA6eKxHj09tDdqu4pWAqYoInSCFAeC1sclkYRbFCkzjQnaeQbE8G9hH
dpI0IFmV1mew9gTXAovbmHHRIFkU9CZhQfeLBdZY3gag8YkSpA1KM/ye9JAW
BFVwE0BD8HYR7MMiBVCXDSxtbJGqAEKgGuWXKVI0IQChKUioIsVFVM7sQ0Ag
ARNH4nRAy0kO1t2wR/oEGBkXh57I0oEONkOOi4OR6xRIASUmDs14nc3spGb0
7YAf1gbKHsTJPxl+cZncwzABcoAWZJVEj4gdNOPxtpLNKyUxEkxGyGgIIwaQ
7oIgmAYRrTKCMPdOzIP3iBQZ/J1YOe+HEdw0alXTeE2l8gJHBcp3ZIDcRczV
V8EBnlxRWhn7Pi8e8s9BSoO8E/PkPQGcrFYg62jnYIsJlgTowmaZA/DnRZoJ
qTYo/R5oc1YrmxBZAOEARnF3W8K2T4DLV1MBf5FQ8KwyTWGHS6B6pHknj0HC
T1cF6GgQTryuUTwBaV2gWB0ZxiRrKsUxkQccZYJMn6Uf+sCL8LjI/dSWjD0Q
Ts0YngSaqe67U9F6FST/LkiXi7MDnBNctnubwz4DDhKTFWAJFDg0MjOJz86M
xQovMxe4h0CnkmB3q0VpL6M5zkT5iXvUF1oG8wW+AQwFCCMmoGTl2C/N9dvU
rtMJq71VAiw2SVfIwUCbXgiCSk2RknDfyUpvoRnAwBlC8Gh4EP1AZIFcgFFt
vk7Lgg1TZuJlsjGLZG3NHLS2U5BVs1oVJWwh+CMPFdHJuEyncyR82MG0AiKf
enGgy3gAQEHdwz0APYZSNAwQbUtp22pSpmN4eZ2UadFUTvUquauyZqLIqgLJ
pqIVOH0J1F4WINUZlcm6SElOirK2tAAZd4ha9HZSrER0ADBnAgzChuoHF022
CUZQgBuR30hIg1WJEhjNQ8fFCbJSRWuBDcJddOPaGTxZqwD0avnE/O9fm6L+
v239OMLQQw1zgHDmJ4I3USa5N9kN+Ix67bwOLtruiQtQ9bxd+4jyA7WW0fSe
l8kSDPR5e0T09PyIfxy9+cGcoXFBPgWhqDVLZwDwD3eDdE0m3mdRgl5lgBJw
GuYsS1Xo6ypubYn06RD05hbsD6Sm9qQMNT/8WgXA6QKUIBtXr087iEV/dvcq
bixJbxoHB79qsjol4enmOQPFDOjfyMC9n1nPM3eq/UGmlwHzGx5FbrNZsWKS
y6d9pLuqmSxEno+LtTdHK+CB+aImg3RC2wwsHZigdrnKig2rQ7Ubphav4dvE
K6dFvkY5SfockHaGdm1K3+H2o9hzukzyeQNWI7PSvd0YDPJVZu/qx9s7DDXi
v+bNW/p88+rffry4eXWGn2/PR5eX7kNPnrg9f/vj5Zn/5N88fXt19erNGb8M
V010qbd3NfrjHkv1vbfXdxdv34wu93CRdSR9UMOyikSfswTBgvydVD0VS4SY
70+v/+P/Hz0zHz/+L4mMfPokX46PXjyDLw8Lm4sOyUFZ8lfYDbCVWQ8jegHx
IJhTsCEr3rMFmgNoIwCe/+kdYub9ifndeLI6evatXMAFRxcVZ9FFwln3Sudl
RuKWS1umcdiMrrcwHcM7+mP0XfEeXPzdv5DjPTg6/pdve0Q9d7YE6VJkxXwD
ro45vxqdmrvLn07MeVItAP1XIFyBnsyoAXQCFQoznYKUMXdoKF6C9wla56ck
a6yXlDgWGAInjsUvvIXgBDE9dHN+skuSxqMBa3Sf9JIzGPVRFF8xHx+x6vkk
ug9UB5sf4srZKtBPoQuWkqU87ZAte5z8IBo6CRlW8JDHpZmVxZINU4mtx+O/
k4jb+76ak0SRaFCDWTqxK4yC4BDvJAgHD76TIByZyyKBj755PwSJwN5Waefi
txE3DaYF+Q9qpJWhk4qcB99RVFekjDnmEq6y12PYweBZg5eNbgB+OemdmFHO
U5D7WNfoGZaMJoK/Bq/UGScpebDuqYdFgZfIggO0ocmiss8wwEMTO0TJtsnE
JlsA1pIJ2stkeICcnVoFxA1IqZVgToqL+DHJYx2DrrJgroLGokGqzihD2ErG
kKyQ5X0GIAEgS5vkYtKRFlA4JzATGqjo86Lpgnu6A0zCBe5JXYJBWKqDDfdB
seIK8S2WcjgqDfnXjwWf3GB+Ux3AIBrFoyoEwaThStKKulsxXnq9t/mAkIhk
8nY2oy9gdp0YveFGp5F0HziuVFSkzMSnZYOX9ga5gCKSwDJEDWxblGYKDvFK
TeF8MMtIxUp8ImKoNK/Qc4bX9uc2F1fvIIhmeHgDGBG7pEf4EkU83EDBu217
dZbO0a0H/Z1O6iqmA3SqiVQL5lCJXtTJhyIvlhs2G4ZmBDBnWUPRWJU8VgbG
nfkcOn00RUM2NIMECZ1EY1OGRmi5ybRwjOOg9uQV92E1GShl2YQNor8E+wS8
Fo0HIYwlEH9a70QmjxXsEDlhIu4S9JnxqRVG7cG02ggMFKIKQgyykj4ZW7i7
S7TmyLshACT7ivvy//wfu2WKOf1rfS8U7ugbv2qVReTPyY1tX/VhftXtvvy1
vsdf9Zv4keY30/1z13775ZfoevwS8Cb98UO/8b+/HMLNP+1+SQTHITz0yyFd
w3/Nmj642dZbwftT69ofosvmD/rSOnzpcMs1eqtnBvj37R8G7u/bt4P4ml6Q
D9/22qPA37//qX1BZ/73bY//huv85fBPtFb8BxAH/yAytj+u8OIj4YXPP965
sO1x3cEtF25vtjyvUl3+NEREn+nOlndIcWz/w1sRE308MWJFDUTKUVLk93uR
pXUn0mzvE9oObA00JUaw2tZVqKo4UC9RDgztJuWGxdWUwwtNWi1s5TmNlKhj
S40roOys2HDw4UWyCE86AuH7Dc6agPzoIyASoamcNYKFFhXKVFX95k7EKDkF
Y4ooztKsptC36HxZjiwhtRyxQhUh8daxBVG1wiyOBp3gbbA/OUqdVvck6ZLl
itM1XtniODFEKMkxCl/WCdqj5hZFoh+6HWrFARAdz54eH7H52I1tSqxscHV9
ecveOUW1Qsy5TfUmXrjHzq1LSdOAOIev09iTZuc2MPxA2C/TYGHvJAH9nqNZ
jGQyX3ZguY+m65KeaCOJRgDqX1GcnONZaLw38JLtWD5qE2NQ2OucmA46lqmY
CGgY5A441bVpvi7u1epzC3Zh3WAvNRZtKbPTgm2LZb0N7aD3XjtbhGLyq7RM
6XHHCv3tG4apiClxQBJg3OcLaUEWdyqnp4J4XosbHTYlO6iRQd5mfrPy0T+1
kCoTefxxlAB2LjA8BWn76dAO+13PoDpAx6VG777Jpj5tw3siRkcojRgmFjXs
GKov4McGbthCL1zQVeHmPywsx4gDT6ftm0zKzarGeN5qwQQkeaCp2bc53ZTs
kne17fRgB+npShiLlQ3WUkpucduS2p7YGPP0oWwdUziacqCLTUWRfl4DsRlg
AcQTyAt4bJU187k4mwUNzOExClxHaQYOT0tWoQUAImnWZFmEqczOwSdYYuRY
x2Dfx6eLQ2AEe7jOe7uBxTBlufxbZRx+2XVX+mdt5DPGXt14f5CQi14hW/C4
MC8w1HrGOfKCJR4DAvY8eF9KFrHCQ37fSQuwLoBFpVRo/yqnuKRqi2VwxSAd
NLwhnqfG4Ke4Z9G07LOSvzRrSoIzSs99/LhYJpNPnygKebFcUfXB29zB4/QP
jIASlpGjvJUANQEBUfopzu2nNBQ+TB4sPz+U3Br7f1oAUgF/iaPHeV7xOdZp
AhgYpzXWwpC7g/o/lMaS7YQlUypYX0S3iz1i2x5geyiChBiOQ5BF5ItJI1ui
8kFap5JNTx6VutFA+kDKcRYF822yjw8qpZZwDcigyWc24VIHRAK69/mAFhPk
jsTzjGwqVJ1a7PPeTDJ0pmap9fmctu+Zlp096bMths9U6QcjtbJoyZjXyG+4
XU7g+LvgbmN6ys4AfqEgg7Je7QuXCeMtZvxgZYX5MecCyfQvQHIjkgAngVYl
DIH+BjuN/MwmfFwEBsfXAYEAXGrXTOciwsLd0noKSaAXZpKWoF8wtB6lhLEM
Am0XytnjzBQi0wc00za2OH6Tq/FksZ5uEqTBqUQm9WEkzplxEQKRssuqS7Sz
MvuVtZp9Pn5/QFGrMWK0RI5GiaxEvCiLZr5QsiUBxPcGXnk7ADR2IyBOh4D3
q6T6tQF0TO2Jy/tF4kWWjlpmVRQz4sESM8H8GiG3DMpyUilHcWS+b4fzYT9Y
ztCcFw+4B32hH51P4RPbfaKE0nd2qg9QtGJQVZRG9HbQwNxuwGxbGk5KwX6c
hGwpCeEcrZ50haVS1odNXMURp+HZlhLbk5GMEq1qxn9moxKX00iGvVimrjYh
1aldhQSBBJzEsnZZlLbfpnU3ithYWpbDFUMA2qEIxqWvjPPVRJibTSQSiaEx
4mlnDDJGHFiIpdOwRi9EVsio26Xo2NUJkW0VEuSWIKiwlabnccRZMkG5gLjn
SGNEfx4RXWQCJCWVegw9yJRSE8UXPtL3xS0p2gqIMdZuC5AbKBaSDQU9KWdd
KWmyPuuExyJ0eZjS6usJ87TIZ1z3kGRMlyQidgzddyjvIhsex7VIzRRvk9Nt
HMIWvGcsFMMtAXWbojSyyRq0vcZTYV8d5tR+IMTwAFx4E1hbXTSy5/d12PAC
AaCwVQiFtx2JGqisJrQP4tAqyHJc5ATllZQ1OwsMo+caDAkqb+CyCkjeZTdf
scIEDl3nCj0VS6ToYREgjYs8T9KqwqIy2NIzm6MKpWpWyimfMHxrPM0gyi+w
kNgTJkPWSsaYn4lMS1hUrLFIIzFvo2HQkTdiirhCN7cieJheSHj7OtCa/bPi
9gBr51sjRguIhJijjUDlqqlGQdmVFEQNuBBnGkiOQ6VfNYyQUvuixdhO3vKe
10e4sHnCnkawZG9UBkYXQ9vWrIQOZ/Fy7gzWP8rIBaopBN2PbAe2MWS1KrDR
9/BpifHGYTiQknsYppjYPY8VAIvMB3HHAG0EdAsZGLfAdcwL3ir7YaGDe7UE
OKHq0UoVwxj+fUin8C4vOK5lfi8GpVhork4D7XOp+OOVoQP98aOI40+fwrpe
5QUnS6MqP6/Umae2FO12Q1PgZgS3xdsYiS74+EjBoGQ1XzYjqYXmEgg5leR0
uZY9B5hS1SJkG2oCdGSZjDiCJPuBwRw0eFDsj8Een0iMkPIL6ENW3etmPwkA
4xQr+lYUk6lO0N695hSHJDhgxpOOQwzG+rRyNFTMYl8WV/C3CDtn3rTknRZz
h2PiXBiJQJRRHhwImsN3orFbHnE1pBXSbnCOiBYo5a+UM3K2TiC+UZ6WFEXx
KNflE7Sc2+HY0RLDgAmd4kL3BReKSgaYKpjcJeti7EoGUJCQ5n8miZyoVScZ
OUEMBwr0FRVEpGTRWUsQnWA1Z+hTJ7OasaNSfQammA1xuStywQ/68nsNuw5K
m0kC0I0RLJBycrQ+Sk1qrlQKtku7LNahIHK1CLK2WLiBZ7KWekQb2Hj0EuWY
RR+kKCwxQMLQgPpAKkRqpglZUOnbgCcfo6IUX19sSNrfClUbyIFkifoNdHxu
SjxEtVQ8ZyA6ggWHGeCTmHz4lvUsM23I/9GcZKvow9c7dsIpro5j9UWJEiWZ
dSCRIyxUmENIXw9JdgETXoV5bJFlHx+FayMx98i8XaNqtg+9UbBP5LBwEtbR
7AOVHqcSbNY1M8s9JC6Lgg4kprOpYLwKXJn/UznhsHFVLR5GnDKoMg+23xUX
i8Il50/K6gM35fbmvFM2QVXb0TTIVGBisyknzKv1Cud9T896oZBd31CgIoiQ
AR1kXBZLQXQpTkUger0I+d0nVDeoXeACKFOObxLFYrGI6jSVea24rKdNyXyz
RAB0kQ8dyLjbi7NKhY6W6KBeCBbceVyz75P2yukumQ2cXcCCI7yGUTEmRQe4
KvtoC1I618FQhgCEmL67/Ekx7GpAELM/L6xEzc65fp2qg4MXd9HO/tnoYCsB
BXQqQWVBUOAznI0+S6uOrA1KNwUYFLQGYRjgocGApopjDPU5qBOcwnmPpADJ
Bv8+ZUMX0OvzKh7PXxoL9k/LpxOjpxztNCIBsIm+5mAkGEtMuv6Sc5AwJDXB
BK+zPIO5HLWQoECBBvePnhwPximRjTq+TdXaRVhFgOeQPBfFKiyZEpHC4oyq
vVGWwY1ozwJGGduW/GyXulB+t2U4Sl3fJ/I7o3Sjj4OFOcfdKURaK6WonPfj
HR9nL7Ks2LYGwrjC3M1JCSI4iM4yf8AeyyeK5O5AjGxmK+iMSbm5bVH5thgV
nvsLAgZuT2GMv0fkCxbVlX2f2WJx0ULrU6cMjpyNLQZvizK0JtI8ojWV9i7Z
CaoO7esRhirEjFdPhYoc4EUuSTsxHY0aIwIIXNQXSbPgdBcfatgxcjvZKRSN
QiPKm/GX8YZKnYTQgM4yEufijqOT5hbCMW4fltbDY0iZTONIW9ekPcvW0nXJ
d37/NCfkFj3lpQXVWRx+iQbR1fmtDNxx3QMNI0cxellT5Uq2tBoNF5aJ4/RZ
15vEDcHnCtl2BB/bW9MNQ0YJWeF5F4bk45cc5YOd+tCSQH4Jq7YP1+eQEG2O
YgEwPEjzAUw/4LOj3l640BCZyqrPsE3asiqpMDEWjC6L6hOo3cq8QKALJ7JA
a4Xi1VIM1GwbsBRjMZlslbFJRYkdPyA7IHQiAQtuH7YHLHgpuoS+t2N9VLj6
/G7gCGsxFKMyR0xFsyb+GirgdFwik22DlaoqnHTyxEbQcKw6aTRe713JMUc5
iESRCdt45KB61djIAY0Ju6DyWPVxA7HJwbKU+TkvDBZ+wsrCt/suHLUbLrSK
nY/jjlQGJ1dX/vjRNtlZl+kc5w04z4UfnBiHjfqyJagyF+0SDRoH9lBXANGJ
ES6uCYX0NrVWlNEjHEpjmvAE6Y6puhUMUZ/4AOi29QP0O634aE7wAsBQkVyG
ZIrJYOK6GtQYXsFukWzKu9E4WZFMNcnsghavQ13jolkEpEMb+ldafe2cRBxY
6n88tWdFsTL7QfGQO7F74IFCOJj6Oengy5Dx9aE7BRYQU6gfW4XA8SZ2jryG
Sfcmzy2yK2bw9bioSx/laAxuZ2hzzUbaLJPYjIvmEMQaRgmHB6TVZSMz0HFN
st2X6Eo2NZbQ9N0ESmE0tM930UEMinpoxTNGQ3ZF47txgI7c31UyHcbOqsA+
UyrdFV8yWrU2wQNnG19V0vLtvWO/0+aRDAWFKblCqBOpRIrkGHGYhVHzNEgO
LhPJCiGD0SY03gQM7UiMEPqChnWTYeiOmJdKMUNPRBW2U7Jag/glI/6iW9jo
hKYv7nGFoTGLuUAbtqTIbHJfcWgfiyRSqZAsXW+tcF9YDNS+Pjb1IisJ2res
ratb6R7s8McaNIAcUQLl/AhgYAdlJwQlaGPA1LyTgBCRsKxAcnVBjqprQq+o
x8foOdsbBKEZVkVmtHGucKuVLZ7EOVbFVJAUTusdvtU8IdOhS7Cx+qWgAOxM
U+YR3ZPbTTUhUU6bI4ASy7zQ6HSLxzVMJotzbFwGMnufo9ZYFkhRqQgqjP4k
sRLi+J/UVwdquhX0ixUrle3AZHLEyiV+q00OF2pyCiQ7QXddrJ8oXKLiHNX3
GbyIAdtx+q0RgC4DupP4yqPkJfJZDQkzsnTlBGiUc+gLRGFc3J8dchark7Js
IKq4a6+GT8pQEoJUKm+KgseHvPIQTPymZ0zovA4F9HuB4KgkXySihW3B7YJE
S/rC801qF++qxo1YjQK9JKyCrKknPbLxO8pMyL5dorItS+zzDK263o8fg8jH
J2aLU6lxQVy3Gz5pIrDFKmdUeMsRUuX4oE7GH69WAyPxIHGw3EdDqeRhyyAU
60OUw5o6yfYd9lbHPiQPpbLOsN1lqIYZOn/kNJhnBOwN3kxJkZ+gyLCb0QxT
TUyYZHBFa1vyoV6sL9UkDrGsRH2D8lv/pOdySsNR4CM2Pnxp4RKN54BSpt16
JcIPFiwFqj7ZvshwRcuuv+Ixt60swlkIAZlGsug03vUYr18QSCh0/hyX28ZB
zM5xOHV1JWUWohXp3yNSJFJLILG4dvU0AVZ9Gb2rSSeLSSV+uAHCHlJf5xs8
bDdwQuPGHc+J4qvO5NNEPpUfqiXWqWHrEsOXhJc79q3m0bYmX26pLkDmzi8Q
77lsTwwQlTW24PHtv4Iape2vb11PJIDCen7Xkm0LiMA6QBHpVGWCe02j0GEq
OJTmMad9eXU7YrGAIo1eOemIgdVhxGNbIoit0jIfLI2CiMSeNTWPwUxffO+L
mqIdIowm5KKIyAQM2b0fWDKuvjlcE/dbQ3c6xIdzGL8EnBbqjjMAZ1FkPjfH
3T58bEFnRHmuYcRoFdtV0bZNVMHcrgsjA7lvJLGzxH660mcMkb9N/74l3Kii
/alVDcxKf1eNbtv4DXbBVQKLDUp1I3wAK1Karr5Y6ga7ZcDjpm4HDHbVBw75
IFxYWqwHuurPlGX22v3mOOpYs1bE7nGY7GJHeOb7v1HsN2wUhawdtKpTICmt
gcVClTc/RDriwQ+XUCEx5uQMImlpSzpiQzO3XFrfqAwbeLnSaj5x8cXWDo/M
le+keMWdFDExFZRitSonXNpS+i5q8DMigG0dn9g7B5WirEbdnGQ43k91HHQy
PT3mqjZU3rueHXFPx6rIGqlEK6PmjUDfr1VVida/OQ8v0Y77KsNso5pTVY0E
PkLjjRJr8cH6ZIohWUmeaJtMPmkgj3l/q6GSrPNAhwoStUJf85R6qJeOn/mu
DWG0UhtcVIXEGGQl7AzmWtmAqItiy8579KeS0Jlq6s7Y7QIHSoNE6j8yeaa2
FpPzDdZ6SCeXZ0/Nftzc5YBB1IvUSuYZ984K+FHbIBLFSV2uEwKYgA9T31+b
NO93kuaOvDTil+JJnMq6IoGL3B2uZU4K2n1gs6FdiXwWQQSwNuTQIhaPQt8/
ZmEjrIlEBKq0axBBQYgsJh0K6gSO+zjx42mEnYzqliYb26x4EFvC9TAm4ztg
kDuNAG6L22vRTOskdKvNSOz5qIRo2Xl8gEtf0/omjmlsmzoObeStQpGAAXxO
otMkJYjVUbebINsLqNxIym/HidhwoNzaKTE/x4Y5LSpdOcINiGQmswqd+J16
3hdryqOwc/CSozGXP4584SBA/8Y1LZNYFzLPD/4h9gfDBrRRQJ6OoQVp3Rwc
szTD6tYctIjN0SxgUqeAL/AX7uGYERaJAxLTQYUtNuvjdoaEZaC1V1GLYgCT
40GulteXLrSO47FCn2Gg27c5do9xP9xwbD2+53YtOF5o20DQ+XcY4xntR3jc
cNiF2EXnthM8jjC1USNm92AgyYNITqvkZMtpY06zJhS39T2dOwejGcVf0b1r
H3t9HYDOp1OePalDcYVweh6VU7XaF0wkCOs3d1of27WSZ0qPccMnbeZJZWNE
lzxi1UmVaeEIaMQsmVf+6yW2dnkFGn/DdWcuHEebIwEqIW8yqUs7qBYJQo2d
79I4luIbAHGmHvAX1gPWAj7g70dtl8TLadEgVY2oEItq8LZWeFZmn6xuX+P5
6aBlAndzh5WeZ/ICQWC7iwpfgmMl9Mzo6jQ4+O6bClDxudsg3BGYQvvDYZ3t
z0EhKSoy7/43efprY/lg9UMK7gwaKtq1cLzR7KU2T6WMgZzVdoKjCo53hO5V
WWvCr+FAAfUW8UwW7acQRgXGNW2vO/hZWtpmTDRrrZse/EiIFPfTfFKUWNpw
gNgp60lD5va9tdbllgDh4PEuu/O24GJPDGP8iLetjdCwIsOZFKwRXL0BTxWP
j+5rsqK8VhB6i7olcaxZItrKH3iDNlQLvKtupFqzdNvPTUljJgGqE7uPJpFG
vmB3Zxsf8uZpSHfvzJz5YB8Xr1q3Ak4IYaGMVC639L7rlIEPs7WVVCGogjdU
LHxIXdt9UgTslfpSr35t0hW3mAXheInZPt+S3hk75lT79oKZiWdg5DcrPn1C
6linaHqX9MMGFrtl6CxUi+bGaB9VR1deGphubdjOOkSWj04HB7woGQiup612
OCT7N+fPDnyndPK3QM9J+0EK4SdVgcko6n+PWe4cmzYkNRrrGNCV8ahrJsYA
HsBt7wPhEtliCEgPoUbdjHmlW1p4UZ2t4MkAEHM97CAHgz/Ug4XzBtTup2Lk
Z6yzrqhQalx8CHbkgtzGoMTYYTYulXCmnYtV9ikhvNVopfpJ7rmC7Qs0ngQI
y7a+ADMtADZLhx5aB8H1OLGKNUz1I/4ym5T554elaAEaWSgWknvbqvbDoQm9
oRspGqBzHr0FRkUWqRt4wnZTiL4qPo8d3QK12VBoAgkLSyLGVIwaV/xfv5LJ
gU+pdWVLG/sD9HGf8zC1SiCFZ0bIi6k2wGB1iZ3eeAAxXdMld8JXEnSeNUtu
d7o4LB+39Bkcg1xAb2Nu2ItTOK54JSiDEakWYVixNkgeELmztLQPGOwjFTlZ
WD3lVFXFJOXVct0cEN0iXTk0jlM530+20k/Xb/yydJ9GVNxAZpVkrEpEDx5F
ZNGTtwgs3ml//CdDe8qSPSX8MjTEWfjxd7yD/XCkb03doDoVWMPxrl8dISTX
r54gYL+Dr4OL68Ho7OymjxcHsJIBOOjfujPUkhF3q5XXnoSvHQWvka6PiEqs
6p1nUGTH6DGkWPoSYhQ3inukci2/Vy8zdITNKyzPaHwtMyhj7C8mbwt5jsGx
u/dmmW780P8wCxcGMfvImYEai4koMBzK6FwOD2LLF/01KHNXOCGKsGtVcOrl
X0SB6nYAOwYukVYjbiiqrb4wKZeonMcdNGXDvyxdlR7wpbQAV8v0Ei1T5g/3
WgghbNtQu50F0bECt0FOb8vCStqeMZZ0O4uy5c6xzCOsCY2StKYaLD0J5Cic
MbGNMthtcPa554muDnB02iK6nUOkXk7yz00B5I16Do40pZdqmc4JNsxdSTck
XxqGQo9/g4E7vogqsVJSOw2z3ZExGran2fJjIFatHs5ScR0y6FfflcTLmvBX
V2SxFInW4zJCJJ6d8ayQSC0xZPpBU36MROG57Aobh+b0U4dUQUJmeb8Lj8Yf
EjrXGnAmZqCwoZOYJWTJrwr6PQX9kQTXLIi/c3YHu/+43JpvGeq8x8/+Nk7g
1Y7cMqnrVnTumcvGvCEpboRWHLYtQeKarvnHp9808BLpYe4yQ40RLHd8xt9Y
e+9OsrPVu+O3LluWQvfXTritQBSKl7otLnhqJwzoB9C6c4Sd2hb0Gxn8pJyD
plfvilU64biLtD+JB2qlGjh0WvNLbPaLnPAHgPSg3ph7c0zthI9MBC23Ns4K
oiIdOonXbS/X7cBNPsqiyGh7EOaUnEkChEbUuak2Q11r75VThpN/rlHYO4xD
zBr0WE6C32BwPxDB/dDD0DRekQQZnYZFCsoBbEEb/nTnrEx8XSRxpxzpxtLC
oqK5asYuriJL0dKktlKUk9GW1D+P3mAknwIK+Pub5g3FNKkuHiPX6GwPhE/H
zl1OsByMEnIkvzACiv+6iCEWaWd8eJNmkELvRFqMINWBPZeMSzRtB9SNPvhh
lCjjx3gz1M0aTwFfym/AfI8KuW9e34AJ0YASgmEun7EJVjVLxvPxk8eP37vu
oGHgHnfkppXq8WcY8W4wmKYGmyAuE4p2iulF4fzwF39UjLIZJsJdrsUgDI3q
vB1Zha9Ndbj0Q/8rZ1a0ewFMh7PxwbNAv2q2ICGH2Kbr0CBqmaOtjkc719RK
8e6a0jU2X8RNtZLWSlyXaT57rFXztCFnu1MZcpy83U275dCQmHCZ2qU6rlbz
5RRc3HTIh0NWSzx/kU189Zfe1x4MxJYINLcppK5wU9edL60Kd5719vrm4s0P
5ucfqOfVdpXG/XpPvP3yWdWX7gjvbump/XhL4+CjLdeebLn2VIc4gttPzTPz
3HxjXphj8/KvuUaD/PPgb/yPRvktyrxRd+bzaYll1PgLF/g9SlXC91v9ecRL
O6ulifPfC5Yw9K2dol9jcNwY02klfZfM4wt/Z1j+pr/fuqPcBg7FOxDL+0dP
jsEPBkyG0vLgC6P8fWD5L4/yD4vd//Ion/8bDof/cBD/w+5BROH5/1gKj1qH
/3dwVPCnXjE0QS2oJvhzkZmdspTvfTzhg3t2+vs9atuzJzlTPu5cSSdXMq8x
UeJeDyr60rFUKZHNPcqBDB7MKKtqLNk7S8AbPsXgFNgu35cNgHdmJ2Vi8ecs
/7WwmTlPMrDQ4dFRtk7KwtzYOskTNnRegQVtftrk4DgOe/8JkO1riDaBAAA=

-->

</rfc>
