Internet Engineering Task Force N. Elkins Internet-Draft Inside Products, Inc. Intended status: Standards Track M. Ackermann Expires: 28 August 2024 BCBS Michigan A. Deshpande NITK Surathkal/Google T. Pecorella University of Florence A. Rashid Politecnico di Bari 25 February 2024 IPv6 Performance and Diagnostic Metrics Version 2 (PDMv2) Destination Option draft-ietf-ippm-encrypted-pdmv2-06 Abstract 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. About This Document This note is to be removed before publishing as an RFC. The latest revision of this draft can be found at https://ameyand.github.io/PDMv2/draft-elkins-ippm-encrypted- pdmv2.html. Status information for this document may be found at https://datatracker.ietf.org/doc/draft-ietf-ippm-encrypted-pdmv2/. Discussion of this document takes place on the IP Performance Measurement Working Group mailing list (mailto:ippm@ietf.org), which is archived at https://mailarchive.ietf.org/arch/browse/ippm/. Subscribe at https://www.ietf.org/mailman/listinfo/ippm/. Source for this draft and an issue tracker can be found at https://github.com/ameyand/PDMv2. Elkins, et al. Expires 28 August 2024 [Page 1] Internet-Draft draft-ietf-ippm-encrypted-pdmv2 February 2024 Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on 28 August 2024. Copyright Notice Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions used in this document . . . . . . . . . . . . . . 4 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Protocol Flow . . . . . . . . . . . . . . . . . . . . . . . . 4 4.1. Client - Server Negotiation . . . . . . . . . . . . . . . 5 4.2. Implementation Guidelines . . . . . . . . . . . . . . . . 6 4.2.1. Use Case 1: Server does not understand PDM or PDMv2 . . . . . . . . . . . . . . . . . . . . . . . . 6 4.2.2. Use Case 2: Server does not allow PDM or PDMv2 . . . 6 5. Security Goals . . . . . . . . . . . . . . . . . . . . . . . 7 5.1. Security Goals for Confidentiality . . . . . . . . . . . 7 5.2. Security Goals for Integrity . . . . . . . . . . . . . . 7 5.3. Security Goals for Authentication . . . . . . . . . . . . 8 5.4. Cryptographic Algorithm . . . . . . . . . . . . . . . . . 8 6. PDMv2 Destination Options . . . . . . . . . . . . . . . . . . 8 Elkins, et al. Expires 28 August 2024 [Page 2] Internet-Draft draft-ietf-ippm-encrypted-pdmv2 February 2024 6.1. Destinations Option Header . . . . . . . . . . . . . . . 8 6.2. Metrics information in PDMv2 . . . . . . . . . . . . . . 9 6.3. PDMv2 Layout . . . . . . . . . . . . . . . . . . . . . . 10 7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 7.1. Limited Threat Model . . . . . . . . . . . . . . . . . . 13 7.1.1. Passive attacks with unencrypted PDMv2 . . . . . . . 13 7.1.2. Passive attacks with encrypted PDMv2 . . . . . . . . 14 7.1.3. Active attacks with unencrypted PDMv2 . . . . . . . . 14 7.1.4. Active attacks with encrypted PDMv2 . . . . . . . . . 16 7.2. Topological considerations . . . . . . . . . . . . . . . 16 7.3. Further mitigations . . . . . . . . . . . . . . . . . . . 16 8. Privacy Considerations . . . . . . . . . . . . . . . . . . . 17 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 18 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 18 11.1. Normative References . . . . . . . . . . . . . . . . . . 18 11.2. Informative References . . . . . . . . . . . . . . . . . 19 Appendix A. Sample Implementation of Registration . . . . . . . 19 A.1. Overall summary . . . . . . . . . . . . . . . . . . . . . 19 A.2. High level flow . . . . . . . . . . . . . . . . . . . . . 19 Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 20 Appendix C. Open Issues . . . . . . . . . . . . . . . . . . . . 20 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 1. Introduction The current 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. PDM metrics can help an attacker understand about the type of machine and its processing capabilities. 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. 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 the person showing there are no unusual server delays. PDMv2 is an IPv6 Destination Options Extension Header which adds confidentiality, integrity and authentication to PDM. Elkins, et al. Expires 28 August 2024 [Page 3] Internet-Draft draft-ietf-ippm-encrypted-pdmv2 February 2024 The procedures specified in RFC8250 for header placement, implementation, security considerations and so on continue to apply for PDMv2. 2. Conventions used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 3. Terminology * Endpoint Node: Creates cryptographic keys in collaboration with a partner. * Client: An Endpoint Node which initiates a session with a listening port on another Endpoint Node and sends PDM data. * Server: An Endpoint Node which has a listening port and sends PDM data to another Endpoint Node. Note: a client may act as a server (have listening ports). * 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 Public Key is known to everyone. pkX (Public Key) and skX (Private Key). Where X can be, any client or any server. * 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. * Session Key: A temporary key which acts as a symmetric key for the whole session. 4. Protocol Flow The protocol will proceed in 2 steps. Step 1: Creation of cryptographic secrets between Server and Client. This includes the creation of pkX and skX. Elkins, et al. Expires 28 August 2024 [Page 4] Internet-Draft draft-ietf-ippm-encrypted-pdmv2 February 2024 Step 2: PDM data flow between Client and Server. These steps MAY be in the same session or in separate sessions. That is, the cryptographic secrets MAY be created beforehand and used in the PDM data flow at the time of the "real" data session. 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. 4.1. Client - Server Negotiation 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. They use Hybrid Public-Key Encryption scheme (HPKE) Key Encryption Mechanism (KEM) to negotiate a "SharedSecret". Each Client and Server derive a "SessionTemporaryKey" by using HPKE Key Derivation Function (KDF), using the following inputs: * The "SharedSecret". * The 5-tuple (SrcIP, SrcPort, DstIP, DstPort, Protocol) of the communication. * An Epoch. The Epoch SHOULD be initialized to zero. A change in the Epoch indicates that the SessionTemporaryKey has been rotated. When the Epoch rolls over, the SharedSecret SHOULD be re-negotiated. The Epoch MUST be incremented when the Packet Sequence Number (PSN) This Packet (PSNTP) is rolled over. It MAY be incremented earlier, depending on the implementation and the security considerations. The sender MUST NOT create two packets with identical PSNTP and Epoch. The SessionTemporaryKey using a KDF with the following inputs: * SrcIP, SrcPort, DstIP, DstPort, Protocol, SharedSecret, Epoch. Elkins, et al. Expires 28 August 2024 [Page 5] Internet-Draft draft-ietf-ippm-encrypted-pdmv2 February 2024 4.2. Implementation Guidelines 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. 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. Alternatively, the network administrator might choose to create a policy that prohibits the use of PDM or unencrypted PDMv2 on their network. The implementation SHOULD provide a way for the network administrator to enforce such a policy. The server and client implementations SHOULD support PDM, unencrypted PDMv2, and encrypted PDMv2. If a client chooses a certain mechanism (e.g., PDM), the server MAY respond with the same mechanism, unless the network administrator has selected a policy that only allows certain mechanisms on their network. 4.2.1. Use Case 1: Server does not understand PDM or PDMv2 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. The Option Type identifiers is coded to skip over this option and continue processing the header. 4.2.2. Use Case 2: Server does not allow PDM or PDMv2 If a client sends a packet with PDM and the network policy is to only allow encrypted or unencrypted PDMv2, then the PDM / PDMv2 header MUST be ignored and processing continue normally. The server SHOULD log such occurrences but MUST apply rate limiting to any such logs. The implementor should be aware that logging or returning of error messages can be used in a Denial of Service reflector attack. An attacker might send many packets with PDM / PDMv2 and cause the receiver to experience resource exhaustion. The routers involved may have implemented filtering as per [RFC9288] on filtering of IPv6 extension headers which may impact the receipt of PDM / PDMv2. The organization which manages the network within Elkins, et al. Expires 28 August 2024 [Page 6] Internet-Draft draft-ietf-ippm-encrypted-pdmv2 February 2024 which PDM / PDMv2 is sent should take care that the filtering of extension headers is done correctly so that the desired effect is obtained. 5. Security Goals As discussed in the introduction, PDM data can represent a serious data leakage in presence of a malicious actor. 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). 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: a) PDM is used over an already encrypted medium (For example VPN tunnels). b) PDM is used in a link-local scenario. c) 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. 5.1. Security Goals for Confidentiality PDM data MUST 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. 5.2. Security Goals for Integrity An implementation SHOULD 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. Elkins, et al. Expires 28 August 2024 [Page 7] Internet-Draft draft-ietf-ippm-encrypted-pdmv2 February 2024 5.3. Security Goals for Authentication An unauthorized party MUST NOT be able to send PDM data and MUST NOT be able to authorize another entity to do so. Alternatively, if authentication is done via any of the following, this requirement MAY be considered to be met. a) PDM is used over an already authenticated medium (For example, TLS session). b) PDM is used in a link-local scenario. c) PDM is used in a corporate network where security measures are strong enough to consider the presence of a malicious actor a negligible risk. 5.4. Cryptographic Algorithm 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 [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) [RFC9180] used a different approach that generates the symmetric key and its encapsulation with the public key of the receiver. It is RECOMMENDED 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 RECOMMENDED to use default encryption algorithm for HPKE AEAD as AES-128-GCM. 6. PDMv2 Destination Options 6.1. Destinations Option Header The IPv6 Destination Options extension header [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 [RFC8200]. The IPv6 PDMv2 destination option is implemented as an IPv6 Option carried in the Destination Options header. Elkins, et al. Expires 28 August 2024 [Page 8] Internet-Draft draft-ietf-ippm-encrypted-pdmv2 February 2024 6.2. Metrics information in PDMv2 The IPv6 PDMv2 destination option contains the following base fields: SCALEDTLR: Scale for Delta Time Last Received SCALEDTLS: Scale for Delta Time Last Sent GLOBALPTR: Global Pointer PSNTP: Packet Sequence Number This Packet PSNLR: Packet Sequence Number Last Received DELTATLR: Delta Time Last Received DELTATLS: Delta Time Last Sent PDMv2 adds a new metric to the existing PDM [RFC8250] called the Global Pointer. The existing PDM fields are identified with respect to the identifying information called a "5-tuple". The 5-tuple consists of: SADDR: IP address of the sender SPORT: Port for the sender DADDR: IP address of the destination DPORT: Port for the destination PROTC: Upper-layer protocol (TCP, UDP, ICMP, etc.) Unlike PDM fields, Global Pointer (GLOBALPTR) field in PDMv2 is defined for the SADDR type. Following are the SADDR address types considered: a) Link-Local b) Global Unicast 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. Elkins, et al. Expires 28 August 2024 [Page 9] Internet-Draft draft-ietf-ippm-encrypted-pdmv2 February 2024 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. 6.3. PDMv2 Layout 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. Following is the representation of the unencrypted PDMv2 header: 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 | Reserved Bits | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Global Pointer | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ScaleDTLR | ScaleDTLS | PSN Last Received | |-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Delta Time Last Received | Delta Time Last Sent | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Following is the representation of the encrypted PDMv2 header: 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 : : (30 bytes) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Option Type 0x0F 8-bit unsigned integer. The Option Type is adopted from RFC 8250 [RFC8250]. Option Length Elkins, et al. Expires 28 August 2024 [Page 10] Internet-Draft draft-ietf-ippm-encrypted-pdmv2 February 2024 0x12: Unencrypted PDM 0x22: Encrypted PDM 8-bit unsigned integer. Length of the option, in octets, excluding the Option Type and Option Length fields. The options length is used for differentiating PDM [RFC8250], unencrypted PDMv2 and encrypted PDMv2. Version Number 0x2 4-bit unsigned number. Epoch 12-bit unsigned number. Epoch field is used to indicate the valid SessionTemporaryKey. Packet Sequence Number This Packet (PSNTP) 16-bit unsigned number. This field is initialized at a random number and is incremented sequentially for each packet of the 5-tuple. This field is also used in the Encrypted PDMv2 as the encryption nonce. The nonce MUST NOT be reused in different sessions. Reserved Bits 16-bits. Reserved bits for future use. They MUST be set to zero on transmission and ignored on receipt per [RFC3552]. Scale Delta Time Last Received (SCALEDTLR) 8-bit unsigned number. This is the scaling value for the Delta Time Last Sent (DELTATLS) field. Scale Delta Time Last Sent (SCALEDTLS) 8-bit unsigned number. Elkins, et al. Expires 28 August 2024 [Page 11] Internet-Draft draft-ietf-ippm-encrypted-pdmv2 February 2024 This is the scaling value for the Delta Time Last Sent (DELTATLS) field. Global Pointer 32-bit unsigned number. Global Pointer is initialized to 1 for the different source address types and incremented sequentially for each packet with the corresponding source address type. This field stores the Global Pointer type corresponding to the SADDR type of the packet. Packet Sequence Number Last Received (PSNLR) 16-bit unsigned number. This field is the PSNTP of the last received packet on the 5-tuple. Delta Time Last Received (DELTATLR) 16-bit unsigned integer. The value is set according to the scale in SCALEDTLR. Delta Time Last Received = (send time packet n - receive time packet (n - 1)) Delta Time Last Sent (DELTATLS) 16-bit unsigned integer. The value is set according to the scale in SCALEDTLS. Delta Time Last Sent = (receive time packet n - send time packet (n - 1)) 7. Security Considerations 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. Elkins, et al. Expires 28 August 2024 [Page 12] Internet-Draft draft-ietf-ippm-encrypted-pdmv2 February 2024 In the following we will briefly outline the threat model and the associated security risks, using RFC3552 terminology and classification. 7.1. Limited Threat Model 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). 7.1.1. Passive attacks with unencrypted PDMv2 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: a. 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. b. 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. c. 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. d. 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. Elkins, et al. Expires 28 August 2024 [Page 13] Internet-Draft draft-ietf-ippm-encrypted-pdmv2 February 2024 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. 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. 7.1.2. Passive attacks with encrypted PDMv2 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. 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. 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 [RFC4303] in tunnel mode (in which case the PDMv2 can be used unencrypted). 7.1.3. Active attacks with unencrypted PDMv2 There are also active attacks within the context of the limited Internet threat model defined in [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: 1. Message Modification Attack: Elkins, et al. Expires 28 August 2024 [Page 14] Internet-Draft draft-ietf-ippm-encrypted-pdmv2 February 2024 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. 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. 2. Message Deletion Attack: 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. 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. 3. Message Insertion Attack: In a message insertion attack, the attacker forges a message and injects it into the network. 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. 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 Elkins, et al. Expires 28 August 2024 [Page 15] Internet-Draft draft-ietf-ippm-encrypted-pdmv2 February 2024 Internet threat model defined in [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. 7.1.4. Active attacks with encrypted PDMv2 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. Message Deletion Attack can be performed for encrypted PDMv2 similarly to unencrypted PDMv2. 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. 7.2. Topological considerations The same topological considerations highlighted in [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. 7.3. Further mitigations 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.: * Missing PDM header when expected (counteracts the Message Deletion). * Unusual variations of the PDM data (counteracts the Message Modification) * Accept the PDM data only if the application level accepts the packet payload (counteracts the Message Insertion) Elkins, et al. Expires 28 August 2024 [Page 16] Internet-Draft draft-ietf-ippm-encrypted-pdmv2 February 2024 * Monitor repeated or unexpected PDM data (counteracts replay attacks). 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. 8. Privacy Considerations Encryption plays a crucial role in providing privacy as defined by [RFC6973], especially when metadata sniffing is a concern. [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: a) 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 b) 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. c) 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. 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. Elkins, et al. Expires 28 August 2024 [Page 17] Internet-Draft draft-ietf-ippm-encrypted-pdmv2 February 2024 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. 9. IANA Considerations No action is needed by IANA. 10. Contributors 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. 11. References 11.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC3552] Rescorla, E. and B. Korver, "Guidelines for Writing RFC Text on Security Considerations", BCP 72, RFC 3552, DOI 10.17487/RFC3552, July 2003, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", STD 86, RFC 8200, DOI 10.17487/RFC8200, July 2017, . [RFC8250] Elkins, N., Hamilton, R., and M. Ackermann, "IPv6 Performance and Diagnostic Metrics (PDM) Destination Option", RFC 8250, DOI 10.17487/RFC8250, September 2017, . Elkins, et al. Expires 28 August 2024 [Page 18] Internet-Draft draft-ietf-ippm-encrypted-pdmv2 February 2024 11.2. Informative References [RFC1421] Linn, J., "Privacy Enhancement for Internet Electronic Mail: Part I: Message Encryption and Authentication Procedures", RFC 1421, DOI 10.17487/RFC1421, February 1993, . [RFC4303] Kent, S., "IP Encapsulating Security Payload (ESP)", RFC 4303, DOI 10.17487/RFC4303, December 2005, . [RFC6973] Cooper, A., Tschofenig, H., Aboba, B., Peterson, J., Morris, J., Hansen, M., and R. Smith, "Privacy Considerations for Internet Protocols", RFC 6973, DOI 10.17487/RFC6973, July 2013, . [RFC9180] Barnes, R., Bhargavan, K., Lipp, B., and C. Wood, "Hybrid Public Key Encryption", RFC 9180, DOI 10.17487/RFC9180, February 2022, . [RFC9288] Gont, F. and W. Liu, "Recommendations on the Filtering of IPv6 Packets Containing IPv6 Extension Headers at Transit Routers", RFC 9288, DOI 10.17487/RFC9288, August 2022, . Appendix A. Sample Implementation of Registration A.1. Overall summary 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. A.2. High level flow The following steps describe the protocol flow: 1. Client initiates a request to the Server. The request contains a list of available ciphersuites for KEM, KDF, and AEAD. 2. Server responds to the Client with one of the available ciphersuites and shares its pkX. 3. 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. Elkins, et al. Expires 28 August 2024 [Page 19] Internet-Draft draft-ietf-ippm-encrypted-pdmv2 February 2024 4. Server generates the secret with the help of the encapsulation and responds with a status message. Appendix B. Change Log Note to RFC Editor: if this document does not obsolete an existing RFC, please remove this appendix before publication as an RFC. Appendix C. Open Issues Note to RFC Editor: please remove this appendix before publication as an RFC. Authors' Addresses Nalini Elkins Inside Products, Inc. United States Email: nalini.elkins@insidethestack.com Michael Ackermann BCBS Michigan United States Email: mackermann@bcbsm.com Ameya Deshpande NITK Surathkal/Google India Email: ameyanrd@gmail.com Tommaso Pecorella University of Florence Italy Email: tommaso.pecorella@unifi.it Adnan Rashid Politecnico di Bari Italy Email: adnan.rashid@poliba.it Elkins, et al. Expires 28 August 2024 [Page 20]