<?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.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-xu-intarea-challenge-icmpv6-02" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="challenge-icmpv6">Enhancing ICMPv6 Error Message Authentication Using Challenge-Confirm Mechanism</title>
    <seriesInfo name="Internet-Draft" value="draft-xu-intarea-challenge-icmpv6-02"/>
    <author fullname="Ke Xu">
      <organization>Tsinghua University &amp; Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>xuke@tsinghua.edu.cn</email>
      </address>
    </author>
    <author fullname="Xuewei Feng">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>fengxw06@126.com</email>
      </address>
    </author>
    <author fullname="Ao Wang">
      <organization>Southeast University</organization>
      <address>
        <postal>
          <city>Nanjing</city>
          <country>China</country>
        </postal>
        <email>wangao@seu.edu.cn</email>
      </address>
    </author>
    <date year="2025" month="November" day="03"/>
    <area>AREA</area>
    <workgroup>Internet Area Working Group</workgroup>
    <keyword>off-path attack</keyword>
    <keyword>redirect</keyword>
    <keyword>fragmentation</keyword>
    <abstract>
      <?line 98?>

<t>The Internet Control Message Protocol for IPv6 (ICMPv6) is essential for network diagnostics but is vulnerable to off-path spoofing attacks, especially when error messages relate to stateless transport protocols like UDP. An attacker can forge these messages to degrade performance or enable Man-in-the-Middle attacks.</t>
      <t>This document proposes a robust, stateless challenge-response mechanism to authenticate ICMPv6 error messages. Traditional stateful challenge mechanisms are vulnerable to state-exhaustion Denial-of-Service (DoS) attacks. To avoid this, the proposed solution is inspired by TCP SYN-Cookies, eliminating the need to store per-challenge state by using cryptographic computation. It limits state management to minimal flags on existing sockets or a bounded probabilistic data structure. This approach effectively authenticates ICMPv6 error messages while inherently resisting both off-path spoofing and state-exhaustion DoS attacks, thus improving the robustness of ICMPv6.</t>
    </abstract>
  </front>
  <middle>
    <?line 105?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Internet Control Message Protocol for IPv6 (ICMPv6) serves as the cornerstone of operational signaling in IPv6 networks. It performs critical functions such as Path MTU Discovery <xref target="RFC8201"/>, Neighbor Discovery <xref target="RFC4861"/>, and reporting errors encountered during packet processing <xref target="RFC4443"/>. However, the legitimate verification of ICMPv6 error messages is inherently vulnerable by design. To enable senders to correlate error reports with the original packets for effective network diagnostics, ICMPv6 error messages, as specified in <xref target="RFC4443"/>, MUST include the header information and a portion of the payload of the original message that triggered the error. When the original message originates from stateless protocols like UDP or ICMPv6, the embedded original message header lacks contextual information (e.g., sequence numbers, acknowledgement numbers, and ports in stateful protocols like TCP). This makes it difficult for the receiver to effectively verify the legitimacy of the error messages. Consequently, attackers can forge ICMPv6 error messages embedded with stateless protocol payloads to bypass the legitimate verification of the receiver, tricking the receiver into erroneously accepting and responding to the message, which can lead to malicious activities.</t>
      <t>For example, off-path attackers can forge ICMPv6 "Packet Too Big" messages, embedding stateless protocols like UDP or ICMP Echo Reply, to lower hosts' Path MTU to the IPv6 minimum of 1280 bytes <xref target="RFC8200"/>, disrupting network throughput and latency-sensitive applications like video conferencing. This manipulation also simplifies off-path TCP hijacking <xref target="Feng2021"/>. Additionally, attackers can exploit forged ICMPv6 Redirect messages to tamper with a victim's gateway, enabling Man-in-the-Middle (MitM) attacks. Even with WPA/WPA2/WPA3 security, attackers can impersonate legitimate APs, bypass encryption, and hijack traffic <xref target="Feng2023"/>. These diverse attack vectors starkly underscore the critical and urgent necessity for robust authentication mechanisms in ICMPv6 for error message processing.</t>
      <t>This document proposes a stateless challenge-confirm mechanism that authenticates these ICMPv6 error messages. The mechanism is designed to prove that the source of an error is on the path of the associated data flow, thwarting off-path attackers without introducing new Denial-of-Service vulnerabilities.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>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 <xref target="RFC2119"/>.  TCP terminology should be interpreted as described in <xref target="RFC9293"/>.</t>
    </section>
    <section anchor="problem-statement">
      <name>Problem Statement</name>
      <t>Current ICMPv6 specifications have inherent limitations that allow off-path attackers to forge ICMPv6 error messages, undermining network security and reliability. The primary issues are:</t>
      <section anchor="source-based-blocking-ineffectiveness">
        <name>Source-Based Blocking Ineffectiveness</name>
        <t>Certain ICMPv6 error messages, such as Packet Too Big messages, can originate from any intermediate router along the packet's path. This ubiquity makes source-based blocking ineffective, as legitimate messages can come from multiple sources.</t>
      </section>
      <section anchor="authentication-evasion-based-on-embedded-packet-state">
        <name>Authentication Evasion based on Embedded Packet State</name>
        <t>Although <xref target="RFC4443"/> stipulates that "Every ICMPv6 error message (type &lt; 128) MUST include as much of the IPv6 offending (invoking) packet (the packet that caused the error) as possible without making the error message packet exceed the minimum IPv6 MTU", the inherent characteristics of the embedded packet protocol directly influence the difficulty of authenticating ICMPv6 error messages and their overall security strength.</t>
        <section anchor="stateful-embedded-packets-eg-tcp">
          <name>Stateful Embedded Packets (e.g., TCP)</name>
          <t>When attackers embed stateful protocol packets, such as TCP segments, in forged ICMPv6 error messages, receivers can theoretically utilize the inherent state information of the TCP protocol for a certain degree of verification. The TCP protocol establishes and maintains state between communicating parties through sequence numbers, acknowledgment numbers, and ports. These connection-based TCP state information are difficult for attackers to accurately guess. Receivers can attempt to verify whether these connection-specific secret information in the embedded TCP header matches their maintained TCP connection state, thereby judging the authenticity of the ICMPv6 error message <xref target="RFC5927"/>.</t>
        </section>
        <section anchor="stateless-embedded-packets-eg-udp-icmpv6">
          <name>Stateless Embedded Packets (e.g., UDP, ICMPv6)</name>
          <t>In contrast to stateful TCP, when attackers embed stateless protocol packets, such as UDP or ICMPv6 messages, in forged ICMPv6 error messages, receivers lose the ability to perform effective state verification. UDP and ICMPv6 protocols are inherently designed as stateless protocols, where the source does not maintain any session state information. The UDP or ICMPv6 messages embedded in ICMPv6 error messages contain almost no state information that can be used for context verification. In addition to performing some basic protocol format checks, receivers have virtually no way to determine the authenticity of ICMPv6 error messages based on the embedded stateless packet header. This lack of state verification greatly reduces the authentication strength of ICMPv6 error messages, making it easier for attackers to implement authentication evasion and use forged error messages for malicious attacks.</t>
        </section>
      </section>
    </section>
    <section anchor="stateless-challenge-confirm-mechanism">
      <name>Stateless Challenge-Confirm Mechanism</name>
      <t>A simple stateful challenge-response mechanism, where a host stores a nonce while waiting for a confirmation, would introduce a critical state-exhaustion Denial-of-Service (DoS) vulnerability. An attacker could flood a target with forged error messages, forcing it to allocate state for each one. To solve this, the mechanism proposed here is stateless and inspired by TCP SYN-Cookies <xref target="RFC4987"/>, where state is not stored but is instead encoded cryptographically and later re-computed for validation.</t>
      <section anchor="core-principle-eliminating-state-with-cryptographic-computation">
        <name>Core Principle: Eliminating State with Cryptographic Computation</name>
        <t>Instead of generating and storing a random nonce, the host computes a deterministic nonce on demand. This nonce is a cryptographic hash of information that defines the flow, combined with a secret key known only to the host.</t>
        <t>Challenge Nonce = F(secret_key, src_IP, dest_IP, [other_flow_info])</t>
        <ul spacing="normal">
          <li>
            <t>secret_key: A high-entropy secret value held by the host's operating system. This key MUST be rotated periodically (e.g., every few minutes) to limit the impact of any potential key compromise and to mitigate replay attacks.</t>
          </li>
          <li>
            <t>F: A keyed-hash function, such as HMAC-SHA256, truncated to the size of the nonce field.</t>
          </li>
        </ul>
        <t>With this approach, a nonce can be generated when needed (for an outgoing challenge) and verified later (on a returning confirmation) by simply re-computing it. There is no need to store it in a cache.</t>
      </section>
      <section anchor="challenge-confirm-procedure">
        <name>Challenge-Confirm Procedure</name>
        <t>The stateless process is as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Receive and Validate Error: Host A receives an ICMPv6 error message. It first validates the embedded header's 4-tuple against its list of active sockets/connections. If no matching socket exists, the message is silently discarded. No state is created.</t>
          </li>
          <li>
            <t>Mark Flow for Challenge: If a matching socket is found, Host A does not create new state. Instead, it sets a simple flag on the existing socket control block, marking it as "requires challenge". The initial ICMPv6 error is then discarded.</t>
          </li>
          <li>
            <t>Issue Computed Challenge: The next time the application sends a packet on this marked socket, the networking stack intercepts it. It computes the challenge nonce using the secret key and the packet's flow information. This nonce is placed in a Challenge-Confirm IPv6 Destination Option, and the packet is sent.</t>
          </li>
          <li>
            <t>Receive and Verify Confirmation: If a legitimate on-path node returns a new ICMPv6 error, it will contain the challenge packet. Host A receives this new error, extracts the embedded nonce, and recomputes the expected nonce using the same secret key and flow information.</t>
          </li>
          <li>
            <t>Process or Discard: If the received nonce matches the re-computed one, the error is authentic, and Host A can act on it. If it does not match, the message is a forgery or is stale, and it is discarded.</t>
          </li>
        </ul>
        <t>This flow achieves the anti-spoofing goal without creating state for unverified messages, thus defeating potential DoS attacks. Figure 1 illustrates the complete interaction.</t>
        <artwork><![CDATA[
Host A                                 On-Path Router R
  |                                          |
  |--------[ Original UDP Packet ]---------->|
  |                                          X (Error, MTU exceeded)
  |<--[ 1. ICMPv6 Error (Original) ]---------|
  |                                          |
  |  [Internal Action on Host A:]            |
  |  - Validate 4-tuple -> OK                |
  |  - Mark socket for challenge             |
  |  - Discard original error msg            |
  |  (No per-challenge state is stored)      |
  |                                          |
  |--------[ 2. Next UDP Packet + ]--------->|
  |        [  Challenge Option (Nonce N)  ]  |
  |        (Nonce N computed on-the-fly)     |
  |                                          |
  |                                          X (Same error condition)
  |<--[ 3. New ICMPv6 Error (contains N) ]---|
  |                                          |
  |  [Internal Action on Host A:]            |
  |  - Extract received Nonce N              |
  |  - Re-compute expected Nonce N'          |
  |  - IF (N == N') THEN:                    |
  |      Process error (SUCCESS)             |
  |    ELSE:                                 |
  |      Discard message (FAILURE)           |
  |                                          |

Figure 1: Challenge-Confirm Mechanism
]]></artwork>
      </section>
      <section anchor="protocol-specific-state-management">
        <name>Protocol-Specific State Management</name>
        <t>The mechanism for "marking a flow" is lightweight and transport-specific.</t>
        <t>UDP: Upon receiving a validatable ICMPv6 error, the host sets a flag on the corresponding UDP socket's control block.</t>
        <t>TCP: While TCP has its own protections, this mechanism can supplement it. A flag can be set on the TCB.</t>
        <t>ICMP: For connectionless protocols like ICMP Echo, which lack a socket state, a probabilistic, fixed-size data structure like a Sketch or Bloom Filter should be used.
On Error Reception: The host hashes a flow identifier (e.g., source IP, destination IP, ICMPv6 Identifier) and increments the corresponding counter(s) in the sketch.
On Packet Transmission: When sending a new ICMPv6 packet, the host queries the sketch. If the query indicates this flow has likely received a recent error, it attaches the computed challenge. This probabilistic approach ensures that state remains bounded, preventing DoS attacks against ICMP-based applications.</t>
      </section>
      <section anchor="challenge-confirm-option">
        <name>Challenge-Confirm Option</name>
        <t>To support the Challenge-Confirm mechanism, this document defines a new Challenge-Confirm Option. The challenge packet for a received ICMPv6 error message containing a stateless protocol payload includes the following option (as shown in Figure 2) in the IPv6 header. Similarly, the ICMPv6 error message triggered in response to this challenge packet should also include the same option in the header of the embedded IPv6 challenge packet (as shown in Figure 3).</t>
        <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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Traffic Class |           Flow Label                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         Payload Length        |  Next Header  |   Hop Limit   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                                                               +
|                                                               |
+                         Source Address                        +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                                                               +
|                                                               |
+                      Destination Address                      +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Next Header  |  Hdr Ext Len  |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                                                               |
.                                                               .
.                            Options                            .
.                                                               .
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Option Type  |  Opt Data Len |          Reserved             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                   Challenge Nonce (128 bits)                  |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|             Stateless Protocol Data (UDP/ICMP packet)         |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        <t>Figure 2: The IPv6 Challenge Packet with Challenge-Confirm Option</t>
        <t>The fields in the Challenge-Confirm Option are defined as follows:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Option Type</strong>: 8-bit identifier for the challenge-confirm option. The final value requires IANA assignment.</t>
          </li>
          <li>
            <t><strong>Opt Data Len</strong>: 8-bit unsigned integer specifying the length of the option data field in bytes.</t>
          </li>
          <li>
            <t><strong>Reserved</strong>: 16-bit field reserved for future use. MUST be set to zero on transmission and ignored on reception.</t>
          </li>
          <li>
            <t><strong>Challenge Nonce</strong>: 128-bit random number computed.</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |     Code      |          Checksum             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        MTU / Reserved                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Traffic Class |           Flow Label                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         Payload Length        |  Next Header  |   Hop Limit   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                                                               +
|                                                               |
+                         Source Address                        +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                                                               +
|                                                               |
+                      Destination Address                      +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+.+-+-+-+-+-+-+
|  Next Header  |  Hdr Ext Len  |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                                                               |
.                                                               .
.                            Options                            .
.                                                               .
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Option Type  |  Opt Data Len |          Reserved             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                   Challenge Nonce (128 bits)                  |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|             Stateless Protocol Data (UDP/ICMP packet)         |
|                        (Variable Length)                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Figure 3: New ICMPv6 Error Responding to the Challenge Packet
]]></artwork>
      </section>
    </section>
    <section anchor="exception-handling-and-edge-cases">
      <name>Exception Handling and Edge Cases</name>
      <section anchor="packet-loss">
        <name>Packet Loss</name>
        <t>The proposed mechanism is inherently resilient to packet loss due to its stateless design. It does not maintain timers or retransmission states for the challenge-confirm exchange itself. The <tt>requires challenge</tt> flag is cleared as soon as the challenge packet is transmitted, meaning the host does not enter a state of "waiting for a confirmation".</t>
        <t>Whether the outgoing challenge packet or the returning ICMP confirmation is lost in transit, the outcome is the same: the host that issued the challenge does not receive a confirmation and takes no special action. The exchange silently fails.</t>
        <t>Recovery is not driven by a timer, but by the persistence of the underlying network issue. If the condition that caused the initial ICMP error persists, a subsequent data packet from the application will likely trigger a new, initial ICMP error, naturally restarting the challenge process. This "fire-and-forget" approach avoids adding stateful complexity for the challenge itself.</t>
      </section>
      <section anchor="multi-path-routing-scenarios">
        <name>Multi-Path Routing Scenarios</name>
        <t>The mechanism's performance, but not its security, can be affected in networks that employ per-packet load balancing across multiple paths. Consider a scenario where a flow's packets alternate between a "bad" path that triggers an ICMPv6 error and a "good" path that does not.</t>
        <t>A recurring cycle could emerge:
