<?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-icmpv4-01" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.29.0 -->
  <front>
    <title abbrev="challenge-icmpv4">Enhancing ICMP Error Message Authentication Using Challenge-Confirm Mechanism</title>
    <seriesInfo name="Internet-Draft" value="draft-xu-intarea-challenge-icmpv4-01"/>
    <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="Yuxiang Yang">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>yangyx22@mails.tsinghua.edu.cn</email>
      </address>
    </author>
    <author fullname="Qi Li">
      <organization>Tsinghua University &amp; Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>qli01@tsinghua.edu.cn</email>
      </address>
    </author>
    <date year="2025" month="June" day="30"/>
    <area>AREA</area>
    <workgroup>Internet Area Working Group</workgroup>
    <keyword>off-path attack</keyword>
    <keyword>redirect</keyword>
    <keyword>fragmentation</keyword>
    <abstract>
      <?line 129?>

<t>The Internet Control Message Protocol (ICMP) plays a crucial role in network diagnostics and error reporting. However, it is a challenge to verify the legitimacy of a received ICMP error message, particularly when the ICMP error message is embedded with stateless protocol data. As a result, adversaries can forge ICMP error messages, leading to potential exploitation and off-path attacks.</t>
      <t>This document explores solutions to this problem by first presenting a straightforward but flawed stateful challenge-response mechanism. It explains how this "strawman" approach, while preventing simple spoofing, introduces a severe vulnerability to state-exhaustion Denial-of-Service (DoS) attacks.</t>
      <t>Building on this analysis, the document then proposes a robust, stateless challenge-response mechanism inspired by TCP SYN-Cookies. This final proposal eliminates the need to store per-challenge state by computationally generating challenges. It limits state management to minimal flags on existing sockets or a bounded probabilistic data structure. This approach effectively authenticates ICMP error messages while inherently resisting both off-path spoofing and state-exhaustion DoS attacks, thus significantly improving the robustness of ICMP. Additionally, it discusses security and deployment considerations to ensure its practical implementation.</t>
    </abstract>
  </front>
  <middle>
    <?line 138?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Internet Control Message Protocol (ICMP) <xref target="RFC792"/> is an integral part of network operations, providing essential feedback on transmission issues such as unreachable destinations or packet fragmentation requirements. However, the legitimate verification of ICMP error messages is inherently vulnerable by design. To enable senders to correlate error reports with the original packets for effective network diagnostics, ICMP error messages, as specified in <xref target="RFC792"/>, 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 ICMP, 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 ICMP 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 ICMP "Fragmentation Needed" messages, embedding stateless protocols like UDP or ICMP Echo Reply, degrading throughput and harming latency-sensitive applications. This can also induce TCP segment fragmentation <xref target="NDSS2022MTU"/> and enabling IP ID-based TCP session hijacking <xref target="CCS2020IPID"/>. Moreover, forged ICMP Redirect messages embedded with stateless protocol data can be used to trick victims into modifying their routing, facilitating off-path traffic interception, modification, and credential theft <xref target="USENIXSECURITY2023ICMP"/>, <xref target="SP2023MITM"/>.</t>
      <t>This document explores how to securely authenticate these ICMP error messages. It first examines an intuitive challenge-confirm solution but demonstrates its fatal flaw: vulnerability to Denial-of-Service (DoS) attacks. It then presents a refined, stateless mechanism that solves the original problem without introducing new 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 ICMP specifications have limitations that enable off-path attackers to forge ICMP error messages embedded with stateless protocol data, compromising network security and reliability. The key issues are as follows:</t>
      <section anchor="source-based-blocking-ineffectiveness">
        <name>Source-Based Blocking Ineffectiveness</name>
        <t>Certain ICMP error messages, like the "Fragmentation Needed" messages, can originate from any intermediate router along the packet's path. Given this wide range of possible sources, legitimate messages can come from numerous locations. As a result, source-based blocking is rendered ineffective because it becomes difficult to distinguish between legitimate and forged messages based on the source address alone.</t>
      </section>
      <section anchor="authentication-evasion-based-on-embedded-packet-state">
        <name>Authentication Evasion based on Embedded Packet State</name>
        <t>Although ICMP requires including as much of the original (offending) packet as possible in error messages without exceeding the appropriate MTU limits, the stateful or stateless nature of the embedded packet protocol directly impacts the authentication difficulty and security strength of ICMP error messages. According to ICMP specifications <xref target="RFC792"/>, <xref target="RFC1122"/>, error messages should include at least the first 28 octets of the original packet to aid in identifying the affected process and verifying legitimacy.</t>
        <section anchor="stateful-embedded-packets-eg-tcp">
          <name>Stateful Embedded Packets (e.g., TCP)</name>
          <t>When off-path attackers embed stateful protocol packets, such as TCP segments, in forged ICMP error messages, the receiver has some means of verification. The TCP protocol uses sequence numbers, acknowledgment numbers, and ports to establish and maintain a connection state between communicating parties. This connection-specific information is difficult for off-path attackers to accurately guess. Receivers can check if the connection-related details in the embedded TCP header match the TCP connection state they maintain. For example, they can verify if the sequence number in the TCP segment embedded in the ICMP error message aligns with the expected sequence number for an ongoing TCP connection. This way, they can make an informed judgment about the authenticity of the ICMP error message.</t>
        </section>
        <section anchor="stateless-embedded-packets-eg-udp-icmp">
          <name>Stateless Embedded Packets (e.g., UDP, ICMP)</name>
          <t>In contrast to stateful TCP, when attackers embed stateless protocol packets, such as UDP or ICMP messages, in forged ICMP error messages, receivers lose the ability to perform effective state verification. UDP and ICMP protocols are inherently designed as stateless protocols, where the source does not maintain any session state information. The UDP or ICMP messages embedded in ICMP 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 ICMP error messages based on the embedded stateless packet header. This lack of state verification greatly reduces the authentication strength of ICMP 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="a-strawman-proposal-stateful-challenge-confirm">
      <name>A Strawman Proposal: Stateful Challenge-confirm</name>
      <t>A logical way to verify that an ICMP error originates from an on-path entity is to issue a challenge and await a correct confirm. This proves that the entity that sent the error is also on the path of subsequent traffic for that flow.</t>
      <t>Let's consider a simple, stateful challenge-confirm mechanism.</t>
      <t>The operational flow would be as follows:</t>
      <ol spacing="normal" type="1"><li>
          <t>Receive Error: Host A receives an ICMP error message (e.g., Fragmentation Needed) that claims to be from an on-path router R, regarding a UDP flow to Host B.</t>
        </li>
        <li>
          <t>Generate and Store Challenge: Host A does not trust the message. It generates a large, unpredictable random number (a nonce). It then stores this nonce in a local cache, associating it with the flow's identifiers (e.g., the 4-tuple) and a timeout.</t>
        </li>
        <li>
          <t>Issue Challenge: Host A sends the next UDP packet for  retransmission for that flow to Host B. This packet includes the nonce in the IP Option field.</t>
        </li>
        <li>
          <t>Receive Confirmation: If router R is legitimately on the path and the error condition persists, it will drop the challenge packet again and generate a new ICMP error message. This new message will contain the header of the challenge packet, including the IP Option with the nonce.</t>
        </li>
        <li>
          <t>Validate: Host A receives the new error message, extracts the nonce, and looks it up in its cache. If the nonce is found and matches the one stored for that flow, the error is deemed authentic. Host A can now safely process the error (e.g., update its PMTU for that flow).</t>
        </li>
      </ol>
      <section anchor="the-flaw-in-the-strawman-denial-of-service-vulnerability">
        <name>The Flaw in the Strawman: Denial-of-Service Vulnerability</name>
        <t>The stateful approach, while functionally correct, introduces a critical security vulnerability: state-exhaustion Denial-of-Service (DoS) attacks.</t>
        <t>An attacker can exploit the behavior described in Step 2. The attacker can send a high volume of forged ICMP error messages to Host A, each for a different (and possibly non-existent) flow. For each of these forged messages, Host A is forced to perform the following actions:</t>
        <ul spacing="normal">
          <li>
            <t>Generate a cryptographically secure random number.</t>
          </li>
          <li>
            <t>Allocate memory for a cache entry to store the nonce, flow identifiers, and a timer.</t>
          </li>
          <li>
            <t>Manage the timer for this entry.</t>
          </li>
        </ul>
        <t>By sending thousands of such messages per second, the attacker can force the victim host to exhaust its memory or CPU resources dedicated to managing the challenge cache. This is a classic state-exhaustion DoS attack, analogous to a TCP SYN flood. A solution that opens up such a significant DoS vector is not suitable for deployment on the public Internet.</t>
        <t>One might consider rate-limiting the processing of incoming ICMP error messages as a potential mitigation. However, this is insufficient. The fundamental problem lies in the host's inability to distinguish legitimate ICMP errors from forged ones before expending processing resources. As a result, an attacker can easily saturate the rate limit with fake messages, effectively preventing the host from receiving and responding to genuine network errors. This turns the rate limit mechanism into an amplifier of denial, suppressing critical feedback from the network while consuming system resources. Therefore, any viable defense must allow for early authentication of ICMP messages before the host allocates significant per-message state.</t>
      </section>
    </section>
    <section anchor="the-proposed-solution-a-stateless-challenge-confirm-mechanism">
      <name>The Proposed Solution: A Stateless Challenge-Confirm Mechanism</name>
      <t>To solve the DoS vulnerability, we must remove the requirement to store per-challenge state. The solution is 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-mechanism">
        <name>Challenge-Confirm Mechanism</name>
        <t>The refined, stateless process is as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Receive and Validate Error: Host A receives an ICMP 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 ICMP error is then discarded.</t>
          </li>
          <li>
            <t>Issue Computed Challenge: The next time the application sends the retransmitted 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 IP Destination Option, and the packet is sent.</t>
          </li>
          <li>
            <t>Receive and Verify Confirmation: If a legitimate on-path node returns a new ICMP 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 same anti-spoofing goal as the strawman but without creating state for unverified messages, thus defeating the DoS attack. Figure 1 illustrates the complete interaction, including both the legitimate process and how an off-path attacker's attempts are thwarted.</t>
        <artwork><![CDATA[
Host A                                 On-Path Router R
  |                                        |
  |--------[ Original UDP Packet ]-------->|
  |                                        X (Error, e.g., MTU exceeded)
  |<--[ 1. ICMP 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 ICMP 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)         |
  |                                        |

]]></artwork>
      </section>
      <section anchor="protocol-specific-state-management">
        <name>Protocol-Specific State Management</name>
        <t>The mechanism for "marking a flow" in Step 2 is lightweight and transport-specific.</t>
        <t>UDP: Upon receiving a validatable ICMP 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 Count-Min Sketch or Bloom Filter should be used.
