<?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.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ippm-encrypted-pdmv2-12" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="draft-ietf-ippm-encrypted-pdmv2">IPv6 Performance and Diagnostic Metrics Version 2 (PDMv2) Destination Option</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ippm-encrypted-pdmv2-12"/>
    <author fullname="Nalini Elkins">
      <organization>Inside Products, Inc.</organization>
      <address>
        <postal>
          <country>United States</country>
        </postal>
        <email>nalini.elkins@insidethestack.com</email>
      </address>
    </author>
    <author fullname="Michael Ackermann">
      <organization>BCBS Michigan</organization>
      <address>
        <postal>
          <country>United States</country>
        </postal>
        <email>mackermann@bcbsm.com</email>
      </address>
    </author>
    <author fullname="Ameya Deshpande">
      <organization>NITK Surathkal/Google</organization>
      <address>
        <postal>
          <country>India</country>
        </postal>
        <email>ameyanrd@gmail.com</email>
      </address>
    </author>
    <author fullname="Tommaso Pecorella">
      <organization>University of Florence</organization>
      <address>
        <postal>
          <country>Italy</country>
        </postal>
        <email>tommaso.pecorella@unifi.it</email>
      </address>
    </author>
    <author fullname="Adnan Rashid">
      <organization>Politecnico di Bari</organization>
      <address>
        <postal>
          <country>Italy</country>
        </postal>
        <email>adnan.rashid@poliba.it</email>
      </address>
    </author>
    <author fullname="Lorenzo Fedi">
      <organization>University of Florence</organization>
      <address>
        <postal>
          <country>Italy</country>
        </postal>
        <email>lorenzo.fedi3@edu.unifi.it</email>
      </address>
    </author>
    <date year="2025" month="November" day="20"/>
    <area>Transport</area>
    <workgroup>Internet Engineering Task Force</workgroup>
    <keyword>Extension Headers</keyword>
    <keyword>IPv6</keyword>
    <keyword>PDMv2</keyword>
    <keyword>Performance</keyword>
    <keyword>Diagnostic</keyword>
    <abstract>
      <?line 79?>