1. A data packet is routed to the "bad" path, triggering an initial ICMPv6 error and causing the host to set the <tt>requires challenge</tt> flag.
2. The next packet (now a challenge packet) is routed to the "good" path and reaches its destination successfully. No ICMPv6 confirmation is returned.
3. The host, having sent its challenge, clears the flag. The next data packet is a normal packet, which is again routed to the "bad" path, restarting the cycle.</t>
        <t>This cycle does not compromise the security of the mechanism. The host never acts on an unvalidated ICMPv6 error, so spoofing attacks remain ineffective. However, it creates a performance degradation. In this specific scenario, the effective throughput for the flow could be halved. This is a performance cost in certain network topologies, not a security vulnerability.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The proposed enhancements aim to bolster ICMPv6 security by addressing specific vulnerabilities related to message authentication. Key security aspects include:</t>
      <ul spacing="normal">
        <li>
          <t><strong>Authentication Strength</strong>:  The security of the authentication depends on the unguessability of the computed nonce, which is guaranteed by the use of a strong keyed-hash function and a secret key with sufficient entropy <xref target="RFC4086"/>.</t>
        </li>
        <li>
          <t><strong>Denial of Service (DoS) Resistance</strong>: This is the principal security advantage over stateful designs. The mechanism is resilient to state-exhaustion attacks because:
