rfc-8213

Security of Messages Exchanged between Servers and Relay Agents

B. Volz, Y. Pal
date2017-08 streamIETF areaint wgdhc statusPROPOSED STANDARD pages8 canonicalhttps://www.rfc-editor.org/rfc/rfc8213 doi10.17487/RFC8213
The Dynamic Host Configuration Protocol for IPv4 (DHCPv4) has no guidance for how to secure messages exchanged between servers and relay agents. The Dynamic Host Configuration Protocol for IPv6 (DHCPv6) states that IPsec should be used to secure messages exchanged between servers and relay agents but does not require encryption. With recent concerns about pervasive monitoring and other attacks, it is appropriate to require securing relay-to-relay and relay-to-server communication for DHCPv6 and relay-to-server communication for DHCPv4.

Extracted elements (20)

design-rationale §3

Public key schemes MAY be optional for key management because both relay agents and servers tend to be managed by a single organizational entity, making pre-shared secrets with IKEv2 sufficient in many deployments.

ipsec, crypto, security

design-rationale §1

This specification was motivated by concerns about pervasive monitoring (RFC 7258) and other attacks. Sensitive data in relay messages — such as the DHCPv4 Relay Agent Information option (82), vendor-specific information, and Access-Network-Identifier options — must be protected.

privacy, security, ipsec

interoperability-note §1

DHCPv4 (RFC 2131) and the Bootstrap Protocol (RFC 1542) have no existing guidance for securing relay-to-server messages; this document fills that gap by requiring IPsec with encryption for DHCPv4 relay-to-server communication.

ipsec, security

interoperability-note §3

This specification replaces the text in Section 21.1 of RFC 3315 (DHCPv6) when followed. RFC 3315 stated IPsec should be used but did not require encryption; this document upgrades that to a MUST with encryption required.

ipsec, security

normative-requirement §3 MUST

DHCP messages between relay agents and servers MUST only be accepted from DHCP peers as identified in the local configuration.

ipsec, security

normative-requirement §3 MUST

Each relay agent and server using IPsec MUST also be configured with a list of the relay agents to which messages will be returned. IPsec selectors are pairs of addresses with direction of DHCP message exchange on DHCPv4 UDP port 67 or DHCPv6 UDP port 547.

ipsec, security

normative-requirement §3 MUST

For DHCPv6, relay and server implementations MUST support IPsec encryption of relay-to-relay and relay-to-server communication. For DHCPv4, relay and server implementations MUST support IPsec encryption of relay-to-server communication.

ipsec, security

normative-requirement §3 SHOULD

IKEv2 with pre-shared secrets SHOULD be supported for key management, as manually configured keys do not provide defense against replayed messages. IKEv2 with public keys MAY be supported.

ipsec, crypto, security

normative-requirement §3 RECOMMENDED

Operators are RECOMMENDED to enable IPsec for relay-to-relay and relay-to-server DHCP communication.

ipsec, security

normative-requirement §3 MUST

Relay agents and servers MUST be able to exchange messages using the IPsec mechanisms described in RFC 4301. In a relay chain, each relay agent MUST have established independent, pairwise trust relationships with adjacent hops.

ipsec, security

normative-requirement §3 MUST

Relay agents and servers MUST use IPsec in transport mode with Encapsulating Security Payload (ESP); tunnel mode is not used for this communication.

ipsec, security

normative-requirement §3 SHOULD

Relay agents SHOULD be configured to forward DHCP messages to unicast addresses, because using IPsec with multicast has additional complexities (see RFC 5374).

ipsec, multicast, security

normative-requirement §3 REQUIRED

This document REQUIRES combined mode algorithms for ESP authenticated encryption, ESP encryption algorithms, and ESP authentication algorithms as per Sections 2.1, 2.2, and 2.3 of RFC 7321, respectively.

ipsec, crypto, security

privacy-consideration §3

By using IPsec with encryption, potentially sensitive client message data and relay-included information — such as the DHCPv4 Relay Agent Information option (82), vendor-specific options, and Access-Network-Identifier options — are protected from pervasive monitoring and other attacks.

privacy, security, ipsec

protocol-element §3

Authentication uses shared keys indexed to the source IP address of the received DHCP message, which is considered adequate for relay-to-server DHCP message authentication.

ipsec, security, crypto

protocol-element §3

Manually configured key management MAY be used but does not provide defense against replayed messages, as sequence numbers cannot be negotiated and manual keys tend to be long-lived.

ipsec, crypto, security

security-consideration §4

Even when DHCP traffic between relays and servers is encrypted on the wire, unencrypted data may still be accessible through attacks on DHCP servers, relays, or related systems. Security of databases, logs, and network transfers of that data must also be considered.

security

security-consideration §4

IPsec as described in this document is also applicable to Lightweight DHCPv6 Relay Agents (RFC 6221), as they have a link-local address that can be used to secure communication with their next-hop relay(s).

ipsec, security

security-consideration §4

Manual key management has two known limitations: replay protection cannot be provided because sequence numbers cannot be negotiated, and long-lived manual keys give attackers time to discover them.

security, ipsec, crypto

security-consideration §4

The security model is hop by hop. For DHCPv6, each relay-to-relay and relay-to-server hop must be individually secured. The exchanges between clients and the first-hop relay agent or server are not secured by this specification.

security, ipsec