<t>RFC8250 describes an optional Destination Option (DO) header embedded
in each packet to provide sequence numbers and timing information as
a basis for measurements.  As this data is sent in clear-text, this
may create an opportunity for malicious actors to get information for
subsequent attacks.  This document defines PDMv2 which has a
lightweight handshake (registration procedure) and encryption to
secure this data.  Additional performance metrics which may be of use
are also defined.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ameyand.github.io/PDMv2/draft-elkins-ippm-encrypted-pdmv2.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-ippm-encrypted-pdmv2/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        IP Performance Measurement Working Group mailing list (<eref target="mailto:ippm@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ippm/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/ippm/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ameyand/PDMv2"/>.</t>
    </note>
  </front>
  <middle>
    <?line 90?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The current Performance and Destinations Metrics (PDM) is an IPv6
Destination Options header which provides information based on the
metrics like Round-trip delay and Server delay.  This information
helps to measure the Quality of Service (QoS) and to assist in
diagnostics.  However, there are potential risks involved
transmitting PDM data during a diagnostics session.</t>
      <t>PDM metrics can help an attacker understand about the type of machine
and its processing capabilities.  For example, the operational
capabilities of either the client or server end hosts such as
processing speed -- that is, if the system in question is very fast
system or an older, slower device.</t>
      <t>Inferring from the PDM data, the attack can launch a timing attack.
For example, if a cryptographic protocol is used, a timing attack may
be launched against the keying material to obtain the secret.</t>
      <t>PDM metrics may also help the attacker find out about the network
speed or capabilities of the network path.  For example, are there
delays or blockages?  Are there alternate or multiple paths?  Along
with this, PDM does not provide integrity.  It is possible for a
Machine-In-The-Middle (MITM) node to modify PDM headers leading to
incorrect conclusions.  For example, during the debugging process
using PDM header, it can mislead by showing there are no unusual
server delays.</t>
      <t>PDMv2 is an IPv6 Destination Options Extension Header that enhances
PDM <xref target="RFC8250"/> by adding confidentiality, integrity, and authentication
to its measurement data. PDMv2 introduces optional encryption mechanisms
to secure the collected data.</t>
      <t>PDMv2 extends the capabilities of the original PDM by enabling
per-session encryption, thereby ensuring data confidentiality and integrity.
This encryption is built on the principle of offline decryption, where
encrypted data is collected and analyzed after transmission. Real-time or
online decryption is possible but not the focus of this specification and
is not further analyzed here.</t>
      <t>PDMv2’s packet format supports per-session encryption with key rotation,
where keys are derived from a shared secret established between parties via
the base key registration process. All PDMv2 packets are intended to be
processed without decryption by intermediate network devices. These encrypted
packets can be collected at the client or server end and decrypted offline
for diagnostic analysis. This architecture removes the need for real-time
decryption at measurement points, improving scalability and deployment
simplicity.</t>
      <t>The procedures specified in RFC8250 for header placement,
implementation, security considerations and so on continue to apply
for PDMv2.</t>
      <section anchor="pdmv2-foundational-principles">
        <name>PDMv2 Foundational Principles</name>
        <t>The design of PDMv2 adheres to a set of foundational principles which guide
its architecture and operational model:</t>
        <ol group="bar" spacing="normal" type="%d."><li>
            <t>Offline Decryption: All decryption of data occurs offline, eliminating
the computational overhead of real-time decryption on network devices.</t>
          </li>
          <li>
            <t>Speed of Handshake Processing: The goal of PDMv2 is to have as little
time spent in handshake processing as possible.</t>
          </li>
          <li>
            <t>Handshake at IP Layer: The establishment of session keys is at the IP layer
not at the transport or session layers. However, keys will be changed when
there is a change in the 5-tuple.  For ICMP and IPsec, sender-destination IP pair
defines the session for key rotation purposes.</t>
          </li>
          <li>
            <t>Separation of Encryption Layers: Encryption at the extension header level is
designed to be independent of encryption in higher-layer protocols (e.g., TLS,
QUIC). This avoids bootstrapping problems where key negotiation at one layer (IP)
is dependent on information from another layer (TCP / TLS).</t>
          </li>
          <li>
            <t>Key Reuse Avoidance: Keys are not reused between sessions. Each session
uses a freshly derived key to enhance security and forward secrecy.</t>
          </li>
          <li>
            <t>Base Key Registration: Master keys and device authentication are established
through a registration process with an Authentication Server. A complementary
draft will detail the full registration procedure and the operation of the
Decryption Server that handles offline decryption.</t>
          </li>
          <li>
            <t>Sequential Field for Key Derivation: Each packet may include a sequential
field (in cleartext), which serves as input to a key derivation function (KDF).
This supports dynamic keying mechanisms such as those used in Hybrid Public Key
Encryption (HPKE).</t>
          </li>
          <li>
            <t>Sample Key Derivation Implementation: A sample implementation using HPKE will
be included to illustrate how these principles can be applied in practice.
Alternative KDFs may be used, based on implementation needs.</t>
          </li>
          <li>
            <t>Optional Sequential Field Usage: A field which may be used as a nonce and is
sent in the clear will be provided.  Usage of this sequential field is optional and
can be omitted if not required for the cryptographic scheme in use. It is required
for HPKE but the implementor may choose another scheme.</t>
          </li>
        </ol>
      </section>
    </section>
    <section anchor="conventions-used-in-this-document">
      <name>Conventions used in this document</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="pdmv2-destination-options">
      <name>PDMv2 Destination Options</name>
      <section anchor="destinations-option-header">
        <name>Destinations Option Header</name>
        <t>The IPv6 Destination Options extension header <xref target="RFC8200"/> is used to
carry optional information that needs to be examined only by a
packet's destination node(s).  The Destination Options header is
identified by a Next Header value of 60 in the immediately preceding
header and is defined in RFC 8200 <xref target="RFC8200"/>.  The IPv6 PDMv2
destination option is implemented as an IPv6 Option carried in the
Destination Options header.</t>
      </section>
      <section anchor="metrics-information-in-pdmv2">
        <name>Metrics information in PDMv2</name>
        <t>The IPv6 PDMv2 destination option contains the following base fields:</t>
        <ul empty="true" spacing="normal">
          <li>
            <t>SCALEDTLR: Scale for Delta Time Last Received</t>
          </li>
          <li>
            <t>SCALEDTLS: Scale for Delta Time Last Sent</t>
          </li>
          <li>
            <t>GLOBALPTR: Global Pointer</t>
          </li>
          <li>
            <t>PSNTP: Packet Sequence Number This Packet</t>
          </li>
          <li>
            <t>PSNLR: Packet Sequence Number Last Received</t>
          </li>
          <li>
            <t>DELTATLR: Delta Time Last Received</t>
          </li>
          <li>
            <t>DELTATLS: Delta Time Last Sent</t>
          </li>
        </ul>
        <t>PDMv2 adds a new metric to the existing PDM <xref target="RFC8250"/> called the
Global Pointer.  The existing PDM fields are identified with respect
to the identifying information called a "5-tuple".</t>
        <t>The 5-tuple consists of:</t>
        <ul empty="true" spacing="normal">
          <li>
            <t>SADDR: IP address of the sender</t>
          </li>
          <li>
            <t>SPORT: Port for the sender</t>
          </li>
          <li>
            <t>DADDR: IP address of the destination</t>
          </li>
          <li>
            <t>DPORT: Port for the destination</t>
          </li>
          <li>
            <t>PROTC: Upper-layer protocol (TCP, UDP, ICMP, etc.)</t>
          </li>
        </ul>
        <t>Unlike PDM fields, Global Pointer (GLOBALPTR) field in PDMv2 is
defined for the SADDR type for the node.  Two SADDR address types
are used:</t>
        <ol spacing="normal" type="%c)"><li>
            <t>Link-Local</t>
          </li>
          <li>
            <t>Global Unicast</t>
          </li>
        </ol>
        <t>Hence, there are two Global Pointers.</t>
        <t>The Global Pointer is treated as a common entity over all the
5-tuples with the same SADDR type.  It is initialised to the value 1
and increments for every packet sent.  Global Pointer provides a
measure of the amount of IPv6 traffic sent by the PDMv2 node.</t>
        <t>When the SADDR type is Link-Local, the PDMv2 node sends Global
Pointer defined for Link-Local addresses, and when the SADDR type is
Global Unicast, it sends the one defined for Global Unicast
addresses.</t>
        <t>The reason for the Global Pointers is to provide a rough estimation                   <br/>
of the load on the node in question.  That is, if the node is sending                 <br/>
many other packets to other destinations at the same time as this                     <br/>
particular session.  Given that goal, if we combine the Link Local                    <br/>
and Global Unicast, the traffic traversing the path over the LAN or                   <br/>
VLAN (Link Local) would be combined with the traffic traversing the                   <br/>
path over the internet or wide area network.  The nature of Link-                     <br/>
Local and Global Unicast traffic is quite different, hence the two                    <br/>
separate counters.</t>
      </section>
      <section anchor="pdmv2-layout">
        <name>PDMv2 Layout</name>
        <t>PDMv2 has two different header formats corresponding to whether the
metric contents are encrypted or unencrypted.  The difference between
the two types of headers is determined from the Options Length value.</t>
        <t>Following is the representation of the unencrypted PDMv2 header:</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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |  Option Type  | Option Length | Vrsn  |         Epoch         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                 PSN This packet                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                 PSN Last Received                             |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                 Global Pointer                                |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |  ScaleDTLR    |  ScaleDTLS    |   Reserved                    |
       |-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |   Delta Time Last Received    |     Delta Time Last Sent      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        <t>Following is the representation of the encrypted PDMv2 header:</t>
        <artwork><![CDATA[
    0                   1                   2                   3
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Option Type  | Option Length | Vrsn  |         Epoch         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       PSN This Packet                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Encrypted PDM Data                       :
   :                          (16 bytes)                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        <ul empty="true" spacing="normal">
          <li>
            <t>Option Type  </t>
            <t>
0x0F  </t>
            <t>
8-bit unsigned integer.  The Option Type is adopted from RFC 8250 <xref target="RFC8250"/>.</t>
          </li>
          <li>
            <t>Option Length  </t>
            <t>
0x22: Unencrypted PDM  </t>
            <t>
0x22: Encrypted PDM  </t>
            <t>
8-bit unsigned integer.  Length of the option, in octets, excluding the Option
  Type and Option Length fields.</t>
          </li>
          <li>
            <t>Version Number  </t>
            <t>
0x2  </t>
            <t>
4-bit unsigned number.</t>
          </li>
          <li>
            <t>Epoch  </t>
            <t>
12-bit unsigned number.  </t>
            <t>
Epoch field is used to indicate the valid SessionTemporaryKey.</t>
          </li>
          <li>
            <t>Packet Sequence Number This Packet (PSNTP)  </t>
            <t>
32-bit unsigned number.  </t>
            <t>
This field is initialized at a random number and is incremented
  sequentially for each packet of the 5-tuple.  </t>
            <t>
This field + Epoch are used in the Encrypted PDMv2 as the encryption
  nonce. The nonce <bcp14>MUST NOT</bcp14> be reused in different sessions.</t>
          </li>
          <li>
            <t>Packet Sequence Number Last Received (PSNLR)  </t>
            <t>
32-bit unsigned number.  </t>
            <t>
This field is the PSNTP of the last received packet on the                <br/>
  5-tuple.</t>
          </li>
          <li>
            <t>Global Pointer  </t>
            <t>
32-bit unsigned number.  </t>
            <t>
Global Pointer is initialized to 1 for the different source
  address types and incremented sequentially for each packet with                   <br/>
  the corresponding source address type.  </t>
            <t>
This field stores the Global Pointer type corresponding to the
  SADDR type of the packet.</t>
          </li>
          <li>
            <t>Scale Delta Time Last Received (SCALEDTLR)  </t>
            <t>
8-bit unsigned number.  </t>
            <t>
This is the scaling value for the Delta Time Last Sent
  (DELTATLS) field.</t>
          </li>
          <li>
            <t>Scale Delta Time Last Sent (SCALEDTLS)  </t>
            <t>
8-bit unsigned number.  </t>
            <t>
This is the scaling value for the Delta Time Last Sent
  (DELTATLS) field.</t>
          </li>
          <li>
            <t>Reserved Bits  </t>
            <t>
16-bits.  </t>
            <t>
Reserved bits for future use.  They <bcp14>MUST</bcp14> be set to zero on
  transmission and ignored on receipt per <xref target="RFC3552"/>.</t>
          </li>
          <li>
            <t>Delta Time Last Received (DELTATLR)  </t>
            <t>
16-bit unsigned integer.  </t>
            <t>
The value is set according to the scale in SCALEDTLR.  </t>
            <t>
Delta Time Last Received =
  (send time packet n - receive time packet (n - 1))</t>
          </li>
          <li>
            <t>Delta Time Last Sent (DELTATLS)  </t>
            <t>
16-bit unsigned integer.  </t>
            <t>
The value is set according to the scale in SCALEDTLS.  </t>
            <t>
Delta Time Last Sent =
  (receive time packet n - send time packet (n - 1))</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <ul spacing="normal">
        <li>
          <t>Endpoint Node: Creates cryptographic keys in collaboration with a
partner.</t>
        </li>
        <li>
          <t>Client: An Endpoint Node which initiates a session with a
listening port on another Endpoint Node and sends PDM data.</t>
        </li>
        <li>
          <t>Server: An Endpoint Node which has a listening port and sends PDM
data to another Endpoint Node.</t>
        </li>
      </ul>
      <t>Note: a client may act as a server (have listening ports).</t>
      <ul spacing="normal">
        <li>
          <t>Public and Private Keys: A pair of keys that is used in asymmetric
cryptography.  If one is used for encryption, the other is used
for decryption.  Private Keys are kept hidden by the source of the
key pair generator, but the Public Key may be known to everyone.
In this document, the Public Key is represented as pkX and the
Private Key as skX (where X can be any client or server).</t>
        </li>
        <li>
          <t>Pre-shared Key (PSK): A symmetric key.  Uniformly random
bitstring, shared between any Client or any Server or a key shared
between an entity that forms client-server relationship.  This
could happen through an out-of band mechanism: e.g., a physical
meeting or use of another protocol.</t>
        </li>
        <li>
          <t>Shared Secret: A piece of data, known only to the parties involved.</t>
        </li>
        <li>
          <t>SessionTemporaryKey: A temporary key used to secure data for                <br/>
only the current session.</t>
        </li>
      </ul>
    </section>
    <section anchor="protocol-flow">
      <name>Protocol Flow</name>
      <t>The protocol will proceed in 2 steps.</t>
      <ol group="bar" spacing="normal" type="Step %d:"><li>
          <t>Creation of cryptographic secrets between Server and Client.
This includes the creation of pkX and skX.</t>
        </li>
        <li>
          <t>PDM data flow between Client and Server.</t>
        </li>
      </ol>
      <t>These steps <bcp14>MAY</bcp14> be in the same session or in separate sessions.  That
is, the cryptographic secrets <bcp14>MAY</bcp14> be created beforehand and used in
the PDM data flow at the time of the "real" data session.</t>
      <t>After-the-fact (or real-time) data analysis of PDM flow may occur by
network diagnosticians or network devices.  The definition of how
this is done is out of scope for this document.</t>
      <section anchor="client-server-negotiation">
        <name>Client - Server Negotiation</name>
        <t>The two entities exchange a set of data to ensure the respective
identities. This could be done via a TLS or other session.  The
exact nature of the identity verification is out-of-scope for this document.</t>
        <t>They use Hybrid Public-Key Encryption scheme (HPKE) Key Encapsulation Mechanism
(KEM) to negotiate a "SharedSecret".</t>
        <t>Each Client and Server derive a "SessionTemporaryKey" by using HPKE
Key Derivation Function (KDF), using the following inputs:</t>
        <ul spacing="normal">
          <li>
            <t>The "SharedSecret".</t>
          </li>
          <li>
            <t>The 5-tuple (SrcIP, SrcPort, DstIP, DstPort, Protocol) of the
communication.</t>
          </li>
          <li>
            <t>An Epoch.</t>
          </li>
        </ul>
        <t>The Epoch <bcp14>SHOULD</bcp14> be initialized to zero. A change in the Epoch
indicates that the SessionTemporaryKey has been rotated.</t>
        <t>The Epoch <bcp14>MUST</bcp14> be incremented when the Packet Sequence Number This
Packet (PSNTP) is rolled over.  It <bcp14>MAY</bcp14> be incremented earlier,
depending on the implementation and the security considerations.</t>
        <t>The sender <bcp14>MUST NOT</bcp14> create two packets with identical PSNTP and Epoch.</t>
        <t>When the Epoch overflows, then collection of PDM data for this
session will be stopped.  An error message <bcp14>MUST</bcp14> be sent as per                <br/>
          <xref target="RFC9180"/>: MessageLimitReachedError: Context AEAD sequence number                     <br/>
overflow.</t>
      </section>
      <section anchor="implementation-guidelines">
        <name>Implementation Guidelines</name>
        <t>How should a network administrator decide whether a client should use
PDM, unencrypted PDMv2, or encrypted PDMv2?  This decision is a
network policy issue.  The administrator must be aware that PDM or
unencrypted PDMv2 might expose too much information to malicious
parties.</t>
        <t>That said, if the network administrator decides that taking such a
risk within their network is acceptable, then they should make the
decision that is appropriate for their network.</t>
        <t>Alternatively, the network administrator might choose to create a
policy that prohibits the use of PDM or unencrypted PDMv2 on their
network.  The implementation <bcp14>SHOULD</bcp14> provide a way for the network
administrator to enforce such a policy.</t>
        <t>The server and client implementations <bcp14>SHOULD</bcp14> support PDM, unencrypted
PDMv2, and encrypted PDMv2.  If a client chooses a certain mechanism
(e.g., PDM), the server <bcp14>MAY</bcp14> respond with the same mechanism, unless
the network administrator has selected a policy that only allows
certain mechanisms on their network.</t>
        <section anchor="use-case-1-server-does-not-understand-pdm-or-pdmv2">
          <name>Use Case 1: Server does not understand PDM or PDMv2</name>
          <t>If a client sends a packet with PDM or PDMv2 and the server does not
have code which understands the header, the packet is processed
according to the Option Type which is defined in RFC8250 and is in
accordance with RFC8200.</t>
          <t>The Option Type identifiers is coded to skip over this option and                     <br/>
continue processing the header.</t>
        </section>
        <section anchor="use-case-2-server-does-not-allow-pdm-option-pdm-or-pdmv2">
          <name>Use Case 2: Server does not allow PDM Option (PDM or PDMv2)</name>
          <t>If a client sends a packet with a PDM option which does not match the
network policy, then the PDM option <bcp14>MUST</bcp14> be ignored and processing
continue normally.  The server <bcp14>SHOULD</bcp14> log such occurrences.</t>
          <t>Filtering at routers per <xref target="RFC9288"/> on filtering of IPv6 extension
headers may impact the receipt of PDM / PDMv2.</t>
        </section>
      </section>
    </section>
    <section anchor="security-goals">
      <name>Security Goals</name>
      <t>As discussed in the introduction, PDM data can represent a serious
data leakage in presence of a malicious actor.</t>
      <t>In particular, the sequence numbers included in the PDM header allows
correlating the traffic flows, and the timing data can highlight the
operational limits of a server to a malicious actor.  Moreover,
forging PDM headers can lead to unnecessary, unwanted, or dangerous
operational choices, e.g., to restore an apparently degraded Quality
of Service (QoS).</t>
      <t>Due to this, it is important that the confidentiality and integrity
of the PDM headers is maintained.  PDM headers can be encrypted and
authenticated using the methods discussed in Section 5.4, thus
ensuring confidentiality and integrity.  However, if PDM is used in a
scenario where the integrity and confidentiality is already ensured
by other means, they can be transmitted without encryption or
authentication.  This includes, but is not limited to, the following
cases:</t>
      <ol spacing="normal" type="%c)"><li>
          <t>PDM is used over an already encrypted medium (For example VPN
tunnels).</t>
        </li>
        <li>
          <t>PDM is used in a link-local scenario.</t>
        </li>
        <li>
          <t>PDM is used in a corporate network where there are security
measures strong enough to consider the presence of a malicious
actor a negligible risk.</t>
        </li>
      </ol>
      <section anchor="security-goals-for-confidentiality">
        <name>Security Goals for Confidentiality</name>
        <t>PDM data <bcp14>MUST</bcp14> be kept confidential between the intended parties,
which includes (but is not limited to) the two entities exchanging
PDM data, and any legitimate party with the proper rights to access
such data.</t>
      </section>
      <section anchor="security-goals-for-integrity">
        <name>Security Goals for Integrity</name>
        <t>An implementation <bcp14>SHOULD</bcp14> attempt to detect if PDM data is forged or
modified by a malicious entity.  In other terms, the implementation
should attempt to detect if a malicious entity has generated a valid
PDM header impersonating an endpoint or modified a valid PDM header.</t>
      </section>
      <section anchor="security-goals-for-authentication">
        <name>Security Goals for Authentication</name>
        <t>An unauthorized party <bcp14>MUST NOT</bcp14> be able to send PDM data and <bcp14>MUST NOT</bcp14>
be able to authorize another entity to do so.  Alternatively, if
authentication is done via any of the following, this requirement <bcp14>MAY</bcp14>
be considered to be met.</t>
        <ol spacing="normal" type="%c)"><li>
            <t>PDM is used over an already authenticated medium (For example,
TLS session).</t>
          </li>
          <li>
            <t>PDM is used in a link-local scenario.</t>
          </li>
          <li>
            <t>PDM is used in a corporate network where security measures are
strong enough to consider the presence of a malicious actor a
negligible risk.</t>
          </li>
        </ol>
      </section>
      <section anchor="cryptographic-algorithm">
        <name>Cryptographic Algorithm</name>
        <t>Symmetric key cryptography has performance benefits over asymmetric
cryptography; asymmetric cryptography is better for key management.
Encryption schemes that unite both have been specified in <xref target="RFC1421"/>,
and have been participating practically since the early days of
public-key cryptography.  The basic mechanism is to encrypt the
symmetric key with the public key by joining both yields.  Hybrid
public-key encryption schemes (HPKE) <xref target="RFC9180"/> used a different
approach that generates the symmetric key and its encapsulation with
the public key of the receiver.</t>
        <t>It is <bcp14>RECOMMENDED</bcp14> to use the HPKE framework that incorporates key
encapsulation mechanism (KEM), key derivation function (KDF) and
authenticated encryption with associated data (AEAD).  These multiple
schemes are more robust and significantly more efficient than other
schemes. While the schemes may be negotiated between communicating
parties, it is <bcp14>RECOMMENDED</bcp14> to use default encryption algorithm for
HPKE AEAD as AES-128-GCM.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>PDMv2 carries metadata, including information about network characteristics and end-to-end response time. This metadata is used to optimize communication. However, in the context of passive attacks, the information contained within PDMv2 packets can be intercepted by an attacker, and in the context of active attacks the metadata can be modified by an attacker.</t>
      <t>In the following we will briefly outline the threat model and the associated security risks, using RFC3552 terminology and classification.</t>
      <section anchor="limited-threat-model">
        <name>Limited Threat Model</name>
        <t>We assume that the attacker does not control the endpoints, but it does have a limited control of the network, i.e., it can either monitor the communications (leading to passive attacks), or modify/forge packets (active attacks).</t>
        <section anchor="passive-attacks-with-unencrypted-pdmv2">
          <name>Passive attacks with unencrypted PDMv2</name>
          <t>Passive Attack Scenario: In a passive attack, the attacker seeks to obtain information that the sender and receiver of the communication would prefer to keep private. In this case, the attacker is not altering the packets but is intercepting and analyzing them. Here's how this can happen in the context of unencrypted PDMv2:</t>
          <ol spacing="normal" type="%c."><li>
              <t>Being on the same LAN: The simplest way for an attacker to launch a passive attack is to be on the same Local Area Network (LAN) as the victim. Many LAN configurations, such as Ethernet, 802.3, and FDDI, allow any machine on the network to read all traffic destined for any other machine on the same LAN. This means that if PDM packets are sent over the LAN, the attacker can capture them.</t>
            </li>
            <li>
              <t>Control of a Host in the Communication Path: If the attacker has control over a host that lies in the communication path between two victim machines, they can intercept PDM packets as they pass through this compromised host. This allows the attacker to collect metadata without being on the same LAN as the victim.</t>
            </li>
            <li>
              <t>Compromising Routing Infrastructure: In some cases, attackers may actively compromise the routing infrastructure to route traffic through a compromised machine. This can facilitate a passive attack on victim machines. By manipulating routing, the attacker can ensure that PDMv2 packets pass through their controlled node.</t>
            </li>
            <li>
              <t>Wireless Networks: Wireless communication channels, such as those using 802.11 (Wi-Fi), are particularly vulnerable to passive attacks. Since data is broadcast over well-known radio frequencies, an attacker with the ability to receive those transmissions can intercept PDMv2 packets. Weak or ineffective cryptographic protection in wireless networks can make it easier for attackers to capture this data.</t>
            </li>
          </ol>
          <t>Goal of Passive Attack: In a passive attack, the attacker's goal is to obtain sensitive information from intercepted packets. In the case of PDMv2, this information may include network characteristics, end-to-end response times, and potentially any other metadata that is transmitted. This information can be valuable to the attacker for various purposes, such as analyzing network performance or gaining insights into communication patterns.</t>
          <t>In summary, within the limited Internet threat model described in RFC3552, attackers with the ability to intercept packets can conduct passive attacks to capture metadata carried in IPv6 unencrypted PDMv2 packets. This information can be useful for the attacker, even without actively altering the communication. Security measures, such as encryption and network segmentation, are important countermeasures to protect against such passive attacks.</t>
        </section>
        <section anchor="passive-attacks-with-encrypted-pdmv2">
          <name>Passive attacks with encrypted PDMv2</name>
          <t>Passive Attack Scenario: An attacker is trying to seek useful information from encrypted PDMv2 packets happening between two different entities. Encrypted PDMv2 has most of the metadata fields encrypted except for PSNTP which is also used as a nonce in HPKE AEAD.</t>
          <t>Goal of Passive Attack: In this attack, the attacker is trying to obtain the order in which the packets were sent from the sender to the receiver for different flows. The amount of information gathered by the attacker is similar, to some extent, to the ones available by inspecting the TTCP sequence number, which is also usually not protected. Therefore, we consider this information leak acceptable.</t>
          <t>Nevertheless, this point should be noted if complete traffic obfuscation (including packet reordering) is necessary. In these cases it is suggested to use IPSec ESP <xref target="RFC4303"/> in tunnel mode (in which case the PDMv2 can be used unencrypted).</t>
        </section>
        <section anchor="active-attacks-with-unencrypted-pdmv2">
          <name>Active attacks with unencrypted PDMv2</name>
          <t>There are also active attacks within the context of the limited Internet threat model defined in <xref target="RFC3552"/>. In this model, active attacks involve an attacker writing data to the network, and the attacker can forge packets and potentially manipulate the behavior of devices or networks. Let's break down how message modification, deletion, or insertion by attackers using the unencrypted IPv6 Performance and Destination option v2 (PDMv2) fits into this threat model:</t>
          <ol spacing="normal" type="%d."><li>
              <t>Message Modification Attack:  </t>
              <t>
In a message modification attack, the attacker intercepts a message, modifies its content, and then reinserts it into the network. This attack is significant because it allows the attacker to tamper with the integrity of the data being transmitted.  </t>
              <t>
Example: Suppose an attacker intercepts an IPv6 packet containing unencrypted PDMv2 information that includes network and end-to-end response time metadata. The attacker modifies this information, such as altering the response time data or inserting false information. When this modified packet reaches its destination, the receiving device or network may act based on this malicious information, potentially leading to degraded performance, incorrect network management decisions, wrong performance data collection, etc. A direct consequence of modifying the performance data could be, for example, to hide an ongoing QoS violation, or to create a fake QoS violation, with consequences on the violation of Service Level Agreements.</t>
            </li>
            <li>
              <t>Message Deletion Attack:  </t>
              <t>
In a message deletion attack, the attacker removes a message from the network. This attack can be used in conjunction with other attacks to disrupt communication or achieve specific objectives.  </t>
              <t>
Example: Consider a scenario where an attacker deletes certain IPv6 packets that contain unencrypted PDMv2 information, or deletes the PDM header from the packet. If the PDMv2 is used for network monitoring or quality of service (QoS) management, the deletion of these packets can cause the monitoring system to miss critical data, potentially leading to inaccurate network performance analysis or decisions.</t>
            </li>
            <li>
              <t>Message Insertion Attack:  </t>
              <t>
In a message insertion attack, the attacker forges a message and injects it into the network.  </t>
              <t>
Example: An attacker could forge IPv6 packets containing unencrypted PDMv2 data with fake source addresses and inject them into the network. If PDM is used for making routing or resource allocation decisions, these injected packets can influence the network's behavior, potentially causing it to take suboptimal routes or allocate resources incorrectly.</t>
            </li>
          </ol>
          <t>All these attacks are considered active attacks because the attacker actively manipulates network traffic, and they can potentially spoof the source address to disguise their identity. In the limited Internet threat model defined in <xref target="RFC3552"/>, it is assumed that attackers can forge packets and carry out such active attacks. These attacks highlight the importance of securing network protocols, authenticating messages, and implementing proper security measures to protect against them.</t>
        </section>
        <section anchor="active-attacks-with-encrypted-pdmv2">
          <name>Active attacks with encrypted PDMv2</name>
          <t>Encrypted PDMv2 provides inherent protection against active attacks like Message Modification by providing integrity. If either of the sequence number or encrypted PDMv2 contents are modified then decryption will fail.</t>
          <t>Message Deletion Attack can be performed for encrypted PDMv2 similarly to unencrypted PDMv2.</t>
          <t>Impersonation Attack: Encrypted PDMv2 relies on a shared secret negotiated by an external protocol (e.g., TLS). If key exchange does have authentication check, then an adversary who impersonates the host can derive a key with the destination client and potentially perform all the above active attacks even on encrypted PDMv2.</t>
        </section>
      </section>
      <section anchor="topological-considerations">
        <name>Topological considerations</name>
        <t>The same topological considerations highlighted in <xref target="RFC3552"/> applies in this context. Passive attacks and active attacks where the messages need to be modified or deleted are more likely if the attacker is on-path, while message insertion attacks are more likely when the attacker is off-path but can happen also when the attacker is on-path. Link-local attacks can be considered as a special case of on-path for PDM, i.e., for PDM a link-local attacker has no special privileges with respect to an on-path attacker.</t>
      </section>
      <section anchor="further-mitigations">
        <name>Further mitigations</name>
        <t>PDM includes cryptographic mechanisms to mitigate passive and active attacks.
As a further security mechanism to protect from active attacks, it is possible for an implementation to include logging of anomalous events, e.g.:</t>
        <ul spacing="normal">
          <li>
            <t>Missing PDM header when expected (counteracts the Message Deletion).</t>
          </li>
          <li>
            <t>Unusual variations of the PDM data (counteracts the Message Modification)</t>
          </li>
          <li>
            <t>Accept the PDM data only if the application level accepts the packet payload (counteracts the Message Insertion)</t>
          </li>
          <li>
            <t>Monitor repeated or unexpected PDM data (counteracts replay attacks).</t>
          </li>
        </ul>
        <t>Security considerations about HPKE are addressed in RFC 9180. Security
considerations about PDM are addressed in RFC 8250. Security considerations
about destination objects are addressed in RFC 8200.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>Encryption plays a crucial role in providing privacy as defined by <xref target="RFC6973"/>, especially when metadata sniffing is a concern. <xref target="RFC6973"/>, titled "Privacy Considerations for Internet Protocols," outlines the importance of protecting users' privacy in the context of various Internet protocols, including IPv6. When metadata like network and end-to-end response time is at risk of being observed by attackers, eavesdroppers, or observers, encryption can help mitigate the privacy risks. Here's how encryption achieves this:</t>
      <ol spacing="normal" type="%c)"><li>
          <t>Confidentiality: Encryption ensures that the actual content of the
 communication remains confidential. Even if attackers or observers
 intercept the data packets, they won't be able to decipher the
 information without the encryption key. In the case of IPv6
 Performance and Destination Option (PDM), the still-visible,
 non-encrypted metadata is still visiblenegligible, and does not
 poses confidentiality</t>
        </li>
        <li>
          <t>Content Protection: Metadata, such as network and end-to-end
 response time, may reveal sensitive information about the
 communication. By encrypting the content, encryption mechanisms
 help protect this sensitive data from being exposed. Observers may
 still see that communication is happening, but they won't be able
 to glean meaningful information from the metadata.</t>
        </li>
        <li>
          <t>Integrity: Encryption often includes mechanisms to ensure data
 integrity. It allows the recipient to verify that the received data
 has not been tampered with during transit. This helps protect
 against attackers who might try to manipulate the metadata.</t>
        </li>
      </ol>
      <t>It's important to note that while encryption enhances privacy by protecting the content of communication, metadata still poses some challenges. Metadata, such as the fact that communication is occurring and the parties involved, can be revealing. To address this, additional techniques, like traffic obfuscation, may be used to hide metadata patterns. However, complete metadata privacy can be challenging to achieve, especially when communication protocols inherently require some level of metadata exchange.</t>
      <t>Specifically, enabling PDM only for a specific set of flows can pose a risk of
highlighting their presence between two parties. As a mitigation technique, it is
suggested to obfuscate the events, for example by enabling PDM on more flows
than strictly necessary.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>No action is needed by IANA.</t>
    </section>
    <section anchor="contributors">
      <name>Contributors</name>
      <t>The authors wish to thank NITK Surathkal for their support and
assistance in coding and review.  In particular Dr. Mohit Tahiliani
and Abhishek Kumar (now with Google).  Thanks also to Priyanka Sinha
for her comments.  Thanks to the India Internet Engineering Society
(iiesoc.in), in particular Dhruv Dhody, for his comments and for
providing the funding for servers needed for protocol development.
Thanks to Balajinaidu V, Amogh Umesh, and Chinmaya Sharma of NITK for
developing the PDMv2 implementation for testing.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC3552">
          <front>
            <title>Guidelines for Writing RFC Text on Security Considerations</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="B. Korver" initials="B." surname="Korver"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>All RFCs are required to have a Security Considerations section. Historically, such sections have been relatively weak. This document provides guidelines to RFC authors on how to write a good Security Considerations section. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="72"/>
          <seriesInfo name="RFC" value="3552"/>
          <seriesInfo name="DOI" value="10.17487/RFC3552"/>
        </reference>
        <reference anchor="RFC8250">
          <front>
            <title>IPv6 Performance and Diagnostic Metrics (PDM) Destination Option</title>
            <author fullname="N. Elkins" initials="N." surname="Elkins"/>
            <author fullname="R. Hamilton" initials="R." surname="Hamilton"/>
            <author fullname="M. Ackermann" initials="M." surname="Ackermann"/>
            <date month="September" year="2017"/>
            <abstract>
              <t>To assess performance problems, this document describes optional headers embedded in each packet that provide sequence numbers and timing information as a basis for measurements. Such measurements may be interpreted in real time or after the fact. This document specifies the Performance and Diagnostic Metrics (PDM) Destination Options header. The field limits, calculations, and usage in measurement of PDM are included in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8250"/>
          <seriesInfo name="DOI" value="10.17487/RFC8250"/>
        </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="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="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9180">
          <front>
            <title>Hybrid Public Key Encryption</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="K. Bhargavan" initials="K." surname="Bhargavan"/>
            <author fullname="B. Lipp" initials="B." surname="Lipp"/>
            <author fullname="C. Wood" initials="C." surname="Wood"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>This document describes a scheme for hybrid public key encryption (HPKE). This scheme provides a variant of public key encryption of arbitrary-sized plaintexts for a recipient public key. It also includes three authenticated variants, including one that authenticates possession of a pre-shared key and two optional ones that authenticate possession of a key encapsulation mechanism (KEM) private key. HPKE works for any combination of an asymmetric KEM, key derivation function (KDF), and authenticated encryption with additional data (AEAD) encryption function. Some authenticated variants may not be supported by all KEMs. We provide instantiations of the scheme using widely used and efficient primitives, such as Elliptic Curve Diffie-Hellman (ECDH) key agreement, HMAC-based key derivation function (HKDF), and SHA2.</t>
              <t>This document is a product of the Crypto Forum Research Group (CFRG) in the IRTF.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9180"/>
          <seriesInfo name="DOI" value="10.17487/RFC9180"/>
        </reference>
        <reference anchor="RFC4303">
          <front>
            <title>IP Encapsulating Security Payload (ESP)</title>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <date month="December" year="2005"/>
            <abstract>
              <t>This document describes an updated version of the Encapsulating Security Payload (ESP) protocol, which is designed to provide a mix of security services in IPv4 and IPv6. ESP is used to provide confidentiality, data origin authentication, connectionless integrity, an anti-replay service (a form of partial sequence integrity), and limited traffic flow confidentiality. This document obsoletes RFC 2406 (November 1998). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4303"/>
          <seriesInfo name="DOI" value="10.17487/RFC4303"/>
        </reference>
        <reference anchor="RFC1421">
          <front>
            <title>Privacy Enhancement for Internet Electronic Mail: Part I: Message Encryption and Authentication Procedures</title>
            <author fullname="J. Linn" initials="J." surname="Linn"/>
            <date month="February" year="1993"/>
            <abstract>
              <t>This document defines message encryption and authentication procedures, in order to provide privacy-enhanced mail (PEM) services for electronic mail transfer in the Internet. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1421"/>
          <seriesInfo name="DOI" value="10.17487/RFC1421"/>
        </reference>
        <reference anchor="RFC6973">
          <front>
            <title>Privacy Considerations for Internet Protocols</title>
            <author fullname="A. Cooper" initials="A." surname="Cooper"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="B. Aboba" initials="B." surname="Aboba"/>
            <author fullname="J. Peterson" initials="J." surname="Peterson"/>
            <author fullname="J. Morris" initials="J." surname="Morris"/>
            <author fullname="M. Hansen" initials="M." surname="Hansen"/>
            <author fullname="R. Smith" initials="R." surname="Smith"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document offers guidance for developing privacy considerations for inclusion in protocol specifications. It aims to make designers, implementers, and users of Internet protocols aware of privacy-related design choices. It suggests that whether any individual RFC warrants a specific privacy considerations section will depend on the document's content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6973"/>
          <seriesInfo name="DOI" value="10.17487/RFC6973"/>
        </reference>
        <reference anchor="RFC9288">
          <front>
            <title>Recommendations on the Filtering of IPv6 Packets Containing IPv6 Extension Headers at Transit Routers</title>
            <author fullname="F. Gont" initials="F." surname="Gont"/>
            <author fullname="W. Liu" initials="W." surname="Liu"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document analyzes the security implications of IPv6 Extension Headers and associated IPv6 options. Additionally, it discusses the operational and interoperability implications of discarding packets based on the IPv6 Extension Headers and IPv6 options they contain. Finally, it provides advice on the filtering of such IPv6 packets at transit routers for traffic not directed to them, for those cases where such filtering is deemed as necessary.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9288"/>
          <seriesInfo name="DOI" value="10.17487/RFC9288"/>
        </reference>
      </references>
    </references>
    <?line 786?>

<section anchor="sample-implementation-of-registration">
      <name>Sample Implementation of Registration</name>
      <section anchor="overall-summary">
        <name>Overall summary</name>
        <t>In the Registration phase, the objective is to generate a shared
secret that will be used in encryption and decryption during the Data
Transfer phase.  How this is to be done is left to the
implementation.</t>
      </section>
      <section anchor="high-level-flow">
        <name>High level flow</name>
        <t>The following steps describe the protocol flow:</t>
        <ol spacing="normal" type="%d."><li>
            <t>Client initiates a request to the Server.  The
request contains a list of available ciphersuites for KEM, KDF,
and AEAD.</t>
          </li>
          <li>
            <t>Server responds to the Client with one of the
available ciphersuites and shares its pkX.</t>
          </li>
          <li>
            <t>Client generates a secret and its encapsulation.  The
Client sends the encapsulation and a salt to the
Server.  The salt is required during KDF in the Data Transfer
phase.</t>
          </li>
          <li>
            <t>Server generates the secret with the help of the
encapsulation and responds with a status message.</t>
          </li>
        </ol>
      </section>
    </section>
    <section anchor="change-log">
      <name>Change Log</name>
      <t>Note to RFC Editor: if this document does not obsolete an existing
RFC, please remove this appendix before publication as an RFC.</t>
    </section>
    <section anchor="open-issues">
      <name>Open Issues</name>
      <t>Note to RFC Editor: please remove this appendix before publication as
an RFC.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