On Error Reception: The host hashes a flow identifier (e.g., source IP, destination IP, ICMP Identifier) and increments the corresponding counter(s) in the sketch.
On Packet Transmission: When sending a new ICMP 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 ICMP error message containing a stateless protocol payload includes the following option (as shown in Figure 3) in the IP header. Similarly, the ICMP error message triggered in response to this challenge packet should also include the same option in the header of the embedded IP challenge packet (as shown in Figure 4).</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|  IHL  |Type of Service|          Total Length         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         Identification        |Flags|      Fragment Offset    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Time to Live |    Protocol   |         Header Checksum       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Source Address                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Destination Address                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Option Type  |  Opt Data Len |          Reserved             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                   Challenge Nonce (128 bits)                  |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|             Stateless Protocol Data (UDP/ICMP packet)         |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        <t>Figure 3: The Challenge Packet Header with Random Number in IP Options</t>
        <t>The fields in 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 generated according to <xref target="RFC4086"/> requirements.</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             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             unused                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Version |  IHL  | Type of Service  |       Total Length       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Identification         | Flags |   Fragment Offset     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Time to Live    |  Protocol  |      Header Checksum        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Source Address                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 Destination Address                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Option Type  |  Opt Data Len  |         Reserved            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |               Challenge Nonce (128 bits)                      |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Stateless Protocol Data (UDP/ICMP packet)             |
   |                     (Variable Length)                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        <t>Figure 4: New ICMP Error Responding to the Challenge Packet</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The proposed enhancements aim to bolster ICMP 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 ICMP 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>Backward Compatibility</strong>: The mechanism is fully backward-compatible. Hosts not implementing this specification will ignore the  Option as per <xref target="RFC792"/>. 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 "IPv4 Option Type field" registry <xref target="RFC2780"/>.</t>
      <t>This draft requests the following IP Option Type assignments from the IP Option Numbers registry in the Internet Protocol (IP) Parameters registry group (https://www.iana.org/assignments/ip-parameters).</t>
      <table>
        <thead>
          <tr>
            <th align="left">Copy</th>
            <th align="left">Class</th>
            <th align="left">Number</th>
            <th align="left">Value</th>
            <th align="left">Name</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD</td>
            <td align="left">TBD</td>
            <td align="left">TBD</td>
            <td align="left">TBD</td>
            <td align="left">TBD</td>
            <td align="left">This draft</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC792">
        <front>
          <title>Internet Control Message Protocol</title>
          <author fullname="J. Postel" initials="J." surname="Postel"/>
          <date month="September" year="1981"/>
        </front>
        <seriesInfo name="STD" value="5"/>
        <seriesInfo name="RFC" value="792"/>
        <seriesInfo name="DOI" value="10.17487/RFC0792"/>
      </reference>
      <reference anchor="RFC1122">
        <front>
          <title>Requirements for Internet Hosts - Communication Layers</title>
          <author fullname="R. Braden" initials="R." role="editor" surname="Braden"/>
          <date month="October" year="1989"/>
          <abstract>
            <t>This RFC is an official specification for the Internet community. It incorporates by reference, amends, corrects, and supplements the primary protocol standards documents relating to hosts. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="3"/>
        <seriesInfo name="RFC" value="1122"/>
        <seriesInfo name="DOI" value="10.17487/RFC1122"/>
      </reference>
      <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="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="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="CCS2020IPID">
        <front>
          <title>Off-path TCP exploits of the mixed IPID assignment</title>
          <author initials="X." surname="Feng">
            <organization/>
          </author>
          <author initials="C." surname="Fu">
            <organization/>
          </author>
          <author initials="Q." surname="Li">
            <organization/>
          </author>
          <author initials="K." surname="Sun">
            <organization/>
          </author>
          <author initials="K." surname="Xu">
            <organization/>
          </author>
          <date year="2020"/>
        </front>
        <seriesInfo name="ACM Conference on Computer and Communications Security (CCS)" value=""/>
      </reference>
      <reference anchor="NDSS2022MTU">
        <front>
          <title>PMTUD is not Panacea: Revisiting IP Fragmentation Attacks against TCP</title>
          <author initials="X." surname="Feng">
            <organization/>
          </author>
          <author initials="Q." surname="Li">
            <organization/>
          </author>
          <author initials="K." surname="Sun">
            <organization/>
          </author>
          <author initials="K." surname="Xu">
            <organization/>
          </author>
          <author initials="B." surname="Liu">
            <organization/>
          </author>
          <author initials="X." surname="Zheng">
            <organization/>
          </author>
          <author initials="Q." surname="Yang">
            <organization/>
          </author>
          <author initials="H." surname="Duan">
            <organization/>
          </author>
          <author initials="Z." surname="Qian">
            <organization/>
          </author>
          <date year="2022"/>
        </front>
        <seriesInfo name="Network and Distributed System Security Symposium (NDSS)" value=""/>
      </reference>
      <reference anchor="USENIXSECURITY2023ICMP">
        <front>
          <title>Off-Path Network Traffic Manipulation via Revitalized ICMP Redirect Attacks</title>
          <author initials="X." surname="Feng">
            <organization/>
          </author>
          <author initials="Q." surname="Li">
            <organization/>
          </author>
          <author initials="K." surname="Sun">
            <organization/>
          </author>
          <author initials="Z." surname="Qian">
            <organization/>
          </author>
          <author initials="C." surname="Fu">
            <organization/>
          </author>
          <author initials="G." surname="Zhao">
            <organization/>
          </author>
          <author initials="X." surname="Kuang">
            <organization/>
          </author>
          <author initials="K." surname="Xu">
            <organization/>
          </author>
          <date year="2023"/>
        </front>
        <seriesInfo name="USENIX Security Symposium (Security)" value=""/>
      </reference>
      <reference anchor="SP2023MITM">
        <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>
    <?line 389?>

<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:
H4sIAAAAAAAAA81d+3PbxrX+nX/FjjJzI6Ukbctu4vA2ncqSXGtiyaok59FM
J7MEliQqEGCxgGTGTv/2e75zdhcLkPIjsTOX7YxFENjHeX7nschoNBp89tln
g8/USVGbqjD16KjSs1qd6uo6LW8LdWWWq1zXZoCbLkyhl0bVi8yqWZYbNavK
pUrxxKgu03K0LpsKt4xWVVmXSZmPl6mqSzU3tbK1rmqTjmkcmYPHmpXVUteK
BtyRcf7ix/jr6C+3ZXU9r8pmRX/zJRpuZ8xLeVpWKiuyOtO5sqZuVkNFD6qy
yNeqMIZnNWlW02JpkqyytZrmZXKtyhl9NXlqsZAXuH2nzurc7PBjFs9NjUoW
upib9H9VanJTG7Wjp9PK3OyobIZ5KsXPYNl2UVY1xjoo1qqk2SqVlETMolaJ
LjAWlmHSoZo2NQ+tKzNrclWUNSbLiroq0yah+6qqrHhZlyUow6tUt1me4zHa
pNJNXRK1skTntO60qbJiLrvHumjutaLBVVO45Qupjsric6JwkeRNSjsZ3b+/
o4h6OyPw1da0p8JRKWf+YgXP9dTkNvxCTFLvwR43oizCEhOmaxoLI9RlmTNt
ae9EIfoDV5OmqkCoG1PZrCz+l/ZCC0zLBKPtYFplXmkSQCM7uYLg1U4iMYNV
15VeQlBH1SyZqEVdr+zk3r15Vi+a6Tgpl/cSPS3vxXfROD+SpIA5laGREsNr
oXVklRDBMVmtZLFapdmM/sBKRVxBoUMmcSAcLZR4jl1gc3RPsgikI/neHb9a
5ryhH06fD5Wpk/F4vIdNkfaxLE3UznFBYybg6cnh6bk6hjyoU2OtpokOGhqu
AO9rTPLS4j5aRE5Mm5vRYVmQlC/pdvA+s8udgYgsjZuEu7Jkubp5tDOgQcy8
rNYT4vCsHAwcySeOya+aEYklcVGP+s+O7j8Y2Ga6zCz2Wq9X9NDJ8dVTNSia
5dRUk0FKY08GpAOW6NHYyYCW8HCAwSbq4OL4YBDEZhKsjjqgn9X39AN29Xf8
OLg2a7oznQzUiJR2NlrpeqF0XevkGpcqUqvKJDX+nlV6viTiMGkGN6ZoaAUD
0hbSTTw/UPQhnctlk98a9UPD18pqTsT6hZ+bqCvQdNFo9bLIWCTrtfof9c9F
WcznDXGmKaAXZaVrIp3iAZKyIf0lOh4uskLLJXpsop6Y7N80Gl8xS53lE/Wq
uTZ/q90cY5M246TYXNwPjbk1mXpq3MPvXOIHr2NGQ7+6vf/l3x7sfwkV2VzD
j82rjKRb/ag/2SLWNPT61f7+3/DVjt9Jln9k6nn2x/PsP3l2/8EG0+hTsF7T
lCRf6uLp4Vdf77fmh1RA1xUJqqnGmalnY1rzPdKxe2R+6MZ78siDB/vv+Qzu
dA/tP3jw9fs9hDv9Q189vv+eD9Gd7qFH9x9/+X4P4U7/0NePv3rPh+hO99DX
+18/fL+HcCceOjy83L+/f//k/ORowuzyJvSFNxRXh+dkkld5mdUWPh+2eJm9
Ip+Eh5Qm8zUvYDN2+Hk2Wgpj8ldrqsxY2EYa8+DwVMG8wgOQsyDje1guV00N
11Ck+LJsCmeXrbo05NUghbu0yD0ZPVgi/ozI6FpS9HGr5OHiIV1supf+MfaS
Hy59O1aXTbFxjYwaXTs7ugRx9k+vXnZpc05XjgBZgDzOdUGej0zyhbnJSGvY
65yrp7ElVQdsba3Sc01z1CBqj1z7m+Q6MzUsPNPmKLN1lRHwIbpfri257pY+
l+vlqrRZs1S7WPIHk+qD6NK59ARPNhtT/HOxbY5gA8PFZ2N1RKale/GfYzJR
dJGuvrw8Pjv54fL48OXFydWPRKSHcOebcnoOOfXUuiLHO8sSAt5Ftmpyof9N
ppk/tc6zXyC6gAUXzvF57vQ48nCTI7KgrZT31z4V9T1Z3iXkfwf5dbkx8bfN
Bvk9Q+n/l+fY8OnJ1WmXukREAjAj0vnRMktTQmfaSfItAcOScHhVzhvCVOcT
9T1xXX1/fmDV0hAQYRJ7bPEetD05Pj6OCEpMC2SGApxX2Y1OyBhcnn8qEv+4
TUadNRgMRqOR0lMLg1oPBldkBQPmIptGoUceEOa5i9nULoiwpwgbr0n3VVI1
CcIsutcgIiicyKaZnhelJUhqea8cvwBTU0BE5mSsnpW3hnzyUGUc4GkVwCQw
Mv2SzdZsmHNDgD1bglBkqjWNkRhyrU7gZdylrHKoVhRGZgmpSEUx0C24hyE2
78SUhiBpmtJA4Dsi0JrCOWuVD0/BWj1WB5YntU1eD5VOgSM0eMxBAoH2+bbx
7ZDWrVMYTtrNqkTIBzI5ryMaDLr0wKsdKzCCVkdOrYGxlUdofmXLvBE3whFS
xiud5mQ2p2sXxVJQYjETTasV+JrNFzWt8VZXKYeYs1zf0o55s4gzWwRPT64A
y2kHLkgYqxOZHfZdLcpbmXQH494udbGj9IpWoJPFkEiNMIemv3HT2wyRmaIx
yxl9H7ahLMhpwXqjbpq8MJWeZjlUgnbF6xqZVwvdWCbRkSmIbKNyNro01U1G
Hnb3qLzcC9QaDJ40Wc50RnCF9ZHvytc2Iw6A9YGMCJBAMNJFXgKRjuYYRnx/
Gy2gOCtSe0StDB8ufzyjsKq8JkEYS+hJ2yQGywzgdJ4t6QqFvLwOn3awBDWJ
UKZqgydZAgZOGDqwcHAQPzcgD9Mz3G2ZLRicsIs8SbwgkZNdUniZFaQtOVg9
t6CKeUWOlnlSEm4C4kHYOiWgC+GHDDEHoKss8hCcJqmbyrideTYrQ5FuAlxL
a9NtyElb3KIBTiayYsHRMT1CZHUrmZYk8UH0vZCwQmyKQHnp2Q2WNrRrQmcZ
+UPNo5KgVeUNaxrRWdhagJ9kLbAs0uA0zTxN2d6kmU0aCzmwsT1OKeIv10xH
RKhZysR3Cod4lTgHqq9gL5FnUSzkARKNnUkVtzKQxBkLPYeeH2ZgX7+WwOHX
X9k8FlAgM68gYmTjsDlvasuVX+dQMSlYHWhYZ3NmJHpTjewWaUilC+vicxrX
NqBBQ6zVVjUFxdkkZ2RSiBRglNs9MXUFyF13Y2ni538a0glcsJFBj402SSeb
cp+ZcDzpi0pmYznxZiFnpaClEL9JFMEDvkgbI9YwV5KyqgwnfGIHI66cF1JW
2VwUU4vwc97Iy/E2dzXcbs6JQHZlEtoKKQ05upY/Q3X68vIq5NAw64Jsv6k4
f8KRoDP2WrH7EzrgvpVe56VO/dewWO+l6oUmnaarcwPbw6korGssyGTrM+4C
tJIzsJuOzZL5uDbq5dE5WIvdCtOCQ9wY0+0nZ5jEGcxXdQP5jza4a8bzMdlT
EgoOhSTlA8ol10V5m5vU2aj2ByKJsIvoGVxSb5VkbPecHVrqa8hKzSk3eHlO
uYnaCyjg5GFspe7EEYGUgcVjqKSsvoadEJsDOXuro383jHBMluzxekXR5btU
JN7REPxProN98xslc1DyUgpTNhYGOUnMqvZmVFyYByAc4HqMRHaZFB6bAkSR
jGSeJRkNo2DYKKSAVxsMnrYp1mEfqGyhy043Pjwjs2PSnUiFhFLsid5DJtVx
sigpoFmBGSlMn+xmUZXNfEF+kve50NUSl2EDimQ9Ql4xY9Umr5X7wNsJEBas
c4u8OifV4cit4TX3TNvr11GkTCaYISysjwuFT45GU40ktgwh9nSR/VsLp16/
jpIQv/46Vqfk9UvmJhOsH629vzCxg3a1A86ig7sQEIoHiXdLK4KxLElH1k5o
MrKLFNcwDJvpBGhLQEXgae0CTPiYisWoLIYyiCOhaGtCVsh5FRp3VtNGtwe0
sIqvX7chGNHgTlzLyLIUV9xHFpjGbtU7hkGCeiGjWWG8l2yE/y2cS1z62wNo
RsKpWZJg0MZrtilkLImyjJpuJ5vA9F04FItxCJMRuMQMBGpQ22nZ2OJJtuy0
oBuHD1s/5TC9D0Y9bga/CnPbWZqoKWofBlpQ5uV8LTDj2lD4U1ZkdHbgnHaG
8q86e8F/Xxz/4+XJxfER/r58dvD8efjD33H57MXL50ftX+2Thy9OT4/PjuTh
04Mfd0Q0dl6cX528ODt47kpGMatR8pHSGQsY0Qg5H/Ko5NuTKptGHhWJSSgM
K1bdbgultCZP32sMJAJZ4Igy546cl+ABFjMYHLrCEguV8+k+QbfQJDkMrj3y
A58c7thiAmlXv8MzQJmHjPrJUWdWWCyApANMSS0yJ4ywZMJeh95AWw1Yk+fl
rZ3QnlEibEiLR0/YQj1BZZPNVhE8I/AxEcJUNcV2d4SvMMeQzHeadVijADoE
c+hiLWxakoXDVdgfpETz0vkxgWOfEzGIoGP1dyxKpOaWcLequH5GrpCCKZsx
6OM9cVwd/GagNJaQcF0UsxPAMBW8Ge3c2/9OFC9jOQs+9fShuStGlixKLUac
moRiEUB//Emz2AiAkACkEtQ0mV3QDfWtMUW8SDDQGf2wXpm5FAQnq1E6TStI
B2hkxszHXlnv+EaznwlPH3sBOxd4zkI+GBzkMB3zhc9XMUq3DqAyQCBLBNDf
h527JOGGQcOeR/x0a2ABiUo/xHNGyrxKSCw8RuF4cVUx48l9umBVMGaAeTRM
qxEkOQiuPC7z23JraPWFvaXEfIRUxHLqLpECa0R1gh6RqSdnwGHndndykFAw
4QHTNtsQI37+G5UXfOkRxVkqHw+Q/SCcZeNmg/3Hqkxq0xYfelEKVqAzNmgZ
+9vgypVmsZS4PWFxoU0KymUYFEAuS9BnIhKgd09WrMfrwNeDAYcTW+wbs2IT
m/toahiCxwhKWSR7Ojinb1s6QHaByAq6uzS6YIrEcFjsHUYPczcSuN8dZtwV
ZQAw01YIxJGm4vJSo5JNi9UIagrDcbpPxzhNTtoKDtGX84sh5dM+NPKy0gmJ
MtsLVbZ7EELuDXAIMj5k0mn0C0ccZ9kWhvCdNHHEc0rki7xFjTqpb8gI6gOq
ucit7TnAxY3NcneIp8ZYdYA//4ZluFjKraPHAD95DKnDQrI707AUeMyLKFwn
UCji3R8e1IOfKeYl+NDdhWPHrV5Hy0W0KIgQDKEh/9040dBT2KyO7YCFcLq4
ucpYldhc3aVLFL1I9oA06qTgQLlizS9bFaKVDyUzvVXL+qFjT83i+KjVp3eo
WxWkKS+tOPUI2q5MxS08rcMTmehqISaGyvAEbdAG9BFlbiRXI7hsS4zHG69M
7PXS0kjNsdVFwg4+opKVRCol5mAbFTrStg2NgRs8fr4siSdFuTm6oL04uoLY
uXxHjyDEX+3yihEVJc1Kxox8NBmDwEjX6cOa3OEIA86brEI6Bd1pJaSYUYUR
9Gu2Cuq2DXZARaBGxAbxLWIRnMrkWrreNlmu5pXRkrWVrP0WX/sOnzqEDjKy
IltA9PBqHNu+kEHtj20c2IHQAX05Ae/tGeNF2YtQFQD0PyCNlUoFogDOyk9a
f3jYDw8JN5F+zDmv63gQskcayYZ4i/0kG5smMe3YQw14ztsDSO8UtzgPeKuJ
JFqylwlnm7ECxxPkcI2LPHzzWe1WYV0pwy0DmWHkMxzTeX5ws5m6RFaI7CVR
plEBKm+JQM8ZfPs0N0oymZj7LaUhHz+3lSEJMkPimeNmiuJvfYjWCUgeBH8m
XWsT9QwKeOC1wPZo632DM6rbwo89p6m5RsZDQss+H1zIcQFtm2tBdppNB6+V
HuJlPKHN7FMAIqUW4c8lF2mChIQFB2NVV40DdN5FIAHgyjVcXsp1hVxbU6xQ
L05qDiApqkklPoFL29U0Frm4vTZ7wNUhK3EQ/6YYnCCOIYZoMh9IRNsyyQSO
kBQF14ldEUsdYMygX46C+PXRqG6Iv3suD00Y0RB9aO8PaXYW0s3tIs/uq1dk
/0A6XwcgNhFZO9WEjoRF5HVCLQ86UOxG9Ttkt3uuXnDeSXpbaWWPWrlxDYyu
retkFpgLDWhjLbJWsSZgq62uJEiH8gQrtIJZxqm1tNCmZB8EXQU99fHPXHxS
GrhL1EMeZgtMkJ3iRy/CPLh3PFFhwEGN/mzDKEbr0iRwmWlGxPnzWH1Hdk+6
D/r6JCy77RfHiYlVCJt4IEHHeVlec14drcIFJ8NY1sagdMQoKHUD8WHoTIDS
564KI5KbdoVg2LVUqTGAYcHOj/264XAJuiurZ2Chj2zah50cN6uUHTatD+1K
3cn2ON/zGeODp7m+9XLlfcBkSw7vuzjNJzYtmL9+bXvWFEkozDrD3atqJxRo
svsIQWcnjzj5LeXtgxYnMp1cAwFvbWoIPWREhE4K7LI2K7UvQKnzKNSZVrnI
5gt1U+bNkgPuu4Fj0OEDEh2Uf9l5R/3OuxJacXYA0KUYcamZftoTNyOBhA6Z
htaNtxDByQALFwHCNIak0iMNP8LGm+kPj/JFZK6J6utVXc4rvVq43nfJJHet
7RhPHeScEYLVXqLjUzbEsg4vW63bCn2kImzPIrM6jGyojHvKBXjpZcdFJ5no
McGo6FJYM/lFsQmqaFhW9tREnEBw2jcWT4ZKVKfDPiYPX5ZMv1qUElo4eWK9
cBuj6Q/PXyLfJVkzkpCU8+mu3EPL9TamtUFO59mISUdOjk7I5G0l+SG3W5Rz
oC9Esr43AkQr0zGciE+6s6YSZKBwj+yMBDRxKZ9HvSGtEmsBN2ubTBznjIU8
VOe9kW8olE9CSZ3I/KJAI+d80RbwFaRkxBkov2NnX6QAAotbLkNbfU8DtOWa
re/ewSBzh/+jcnfmCti2AdTK6GbRPjIZqWbo0qb188yEQB0MhMcuomgsTiZG
ScR2cQ5wOj0qUfaYmhlEFrGziFi0wyAC/Uamvl0htA3VQSLOZQSYdJK8E/8z
Q0QdlfOiOmvU+eN3JusUn7S9KkketUGA43Pe7oyLO8nRVIXtLyPux4G40SYI
tbJagpcpm1NEyyvUYZgAwSiHNghel7hImVcMPCSmkQBOmlEj0l0hbAWRhxye
3mSuSWJmuEsI2qdhpqS7gJvPeuGMj5DaaE2YFqilnW3qtLdwo5AHE6yGYy73
LIwLadA66xRswgGPD/becviDHF0ppSeendUu9lPk8dyeKrIm7q6o1+OtbUwi
+UHpRS/u6pySNCqavZFGldyAC8qdARBUgXqdjFSjYm1IZRHablp+RjMayLBC
2MKN2AJKbgQsuS4dwgmH2MB5ReqfrdAXeuz6tSAATEaR+cN4DtfbLSdJBidu
OcTaqFFLepjKSsIN74PEkwRmu6VBIX2cL/1XgrSQxjZkpVMPKT3+6nk75E4X
YsR6OYyUa482BAZcZZqiHCnbQgteQgCeK0nImxZyOs71CmCRRKcgROqMV/CN
erorz/1Mz5GeVcnPJ+dD7hbiP37iM24/Y8afsaZ/7cE9to9ARoE/RvCL5Wrt
V0HcaQCOc5aSyDa6EDMopSMIVs31zClKSzU7NrozK1MnCA4xwkKTmwcizwoQ
fA87FFuCWaSOwH2lpNatocf4oSwnMSF31rH5N3I0bB2htC/UU2yNHjPpiJni
4WKbunt2enA4unx2sP/nL9HTQb97f8zpsOyXUP8Qdvsw6HuB/lEf3lC5yNGn
qnxokkpiseAYWe36nGlTS9I0qOpeWzVAN5NozC6SLQjqyPDy3VHMtQe2cIZg
3WqWBKDOOIrG9toc0dpbeITl9e6thoktzUbZ3EcEme1mFr4IASL24+OhD8oy
RG0EzkQ4rQkJNAnZSBZdCB0OPABvoW2SxcdlTqXD8l6bmrYcRBXu1F/bhSld
ma4WEjUlW5yz5FRqZhNd0QLGpHytVUyQlcPhTYad5LyeercTxe8n6JPuT+jD
t+FGNkPG5IjR2XBn2jhAtoa7GVxDL7pKQ46x21gq+e4yl4oqkn+Vz/4R13ZC
HTKI4Y44C39SN2JOZiUf0hIB+3V5Cm/Wow1f+RwF4LevQeYhTRnyGCFlUddt
edE3DmO9SJiWEopHCMG1LKEI4xtkLIv+SWTKu2Ba9LOxHhFF5tanJUIJXAKM
bpI7tvp8DjUVVdpUn5NzCiNDt6ZLGAx7s7BoAZhuKI2kODcSLDpGnz6lVpSp
cRbCbqRB2mxKnPDopzjGW5IVLmniRulkKYIWRumKynRoHkpGGyTHEfIe3TdI
DXqcO/NCgnckAjfxmY9w2EAGj7MeMcIgGN5LdgT4J2uOMh3scAoRnxl3M7Yl
kBrGvWcRtGB9ieoyrqvkjhJydCJWEulExybJ5GbGJ4OYFIQns1HotZ6XpHLa
/ezz5ABavqbPViE067GJaYrgM+JibmMZCusA/9v4cKyeZnME4w8USUbj+62k
kAmDUrt+Hu28ZZsA4x7xutsoGRe90TamtxStP+c6gFlCR7nxaHHr3i0wGPz3
v/8dDBwv3vV5UcghrAuXahwo9eadD7nPG9w8cp+f1Atf3kcK1fVq/Mv//Nc3
HzLyD2r32OkJIxzkwaT7wqR7GOgvmPDBOD4lvuvn32tnHX3QrO7mnyTUpo0c
SPWY/i/UnPxr4+ZR65C95xz9Vb34duvII3FmzpFw1S0Yji03OzVt+yacT7fz
jZt3z8qtxy1YkxBd7EU3fwA1Wu7uk4f2+XHH3D8FQne5+1Nrv31md1eg9Rnx
prcM/4uKzAwfW5vl673ftOb3vZmE7BIWo5c4b+XrIbZ825ExZ/Qt7+SPka9j
8RStkfYE2xx5RE7Pm+vWY7j7P9+4+eQpUV998w39tqeunh2fTd5KUe9AXLb6
8uXh4fHl5d62m4+fXx5vGeyukb2gh5rY04OT5y8vjve23fzuzxtnAgHE/YGT
0aVvXZGw9zScJhI83uZcoJY7HtVpdjM7bcaZSzHIvd0azsAxAAHaQvNN6I+B
FSZFmaiXKz5BErJDHn5zZiVGFSFodkA0RqCchw8pJSigWBApbbZgFJ7xkM9z
ItPDfTFaun4R+aJK79C6S+e1e+bEebPyRWp47QNZgou9rAn5yKtDFBP5PC9n
vtsoYFure+hx9x35XIvX3gaylUKk1zmgNaRY5RXFmBwudg9ryaiEEPEGg9Ep
+ELjIPdeoQe0XJIrzuHJ2k5atDiMBy8Kp8PAhSv35gRPdASzxjpuR1nwcNxD
2jh8FsCj0BPXCKNOwhMSdJJ/dyeGtjCQX75gql0K0x18tLwFXqMzrVdRzdEd
0PWZ9QiR+npaEJ7/NHwwNx7UYzz8hHbV1J1lqwOGgpCAqhz1OhsjB1DR3RRA
LyOPRQRr2FgHh9OW9aODdu2ZOj5X5sr94poqvF+CLKk7ojeMs6vRabgQiGLH
rpm1c+jhroBbPA9nAUmySTt54Zv3BS1wWhH6uX12SQh+1wQS3W1UVKXo8pZT
vD5+8KdY7zpQ0y0mt3Wi0jlWza2Yt+gA8yj04V5UbvaNMJfZMuMDw8O7utTa
E1hZocLhUH8Kd2OHTsHcSZP2VBijcLe6rfXgEO3Q6jZG3bafR6h6wqIrdX+L
uX+w5dr+lmsPB/T4A/rpoXqk/qy+VF+px+rrD7k2+NPod/5v8OY7edETObOT
Z8/JV12tV5wSc6XRyMldlSipPJfeo9a3fYQ1hNG83XIpBD/HUxyqdXf5xhT1
YjaDF/h4a7jiLEapniNK59nC6dDY2T8T4TnkprJm+Uno0P3IwQIcqOVW9Ts/
n2wNcabjHav4SGtwMJ2FUcl3dQTHS+IXA68LY0lOSXf/EDp8wOfN1hH6qf3d
B/uP1ZQQ0d7mvdtH+LA1/P+jQ1srC8rFfN0lGHkvAhF7d47wW9bw++kAc+/d
mQC1lpcOIznDwJWeC6lAnYUu7dBUZAcC8N27BOmnuzw551HE6af9DLxSX3wR
6cgXX0zU49EUmakWK/pTupsthWWEFOQFClIKCsnik4Ozg+iFTON2xqCF7ZRN
4dqP+aw8oC5HHeHwRB66VbltSVbNKJppABJM1zUO1cksXqcxw4MveQq5sfLK
jp3NGobfBKbHoShl5RDHL6YqN47dMwyeF1zZdDGQUMHN2lNNnnxfNthtIGzL
Pjo+uyJF1fuPv/z11+4RfQ8VfjdY4BF+H16gIX6/KijvDcU6q/D9EInq6Ltc
7PpJr5EfdyV3fZqC+8nf8vmYK3FQSgUspXpgql3uFiz1CWiyHU7R7wyo+L4t
cOpjr6SDq+RiC6zcWreDqk8tJ+8LrD7xSj4AXn30lbwVaEVr3Qa0/igtfvfn
zbZBPgRs3TnIb1rJR6bJh2Omd2xn9ztdSTOVWKA7CPLxthOhp0eTfhL7YuOl
GX1ohe6r8A63w85LggRMrXxbluH39bpUl86WfEqhzC0ycHK61A8zXfuzv1xt
89nY3kF/5U/7oRHFn57r9JiN1bdmHR0cx0i1P/aLd96OCFz0jhRfuhM8ABnS
ueUfdyCpf7rWrLiY7jKeTcEHFn3/om9r9ykwV7SV9GZm1bzRhGBqY0KbD072
8FvdbF3haPiWDhrXbRsVcuU4fWi2VL6ZKAI+Y9mt9FfHfk/6qy/4TVTaoSvf
8SrNodwRFjdx6/SGFs2v1sF51dAhLofdpDsw7ky0/KKrPAutcr3uWZ++c+fK
Jzggc+K7MGx7MG3mj7i5vk9p7CqlZSPkTZX0QfpejKFvRWlT77leY9mcVh7j
rMtT3w/HWc74YDYEEfDZhreI7UrCfY9fAhVnMLnNyr9EjO6SpOpeJ1lJHJQs
fG7S0E7pGi0d5GU2XUg/lbyzUp2GLlthjgmtXdLrFb0kp+0sc2++MoGLS12t
Q4emz5T2Gre4Ir8CeneyOoqbnsiWZZV/xTq/XSArhGx6Bi3GRPIiBv9GeBGF
sEgubN9w8294KQixJTWjcjYLB4w7b3rg2r9+lS0JeUR17wp0HtVVtpIOF9e4
vhFOmVeyEkfXJ7RLfvUfemZoTaKmnqodkcXLlImf7gEuleGB3EjDhjQohMN6
ElBltntEXmgloQ3vJISP0treHqAfS9N29+0Q1r2f3h9xH8sb+A3X+i2/1Msu
nG121hWzZFVLQt9+1p4qdGEnvziPTwVyQLnNct8Z/DIiaYsmEoy6c6Y02OdW
7Zyc3zzq3M5h4g5OnuElt8404f3J0Ytw+L9zgADN2Lqfw25P/vBwbQBs2/bl
9h4J7m07nU9y+5fNRS+XO98jV1bppak7T/A719Wuf8/y7e3tONOF5vcrR7Pf
y1ajVXgc2ec3REyyveTfD3FcgP51qYY3qP83yF+eIe/t3TjZXv+yZCUpFa6T
q96/mxe2fBvx81dPjnjg7r/RBX/FXW2Jj68D/yJUyD4fG+28R8AOXk8k3Dbp
NzsznVuz86sIjLys1bpTj/K+FKAGXVwL9fHme/f6AHRVd95NujTCMn/o/Oxq
hPffK99uxvywQ586ydhiN3IYwjeySz3Notpq/X/wAYOlZIDzciVHJWbKvyqU
T8COB/8H1DOhFtdjAAA=

-->

</rfc>
