rfc-5749

Distribution of EAP-Based Keys for Handover and Re-Authentication

K. Hoeper (Editor), M. Nakhjiri, Y. Ohba (Editor)
date2010-03 streamIETF areasec wghokey statusPROPOSED STANDARD pages12 canonicalhttps://www.rfc-editor.org/rfc/rfc5749 doi10.17487/RFC5749 errataview
This document describes an abstract mechanism for delivering root keys from an Extensible Authentication Protocol (EAP) server to another network server that requires the keys for offering security protected services, such as re-authentication, to an EAP peer. The distributed root key can be either a usage-specific root key (USRK), a domain-specific root key (DSRK), or a domain-specific usage- specific root key (DSUSRK) that has been derived from an Extended Master Session Key (EMSK) hierarchy previously established between the EAP server and an EAP peer. This document defines a template for a key distribution exchange (KDE) protocol that can distribute these different types of root keys using a AAA (Authentication, Authorization, and Accounting) protocol and discusses its security requirements. The described protocol template does not specify message formats, data encoding, or other implementation details. It thus needs to be instantiated with a specific protocol (e.g., RADIUS or Diameter) before it can be used. [STANDARDS-TRACK]

Extracted elements (21)

design-rationale §6.2

In explicit ERP bootstrapping, the EAP peer initiates distribution by sending an EAP-Initiate message with the bootstrapping flag set, providing cryptographic verification of peer consent via the message's integrity checksum. This contrasts with implicit bootstrapping, where the peer has no visibility into or control over key distribution.

security, crypto, mobility

design-rationale §1

The KDE mechanism is necessary because the EMSK must not leave the EAP server (per RFC 5295), yet root keys derived from the EMSK are required by other network servers for services such as re-authentication. The EAP server derives the keys and exports them to a co-located AAA server that distributes them to requesting servers.

security, crypto, mobility

design-rationale §1

The KDE specification is intentionally a protocol template that does not define message formats, data encoding, or other implementation details. It must be instantiated for a specific AAA protocol (RADIUS or Diameter) before it can be implemented, allowing reuse across different AAA deployments.

security, diameter, radius

interoperability-note §5

For ERP explicit bootstrapping, the local ER server includes a KDE-Request in the AAA message carrying the peer's EAP-Initiate (bootstrapping flag on), and the home AAA server responds with a KDE-Response in the AAA message carrying EAP-Finish (bootstrapping flag set). A AAA User-Name attribute serves as the PID.

security, diameter, radius, mobility

interoperability-note §5

For ERP implicit bootstrapping, the local ER server (acting as KRS) includes a KDE-Request in the AAA packet encapsulating the first EAP-Response message, and the home AAA server (acting as KDS) includes the KDE-Response in the AAA message carrying EAP-Success. A AAA User-Name attribute serves as the PID.

security, diameter, radius, mobility

normative-requirement §6.1 MUST

A secure key wrap algorithm MUST be used by the AAA protocol to protect the root key (RK) carried in a KDE-Response.

security, crypto, diameter, radius

normative-requirement §6.1 MUST

Any KDE attribute exchanged in a KDE-Request or KDE-Response MUST be integrity-protected and replay-protected by the underlying AAA protocol.

security, crypto, diameter, radius

normative-requirement §6.1 MUST

If a trusted AAA infrastructure does not exist, end-to-end security between KRS and KDS MUST be ensured by other means at a different layer, with the same integrity, replay, and confidentiality requirements as for AAA protocols.

security, crypto, diameter, radius

normative-requirement §6.1 SHOULD

Other confidential information in KDE messages, such as peer identifiers when privacy is a requirement, SHOULD be encrypted by the underlying AAA protocol.

security, crypto, diameter, radius

normative-requirement §4 MUST NOT

The key lifetime of each distributed root key MUST NOT be greater than that of its parent key in the EMSK key hierarchy.

security, crypto

normative-requirement §6.1 SHOULD

The use of hop-by-hop security associations along the AAA path SHOULD be limited to environments where each intermediary is trusted not to abuse the distributed key material.

security, diameter, radius

protocol-element §4.2

Scenarios 2 and 3 may be combined: the DSUSR-KH sends KDE-Request' to DSR-KH, which simultaneously forwards KDE-Request to the EAP/AAA server; responses flow back along the same path as KDE-Response and KDE-Response'. This collapses two serial round-trips into one.

security, crypto, diameter, radius

protocol-element §4.1

The key context of each distributed key is determined by the sequence of key types (KTs) in the key hierarchy. The key scope is determined by the sequence of (PID, KT, KL)-tuples in the hierarchy plus the KRS identifier. The KDF binds both context and scope into the derived key.

security, crypto

protocol-element §3

The key delivery architecture distinguishes a Key Delivering Server (KDS), which holds the EMSK or DSRK and derives and distributes root keys, from a Key Requesting Server (KRS), which is authorized to request root keys and uses them to derive keying material for its services. The EAP/AAA server and DSR-KH can act as KDS; USR-KH, DSR-KH, and DSUSR-KH can act as KRS.

security, crypto, diameter, radius, mobility

protocol-element §4

The Key Delivery Token (KDT) is a tuple (KT, KL, RK, KN_RK, LT_RK) sent by the KDS in a KDE-Response. It carries the root key (RK) to be distributed, its type (KT), label (KL), key name (KN_RK), and lifetime (LT_RK).

security, crypto, diameter, radius

protocol-element §4

The Key Distribution Exchange (KDE) is an abstract protocol template for distributing EMSK-derived root keys (USRK, DSRK, DSUSRK) from a Key Delivering Server (KDS) to a Key Requesting Server (KRS) over a AAA protocol. It consists of one round-trip: a KDE-Request carrying a Key Request Token (KRT) and a KDE-Response carrying a Key Delivery Token (KDT). The template must be instantiated for a specific AAA protocol (e.g., RADIUS or Diameter) before it can be implemented.

security, crypto, diameter, radius

protocol-element §4

The Key Request Token (KRT) is a tuple (PID, KT, KL) sent by the KRS in a KDE-Request. PID identifies the EAP peer, KT specifies the type of root key requested (DSRK, USRK, or DSUSRK), and KL is the key label as defined in RFC 5295.

security, crypto, diameter, radius

protocol-element §4.2

Three KDE scenarios exist based on key type: (1) EAP/AAA server delivers USRK to USR-KH; (2) EAP/AAA server delivers DSRK to DSR-KH; (3) DSR-KH delivers DSUSRK to DSUSR-KH within a domain. Scenarios 2 and 3 can be combined into a single round-trip exchange.

security, crypto, diameter, radius, mobility

security-consideration §6.1

AAA protocols carrying KDE messages must provide integrity protection, replay protection, and key wrap for the root key. Confidential fields such as peer identifiers should be encrypted. These requirements apply both to the direct AAA transport and to any end-to-end security layer used when the AAA path is not fully trusted.

security, crypto, diameter, radius

security-consideration §6.1

Hop-by-hop AAA security means each intermediary (e.g., AAA proxy) on the path between KRS and KDS can access the distributed root key. In the absence of a fully trusted AAA infrastructure, end-to-end security mechanisms must be applied to protect key material between KRS and KDS.

security, diameter, radius

security-consideration §6.2

In implicit ERP bootstrapping, the EAP peer is unaware that its root keys are being distributed; there is no cryptographic verification of peer consent. A KRS can obtain a root key even if the peer does not support ERP, potentially wasting resources when EAP-Initiate/Re-auth-Start messages are silently dropped by the peer.

security, crypto, mobility