1. It creates no state for ICMPv6 errors that do not correspond to an existing, active transport-layer socket.
2. For valid flows, the state added is minimal (a flag) or probabilistically bounded (a sketch), preventing uncontrolled resource consumption.</t>
        </li>
        <li>
          <t><strong>Replay Attack Mitigation</strong>: The periodic rotation of the secret_key provides the primary defense against replay attacks. A captured nonce-confirmation pair will become invalid after the key is changed. The rotation interval presents a trade-off between security and the maximum legitimate round-trip time for a challenge-confirm exchange.</t>
        </li>
        <li>
          <t><strong>Reflection and Amplification Attacks</strong>: The mechanism is designed to be immune to reflection and amplification attacks. An attacker cannot use this protocol to turn a victim into a traffic amplifier. The critical design choice preventing this is that the receipt of an initial, unverified ICMPv6 error message does NOT trigger the immediate transmission of a new packet. Instead, the host's response is limited to two low-cost internal actions: silently discarding the incoming message and setting a lightweight flag on an existing socket's control block. The challenge packet itself is not a new, separately generated packet; it is the <em>next application packet</em> for that flow, modified on-the-fly to include the Challenge-Confirm option. Therefore, an attacker sending a flood of forged ICMPv6 messages cannot compel the target to generate any network traffic beyond what its applications would have sent anyway. The victim does not become a reflector.</t>
        </li>
        <li>
          <t><strong>Backward Compatibility</strong>: The mechanism is fully backward-compatible. Hosts not implementing this specification will ignore the Destination Option as per <xref target="RFC8200"/>. Intermediate routers are unaffected. Only end hosts wishing to enhance their security need to implement the changes.</t>
        </li>
      </ul>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>The Challenge-Confirm Option Type should be assigned in IANA's "Destination Options and Hop-by-Hop Options" registry <xref target="RFC2780"/>.</t>
      <t>This draft requests the following IPv6 Option Type assignments from the Destination Options and Hop-by-Hop Options sub-registry of Internet Protocol Version 6 (IPv6) Parameters (https://www.iana.org/assignments/ipv6-parameters/).</t>
      <table>
        <thead>
          <tr>
            <th align="left">Hex Value</th>
            <th align="left">Binary Value</th>
            <th align="left">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left"> </td>
            <td align="left">act  chg  rest</td>
            <td align="left"> </td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">TBD</td>
            <td align="left">00   0    -</td>
            <td align="left"> </td>
            <td align="left">This draft</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-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="RFC2780">
          <front>
            <title>IANA Allocation Guidelines For Values In the Internet Protocol and Related Headers</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <author fullname="V. Paxson" initials="V." surname="Paxson"/>
            <date month="March" year="2000"/>
            <abstract>
              <t>This memo provides guidance for the IANA to use in assigning parameters for fields in the IPv4, IPv6, ICMP, UDP and TCP protocol headers. 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="37"/>
          <seriesInfo name="RFC" value="2780"/>
          <seriesInfo name="DOI" value="10.17487/RFC2780"/>
        </reference>
        <reference anchor="RFC4086">
          <front>
            <title>Randomness Requirements for Security</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="J. Schiller" initials="J." surname="Schiller"/>
            <author fullname="S. Crocker" initials="S." surname="Crocker"/>
            <date month="June" year="2005"/>
            <abstract>
              <t>Security systems are built on strong cryptographic algorithms that foil pattern analysis attempts. However, the security of these systems is dependent on generating secret quantities for passwords, cryptographic keys, and similar quantities. The use of pseudo-random processes to generate secret quantities can result in pseudo-security. A sophisticated attacker may find it easier to reproduce the environment that produced the secret quantities and to search the resulting small set of possibilities than to locate the quantities in the whole of the potential number space.</t>
              <t>Choosing random quantities to foil a resourceful and motivated adversary is surprisingly difficult. This document points out many pitfalls in using poor entropy sources or traditional pseudo-random number generation techniques for generating such quantities. It recommends the use of truly random hardware techniques and shows that the existing hardware on many systems can be used for this purpose. It provides suggestions to ameliorate the problem when a hardware solution is not available, and it gives examples of how large such quantities need to be for some applications. 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="106"/>
          <seriesInfo name="RFC" value="4086"/>
          <seriesInfo name="DOI" value="10.17487/RFC4086"/>
        </reference>
        <reference anchor="RFC4443">
          <front>
            <title>Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification</title>
            <author fullname="A. Conta" initials="A." surname="Conta"/>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <author fullname="M. Gupta" initials="M." role="editor" surname="Gupta"/>
            <date month="March" year="2006"/>
            <abstract>
              <t>This document describes the format of a set of control messages used in ICMPv6 (Internet Control Message Protocol). ICMPv6 is the Internet Control Message Protocol for Internet Protocol version 6 (IPv6). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="89"/>
          <seriesInfo name="RFC" value="4443"/>
          <seriesInfo name="DOI" value="10.17487/RFC4443"/>
        </reference>
        <reference anchor="RFC4861">
          <front>
            <title>Neighbor Discovery for IP version 6 (IPv6)</title>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <author fullname="E. Nordmark" initials="E." surname="Nordmark"/>
            <author fullname="W. Simpson" initials="W." surname="Simpson"/>
            <author fullname="H. Soliman" initials="H." surname="Soliman"/>
            <date month="September" year="2007"/>
            <abstract>
              <t>This document specifies the Neighbor Discovery protocol for IP Version 6. IPv6 nodes on the same link use Neighbor Discovery to discover each other's presence, to determine each other's link-layer addresses, to find routers, and to maintain reachability information about the paths to active neighbors. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4861"/>
          <seriesInfo name="DOI" value="10.17487/RFC4861"/>
        </reference>
        <reference anchor="RFC4987">
          <front>
            <title>TCP SYN Flooding Attacks and Common Mitigations</title>
            <author fullname="W. Eddy" initials="W." surname="Eddy"/>
            <date month="August" year="2007"/>
            <abstract>
              <t>This document describes TCP SYN flooding attacks, which have been well-known to the community for several years. Various countermeasures against these attacks, and the trade-offs of each, are described. This document archives explanations of the attack and common defense techniques for the benefit of TCP implementers and administrators of TCP servers or networks, but does not make any standards-level recommendations. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4987"/>
          <seriesInfo name="DOI" value="10.17487/RFC4987"/>
        </reference>
        <reference anchor="RFC8200">
          <front>
            <title>Internet Protocol, Version 6 (IPv6) Specification</title>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <author fullname="R. Hinden" initials="R." surname="Hinden"/>
            <date month="July" year="2017"/>
            <abstract>
              <t>This document specifies version 6 of the Internet Protocol (IPv6). It obsoletes RFC 2460.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="86"/>
          <seriesInfo name="RFC" value="8200"/>
          <seriesInfo name="DOI" value="10.17487/RFC8200"/>
        </reference>
        <reference anchor="RFC8201">
          <front>
            <title>Path MTU Discovery for IP version 6</title>
            <author fullname="J. McCann" initials="J." surname="McCann"/>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <author fullname="J. Mogul" initials="J." surname="Mogul"/>
            <author fullname="R. Hinden" initials="R." role="editor" surname="Hinden"/>
            <date month="July" year="2017"/>
            <abstract>
              <t>This document describes Path MTU Discovery (PMTUD) for IP version 6. It is largely derived from RFC 1191, which describes Path MTU Discovery for IP version 4. It obsoletes RFC 1981.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="87"/>
          <seriesInfo name="RFC" value="8201"/>
          <seriesInfo name="DOI" value="10.17487/RFC8201"/>
        </reference>
        <reference anchor="RFC9293">
          <front>
            <title>Transmission Control Protocol (TCP)</title>
            <author fullname="W. Eddy" initials="W." role="editor" surname="Eddy"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document specifies the Transmission Control Protocol (TCP). TCP is an important transport-layer protocol in the Internet protocol stack, and it has continuously evolved over decades of use and growth of the Internet. Over this time, a number of changes have been made to TCP as it was specified in RFC 793, though these have only been documented in a piecemeal fashion. This document collects and brings those changes together with the protocol specification from RFC 793. This document obsoletes RFC 793, as well as RFCs 879, 2873, 6093, 6429, 6528, and 6691 that updated parts of RFC 793. It updates RFCs 1011 and 1122, and it should be considered as a replacement for the portions of those documents dealing with TCP requirements. It also updates RFC 5961 by adding a small clarification in reset handling while in the SYN-RECEIVED state. The TCP header control bits from RFC 793 have also been updated based on RFC 3168.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="7"/>
          <seriesInfo name="RFC" value="9293"/>
          <seriesInfo name="DOI" value="10.17487/RFC9293"/>
        </reference>
        <reference anchor="Feng2021">
          <front>
            <title>Off-path TCP hijacking attacks via the side channel of downgraded IPID</title>
            <author initials="X." surname="Feng">
              <organization/>
            </author>
            <author initials="Q." surname="Li">
              <organization/>
            </author>
            <author initials="K." surname="Sun">
              <organization/>
            </author>
            <author initials="C." surname="Fu">
              <organization/>
            </author>
            <author initials="K." surname="Xu">
              <organization/>
            </author>
            <date year="2021"/>
          </front>
          <seriesInfo name="IEEE/ACM transactions on networking" value=""/>
        </reference>
        <reference anchor="Feng2023">
          <front>
            <title>Man-in-the-middle attacks without rogue AP: When WPAs meet ICMP redirects</title>
            <author initials="X." surname="Feng">
              <organization/>
            </author>
            <author initials="Q." surname="Li">
              <organization/>
            </author>
            <author initials="K." surname="Sun">
              <organization/>
            </author>
            <author initials="Y." surname="Yang">
              <organization/>
            </author>
            <author initials="K." surname="Xu">
              <organization/>
            </author>
            <date year="2023"/>
          </front>
          <seriesInfo name="IEEE Symposium on Security and Privacy (SP)" value=""/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC5927">
          <front>
            <title>ICMP Attacks against TCP</title>
            <author fullname="F. Gont" initials="F." surname="Gont"/>
            <date month="July" year="2010"/>
            <abstract>
              <t>This document discusses the use of the Internet Control Message Protocol (ICMP) to perform a variety of attacks against the Transmission Control Protocol (TCP). Additionally, this document describes a number of widely implemented modifications to TCP's handling of ICMP error messages that help to mitigate these issues. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5927"/>
          <seriesInfo name="DOI" value="10.17487/RFC5927"/>
        </reference>
      </references>
    </references>
    <?line 373?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank the IETF community, particularly members of the INT-AREA working groups, for their valuable feedback and insights during the development of this proposal.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+1d/3PbxrH/3TP+H26YmRfJJSlbTh1HTTqVZflZE8tWJblJ
XiaTdwSOFGoQYHGAJDZO//a3n929A0BStvKtL9Ox0iYSCBz29vbLZ/d2j6PR
6O6djz76iP5ljoraVYWrR08rO63Nsa3epOVVYc7dfJHb2tE9uO3UFXbuTH2R
eTPNcmemVTk3KZ4Z1WVajpZlU+GW0aIq6zIp8/E8NXVpZq42vrZV7dIxBpLX
8GDTsprb2tCIAxno8zDIn0efX5XVm1lVNgv6nS/ReIOxUvOsrExWZHVmc+Nd
3SyGhh41ZZEvTeEcv9ilWU300muyytdmkpfJG1NO6U+Xp55peYX7B3VW527A
z3k8OHEmubDFzKV/MqnLXe3MwE4mlbscmGyKF1WGnwHl/qKsah5sv1iakt5X
maQknha1SWyBwUCIS4dm0tQ8tq3ctMlNUdZ4W1bUVZk2Cd1XVWUlhJ2VYA8T
aq6yPMdzNE9jm7oklmWJzYnytKmyYiYMAGX08qWh0U1T6AQCv56WxcfE6CLJ
m5RmM7p/f2CIhYMRVtjXNK9CWZXzOjMRL+zE5T5+RItlbrFMOqTQ4WkpJksM
hiHqssyZw8QAYhP9gqtJU1Xg1qWrfFYWf6L5EIlpmWC4Ad5r3LUlYXRhNucQ
wlrlEy/x5k1l5xDbUTVN9sxFXS/83s7OLKsvmsk4Kec7iZ2UO927MNA3JDNY
pMrRUIljcoiUrBJO6GqbhdBrTZpN6RcQK6LLbDpgVkf2EbG0+JgJJkg3JReR
fyTsW+Prec6T+vr4xdC4OhmPx9syMSgkC9aeGRwWNGyC5T06OD65fGQOIR3m
2Hlv6W37DY1ZQBBqvOm1x51ESU7rN3Ojg7IgqZ/T7RCEzM8Hd++ICNPQSbwt
S+aLy0f0GQ3jZmW13KPVnpZ379y9o/zf0yW/bkYkqLSmdrT6+Oj+7t07vpnM
M49Z18sFPXV0eP7M3L1TNPOJq/ZoOHoB/Yc0wxNzGk+/EykPiSoacs/snx7u
370TZWkvWiWzT5+br+gDTPC/8eHdO2/ckm5NaQwzIo2ejha2vjC2rm3yhq9V
pHKVS2r+Y1rZ2Zx4xZyi17qiASn0auJhWfEo9H/6Ia3MZdJfOvN1IxfLakYc
/Cc/vWfOweiLxprXRcYCWy/Nf5n/uSiL2ayhBWsKqE1Z2Zq4aWSEpGxIx4m3
BxdZYfUaPbhnnrjs7zSeXHJzm+V75rp54/5S62vGLm3GSbGJxK8bd+Uy88yF
599L6M+hZkrDX1/df/SXB7uPoEebKNkvzVd2MxVnJeTUkjm4PRkvbbFGxhWN
b8u/eNdEjsg/BWsVDY1lNKfPDnYfPPisNQAkdrauSCxcNc5cPR0TeTsk2jtk
AHDnTnjq08f3b/kU3Rme+uT+40e3ewp3xqc++eThLZ+iO3dMeOzxowe3fIzu
jC/77PGnt3yK7gxPPd69f0t24M7OU7ekEHeGpz7b/eyW7MCd/BRkfvf+7oM9
kZFgMl8FS3B+cGIusr/TKDAaYhe8ucwsG2KfpeLgC5cDD8AhzCqbkqs6Ojl6
OpBB2WAZvEX+9q7KnId1pDcdHR4e7uwfHBsitfA2gbB7Qh+EIeorsVU6TGtj
+GdE9tWT7o47ehuv/nVsXmQr174cm7OmWLl4QI836zfCYnXY83CFPce2IBs+
IhaM5lmakqcKnLkiN0mKaqpy1pBrOdkzX5FzMV+d7Hszd2SE4YKiUfWrHHp4
A4fM2XK+KH3WzMGaM0eOHubSFqk5qbJLmyzN1tnJ9m/JqW/G5hu79njkFYhd
sR9//Gz3lgqDO3fECo1GI2MnHnfW+PucxCx6MPLFhPDy6LpPFB8zCDiCa98S
F78NPEk3wa9b+VjliYCHnRWlJ3/vGUbSjZdNXrjKTnLgqtYL+kVZTjtiTxDD
L1ySMWC8wrIyzKR1ZWo8LSujKBqDUHpNcNd7EesFAVsTwLw3efbGmddPT8YE
dHVwQF1CT0So4B/v2mFpvNSxWpmFq5jNBSEsgLmCie6I43FPHMfCQZoiMbqB
5wYVJEg0qiUZnTS+HnaIbfFIRVMFwCAqFPaADNtCJRfAVJ8HY3NOhGbQYsQT
GBkAPQ7cjucZ1vZZz/eP3PWFJcIAxp66gtg9KqejM1ddZjTrrafl2Xacnzkn
oi7LLOVoashGSWeYGl/mDY+SAXn7BakcIDTbtLNvXhKyK9+QmtGy5tmcPGeN
tcYIIezxhDyY5y1QExIxSsM4MamWi7qkxVlcZAl54vmiEXQ0Nke1wbi112do
1YhDvAhAsxRzzSGauZ2xvXPXmWcKPAVXjp4qAZMn5NthTmlSEzvJctyTwF5Y
GrVqkrqp3FhQvF3QTZYgsiNknUARSUy7K+Y3LxmJMgP04oLxOD1Ei6+0TCgK
26QQZHfW16o8azWFggVi+pwougxcFXErIGfkKoSUcav0YkjxFwfSHMgJzPz5
RoDs6CVE3Ut0VNLzFL+WhQMFJS2sDYKazeg/oJRCNB5DzYXndVS1IwUhs4uI
kSBboa7KN8RyesMJOHR8/to8zXxSEkBbmh9+UFf+449D89JlswuCs6ufA2Lg
c/CUgieyFCBDAlhScAZ3DpKrIeoC1oL1OCEG4IoMQwDnxx/H5nl55WhwUYXc
UdhGYkbSR9eyaYhxIv9XRYE1JcpBRzlJ4FMHLrHKqd0h85oSQyHOxFu1fjKi
zET8IZNSVtksA6uFfi/BaJDUTdZ5uJnGIZjNdpiC+hTr1Zn/0By/PjuP0Tle
TJiZiDTRP9H0wWprmNXCDDYbdpmXNg1/Rnr1vXSRQs6ars54NTi+BWFj8fAb
n9ELUD3O8bSWdt0ZQN9lwrJ2jsK9FKq/NqrOKGfAwQmS67qhz7tT3HLj2ZhM
u/tH4+AsJHoE85I3RXmVu1RNUfsBMUXWjFgaDfcKnWQ6t9XczO0bCEzNkXyW
NDlH8qLpLnEIUTh11DFGLIPLnmQScFGGr/qRA7gfUE+SOIxe0nfc5GYRjnxj
0VvneFhoyU8tF9b79+lKd05DyICg4d5UKaQvmZTClY2H5U0St6iDtRR/mvJj
kqtRgocwv2RBMK2cFlYyHXmWZDSMAR6+JLKcuPJnbQJnuBqtb+TN4ESsxXlZ
mifZbNDRIuETO5xbSKU5TC5Kc+oWWAwiMSczU5kL0lT/cWv6dGpsQNnBAa9O
zYPdx/eJ1VCDYBLvQ1fTzFeN8Cjof31Rlc3sgrwosw0WpUiWI2Q6MjYU5OVy
XRql8pKCEBiggvNJyPNECS2yRZOrzueeHDp5pBx2w7fc60c4P/wQIiIY0/00
QJl1GXTXi7zMauF3Ghh+qsi+h95qWjHiFgukJXppUecfezOjyV1ZGpjNKd6+
DuS2jrP6uIN3Di/J1vBAFFLs0P938a+HpOgSEqxSmeHNvoQN6kr4/glJgAo/
8QwghqYpRkCYAeAKvW45wu7lnKFpygmIADNJX5Ia3gq56Tck+g27hQTgif1u
cJoYvSFuwew49l4Uw8BoCDToghUsWQcqwisLg9ltdDW+4wnfDXc3wdxEk3sd
lAsz30dNAsdvgrsXXYyMV7ObFAAJ+BM8B8LlsqkSxh42xA4ZYz/xPwy1+Hda
lpLijBpeH1BvSuoGr3BlBR1sUP0QeIYcuCjV1QYEHbw6gcloWDgV7CrS2TIv
Z8uAud44CnTKimzlAH51MJT/mpev+PfTw7++Pjo9fIrfz57vv3gRfwl3nD1/
9frF0/a39smDV8fHhy+fysPH+98MRPgGr07Oj1693H+hefTuWiJekD2FDJBo
UTkwyDLLScYmHTSAhBTElbW7bieGPYYmT281BnIkNEZgD8FMwjxzcwYxAj24
fKAJdxUOhSXBPF3YyxZXSzCgn4iU5bSsm9aSJvkODzcU/YJ97RhO380JEBTL
ZIGXIqGLivSeEGfmfeM48uK07UfYHoFMjp5YRExPsLHDifIi+m0Adp6qq2rb
6uEqTS0M7jqczg2wRhEPCRyyxVKWYU5WE1fJ9tfYHchLda8CFslWgkNq1ptJ
9o8GMxUEIko1mvAEJmECWTsBBowd2xctMyhKeHcIxMwJwWSLPGip6AUxaGV7
4PDS8oaEvA8XAt7QmbN84Nn9HBo5u+jiUzJC4pKcysDgkCOBTUw1W8j/m8/h
Prf7uJYmNAe/1VywvyU5cgIwtrLisgQXtkOwsNXyUl6bWN5PirhrG0OSofQZ
cH2wJcTggHNWTK4M5a4Tp6MEb8+kEBQYCIiNwk8GEhkdAlaSeQmgLzCvjWoE
pIkXzSEf01wgLO6PWJNhY9dftLs7K3gQ+kC3ZZVB0EU616oKRdDkBUiwZKk/
krUD7F1ZVB/wNPAvbmbI3yosT2MdNIdYp9UOmCPveA+FrmbFCnpYVaqALkVW
aRbkUsOOZVOTfv/T9dksmYZuIKCMxosX3UDZmkQVGrklx16pi3vFbvQeczQ6
4RR/oVydW+xjZUVIcEzIFDnHOjVvirAqC/gsFndGdu8MSW6ISALsIG9dOA67
Vd2ZnWtThp/oByU900rAvKkABZZmRsaQRj/tsZludvMFJ2k0YLm6cLwZXa9S
Eew9RIpWpkeF7vVGCWecKZEb72QKsMiqyEa9px1epsaKVDkKwP/epLOgj1H0
szpGUBuNCBsf5FfVlUUxZyR0k5wT8g/hN8v7UcGBZoXtp5Cng6QTwUNJhW5U
htXAa0UbelFvR+x/gl7kBO6EIeLuGHVJtqaTXRAZ6Ys3Xg4J01e0oQ/Ep5ME
iXjO+k2REk9fga7iu7SktUVJQlhZdnTe8Z7uuryKpm3mRSs+N3leXhd+Rz6n
aIzeu0Ej1OZzCQUbfiiFZg5W2EIrbTXq6fBS8pLkKknvSNy7lgQ78STNnPVr
14Whz2VWITGBQpLSUKQjmWyBY26jGG+eYvS1PYXqLIY4D9EuRQnIjmDE9aU3
ZO6spDlRK+L7hFjVPPEMN9I0DM6RIkBHPCGtXjM0CDYlybIyulMMwfGQd0HY
V2aN8TqZgE5Gv6vB7yhUYBAiMa/bkIrfkOMPwmw5spf8N0KnooTBljzxlc3Y
rqsTkZdaCR+vGFy3ZTi2jf1undrvhifLlR0SHp6CoRL5Owo2URDFwfBGDg5x
OdFFguEnvM07FyITHEkiX14WjrOavswvXWcjoQ3r4pYCcyfrGgKs4Ts2FxT8
ffb4UyQ8hLuqn2IjmMdp2ImikWokgZD3hYz3thdYk0JWBCnWkew3qD5fkqyk
osUKXQ8QgZ9UhBoBbPfMYWefgyVImHfQ28M4aPcwxPILRaQIFLhzxjxuAJSc
kLamoj8JQbOUCOtYfJQ6CFDQetm+EHEqAT3m9KhqrFzFRsbKrsqF9ayIaxYt
dVMyJKLAEiLTKyfsSTXXon4ZcSwwRiFlbZqmApHMqqhD5iXT8IV5tiVPfk9P
kr+qku+PyNGRK6j5l2+5OO17vPN7UPUdO8l7pn1oz+ybi2x2MXJQhsUyUEKL
1CCDm7OwBCoowNHdCNjZJXF8rkwB5Qz9J4iOak4J0J1Zmao8qMN2HEZMKeAn
LoPp25ylQ8gpCHFORrKW1MOSUFWtO6MYH+tEEVCGhE4hCUhS2hkHZKjmWvaM
zz3zDJOjB1064qUJeyGtY39+vH8wOnu+v/tHJLMr+pwJV757wFbFLLLoXJ7H
o38l+wWd7axhtD/qwFQMscgAHtiso9+32B7RAjf1rOSdubCo2zwr8QAuKM8W
zC9Nr24qDqO7dmwbS8Nmc9kqmZgR9tWVKu/KPmEG/AfhJaJdVME183yCdFXa
VC4kWXqgApks1gHYf+QH/J4wXTEqz+VvoulOCtn2zHNo237wvrBJG50Wb2VJ
BafaCtWd6FLFg5I0fjKqG3gNOwO+p4nVSLZ6ESDFVLJNudPiVeyVTcEXxrft
VqZsbUajKrgURhQVkgyxMp/YiggYkwK25jGBn3apSh2qac0zZEyw0pGve3in
XXslSmuxdToMzImgTEbl3Bi/CZCHTdwQK+gBgm1wmticjbijvz8reJggEKcc
AAeqgAdo7QYVRTkZnGcUw4HgvFBq21ugjNeh6DBC5nyEdI1aZFqezqTPeZua
0FudzRVKtYlx3pjDNBQYlZpJA428L46rQ93qDlU24AZBJs7HYOfCs7gfdcw4
53KjqRSdlF1w1urW1GrI3WZvYChXIW/X4nPJaCrqs64xnFN46sB9md6rTra6
k9mASJFAjTcojMRxBx0lV7np5IUonuM8XEGeVy0DYx8SlO5isZhwIXFA3n2+
CDHjNaXkFcBgOgotHjIiKxqoPlSSeD3Ou2sKNutwS5fxqP9e4f4aw4UnJ2pg
dBeaRI3Z0NnICsN3QtQe0CCsNOwkhGCpArYVqnXaHEgnLHosRlPeKWwDoxqG
fcUeWIFx5MdkZBLIXHmR8er21YNFiCdKBjdzlwHJEy2jWKkwK0nXQj6LVT/u
eLEdaYroGFrYyMULBC707tZbdkocxuZZNiMrbh4YkoUGBUtRR0oYj1pTzFLS
xhT/61//wn+URe/7eVWMeGPtVJKip6iqevvep+LPW75/pD/fmldhGxmRpuYq
vxvFnz+//Ynjf222DkWSsfMnqUCXbvMon+OFD8b9euutQMF2570/9a3h/m+l
HISmsy+5Evqf8HXvu033j1qnGXzb6M/m1Zc3jT8Sf6O2nsPlqOGb71eFarfr
1ff62ab7t16WGwuLWOwREWz37/9p/GlXfZdcKtxEZ9H/0GH/yqp/a1rzq1YW
lMIgvCSCvlulJ3xmOvaBdy+n+XL7F9B/+/tJCs9g/4TZCbbYGcK1YvgQHLha
EUU13R7T+u7fKoaHYvZbextYuHH8EbmxYHxbD6CPfLzp/qNntCrmiy/o421z
/vzw5d772BycgrBw6+z1wcHh2dn2Dfcfvjg73DjkjeMHxYjbGs/2j168Pj3c
vuH+2/y85WoINcB7706CqNVlOB5qxUZnIXMrcfBxrM0LqLwN/qH8gwDvZC92
AD3NKbyrr1DVJbUKsdIzpoXZ6JPm7ZnXi7LQJZdRFIBzGVUfXcTwWaFoF4Ny
lVUsJIFOi4H62PfhqPjHA64+Rs6Gc8/WM4xHFIz8nWL2oULDOF14bt8sQuoK
3ntfiND4ywdEiXGf8Kswgz3uJGujgU0FJbGSJFS9cJbOBjOr+W7br3YcUsxy
TbEmh439ykcZ1ZozehqJnAo7mOWcXHMOl9lu9iLpSZS+KtQAABwutLsj8Bux
rPO6wiZL4fOnSOyFWirJ7oZEQACjRzFTbo7iM9uaFyLEwXs9G1ZPC/u2KFJX
DOl5FkJm2EaFTGk3kJaSe93l6yFTAZ0d4flHwyXk3XED0sNH2FdLY3lDwFEQ
EXCU4141T5Z/JUFowS8joIsO2GHLHz2Zgvt+xWpbnFr4pgq7n+LzKnSmkC3W
WtchmsQuwUmaZQdxxWAUc9YNoG410Dhq+bo5EF9GOlGybKMcG8Sv39hJhfaL
D0KuSdh+0xskxlsNBjRXGnm6caNGXZIs7c1la2EPWLNenCPgkhD11pb7KK94
/0kN5G6UMI6kQpr8LJtnua24oOum3aO23jErTMwXcx4n8+vzVIXjWqtuDSaH
KEqhkqJbYav7wEzh2ribZvVwu8XU5v4GH/Fgw7XdDdce8vMP6LOH5hPzR/PI
fGoem89+yrW7d/4w+oX/3L3z9m/StfkWWs+lVwc56rO6bpHzH9xMutEn/hpU
xPFOVOBeyE5IeIsRQPlc1o+pe14uzAtONf76VPy8H1DxC4f4ramQwhuUGFbQ
8/8nKm738ytR8UEu3kdFN8v1Tsn4j+LFryIXq1bpeVoh2IL5en9ocRsq/i28
GP/CIcbvGUJgyo3m5jZD3I6K341caBrjHLV0Rv42TxFFQDA6VJ467hZKfxsq
fikvNg2xum259WD3sZlQjLe9fu8NQ/xEKn6PvGhLIWIjGC/vFoXHOxxwCojc
vnmIn0XFr8ALxq4BpEskyvi3XVgNA2Wb/saoRjIWesaJ4uub7pbqOA5m0vVd
RmPu3esozL17e+bxaILsexsOhy6f9Sr6shMDTTkHKtvdcTPsaP/lPorbs1kx
l52a+Mqok+07m0Irr5BHnyGe57zKMmx85LFEh5uvhGyplwcrwAluOomvCSqO
Vzx4xO+QO6ug+5jbtOHUQuMpkg1b78h5UNTzT1eVnPvohOUS6c8KLuPQLM9C
U/7y2hU95bfvyhRD5QSXPMZY+j8tsGFqxACz8vC/D7DN1vlbLnIhWTP/DZTt
RpXH9sXOZvP/G1DxIch7/4rc8uf3A2Bv/PBDkPdBLtZ+PgR5t/tnvC4XH4I8
/HwI8lbl4kOQ944hfiIVv0de/LpB3tbfbJXx1qvAng2s/PV4wQcmhT2LvfVa
hNO1kwFWw7+4hf0R2ToNLsxzihzyUIp9mNLNB9Y7H/a5JW58UaJ387x7KE6v
V3nlzJc808NpdNslp8dN2vCGTzzHhlchnAVyVG/odkFJYsVFZpXrRUr8vH9H
AOmu5bBNvM3lU4kk/3e9lvJ/ZUMaW1C5s5U255QIxlbLFNvaQCWl5gNE584W
IY7kDdM4DVdwC6ruTVJwObi542Ew1mbA0B62ofw4FmGGszFCyTGLbXc0LioA
LZlGmJnu6NKg3Kea+bibttdSzjup3Nibrsw9zqkKtZD993HVAjfRomtIjrYy
Wq/GrI/rEUt1pzbLZaf11OkpNtrIkFZoFkbptBUJ0FNapcodpxBkvubGPw3Y
uYs5X3abmHkWcaM6VvOs9ax2i2h1x1JfgLZB45uJHh0i6YCwC4s239VSWa7k
1E1v3e2UPd7hhrcMDcG2puLC+8rxUbxBiDrrLfU0ug0+IHa7EXF6xMWN9aDd
CueDqzy3W4WaRG7Q4fLB63A2Qn9wVQxV82P0LLdVgtzXkbiCrFvpV8pY0EPd
Hh4ma4NlY72Oh0doiYflzjnZ9Q0HIcki4KTYcsmla9FIUPg4sbkesWqTClYj
dlOjpFZPc8lSUSylMPYaofbgYx8PBrI5l1R1GkqtGUxsOpAjErrn8KyXusvR
PoNZWfbuD5owlp6oChPm5pVkSRZEG4scCe0MjfEPUPLSlRxaR25Njy0MLT3D
QIvY4s313aAK4tuzOGgccFKHcKOJI3p3x22xd9gOL1D0umZitjfQ2WGE1BRL
5QZWvVvE4psEMouDSJdchK/kr5onsV6coXo4jqUzQ7T7yfHJhUhUJG0oFjr0
6NhZZzYrHEabRzWPJ0SFEqFMCz/esQKrqog1bUuEZYnb+v+220XL1qUZXK1S
VJh2ekQtTvjhYm22mqga1mrSdKV6C4fMrBwbqPUt3SMJOsd0ZaEjgev1O8f7
yZF/bVcmV1y0DceqRFqMHTtdO+fnBOPBpT1JqISihbl0oeUqW31pou4n9IbH
Y3kIPeTljE/LAxNty7d+v562J4YPg9pLhU7IVEcw4vhkZi2RshmfMTgpcw8P
HI7UCEPBsUiwzJIWGLFymomewShdTFrE0u++HJsv3bJzXAZG4kOvuFyF8+Aj
c+/eyrEPZ9oQiuQtC8aq3Ky0eKZuwT0YWijXFNxqHpqUy+DgtHZKq/6jwM8a
S/6/di52iaFNFL03qH3D4Rgb2q/U9nU6AeQErAZpRkZ2oRdNehLvP36kPeGY
r7Rj4h39dsxTPgvQat46SE0tZ4qgsdB2DlSw6SWRzSefQWOiSxO4uOm0nB7s
XOsRDRo0cez8xTQftRoTm52nbeu0npynZl9VPhTecRtoe9biMDQztbWbuV2C
ci5IFOv7LPRWsiZpG5O81kprto+nOW5JveY20F6vAI4hQzjMke6SmrztXq0b
raMUceaOtyQkd4hzvpt52FGQxTqVtrx9OX7pWLr16AZZIhc7BKVlsHMMRNug
yGcTZaGOLJwPg6YHVHiFUruV/j9u7Fhge0RldtRzEAubVeGMfQGsYicJT9SK
j/FmqRzjM/WZ2kgk90tcwgNgQ4ZtAlYmdaNyOo1ooHfSDZtse81nj3R6eSpw
ekSeeSENUgrdbww4Opyd5q5Vp305L0yVWvjtA5dvPPYJpwvhCAynB/R3R7S9
EVvG9g+ChdQ2Xr8jIpYAwvWR+41niMmhczYe1aVjSw9859wtoY2mX0KvOxJX
R3XWE6o4UFhon2jAMsNul8zGMkF2ri9fnUcELS2n4VifXhDIVgw1lKFRKrbf
dbphY6kh11nPs+D4r/jkuZG6KS2910Oj99YaCgMgIDtV8hEG0SOgfdnV0src
K+QO1dZ27UDWtRrrzaWeAtBDUKSRhHcLG44cid2r8sCftLcJdN5jWNSNTuSe
e+rLba1tznNSbl6Ntt1Cvv+iLblc3//t7M6STJYVt1a1UtfWFUuDPb7eo3cI
R/fcpACkXM4v01Z8/ooSmR63GUf0oPI5cUvY4CsOWGvfP8tPzg7gcyMYRtIA
V1aPr1JxjxhOzYsNylVWUYGf0Gyu0G6ArkkaWjzuRpVltEuhizzAbRZ4IHfS
vCevioc4RH3pHfIl5k62f5kV632KfLQSMbhz9OFYTrPtH3vl9ftGQvA1lu9U
cTiSj8m5yvyFpokUOOkJMtEihobk9uQJjR6LWTjQSvbgN+OyG2sGOK/aVtPL
Dr4eSkLDkWoM1ufttR9wMZosR9g91MsDWrUZqVY4ABdfA6BARM7u42+1QUTk
fL1a5sz1EV2q2moC3wb4tycGuYJRpAenfYRjhmOiUXdsDc4V5lOFT0iX545X
bCucbn51dTXObGH5VPMOTTsZvtZjEZ/Ykarlt+a5u0ZLWuPMW/OEaKW3y59t
+hHTIBsuk31LSEwOuHQxvRnbuEzn9+5P//rKXasp0rfcsEnSMjMcUbXXe0nR
DZna8ydP46f3UbHAVQujG596azoLjT/DV1CAqgl/8wh/C1DvXCiS0h/2pFDC
pV8Mpjb3bvBjEF058j5YEW4L4UDRFm+kuh1foqIHUyHRwadSJQ3Xv5NV4BOn
4jlKL89H+BYVEzqj+YtU5DgR1TjUtXACeUoaN+EmFjkHBE7Eh6OaMVhKzjYv
F6yMPL44dIp/bD6+839X81syPmoAAA==

-->

</rfc>
