<?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.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-xu-intarea-challenge-icmpv6-04" category="info" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <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-04"/>
    <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="2026" month="October" day="20"/>
    <area>AREA</area>
    <workgroup>Internet Area Working Group</workgroup>
    <keyword>off-path attack</keyword>
    <keyword>redirect</keyword>
    <keyword>fragmentation</keyword>
    <abstract>
      <?line 96?>

<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 103?>

<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 and acknowledgement numbers 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. This connection-based TCP state information is difficult for attackers to accurately guess. Receivers can attempt to verify whether this 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 allocate per-challenge 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 value computed using the keyed-hash function.</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>This draft requests the following IPv6 Option Type assignments for "The Challenge-Confirm Option Type" 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="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 369?>

<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+1dbXMbx5H+jl8xBVedSQUAJcpRJMROhaKoE8uixJBUbJ/L
5RvsDsCNFrvIzi5JxHJ++/XTPTM7CyxlynZyrpSYu4QCdmd6evrl6ZcZjsfj
wSeffDL4RB0XtakKU4+fVXpeqxNdvU3L60JdmOUq17UZ4KEzU+ilUfVlZtU8
y42aV+VSpXhjXJdpOV6XTYVHxquqrMukzCfLVNWlWpha2VpXtUknNI7MwWPN
y2qpa0UDDmWcz/0Yfxp/fl1WbxdV2azod/6IhhtOmJTnZaWyIqsznStr6mY1
UvSiKot8rQpjeFaTZjURS5Nkla3VLC+Tt6qc0z9NnloQ8hqPD+uszs2QX7N4
b2ZUcqmLhUn/qFKTm9qooZ7NKnM1VNkc81SK3wHZ9rKsaox1UKxVSbNVKimJ
mUWtEl1gLJBh0pGaNTUPrSszb3JVlDUmy4q6KtMmoeeqqqyYrPMSnGEq1XWW
53iNFql0U5fErSzROdGdNlVWLGT1oIvmXisaXDWFI19Y9awsPiUOF0nepLSS
8f37Q0XcG46xr7amNRWOSznvLyh4qWcmt+Eb2iR1h+1xIwoRljZhtqaxMEJd
ljnzltZOHKJf8GnSVBUYdWUqm5XFH2ktRGBaJhhtiGmVudEkgEZWcgHBq51E
Ygar3lZ6CUEdV/Nkqi7remWne3uLrL5sZpOkXO4lelbuxU/RON+QpGBzKkMj
JYZpITqySpjgNlmthFit0mxOv4BSEVdw6JBZHBhHhNKeYxVYHD2TXAbWkXzv
TG6WOS/o65OXI2XqZDKZ7GJRpH0sS1M1PCpozAR7enx4cnr1SB1BItSJsVbT
VAcNDVhg92tM88biSSIjp21bmPFhWZCcL+lx7H5ml8OBCC2NnISnsmS5uno0
HNAgZlFW6ynt8bwcDBzTp26bb5oxCSbtox5vvju+/9mgaJYzU00HKY0yHZC8
W1p7Y6cDmuzhAK9N1cHZ0cEgiMg0WBh1QF+rr+gL0P/f+HLw1qzpyXQ6UGNS
0Pl4petLpetaJ2/xUUUqVJmkxu/zSi+WxAZmwuDKFA1RMCDNID3E+wNFP6Rf
uSznS6O+bvizsloQW/7B703VBbh32Wj1pshY/Oq1+i/1P5dlsVg0tAtNAR0o
K10TkxQPkJQN6Spx7PAyK7R8RK9N1VOT/Y1G40/MUmf5VN00b82fazfHxKTN
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

-->

</rfc>
