diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc5247.txt | |
parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc5247.txt')
-rw-r--r-- | doc/rfc/rfc5247.txt | 4427 |
1 files changed, 4427 insertions, 0 deletions
diff --git a/doc/rfc/rfc5247.txt b/doc/rfc/rfc5247.txt new file mode 100644 index 0000000..f5ed788 --- /dev/null +++ b/doc/rfc/rfc5247.txt @@ -0,0 +1,4427 @@ + + + + + + +Network Working Group B. Aboba +Request for Comments: 5247 D. Simon +Updates: 3748 Microsoft Corporation +Category: Standards Track P. Eronen + Nokia + August 2008 + + + Extensible Authentication Protocol (EAP) Key Management Framework + +Status of This Memo + + This document specifies an Internet standards track protocol for the + Internet community, and requests discussion and suggestions for + improvements. Please refer to the current edition of the "Internet + Official Protocol Standards" (STD 1) for the standardization state + and status of this protocol. Distribution of this memo is unlimited. + +Abstract + + The Extensible Authentication Protocol (EAP), defined in RFC 3748, + enables extensible network access authentication. This document + specifies the EAP key hierarchy and provides a framework for the + transport and usage of keying material and parameters generated by + EAP authentication algorithms, known as "methods". It also provides + a detailed system-level security analysis, describing the conditions + under which the key management guidelines described in RFC 4962 can + be satisfied. + + + + + + + + + + + + + + + + + + + + + + + +Aboba, et al. Standards Track [Page 1] + +RFC 5247 EAP Key Management Framework August 2008 + + +Table of Contents + + 1. Introduction ....................................................3 + 1.1. Requirements Language ......................................3 + 1.2. Terminology ................................................3 + 1.3. Overview ...................................................7 + 1.4. EAP Key Hierarchy .........................................10 + 1.5. Security Goals ............................................15 + 1.6. EAP Invariants ............................................16 + 2. Lower-Layer Operation ..........................................20 + 2.1. Transient Session Keys ....................................20 + 2.2. Authenticator and Peer Architecture .......................22 + 2.3. Authenticator Identification ..............................23 + 2.4. Peer Identification .......................................27 + 2.5. Server Identification .....................................29 + 3. Security Association Management ................................31 + 3.1. Secure Association Protocol ...............................32 + 3.2. Key Scope .................................................35 + 3.3. Parent-Child Relationships ................................35 + 3.4. Local Key Lifetimes .......................................37 + 3.5. Exported and Calculated Key Lifetimes .....................37 + 3.6. Key Cache Synchronization .................................40 + 3.7. Key Strength ..............................................40 + 3.8. Key Wrap ..................................................41 + 4. Handoff Vulnerabilities ........................................41 + 4.1. EAP Pre-Authentication ....................................43 + 4.2. Proactive Key Distribution ................................44 + 4.3. AAA Bypass ................................................46 + 5. Security Considerations ........................................50 + 5.1. Peer and Authenticator Compromise .........................51 + 5.2. Cryptographic Negotiation .................................53 + 5.3. Confidentiality and Authentication ........................54 + 5.4. Key Binding ...............................................59 + 5.5. Authorization .............................................60 + 5.6. Replay Protection .........................................63 + 5.7. Key Freshness .............................................64 + 5.8. Key Scope Limitation ......................................66 + 5.9. Key Naming ................................................66 + 5.10. Denial-of-Service Attacks ................................67 + 6. References .....................................................68 + 6.1. Normative References ......................................68 + 6.2. Informative References ....................................68 + Acknowledgments ...................................................74 + Appendix A - Exported Parameters in Existing Methods ..............75 + + + + + + + +Aboba, et al. Standards Track [Page 2] + +RFC 5247 EAP Key Management Framework August 2008 + + +1. Introduction + + The Extensible Authentication Protocol (EAP), defined in [RFC3748], + was designed to enable extensible authentication for network access + in situations in which the Internet Protocol (IP) protocol is not + available. Originally developed for use with Point-to-Point Protocol + (PPP) [RFC1661], it has subsequently also been applied to IEEE 802 + wired networks [IEEE-802.1X], Internet Key Exchange Protocol version + 2 (IKEv2) [RFC4306], and wireless networks such as [IEEE-802.11] and + [IEEE-802.16e]. + + EAP is a two-party protocol spoken between the EAP peer and server. + Within EAP, keying material is generated by EAP authentication + algorithms, known as "methods". Part of this keying material can be + used by EAP methods themselves, and part of this material can be + exported. In addition to the export of keying material, EAP methods + can also export associated parameters such as authenticated peer and + server identities and a unique EAP conversation identifier, and can + import and export lower-layer parameters known as "channel binding + parameters", or simply "channel bindings". + + This document specifies the EAP key hierarchy and provides a + framework for the transport and usage of keying material and + parameters generated by EAP methods. It also provides a detailed + security analysis, describing the conditions under which the + requirements described in "Guidance for Authentication, + Authorization, and Accounting (AAA) Key Management" [RFC4962] can be + satisfied. + +1.1. Requirements Language + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", + "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this + document are to be interpreted as described in [RFC2119]. + +1.2. Terminology + + The terms "Cryptographic binding", "Cryptographic separation", "Key + strength" and "Mutual authentication" are defined in [RFC3748] and + are used with the same meaning in this document, which also + frequently uses the following terms: + + 4-Way Handshake + A pairwise Authentication and Key Management Protocol (AKMP) + defined in [IEEE-802.11], which confirms mutual possession of a + Pairwise Master Key by two parties and distributes a Group Key. + + + + + +Aboba, et al. Standards Track [Page 3] + +RFC 5247 EAP Key Management Framework August 2008 + + + AAA Authentication, Authorization, and Accounting + AAA protocols with EAP support include "RADIUS Support for EAP" + [RFC3579] and "Diameter EAP Application" [RFC4072]. In this + document, the terms "AAA server" and "backend authentication + server" are used interchangeably. + + AAA-Key + The term AAA-Key is synonymous with Master Session Key (MSK). + Since multiple keys can be transported by AAA, the term is + potentially confusing and is not used in this document. + + Authenticator + The entity initiating EAP authentication. + + Backend Authentication Server + A backend authentication server is an entity that provides an + authentication service to an authenticator. When used, this + server typically executes EAP methods for the authenticator. This + terminology is also used in [IEEE-802.1X]. + + Channel Binding + A secure mechanism for ensuring that a subset of the parameters + transmitted by the authenticator (such as authenticator + identifiers and properties) are agreed upon by the EAP peer and + server. It is expected that the parameters are also securely + agreed upon by the EAP peer and authenticator via the lower layer + if the authenticator advertised the parameters. + + Derived Keying Material + Keys derived from EAP keying material, such as Transient Session + Keys (TSKs). + + EAP Keying Material + Keys derived by an EAP method; this includes exported keying + material (MSK, Extended MSK (EMSK), Initialization Vector (IV)) as + well as local keying material such as Transient EAP Keys (TEKs). + + EAP Pre-Authentication + The use of EAP to pre-establish EAP keying material on an + authenticator prior to arrival of the peer at the access network + managed by that authenticator. + + EAP Re-Authentication + EAP authentication between an EAP peer and a server with whom the + EAP peer shares valid unexpired EAP keying material. + + + + + + +Aboba, et al. Standards Track [Page 4] + +RFC 5247 EAP Key Management Framework August 2008 + + + EAP Server + The entity that terminates the EAP authentication method with the + peer. In the case where no backend authentication server is used, + the EAP server is part of the authenticator. In the case where + the authenticator operates in pass-through mode, the EAP server is + located on the backend authentication server. + + Exported Keying Material + The EAP Master Session Key (MSK), Extended Master Session Key + (EMSK), and Initialization Vector (IV). + + Extended Master Session Key (EMSK) + Additional keying material derived between the peer and server + that is exported by the EAP method. The EMSK is at least 64 + octets in length and is never shared with a third party. The EMSK + MUST be at least as long as the MSK in size. + + Initialization Vector (IV) + A quantity of at least 64 octets, suitable for use in an + initialization vector field, that is derived between the peer and + EAP server. Since the IV is a known value in methods such as + EAP-TLS (Transport Layer Security) [RFC5216], it cannot be used by + itself for computation of any quantity that needs to remain + secret. As a result, its use has been deprecated and it is + OPTIONAL for EAP methods to generate it. However, when it is + generated, it MUST be unpredictable. + + Keying Material + Unless otherwise qualified, the term "keying material" refers to + EAP keying material as well as derived keying material. + + Key Scope + The parties to whom a key is available. + + Key Wrap + The encryption of one symmetric cryptographic key in another. The + algorithm used for the encryption is called a key wrap algorithm + or a key encryption algorithm. The key used in the encryption + process is called a key-encryption key (KEK). + + Long-Term Credential + EAP methods frequently make use of long-term secrets in order to + enable authentication between the peer and server. In the case of + a method based on pre-shared key authentication, the long-term + credential is the pre-shared key. In the case of a + public-key-based method, the long-term credential is the + corresponding private key. + + + + +Aboba, et al. Standards Track [Page 5] + +RFC 5247 EAP Key Management Framework August 2008 + + + Lower Layer + The lower layer is responsible for carrying EAP frames between the + peer and authenticator. + + Lower-Layer Identity + A name used to identify the EAP peer and authenticator within the + lower layer. + + Master Session Key (MSK) + Keying material that is derived between the EAP peer and server + and exported by the EAP method. The MSK is at least 64 octets in + length. + + Network Access Server (NAS) + A device that provides an access service for a user to a network. + + Pairwise Master Key (PMK) + Lower layers use the MSK in a lower-layer dependent manner. For + instance, in IEEE 802.11 [IEEE-802.11], Octets 0-31 of the MSK are + known as the Pairwise Master Key (PMK); the Temporal Key Integrity + Protocol (TKIP) and Advanced Encryption Standard Counter Mode with + CBC-MAC Protocol (AES CCMP) ciphersuites derive their Transient + Session Keys (TSKs) solely from the PMK, whereas the Wired + Equivalent Privacy (WEP) ciphersuite, as noted in "IEEE 802.1X + RADIUS Usage Guidelines" [RFC3580], derives its TSKs from both + halves of the MSK. In [IEEE-802.16e], the MSK is truncated to 20 + octets for PMK and 20 octets for PMK2. + + Peer + The entity that responds to the authenticator. In [IEEE-802.1X], + this entity is known as the Supplicant. + + Security Association + A set of policies and cryptographic state used to protect + information. Elements of a security association include + cryptographic keys, negotiated ciphersuites and other parameters, + counters, sequence spaces, authorization attributes, etc. + + Secure Association Protocol + An exchange that occurs between the EAP peer and authenticator in + order to manage security associations derived from EAP exchanges. + The protocol establishes unicast and (optionally) multicast + security associations, which include symmetric keys and a context + for the use of the keys. An example of a Secure Association + Protocol is the 4-way handshake defined within [IEEE-802.11]. + + + + + + +Aboba, et al. Standards Track [Page 6] + +RFC 5247 EAP Key Management Framework August 2008 + + + Session-Id + The EAP Session-Id uniquely identifies an EAP authentication + exchange between an EAP peer (as identified by the Peer-Id(s)) and + server (as identified by the Server-Id(s)). For more information, + see Section 1.4. + + Transient EAP Keys (TEKs) + Session keys that are used to establish a protected channel + between the EAP peer and server during the EAP authentication + exchange. The TEKs are appropriate for use with the ciphersuite + negotiated between EAP peer and server for use in protecting the + EAP conversation. The TEKs are stored locally by the EAP method + and are not exported. Note that the ciphersuite used to set up + the protected channel between the EAP peer and server during EAP + authentication is unrelated to the ciphersuite used to + subsequently protect data sent between the EAP peer and + authenticator. + + Transient Session Keys (TSKs) + Keys used to protect data exchanged after EAP authentication has + successfully completed using the ciphersuite negotiated between + the EAP peer and authenticator. + +1.3. Overview + + Where EAP key derivation is supported, the conversation typically + takes place in three phases: + + Phase 0: Discovery + Phase 1: Authentication + 1a: EAP authentication + 1b: AAA Key Transport (optional) + Phase 2: Secure Association Protocol + 2a: Unicast Secure Association + 2b: Multicast Secure Association (optional) + + Of these phases, phase 0, 1b, and 2 are handled external to EAP. + phases 0 and 2 are handled by the lower-layer protocol, and phase 1b + is typically handled by a AAA protocol. + + In the discovery phase (phase 0), peers locate authenticators and + discover their capabilities. A peer can locate an authenticator + providing access to a particular network, or a peer can locate an + authenticator behind a bridge with which it desires to establish a + Secure Association. Discovery can occur manually or automatically, + depending on the lower layer over which EAP runs. + + + + + +Aboba, et al. Standards Track [Page 7] + +RFC 5247 EAP Key Management Framework August 2008 + + + The authentication phase (phase 1) can begin once the peer and + authenticator discover each other. This phase, if it occurs, always + includes EAP authentication (phase 1a). Where the chosen EAP method + supports key derivation, in phase 1a, EAP keying material is derived + on both the peer and the EAP server. + + An additional step (phase 1b) is needed in deployments that include a + backend authentication server, in order to transport keying material + from the backend authentication server to the authenticator. In + order to obey the principle of mode independence (see Section 1.6.1), + where a backend authentication server is present, all keying material + needed by the lower layer is transported from the EAP server to the + authenticator. Since existing TSK derivation and transport + techniques depend solely on the MSK, in existing implementations, + this is the only keying material replicated in the AAA key transport + phase 1b. + + Successful completion of EAP authentication and key derivation by a + peer and EAP server does not necessarily imply that the peer is + committed to joining the network associated with an EAP server. + Rather, this commitment is implied by the creation of a security + association between the EAP peer and authenticator, as part of the + Secure Association Protocol (phase 2). The Secure Association + Protocol exchange (phase 2) occurs between the peer and authenticator + in order to manage the creation and deletion of unicast (phase 2a) + and multicast (phase 2b) security associations between the peer and + authenticator. The conversation between the parties is shown in + Figure 1. + + EAP peer Authenticator Auth. Server + -------- ------------- ------------ + |<----------------------------->| | + | Discovery (phase 0) | | + |<----------------------------->|<----------------------------->| + | EAP auth (phase 1a) | AAA pass-through (optional) | + | | | + | |<----------------------------->| + | | AAA Key transport | + | | (optional; phase 1b) | + |<----------------------------->| | + | Unicast Secure association | | + | (phase 2a) | | + | | | + |<----------------------------->| | + | Multicast Secure association | | + | (optional; phase 2b) | | + | | | + + + + +Aboba, et al. Standards Track [Page 8] + +RFC 5247 EAP Key Management Framework August 2008 + + + Figure 1: Conversation Overview + +1.3.1. Examples + + Existing EAP lower layers implement phase 0, 2a, and 2b in different + ways: + + PPP + The Point-to-Point Protocol (PPP), defined in [RFC1661], does not + support discovery, nor does it include a Secure Association + Protocol. + + PPPoE + PPP over Ethernet (PPPoE), defined in [RFC2516], includes support + for a Discovery stage (phase 0). In this step, the EAP peer sends + a PPPoE Active Discovery Initiation (PADI) packet to the broadcast + address, indicating the service it is requesting. The Access + Concentrator replies with a PPPoE Active Discovery Offer (PADO) + packet containing its name, the service name, and an indication of + the services offered by the concentrator. The discovery phase is + not secured. PPPoE, like PPP, does not include a Secure + Association Protocol. + + IKEv2 + Internet Key Exchange v2 (IKEv2), defined in [RFC4306], includes + support for EAP and handles the establishment of unicast security + associations (phase 2a). However, the establishment of multicast + security associations (phase 2b) typically does not involve EAP + and needs to be handled by a group key management protocol such as + Group Domain of Interpretation (GDOI) [RFC3547], Group Secure + Association Key Management Protocol (GSAKMP) [RFC4535], Multimedia + Internet KEYing (MIKEY) [RFC3830], or Group Key Distribution + Protocol (GKDP) [GKDP]. Several mechanisms have been proposed for + the discovery of IPsec security gateways. [RFC2230] discusses the + use of Key eXchange (KX) Resource Records (RRs) for IPsec gateway + discovery; while KX RRs are supported by many Domain Name Service + (DNS) server implementations, they have not yet been widely + deployed. Alternatively, DNS SRV RRs [RFC2782] can be used for + this purpose. Where DNS is used for gateway location, DNS + security mechanisms such as DNS Security (DNSSEC) ([RFC4033], + [RFC4035]), TSIG [RFC2845], and Simple Secure Dynamic Update + [RFC3007] are available. + + IEEE 802.11 + IEEE 802.11, defined in [IEEE-802.11], handles discovery via the + Beacon and Probe Request/Response mechanisms. IEEE 802.11 Access + Points (APs) periodically announce their Service Set Identifiers + (SSIDs) as well as capabilities using Beacon frames. Stations can + + + +Aboba, et al. Standards Track [Page 9] + +RFC 5247 EAP Key Management Framework August 2008 + + + query for APs by sending a Probe Request. Neither Beacon nor + Probe Request/Response frames are secured. The 4-way handshake + defined in [IEEE-802.11] enables the derivation of unicast (phase + 2a) and multicast/broadcast (phase 2b) secure associations. Since + the group key exchange transports a group key from the AP to the + station, two 4-way handshakes can be needed in order to support + peer-to-peer communications. A proof of the security of the IEEE + 802.11 4-way handshake, when used with EAP-TLS, is provided in + [He]. + + IEEE 802.1X + IEEE 802.1X-2004, defined in [IEEE-802.1X], does not support + discovery (phase 0), nor does it provide for derivation of unicast + or multicast secure associations. + +1.4. EAP Key Hierarchy + + As illustrated in Figure 2, the EAP method key derivation has, at the + root, the long-term credential utilized by the selected EAP method. + If authentication is based on a pre-shared key, the parties store the + EAP method to be used and the pre-shared key. The EAP server also + stores the peer's identity as well as additional information. This + information is typically used outside of the EAP method to determine + whether to grant access to a service. The peer stores information + necessary to choose which secret to use for which service. + + If authentication is based on proof of possession of the private key + corresponding to the public key contained within a certificate, the + parties store the EAP method to be used and the trust anchors used to + validate the certificates. The EAP server also stores the peer's + identity, and the peer stores information necessary to choose which + certificate to use for which service. Based on the long-term + credential established between the peer and the server, methods + derive two types of EAP keying material: + + (a) Keying material calculated locally by the EAP method but not + exported, such as the Transient EAP Keys (TEKs). + + (b) Keying material exported by the EAP method: Master Session Key + (MSK), Extended Master Session Key (EMSK), Initialization + Vector (IV). + + As noted in [RFC3748] Section 7.10: + + In order to provide keying material for use in a subsequently + negotiated ciphersuite, an EAP method supporting key derivation + MUST export a Master Session Key (MSK) of at least 64 octets, and + an Extended Master Session Key (EMSK) of at least 64 octets. + + + +Aboba, et al. Standards Track [Page 10] + +RFC 5247 EAP Key Management Framework August 2008 + + + EAP methods also MAY export the IV; however, the use of the IV is + deprecated. The EMSK MUST NOT be provided to an entity outside the + EAP server or peer, nor is it permitted to pass any quantity to an + entity outside the EAP server or peer from which the EMSK could be + computed without breaking some cryptographic assumption, such as + inverting a one-way function. + + EAP methods supporting key derivation and mutual authentication + SHOULD export a method-specific EAP conversation identifier known as + the Session-Id, as well as one or more method-specific peer + identifiers (Peer-Id(s)) and MAY export one or more method-specific + server identifiers (Server-Id(s)). EAP methods MAY also support the + import and export of channel binding parameters. EAP method + specifications developed after the publication of this document MUST + define the Peer-Id, Server-Id, and Session-Id. The Peer-Id(s) and + Server-Id(s), when provided, identify the entities involved in + generating EAP keying material. For existing EAP methods, the + Peer-Id, Server-Id, and Session-Id are defined in Appendix A. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Aboba, et al. Standards Track [Page 11] + +RFC 5247 EAP Key Management Framework August 2008 + + ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ +| | ^ +| EAP Method | | +| | | +| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+ | | +| | | | | | | +| | EAP Method Key |<->| Long-Term | | | +| | Derivation | | Credential | | | +| | | | | | | +| | | +-+-+-+-+-+-+-+ | Local to | +| | | | EAP | +| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Method | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+-+ | | +| | | TEK | |MSK, EMSK | |IV | | | +| | |Derivation | |Derivation | |Derivation | | | +| | | | | | |(Deprecated) | | | +| | +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+-+ | | +| | ^ | | | | +| | | | | | V ++-+-|-+-+-+-+-+-+-+-|-+-+-+-+-+-+-|-+-+-+-+-+-+-+-|-+-+-+-+ ---+ + | | | | ^ + | | | | Exported | + | Peer-Id(s), | channel | MSK (64+B) | IV (64B) by | + | Server-Id(s), | bindings | EMSK (64+B) | (Optional) EAP | + | Session-Id | & Result | | Method | + V V V V V + + Figure 2: EAP Method Parameter Import/Export + + Peer-Id + + If an EAP method that generates keys authenticates one or more + method-specific peer identities, those identities are exported by + the method as the Peer-Id(s). It is possible for more than one + Peer-Id to be exported by an EAP method. Not all EAP methods + provide a method-specific peer identity; where this is not + defined, the Peer-Id is the null string. In EAP methods that do + not support key generation, the Peer-Id MUST be the null string. + Where an EAP method that derives keys does not provide a Peer-Id, + the EAP server will not authenticate the identity of the EAP peer + with which it derived keying material. + + + + + + +Aboba, et al. Standards Track [Page 12] + +RFC 5247 EAP Key Management Framework August 2008 + + + Server-Id + + If an EAP method that generates keys authenticates one or more + method-specific server identities, those identities are exported + by the method as the Server-Id(s). It is possible for more than + one Server-Id to be exported by an EAP method. Not all EAP + methods provide a method-specific server identity; where this is + not defined, the Server-Id is the null string. If the EAP method + does not generate keying material, the Server-Id MUST be the null + string. Where an EAP method that derives keys does not provide a + Server-Id, the EAP peer will not authenticate the identity of the + EAP server with which it derived EAP keying material. + + Session-Id + + The Session-Id uniquely identifies an EAP session between an EAP + peer (as identified by the Peer-Id) and server (as identified by + the Server-Id). Where non-expanded EAP Type Codes are used (EAP + Type Code not equal to 254), the EAP Session-Id is the + concatenation of the single octet EAP Type Code and a temporally + unique identifier obtained from the method (known as the + Method-Id): + + + Session-Id = Type-Code || Method-Id + + Where expanded EAP Type Codes are used, the EAP Session-Id + consists of the Expanded Type Code (including the Type, Vendor-Id + (in network byte order) and Vendor-Type fields (in network byte + order) defined in [RFC3748] Section 5.7), concatenated with a + temporally unique identifier obtained from the method (Method-Id): + + Session-Id = 0xFE || Vendor-Id || Vendor-Type || Method-Id + + The Method-Id is typically constructed from nonces or counters + used within the EAP method exchange. The inclusion of the Type + Code or Expanded Type Code in the EAP Session-Id ensures that each + EAP method has a distinct Session-Id space. Since an EAP session + is not bound to a particular authenticator or specific ports on + the peer and authenticator, the authenticator port or identity are + not included in the Session-Id. + + + + + + + + + + +Aboba, et al. Standards Track [Page 13] + +RFC 5247 EAP Key Management Framework August 2008 + + + Channel Binding + + Channel binding is the process by which lower-layer parameters are + verified for consistency between the EAP peer and server. In + order to avoid introducing media dependencies, EAP methods that + transport channel binding parameters MUST treat this data as + opaque octets. See Section 5.3.3 for further discussion. + +1.4.1. Key Naming + + Each key created within the EAP key management framework has a name + (a unique identifier), as well as a scope (the parties to whom the + key is available). The scope of exported keying material and TEKs is + defined by the authenticated method-specific peer identities + (Peer-Id(s)) and the authenticated server identities (Server-Id(s)), + where available. + + MSK and EMSK Names + The MSK and EMSK are exported by the EAP peer and EAP server, + and MUST be named using the EAP Session-Id and a binary or + textual indication of the EAP keying material being referred to. + + PMK Name + This document does not specify a naming scheme for the Pairwise + Master Key (PMK). The PMK is only identified by the name of the + key from which it is derived. + + Note: IEEE 802.11 names the PMK for the purposes of being able + to refer to it in the Secure Association Protocol; the PMK name + (known as the PMKID) is based on a hash of the PMK itself as + well as some other parameters (see [IEEE-802.11] Section + 8.5.1.2). + + TEK Name + Transient EAP Keys (TEKs) MAY be named; their naming is + specified in the EAP method specification. + + TSK Name + Transient Session Keys (TSKs) are typically named. Their naming + is specified in the lower layer so that the correct set of TSKs + can be identified for processing a given packet. + + + + + + + + + + +Aboba, et al. Standards Track [Page 14] + +RFC 5247 EAP Key Management Framework August 2008 + + +1.5. Security Goals + + The goal of the EAP conversation is to derive fresh session keys + between the EAP peer and authenticator that are known only to those + parties, and for both the EAP peer and authenticator to demonstrate + that they are authorized to perform their roles either by each other + or by a trusted third party (the backend authentication server). + + Completion of an EAP method exchange (phase 1a) supporting key + derivation results in the derivation of EAP keying material (MSK, + EMSK, TEKs) known only to the EAP peer (identified by the Peer-Id(s)) + and EAP server (identified by the Server-Id(s)). Both the EAP peer + and EAP server know this keying material to be fresh. The Peer-Id + and Server-Id are discussed in Sections 1.4, 2.4, and 2.5 as well as + in Appendix A. Key freshness is discussed in Sections 3.4, 3.5, and + 5.7. + + Completion of the AAA exchange (phase 1b) results in the transport of + keying material from the EAP server (identified by the Server-Id(s)) + to the EAP authenticator (identified by the NAS-Identifier) without + disclosure to any other party. Both the EAP server and EAP + authenticator know this keying material to be fresh. Disclosure + issues are discussed in Sections 3.8 and 5.3; security properties of + AAA protocols are discussed in Sections 5.1 - 5.9. + + The backend authentication server is trusted to transport keying + material only to the authenticator that was established with the + peer, and it is trusted to transport that keying material to no other + parties. In many systems, EAP keying material established by the EAP + peer and EAP server are combined with publicly available data to + derive other keys. The backend authentication server is trusted to + refrain from deriving these same keys or acting as a + man-in-the-middle even though it has access to the keying material + that is needed to do so. + + The authenticator is also a trusted party. The authenticator is + trusted not to distribute keying material provided by the backend + authentication server to any other parties. If the authenticator + uses a key derivation function to derive additional keying material, + the authenticator is trusted to distribute the derived keying + material only to the appropriate party that is known to the peer, and + no other party. When this approach is used, care must be taken to + ensure that the resulting key management system meets all of the + principles in [RFC4962], confirming that keys used to protect data + are to be known only by the peer and authenticator. + + + + + + +Aboba, et al. Standards Track [Page 15] + +RFC 5247 EAP Key Management Framework August 2008 + + + Completion of the Secure Association Protocol (phase 2) results in + the derivation or transport of Transient Session Keys (TSKs) known + only to the EAP peer (identified by the Peer-Id(s)) and authenticator + (identified by the NAS-Identifier). Both the EAP peer and + authenticator know the TSKs to be fresh. Both the EAP peer and + authenticator demonstrate that they are authorized to perform their + roles. Authorization issues are discussed in Sections 4.3.2 and 5.5; + security properties of Secure Association Protocols are discussed in + Section 3.1. + +1.6. EAP Invariants + + Certain basic characteristics, known as "EAP Invariants", hold true + for EAP implementations: + + Mode independence + Media independence + Method independence + Ciphersuite independence + +1.6.1. Mode Independence + + EAP is typically deployed to support extensible network access + authentication in situations where a peer desires network access via + one or more authenticators. Where authenticators are deployed + standalone, the EAP conversation occurs between the peer and + authenticator, and the authenticator locally implements one or more + EAP methods. However, when utilized in "pass-through" mode, EAP + enables the deployment of new authentication methods without + requiring the development of new code on the authenticator. + + While the authenticator can implement some EAP methods locally and + use those methods to authenticate local users, it can at the same + time act as a pass-through for other users and methods, forwarding + EAP packets back and forth between the backend authentication server + and the peer. This is accomplished by encapsulating EAP packets + within the Authentication, Authorization, and Accounting (AAA) + protocol spoken between the authenticator and backend authentication + server. AAA protocols supporting EAP include RADIUS [RFC3579] and + Diameter [RFC4072]. + + It is a fundamental property of EAP that at the EAP method layer, the + conversation between the EAP peer and server is unaffected by whether + the EAP authenticator is operating in "pass-through" mode. EAP + methods operate identically in all aspects, including key derivation + and parameter import/export, regardless of whether or not the + authenticator is operating as a pass-through. + + + + +Aboba, et al. Standards Track [Page 16] + +RFC 5247 EAP Key Management Framework August 2008 + + + The successful completion of an EAP method that supports key + derivation results in the export of EAP keying material and + parameters on the EAP peer and server. Even though the EAP peer or + server can import channel binding parameters that can include the + identity of the EAP authenticator, this information is treated as + opaque octets. As a result, within EAP, the only relevant identities + are the Peer-Id(s) and Server-Id(s). Channel binding parameters are + only interpreted by the lower layer. + + Within EAP, the primary function of the AAA protocol is to maintain + the principle of mode independence. As far as the EAP peer is + concerned, its conversation with the EAP authenticator, and all + consequences of that conversation, are identical, regardless of the + authenticator mode of operation. + +1.6.2. Media Independence + + One of the goals of EAP is to allow EAP methods to function on any + lower layer meeting the criteria outlined in [RFC3748] Section 3.1. + For example, as described in [RFC3748], EAP authentication can be run + over PPP [RFC1661], IEEE 802 wired networks [IEEE-802.1X], and + wireless networks such as 802.11 [IEEE-802.11] and 802.16 + [IEEE-802.16e]. + + In order to maintain media independence, it is necessary for EAP to + avoid consideration of media-specific elements. For example, EAP + methods cannot be assumed to have knowledge of the lower layer over + which they are transported, and cannot be restricted to identifiers + associated with a particular usage environment (e.g., Medium Access + Control (MAC) addresses). + + Note that media independence can be retained within EAP methods that + support channel binding or method-specific identification. An EAP + method need not be aware of the content of an identifier in order to + use it. This enables an EAP method to use media-specific identifiers + such as MAC addresses without compromising media independence. + Channel binding parameters are treated as opaque octets by EAP + methods so that handling them does not require media-specific + knowledge. + + + + + + + + + + + + +Aboba, et al. Standards Track [Page 17] + +RFC 5247 EAP Key Management Framework August 2008 + + +1.6.3. Method Independence + + By enabling pass-through, authenticators can support any method + implemented on the peer and server, not just locally implemented + methods. This allows the authenticator to avoid having to implement + the EAP methods configured for use by peers. In fact, since a + pass-through authenticator need not implement any EAP methods at all, + it cannot be assumed to support any EAP method-specific code. As + noted in [RFC3748] Section 2.3: + + Compliant pass-through authenticator implementations MUST by + default forward EAP packets of any Type. + + This is useful where there is no single EAP method that is both + mandatory to implement and offers acceptable security for the media + in use. For example, the [RFC3748] mandatory-to-implement EAP method + (MD5-Challenge) does not provide dictionary attack resistance, mutual + authentication, or key derivation, and as a result, is not + appropriate for use in Wireless Local Area Network (WLAN) + authentication [RFC4017]. However, despite this, it is possible for + the peer and authenticator to interoperate as long as a suitable EAP + method is supported both on the EAP peer and server. + +1.6.4. Ciphersuite Independence + + Ciphersuite Independence is a requirement for media independence. + Since lower-layer ciphersuites vary between media, media independence + requires that exported EAP keying material be large enough (with + sufficient entropy) to handle any ciphersuite. + + While EAP methods can negotiate the ciphersuite used in protection of + the EAP conversation, the ciphersuite used for the protection of the + data exchanged after EAP authentication has completed is negotiated + between the peer and authenticator within the lower layer, outside of + EAP. + + For example, within PPP, the ciphersuite is negotiated within the + Encryption Control Protocol (ECP) defined in [RFC1968], after EAP + authentication is completed. Within [IEEE-802.11], the AP + ciphersuites are advertised in the Beacon and Probe Responses prior + to EAP authentication and are securely verified during a 4-way + handshake exchange. + + + + + + + + + +Aboba, et al. Standards Track [Page 18] + +RFC 5247 EAP Key Management Framework August 2008 + + + Since the ciphersuites used to protect data depend on the lower + layer, requiring that EAP methods have knowledge of lower-layer + ciphersuites would compromise the principle of media independence. + As a result, methods export EAP keying material that is ciphersuite + independent. Since ciphersuite negotiation occurs in the lower + layer, there is no need for lower-layer ciphersuite negotiation + within EAP. + + In order to allow a ciphersuite to be usable within the EAP keying + framework, the ciphersuite specification needs to describe how TSKs + suitable for use with the ciphersuite are derived from exported EAP + keying material. To maintain method independence, algorithms for + deriving TSKs MUST NOT depend on the EAP method, although algorithms + for TEK derivation MAY be specific to the EAP method. + + Advantages of ciphersuite-independence include: + + Reduced update requirements + Ciphersuite independence enables EAP methods to be used with new + ciphersuites without requiring the methods to be updated. If + EAP methods were to specify how to derive transient session keys + for each ciphersuite, they would need to be updated each time a + new ciphersuite is developed. In addition, backend + authentication servers might not be usable with all EAP-capable + authenticators, since the backend authentication server would + also need to be updated each time support for a new ciphersuite + is added to the authenticator. + + Reduced EAP method complexity + Ciphersuite independence enables EAP methods to avoid having to + include ciphersuite-specific code. Requiring each EAP method to + include ciphersuite-specific code for transient session key + derivation would increase method complexity and result in + duplicated effort. + + Simplified configuration + Ciphersuite independence enables EAP method implementations on + the peer and server to avoid having to configure + ciphersuite-specific parameters. The ciphersuite is negotiated + between the peer and authenticator outside of EAP. Where the + authenticator operates in "pass-through" mode, the EAP server is + not a party to this negotiation, nor is it involved in the data + flow between the EAP peer and authenticator. As a result, the + EAP server does not have knowledge of the ciphersuites and + negotiation policies implemented by the peer and authenticator, + nor is it aware of the ciphersuite negotiated between them. For + example, since Encryption Control Protocol (ECP) negotiation + occurs after authentication, when run over PPP, the EAP peer and + + + +Aboba, et al. Standards Track [Page 19] + +RFC 5247 EAP Key Management Framework August 2008 + + + server cannot anticipate the negotiated ciphersuite, and + therefore, this information cannot be provided to the EAP + method. + +2. Lower-Layer Operation + + On completion of EAP authentication, EAP keying material and + parameters exported by the EAP method are provided to the lower layer + and AAA layer (if present). These include the Master Session Key + (MSK), Extended Master Session Key (EMSK), Peer-Id(s), Server-Id(s), + and Session-Id. The Initialization Vector (IV) is deprecated, but + might be provided. + + In order to preserve the security of EAP keying material derived + within methods, lower layers MUST NOT export keys passed down by EAP + methods. This implies that EAP keying material passed down to a + lower layer is for the exclusive use of that lower layer and MUST NOT + be used within another lower layer. This prevents compromise of one + lower layer from compromising other applications using EAP keying + material. + + EAP keying material provided to a lower layer MUST NOT be transported + to another entity. For example, EAP keying material passed down to + the EAP peer lower layer MUST NOT leave the peer; EAP keying + material passed down or transported to the EAP authenticator lower + layer MUST NOT leave the authenticator. + + On the EAP server, keying material and parameters requested by and + passed down to the AAA layer MAY be replicated to the AAA layer on + the authenticator (with the exception of the EMSK). On the + authenticator, the AAA layer provides the replicated keying material + and parameters to the lower layer over which the EAP authentication + conversation took place. This enables mode independence to be + maintained. + + The EAP layer, as well as the peer and authenticator layers, MUST NOT + modify or cache keying material or parameters (including channel + bindings) passing in either direction between the EAP method layer + and the lower layer or AAA layer. + +2.1. Transient Session Keys + + Where explicitly supported by the lower layer, lower layers MAY cache + keying material, including exported EAP keying material and/or TSKs; + the structure of this key cache is defined by the lower layer. So as + to enable interoperability, new lower-layer specifications MUST + describe key caching behavior. Unless explicitly specified by the + lower layer, the EAP peer, server, and authenticator MUST assume that + + + +Aboba, et al. Standards Track [Page 20] + +RFC 5247 EAP Key Management Framework August 2008 + + + peers and authenticators do not cache keying material. Existing EAP + lower layers and AAA layers handle the generation of transient + session keys and caching of EAP keying material in different ways: + + IEEE 802.1X-2004 + When used with wired networks, IEEE 802.1X-2004 [IEEE-802.1X] + does not support link-layer ciphersuites, and as a result, it + does not provide for the generation of TSKs or caching of EAP + keying material and parameters. Once EAP authentication + completes, it is assumed that EAP keying material and parameters + are discarded; on IEEE 802 wired networks, there is no + subsequent Secure Association Protocol exchange. Perfect + Forward Secrecy (PFS) is only possible if the negotiated EAP + method supports this. + + PPP + PPP, defined in [RFC1661], does not include support for a Secure + Association Protocol, nor does it support caching of EAP keying + material or parameters. PPP ciphersuites derive their TSKs + directly from the MSK, as described in [RFC2716] Section 3.5. + This is NOT RECOMMENDED, since if PPP were to support caching of + EAP keying material, this could result in TSK reuse. As a + result, once the PPP session is terminated, EAP keying material + and parameters MUST be discarded. Since caching of EAP keying + material is not permitted within PPP, there is no way to handle + TSK re-key without EAP re-authentication. Perfect Forward + Secrecy (PFS) is only possible if the negotiated EAP method + supports this. + + IKEv2 + IKEv2, defined in [RFC4306], only uses the MSK for + authentication purposes and not key derivation. The EMSK, IV, + Peer-Id, Server-Id or Session-Id are not used. As a result, the + TSKs derived by IKEv2 are cryptographically independent of the + EAP keying material and re-key of IPsec SAs can be handled + without requiring EAP re-authentication. Within IKEv2, it is + possible to negotiate PFS, regardless of which EAP method is + negotiated. IKEv2 as specified in [RFC4306] does not cache EAP + keying material or parameters; once IKEv2 authentication + completes, it is assumed that EAP keying material and parameters + are discarded. The Session-Timeout Attribute is therefore + interpreted as a limit on the VPN session time, rather than an + indication of the MSK key lifetime. + + IEEE 802.11 + IEEE 802.11 enables caching of the MSK, but not the EMSK, IV, + Peer-Id, Server-Id, or Session-Id. More details about the + structure of the cache are available in [IEEE-802.11]. In IEEE + + + +Aboba, et al. Standards Track [Page 21] + +RFC 5247 EAP Key Management Framework August 2008 + + + 802.11, TSKs are derived from the MSK using a Secure Association + Protocol known as the 4-way handshake, which includes a nonce + exchange. This guarantees TSK freshness even if the MSK is + reused. The 4-way handshake also enables TSK re-key without EAP + re-authentication. PFS is only possible within IEEE 802.11 if + caching is not enabled and the negotiated EAP method supports + PFS. + + IEEE 802.16e + IEEE 802.16e, defined in [IEEE-802.16e], supports caching of the + MSK, but not the EMSK, IV, Peer-Id, Server-Id, or Session-Id. + IEEE 802.16e supports a Secure Association Protocol in which + TSKs are chosen by the authenticator without any contribution by + the peer. The TSKs are encrypted, authenticated, and integrity + protected using the MSK and are transported from the + authenticator to the peer. TSK re-key is possible without EAP + re-authentication. PFS is not possible even if the negotiated + EAP method supports it. + + AAA + Existing implementations and specifications for RADIUS/EAP + [RFC3579] or Diameter EAP [RFC4072] do not support caching of + keying material or parameters. In existing AAA clients, proxy + and server implementations, exported EAP keying material (MSK, + EMSK, and IV), as well as parameters and derived keys are not + cached and MUST be presumed lost after the AAA exchange + completes. + + In order to avoid key reuse, the AAA layer MUST delete + transported keys once they are sent. The AAA layer MUST NOT + retain keys that it has previously sent. For example, a AAA + layer that has transported the MSK MUST delete it, and keys MUST + NOT be derived from the MSK from that point forward. + +2.2. Authenticator and Peer Architecture + + This specification does not impose constraints on the architecture of + the EAP authenticator or peer. For example, any of the authenticator + architectures described in [RFC4118] can be used. As a result, lower + layers need to identify EAP peers and authenticators unambiguously, + without incorporating implicit assumptions about peer and + authenticator architectures. + + + + + + + + + +Aboba, et al. Standards Track [Page 22] + +RFC 5247 EAP Key Management Framework August 2008 + + + For example, it is possible for multiple base stations and a + "controller" (e.g., WLAN switch) to comprise a single EAP + authenticator. In such a situation, the "base station identity" is + irrelevant to the EAP method conversation, except perhaps as an + opaque blob to be used in channel binding. Many base stations can + share the same authenticator identity. An EAP authenticator or peer: + + (a) can contain one or more physical or logical ports; + (b) can advertise itself as one or more "virtual" authenticators + or peers; + (c) can utilize multiple CPUs; + (d) can support clustering services for load balancing or + failover. + + Both the EAP peer and authenticator can have more than one physical + or logical port. A peer can simultaneously access the network via + multiple authenticators, or via multiple physical or logical ports on + a given authenticator. Similarly, an authenticator can offer network + access to multiple peers, each via a separate physical or logical + port. When a single physical authenticator advertises itself as + multiple virtual authenticators, it is possible for a single physical + port to belong to multiple virtual authenticators. + + An authenticator can be configured to communicate with more than one + EAP server, each of which is configured to communicate with a subset + of the authenticators. The situation is illustrated in Figure 3. + +2.3. Authenticator Identification + + The EAP method conversation is between the EAP peer and server. The + authenticator identity, if considered at all by the EAP method, is + treated as an opaque blob for the purpose of channel binding (see + Section 5.3.3). However, the authenticator identity is important in + two other exchanges - the AAA protocol exchange and the Secure + Association Protocol conversation. + + The AAA conversation is between the EAP authenticator and the backend + authentication server. From the point of view of the backend + authentication server, keying material and parameters are transported + to the EAP authenticator identified by the NAS-Identifier Attribute. + Since an EAP authenticator MUST NOT share EAP keying material or + parameters with another party, if the EAP peer or backend + authentication server detects use of EAP keying material and + parameters outside the scope defined by the NAS-Identifier, the + keying material MUST be considered compromised. + + + + + + +Aboba, et al. Standards Track [Page 23] + +RFC 5247 EAP Key Management Framework August 2008 + + + The Secure Association Protocol conversation is between the peer and + the authenticator. For lower layers that support key caching, it is + particularly important for the EAP peer, authenticator, and backend + server to have a consistent view of the usage scope of the + transported keying material. In order to enable this, it is + RECOMMENDED that the Secure Association Protocol explicitly + communicate the usage scope of the EAP keying material passed down to + the lower layer, rather than implicitly assuming that this is defined + by the authenticator and peer endpoint addresses. + + +-+-+-+-+ + | EAP | + | Peer | + +-+-+-+-+ + | | | Peer Ports + / | \ + / | \ + / | \ + / | \ + / | \ + / | \ + / | \ + / | \ Authenticator + | | | | | | | | | Ports + +-+-+-+-+ +-+-+-+-+ +-+-+-+-+ + | | | | | | + | Auth1 | | Auth2 | | Auth3 | + | | | | | | + +-+-+-+-+ +-+-+-+-+ +-+-+-+-+ + \ | \ | + \ | \ | + \ | \ | + EAP over AAA \ | \ | + (optional) \ | \ | + \ | \ | + \ | \ | + \ | \ | + +-+-+-+-+-+ +-+-+-+-+-+ Backend + | EAP | | EAP | Authentication + | Server1 | | Server2 | Servers + +-+-+-+-+-+ +-+-+-+-+-+ + + Figure 3: Relationship between EAP Peer, Authenticator, and Server + + Since an authenticator can have multiple ports, the scope of the + authenticator key cache cannot be described by a single endpoint + address. Similarly, where a peer can have multiple ports and sharing + of EAP keying material and parameters between peer ports of the same + + + +Aboba, et al. Standards Track [Page 24] + +RFC 5247 EAP Key Management Framework August 2008 + + + link type is allowed, the extent of the peer key cache cannot be + communicated by using a single endpoint address. Instead, it is + RECOMMENDED that the EAP peer and authenticator consistently identify + themselves utilizing explicit identifiers, rather than endpoint + addresses or port identifiers. + + AAA protocols such as RADIUS [RFC3579] and Diameter [RFC4072] provide + a mechanism for the identification of AAA clients; since the EAP + authenticator and AAA client MUST be co-resident, this mechanism is + applicable to the identification of EAP authenticators. + + RADIUS [RFC2865] requires that an Access-Request packet contain one + or more of the NAS-Identifier, NAS-IP-Address, and NAS-IPv6-Address + attributes. Since a NAS can have more than one IP address, the + NAS-Identifier Attribute is RECOMMENDED for explicit identification + of the authenticator, both within the AAA protocol exchange and the + Secure Association Protocol conversation. + + Problems that can arise where the peer and authenticator implicitly + identify themselves using endpoint addresses include the following: + + (a) It is possible that the peer will not be able to determine which + authenticator ports are associated with which authenticators. + As a result, the EAP peer will be unable to utilize the + authenticator key cache in an efficient way, and will also be + unable to determine whether EAP keying material has been shared + outside its authorized scope, and therefore needs to be + considered compromised. + + (b) It is possible that the authenticator will not be able to + determine which peer ports are associated with which peers, + preventing the peer from communicating with it utilizing + multiple peer ports. + + (c) It is possible that the peer will not be able to determine with + which virtual authenticator it is communicating. For example, + multiple virtual authenticators can share a MAC address, but + utilize different NAS-Identifiers. + + (d) It is possible that the authenticator will not be able to + determine with which virtual peer it is communicating. Multiple + virtual peers can share a MAC address, but utilize different + Peer-Ids. + + (e) It is possible that the EAP peer and server will not be able to + verify the authenticator identity via channel binding. + + + + + +Aboba, et al. Standards Track [Page 25] + +RFC 5247 EAP Key Management Framework August 2008 + + + For example, problems (a), (c), and (e) occur in [IEEE-802.11], which + utilizes peer and authenticator MAC addresses within the 4-way + handshake. Problems (b) and (d) do not occur since [IEEE-802.11] + only allows a virtual peer to utilize a single port. + + The following steps enable lower-layer identities to be securely + verified by all parties: + + (f) Specify the lower-layer parameters used to identify the + authenticator and peer. As noted earlier, endpoint or port + identifiers are not recommended for identification of the + authenticator or peer when it is possible for them to have + multiple ports. + + (g) Communicate the lower-layer identities between the peer and + authenticator within phase 0. This allows the peer and + authenticator to determine the key scope if a key cache is + utilized. + + (h) Communicate the lower-layer authenticator identity between the + authenticator and backend authentication server within the NAS- + Identifier Attribute. + + (i) Include the lower-layer identities within channel bindings (if + supported) in phase 1a, ensuring that they are communicated + between the EAP peer and server. + + (j) Support the integrity-protected exchange of identities within + phase 2a. + + (k) Utilize the advertised lower-layer identities to enable the peer + and authenticator to verify that keys are maintained within the + advertised scope. + +2.3.1. Virtual Authenticators + + When a single physical authenticator advertises itself as multiple + virtual authenticators, if the virtual authenticators do not maintain + logically separate key caches, then by authenticating to one virtual + authenticator, the peer can gain access to the other virtual + authenticators sharing a key cache. + + + + + + + + + + +Aboba, et al. Standards Track [Page 26] + +RFC 5247 EAP Key Management Framework August 2008 + + + For example, where a physical authenticator implements "Guest" and + "Corporate Intranet" virtual authenticators, an attacker acting as a + peer could authenticate with the "Guest" virtual authenticator and + derive EAP keying material. If the "Guest" and "Corporate Intranet" + virtual authenticators share a key cache, then the peer can utilize + the EAP keying material derived for the "Guest" network to obtain + access to the "Corporate Intranet" network. + + The following steps can be taken to mitigate this vulnerability: + + (a) Authenticators are REQUIRED to cache associated authorizations + along with EAP keying material and parameters and to apply + authorizations to the peer on each network access, regardless of + which virtual authenticator is being accessed. This ensures + that an attacker cannot obtain elevated privileges even where + the key cache is shared between virtual authenticators, and a + peer obtains access to one virtual authenticator utilizing a key + cache entry created for use with another virtual authenticator. + + (b) It is RECOMMENDED that physical authenticators maintain separate + key caches for each virtual authenticator. This ensures that a + cache entry created for use with one virtual authenticator + cannot be used for access to another virtual authenticator. + Since a key cache entry can no longer be shared between virtual + authentications, this step provides protection beyond that + offered in (a). This is valuable in situations where + authorizations are not used to enforce access limitations. For + example, where access is limited using a filter installed on a + router rather than using authorizations provided to the + authenticator, a peer can gain unauthorized access to resources + by exploiting a shared key cache entry. + + (c) It is RECOMMENDED that each virtual authenticator identify + itself consistently to the peer and to the backend + authentication server, so as to enable the peer to verify the + authenticator identity via channel binding (see Section 5.3.3). + + (d) It is RECOMMENDED that each virtual authenticator identify + itself distinctly, in order to enable the peer and backend + authentication server to tell them apart. For example, this can + be accomplished by utilizing a distinct value of the NAS- + Identifier Attribute. + +2.4. Peer Identification + + As described in [RFC3748] Section 7.3, the peer identity provided in + the EAP-Response/Identity can be different from the peer identities + authenticated by the EAP method. For example, the identity provided + + + +Aboba, et al. Standards Track [Page 27] + +RFC 5247 EAP Key Management Framework August 2008 + + + in the EAP-Response/Identity can be a privacy identifier as described + in "The Network Access Identifier" [RFC4282] Section 2. As noted in + [RFC4284], it is also possible to utilize a Network Access Identifier + (NAI) for the purposes of source routing; an NAI utilized for source + routing is said to be "decorated" as described in [RFC4282] Section + 2.7. + + When the EAP peer provides the Network Access Identity (NAI) within + the EAP-Response/Identity, as described in [RFC3579], the + authenticator copies the NAI included in the EAP-Response/Identity + into the User-Name Attribute included within the Access-Request. As + the Access-Request is forwarded toward the backend authentication + server, AAA proxies remove decoration from the NAI included in the + User-Name Attribute; the NAI included within the + EAP-Response/Identity encapsulated in the Access-Request remains + unchanged. As a result, when the Access-Request arrives at the + backend authentication server, the EAP-Response/Identity can differ + from the User-Name Attribute (which can have some or all of the + decoration removed). In the absence of a Peer-Id, the backend + authentication server SHOULD use the contents of the User-Name + Attribute, rather than the EAP-Response/Identity, as the peer + identity. + + It is possible for more than one Peer-Id to be exported by an EAP + method. For example, a peer certificate can contain more than one + peer identity; in a tunnel method, peer identities can be + authenticated within both an outer and inner exchange, and these + identities could be different in type and contents. For example, an + outer exchange could provide a Peer-Id in the form of a Relative + Distinguished Name (RDN), whereas an inner exchange could identify + the peer via its NAI or MAC address. Where EAP keying material is + determined solely from the outer exchange, only the outer Peer-Id(s) + are exported; where the EAP keying material is determined from both + the inner and outer exchanges, then both the inner and outer + Peer-Id(s) are exported by the tunnel method. + + + + + + + + + + + + + + + + +Aboba, et al. Standards Track [Page 28] + +RFC 5247 EAP Key Management Framework August 2008 + + +2.5. Server Identification + + It is possible for more than one Server-Id to be exported by an EAP + method. For example, a server certificate can contain more than one + server identity; in a tunnel method, server identities could be + authenticated within both an outer and inner exchange, and these + identities could be different in type and contents. For example, an + outer exchange could provide a Server-Id in the form of an IP + address, whereas an inner exchange could identify the server via its + Fully-Qualified Domain Name (FQDN) or hostname. Where EAP keying + material is determined solely from the outer exchange, only the outer + Server-Id(s) are exported by the EAP method; where the EAP keying + material is determined from both the inner and outer exchanges, then + both the inner and outer Server-Id(s) are exported by the EAP method. + + As shown in Figure 3, an authenticator can be configured to + communicate with multiple EAP servers; the EAP server that an + authenticator communicates with can vary according to configuration + and network and server availability. While the EAP peer can assume + that all EAP servers within a realm have access to the credentials + necessary to validate an authentication attempt, it cannot assume + that all EAP servers share persistent state. + + Authenticators can be configured with different primary or secondary + EAP servers, in order to balance the load. Also, the authenticator + can dynamically determine the EAP server to which requests will be + sent; in the event of a communication failure, the authenticator can + fail over to another EAP server. For example, in Figure 3, + Authenticator2 can be initially configured with EAP server1 as its + primary backend authentication server, and EAP server2 as the backup, + but if EAP server1 becomes unavailable, EAP server2 can become the + primary server. + + In general, the EAP peer cannot direct an authentication attempt to a + particular EAP server within a realm, this decision is made by AAA + clients, nor can the peer determine with which EAP server it will be + communicating, prior to the start of the EAP method conversation. + The Server-Id is not included in the EAP-Request/Identity, and since + the EAP server may be determined dynamically, it typically is not + possible for the authenticator to advertise the Server-Id during the + discovery phase. Some EAP methods do not export the Server-Id so + that it is possible that the EAP peer will not learn with which + server it was conversing after the EAP conversation completes + successfully. + + As a result, an EAP peer, on connecting to a new authenticator or + reconnecting to the same authenticator, can find itself communicating + with a different EAP server. Fast reconnect, defined in [RFC3748] + + + +Aboba, et al. Standards Track [Page 29] + +RFC 5247 EAP Key Management Framework August 2008 + + + Section 7.2, can fail if the EAP server with which the peer + communicates is not the same one with which it initially established + a security association. For example, an EAP peer attempting an + EAP-TLS session resume can find that the new EAP-TLS server will not + have access to the TLS Master Key identified by the TLS Session-Id, + and therefore the session resumption attempt will fail, requiring + completion of a full EAP-TLS exchange. + + EAP methods that export the Server-Id MUST authenticate the server. + However, not all EAP methods supporting mutual authentication provide + a non-null Server-Id; some methods only enable the EAP peer to verify + that the EAP server possesses a long-term secret, but do not provide + the identity of the EAP server. In this case, the EAP peer will know + that an authenticator has been authorized by an EAP server, but will + not confirm the identity of the EAP server. Where the EAP method + does not provide a Server-Id, the peer cannot identify the EAP server + with which it generated keying material. This can make it difficult + for the EAP peer to identify the location of a key possessed by that + EAP server. + + As noted in [RFC5216] Section 5.2, EAP methods supporting + authentication using server certificates can determine the Server-Id + from the subject or subjectAltName fields in the server certificate. + Validating the EAP server identity can help the EAP peer to decide + whether a specific EAP server is authorized. In some cases, such as + where the certificate extensions defined in [RFC4334] are included in + the server certificate, it can even be possible for the peer to + verify some channel binding parameters from the server certificate. + + It is possible for problems to arise in situations where the EAP + server identifies itself differently to the EAP peer and + authenticator. For example, it is possible that the Server-Id + exported by EAP methods will not be identical to the Fully Qualified + Domain Name (FQDN) of the backend authentication server. Where + certificate-based authentication is used within RADIUS or Diameter, + it is possible that the subjectAltName used in the backend + authentication server certificate will not be identical to the + Server-Id or backend authentication server FQDN. This is not + normally an issue in EAP, as the authenticator will be unaware of the + identities used between the EAP peer and server. However, this can + be an issue for key caching, if the authenticator is expected to + locate a backend authentication server corresponding to a Server-Id + provided by an EAP peer. + + Where the backend authentication server FQDN differs from the + subjectAltName in the backend authentication server certificate, it + is possible that the AAA client will not be able to determine whether + it is talking to the correct backend authentication server. Where + + + +Aboba, et al. Standards Track [Page 30] + +RFC 5247 EAP Key Management Framework August 2008 + + + the Server-Id and backend authentication server FQDN differ, it is + possible that the combination of the key scope (Peer-Id(s), Server- + Id(s)) and EAP conversation identifier (Session-Id) will not be + sufficient to determine where the key resides. For example, the + authenticator can identify backend authentication servers by their IP + address (as occurs in RADIUS), or using a Fully Qualified Domain Name + (as in Diameter). If the Server-Id does not correspond to the IP + address or FQDN of a known backend authentication server, then it may + not be possible to locate which backend authentication server + possesses the key. + +3. Security Association Management + + EAP, as defined in [RFC3748], supports key derivation, but does not + provide for the management of lower-layer security associations. + Missing functionality includes: + + (a) Security Association negotiation. EAP does not negotiate + lower-layer unicast or multicast security associations, + including cryptographic algorithms or traffic profiles. EAP + methods only negotiate cryptographic algorithms for their own + use, not for the underlying lower layers. EAP also does not + negotiate the traffic profiles to be protected with the + negotiated ciphersuites; in some cases the traffic to be + protected can have lower-layer source and destination addresses + different from the lower-layer peer or authenticator addresses. + + (b) Re-key. EAP does not support the re-keying of exported EAP + keying material without EAP re-authentication, although EAP + methods can support "fast reconnect" as defined in [RFC3748] + Section 7.2.1. + + (c) Key delete/install semantics. EAP does not synchronize + installation or deletion of keying material on the EAP peer and + authenticator. + + (d) Lifetime negotiation. EAP does not support lifetime negotiation + for exported EAP keying material, and existing EAP methods also + do not support key lifetime negotiation. + + (e) Guaranteed TSK freshness. Without a post-EAP handshake, TSKs + can be reused if EAP keying material is cached. + + These deficiencies are typically addressed via a post-EAP handshake + known as the Secure Association Protocol. + + + + + + +Aboba, et al. Standards Track [Page 31] + +RFC 5247 EAP Key Management Framework August 2008 + + +3.1. Secure Association Protocol + + Since neither EAP nor EAP methods provide for establishment of + lower-layer security associations, it is RECOMMENDED that these + facilities be provided within the Secure Association Protocol, + including: + + (a) Entity Naming. A basic feature of a Secure Association Protocol + is the explicit naming of the parties engaged in the exchange. + Without explicit identification, the parties engaged in the + exchange are not identified and the scope of the EAP keying + parameters negotiated during the EAP exchange is undefined. + + (b) Mutual proof of possession of EAP keying material. During the + Secure Association Protocol, the EAP peer and authenticator MUST + demonstrate possession of the keying material transported + between the backend authentication server and authenticator + (e.g., MSK), in order to demonstrate that the peer and + authenticator have been authorized. Since mutual proof of + possession is not the same as mutual authentication, the peer + cannot verify authenticator assertions (including the + authenticator identity) as a result of this exchange. + Authenticator identity verification is discussed in Section 2.3. + + (c) Secure capabilities negotiation. In order to protect against + spoofing during the discovery phase, ensure selection of the + "best" ciphersuite, and protect against forging of negotiated + security parameters, the Secure Association Protocol MUST + support secure capabilities negotiation. This includes the + secure negotiation of usage modes, session parameters (such as + security association identifiers (SAIDs) and key lifetimes), + ciphersuites and required filters, including confirmation of + security-relevant capabilities discovered during phase 0. The + Secure Association Protocol MUST support integrity and replay + protection of all capability negotiation messages. + + (d) Key naming and selection. Where key caching is supported, it is + possible for the EAP peer and authenticator to share more than + one key of a given type. As a result, the Secure Association + Protocol MUST explicitly name the keys used in the proof of + possession exchange, so as to prevent confusion when more than + one set of keying material could potentially be used as the + basis for the exchange. Use of the key naming mechanism + described in Section 1.4.1 is RECOMMENDED. + + In order to support the correct processing of phase 2 security + associations, the Secure Association (phase 2) protocol MUST + support the naming of phase 2 security associations and + + + +Aboba, et al. Standards Track [Page 32] + +RFC 5247 EAP Key Management Framework August 2008 + + + associated transient session keys so that the correct set of + transient session keys can be identified for processing a given + packet. The phase 2 Secure Association Protocol also MUST + support transient session key activation and SHOULD support + deletion so that establishment and re-establishment of transient + session keys can be synchronized between the parties. + + (e) Generation of fresh transient session keys (TSKs). Where the + lower layer supports caching of keying material, the EAP peer + lower layer can initiate a new session using keying material + that was derived in a previous session. Were the TSKs to be + derived solely from a portion of the exported EAP keying + material, this would result in reuse of the session keys that + could expose the underlying ciphersuite to attack. + + In lower layers where caching of keying material is supported, + the Secure Association Protocol phase is REQUIRED, and MUST + support the derivation of fresh unicast and multicast TSKs, even + when the transported keying material provided by the backend + authentication server is not fresh. This is typically supported + via the exchange of nonces or counters, which are then mixed + with the keying material in order to generate fresh unicast + (phase 2a) and possibly multicast (phase 2b) session keys. By + not using exported EAP keying material directly to protect data, + the Secure Association Protocol protects it against compromise. + + (f) Key lifetime management. This includes explicit key lifetime + negotiation or seamless re-key. EAP does not support the + re-keying of EAP keying material without re-authentication, and + existing EAP methods do not support key lifetime negotiation. + As a result, the Secure Association Protocol MAY handle the + re-key and determination of the key lifetime. Where key caching + is supported, secure negotiation of key lifetimes is + RECOMMENDED. Lower layers that support re-key, but not key + caching, may not require key lifetime negotiation. For example, + a difference between IKEv1 [RFC2409] and IKEv2 [RFC4306] is that + in IKEv1 SA lifetimes were negotiated; in IKEv2, each end of the + SA is responsible for enforcing its own lifetime policy on the + SA and re-keying the SA when necessary. + + (g) Key state resynchronization. It is possible for the peer or + authenticator to reboot or reclaim resources, clearing portions + or all of the key cache. Therefore, key lifetime negotiation + cannot guarantee that the key cache will remain synchronized, + and it may not be possible for the peer to determine before + attempting to use a key whether it exists within the + authenticator cache. It is therefore RECOMMENDED for the EAP + lower layer to provide a mechanism for key state + + + +Aboba, et al. Standards Track [Page 33] + +RFC 5247 EAP Key Management Framework August 2008 + + + resynchronization, either via the SAP or using a lower layer + indication (see [RFC3748] Section 3.4). Where the peer and + authenticator do not jointly possess a key with which to protect + the resynchronization exchange, secure resynchronization is not + possible, and alternatives (such as an initiation of EAP + re-authentication after expiration of a timer) are needed to + ensure timely resynchronization. + + (h) Key scope synchronization. To support key scope determination, + the Secure Association Protocol SHOULD provide a mechanism by + which the peer can determine the scope of the key cache on each + authenticator and by which the authenticator can determine the + scope of the key cache on a peer. This includes negotiation of + restrictions on key usage. + + (i) Traffic profile negotiation. The traffic to be protected by a + lower-layer security association will not necessarily have the + same lower-layer source or destination address as the EAP peer + and authenticator, and it is possible for the peer and + authenticator to negotiate multiple security associations, each + with a different traffic profile. Where this is the case, the + profile of protected traffic SHOULD be explicitly negotiated. + For example, in IKEv2 it is possible for an Initiator and + Responder to utilize EAP for authentication, then negotiate a + Tunnel Mode Security Association (SA), which permits passing of + traffic originating from hosts other than the Initiator and + Responder. Similarly, in IEEE 802.16e, a Subscriber Station + (SS) can forward traffic to the Base Station (BS), which + originates from the Local Area Network (LAN) to which it is + attached. To enable this, Security Associations within IEEE + 802.16e are identified by the Connection Identifier (CID), not + by the EAP peer and authenticator MAC addresses. In both IKEv2 + and IEEE 802.16e, multiple security associations can exist + between the EAP peer and authenticator, each with their own + traffic profile and quality of service parameters. + + (j) Direct operation. Since the phase 2 Secure Association Protocol + is concerned with the establishment of security associations + between the EAP peer and authenticator, including the derivation + of transient session keys, only those parties have "a need to + know" the transient session keys. The Secure Association + Protocol MUST operate directly between the peer and + authenticator and MUST NOT be passed-through to the backend + authentication server or include additional parties. + + (k) Bi-directional operation. While some ciphersuites only require + a single set of transient session keys to protect traffic in + both directions, other ciphersuites require a unique set of + + + +Aboba, et al. Standards Track [Page 34] + +RFC 5247 EAP Key Management Framework August 2008 + + + transient session keys in each direction. The phase 2 Secure + Association Protocol SHOULD provide for the derivation of + unicast and multicast keys in each direction, so as not to + require two separate phase 2 exchanges in order to create a + bi-directional phase 2 security association. See [RFC3748] + Section 2.4 for more discussion. + +3.2. Key Scope + + Absent explicit specification within the lower layer, after the + completion of phase 1b, transported keying material, and parameters + are bound to the EAP peer and authenticator, but are not bound to a + specific peer or authenticator port. + + While EAP keying material passed down to the lower layer is not + intrinsically bound to particular authenticator and peer ports, TSKs + MAY be bound to particular authenticator and peer ports by the Secure + Association Protocol. However, a lower layer MAY also permit TSKs to + be used on multiple peer and/or authenticator ports, provided that + TSK freshness is guaranteed (such as by keeping replay counter state + within the authenticator). + + In order to further limit the key scope, the following measures are + suggested: + + (a) The lower layer MAY specify additional restrictions on key + usage, such as limiting the use of EAP keying material and + parameters on the EAP peer to the port over which the EAP + conversation was conducted. + + (b) The backend authentication server and authenticator MAY + implement additional attributes in order to further restrict the + scope of keying material. For example, in IEEE 802.11, the + backend authentication server can provide the authenticator with + a list of authorized Called or Calling-Station-Ids and/or SSIDs + for which keying material is valid. + + (c) Where the backend authentication server provides attributes + restricting the key scope, it is RECOMMENDED that restrictions + be securely communicated by the authenticator to the peer. This + can be accomplished using the Secure Association Protocol, but + also can be accomplished via the EAP method or the lower layer. + +3.3. Parent-Child Relationships + + When an EAP re-authentication takes place, new EAP keying material is + exported by the EAP method. In EAP lower layers where EAP + re-authentication eventually results in TSK replacement, the maximum + + + +Aboba, et al. Standards Track [Page 35] + +RFC 5247 EAP Key Management Framework August 2008 + + + lifetime of derived keying material (including TSKs) can be less than + or equal to that of EAP keying material (MSK/EMSK), but it cannot be + greater. + + Where TSKs are derived from or are wrapped by exported EAP keying + material, compromise of that exported EAP keying material implies + compromise of TSKs. Therefore, if EAP keying material is considered + stale, not only SHOULD EAP re-authentication be initiated, but also + replacement of child keys, including TSKs. + + Where EAP keying material is used only for entity authentication but + not for TSK derivation (as in IKEv2), compromise of exported EAP + keying material does not imply compromise of the TSKs. Nevertheless, + the compromise of EAP keying material could enable an attacker to + impersonate an authenticator, so that EAP re-authentication and TSK + re-key are RECOMMENDED. + + With respect to IKEv2, Section 5.2 of [RFC4718], "IKEv2 + Clarifications and Implementation Guidelines", states: + + Rekeying the IKE_SA and reauthentication are different concepts in + IKEv2. Rekeying the IKE_SA establishes new keys for the IKE_SA + and resets the Message ID counters, but it does not authenticate + the parties again (no AUTH or EAP payloads are involved)... This + means that reauthentication also establishes new keys for the + IKE_SA and CHILD_SAs. Therefore while rekeying can be performed + more often than reauthentication, the situation where + "authentication lifetime" is shorter than "key lifetime" does not + make sense. + + Child keys that are used frequently (such as TSKs that are used for + traffic protection) can expire sooner than the exported EAP keying + material on which they are dependent, so that it is advantageous to + support re-key of child keys prior to EAP re-authentication. Note + that deletion of the MSK/EMSK does not necessarily imply deletion of + TSKs or child keys. + + Failure to mutually prove possession of exported EAP keying material + during the Secure Association Protocol exchange need not be grounds + for deletion of keying material by both parties; rate-limiting Secure + Association Protocol exchanges could be used to prevent a brute force + attack. + + + + + + + + + +Aboba, et al. Standards Track [Page 36] + +RFC 5247 EAP Key Management Framework August 2008 + + +3.4. Local Key Lifetimes + + The Transient EAP Keys (TEKs) are session keys used to protect the + EAP conversation. The TEKs are internal to the EAP method and are + not exported. TEKs are typically created during an EAP conversation, + used until the end of the conversation and then discarded. However, + methods can re-key TEKs during an EAP conversation. + + When using TEKs within an EAP conversation or across conversations, + it is necessary to ensure that replay protection and key separation + requirements are fulfilled. For instance, if a replay counter is + used, TEK re-key MUST occur prior to wrapping of the counter. + Similarly, TSKs MUST remain cryptographically separate from TEKs + despite TEK re-keying or caching. This prevents TEK compromise from + leading directly to compromise of the TSKs and vice versa. + + EAP methods MAY cache local EAP keying material (TEKs) that can + persist for multiple EAP conversations when fast reconnect is used + [RFC3748]. For example, EAP methods based on TLS (such as EAP-TLS + [RFC5216]) derive and cache the TLS Master Secret, typically for + substantial time periods. The lifetime of other local EAP keying + material calculated within the EAP method is defined by the method. + Note that in general, when using fast reconnect, there is no + guarantee that the original long-term credentials are still in the + possession of the peer. For instance, a smart-card holding the + private key for EAP-TLS may have been removed. EAP servers SHOULD + also verify that the long-term credentials are still valid, such as + by checking that certificate used in the original authentication has + not yet expired. + +3.5. Exported and Calculated Key Lifetimes + + The following mechanisms are available for communicating the lifetime + of keying material between the EAP peer, server, and authenticator: + + AAA protocols (backend authentication server and authenticator) + Lower-layer mechanisms (authenticator and peer) + EAP method-specific negotiation (peer and server) + + Where the EAP method does not support the negotiation of the lifetime + of exported EAP keying material, and a key lifetime negotiation + mechanism is not provided by the lower layer, it is possible that + there will not be a way for the peer to learn the lifetime of keying + material. This can leave the peer uncertain of how long the + authenticator will maintain keying material within the key cache. In + this case the lifetime of keying material can be managed as a system + parameter on the peer and authenticator; a default lifetime of 8 + hours is RECOMMENDED. + + + +Aboba, et al. Standards Track [Page 37] + +RFC 5247 EAP Key Management Framework August 2008 + + +3.5.1. AAA Protocols + + AAA protocols such as RADIUS [RFC2865] and Diameter [RFC4072] can be + used to communicate the maximum key lifetime from the backend + authentication server to the authenticator. + + The Session-Timeout Attribute is defined for RADIUS in [RFC2865] and + for Diameter in [RFC4005]. Where EAP is used for authentication, + [RFC3580] Section 3.17, indicates that a Session-Timeout Attribute + sent in an Access-Accept along with a Termination-Action value of + RADIUS-Request specifies the maximum number of seconds of service + provided prior to EAP re-authentication. + + However, there is also a need to be able to specify the maximum + lifetime of cached keying material. Where EAP pre-authentication is + supported, cached keying material can be pre-established on the + authenticator prior to session start and will remain there until + expiration. EAP lower layers supporting caching of keying material + MAY also persist that material after the end of a session, enabling + the peer to subsequently resume communication utilizing the cached + keying material. In these situations it can be desirable for the + backend authentication server to specify the maximum lifetime of + cached keying material. + + To accomplish this, [IEEE-802.11] overloads the Session-Timeout + Attribute, assuming that it represents the maximum time after which + transported keying material will expire on the authenticator, + regardless of whether transported keying material is cached. + + An IEEE 802.11 authenticator receiving transported keying material is + expected to initialize a timer to the Session-Timeout value, and once + the timer expires, the transported keying material expires. Whether + this results in session termination or EAP re-authentication is + controlled by the value of the Termination-Action Attribute. Where + EAP re-authentication occurs, the transported keying material is + replaced, and with it, new calculated keys are put in place. Where + session termination occurs, transported and derived keying material + is deleted. + + Overloading the Session-Timeout Attribute is problematic in + situations where it is necessary to control the maximum session time + and key lifetime independently. For example, it might be desirable + to limit the lifetime of cached keying material to 5 minutes while + permitting a user once authenticated to remain connected for up to an + hour without re-authenticating. As a result, in the future, + additional attributes can be specified to control the lifetime of + cached keys; these attributes MAY modify the meaning of the + Session-Timeout Attribute in specific circumstances. + + + +Aboba, et al. Standards Track [Page 38] + +RFC 5247 EAP Key Management Framework August 2008 + + + Since the TSK lifetime is often determined by authenticator + resources, and the backend authentication server has no insight into + the TSK derivation process by the principle of ciphersuite + independence, it is not appropriate for the backend authentication + server to manage any aspect of the TSK derivation process, including + the TSK lifetime. + +3.5.2. Lower-Layer Mechanisms + + Lower-layer mechanisms can be used to enable the lifetime of keying + material to be negotiated between the peer and authenticator. This + can be accomplished either using the Secure Association Protocol or + within the lower-layer transport. + + Where TSKs are established as the result of a Secure Association + Protocol exchange, it is RECOMMENDED that the Secure Association + Protocol include support for TSK re-key. Where the TSK is taken + directly from the MSK, there is no need to manage the TSK lifetime as + a separate parameter, since the TSK lifetime and MSK lifetime are + identical. + +3.5.3. EAP Method-Specific Negotiation + + As noted in [RFC3748] Section 7.10: + + In order to provide keying material for use in a subsequently + negotiated ciphersuite, an EAP method supporting key derivation + MUST export a Master Session Key (MSK) of at least 64 octets, and + an Extended Master Session Key (EMSK) of at least 64 octets. EAP + Methods deriving keys MUST provide for mutual authentication + between the EAP peer and the EAP Server. + + However, EAP does not itself support the negotiation of lifetimes for + exported EAP keying material such as the MSK, EMSK, and IV. + + While EAP itself does not support lifetime negotiation, it would be + possible to specify methods that do. However, systems that rely on + key lifetime negotiation within EAP methods would only function with + these methods. Also, there is no guarantee that the key lifetime + negotiated within the EAP method would be compatible with backend + authentication server policy. In the interest of method independence + and compatibility with backend authentication server implementations, + management of the lifetime of keying material SHOULD NOT be provided + within EAP methods. + + + + + + + +Aboba, et al. Standards Track [Page 39] + +RFC 5247 EAP Key Management Framework August 2008 + + +3.6. Key Cache Synchronization + + Key lifetime negotiation alone cannot guarantee key cache + synchronization. Even where a lower-layer exchange is run + immediately after EAP in order to determine the lifetime of keying + material, it is still possible for the authenticator to purge all or + part of the key cache prematurely (e.g., due to reboot or need to + reclaim memory). + + The lower layer can utilize the Discovery phase 0 to improve key + cache synchronization. For example, if the authenticator manages the + key cache by deleting the oldest key first, the relative creation + time of the last key to be deleted could be advertised within the + Discovery phase, enabling the peer to determine whether keying + material had been prematurely expired from the authenticator key + cache. + +3.7. Key Strength + + As noted in Section 2.1, EAP lower layers determine TSKs in different + ways. Where exported EAP keying material is utilized in the + derivation, encryption or authentication of TSKs, it is possible for + EAP key generation to represent the weakest link. + + In order to ensure that methods produce EAP keying material of an + appropriate symmetric key strength, it is RECOMMENDED that EAP + methods utilizing public key cryptography choose a public key that + has a cryptographic strength providing the required level of attack + resistance. This is typically provided by configuring EAP methods, + since there is no coordination between the lower layer and EAP method + with respect to minimum required symmetric key strength. + + Section 5 of BCP 86 [RFC3766] offers advice on the required RSA or DH + module and DSA subgroup size in bits, for a given level of attack + resistance in bits. The National Institute for Standards and + Technology (NIST) also offers advice on appropriate key sizes in + [SP800-57]. + + + + + + + + + + + + + + +Aboba, et al. Standards Track [Page 40] + +RFC 5247 EAP Key Management Framework August 2008 + + +3.8. Key Wrap + + The key wrap specified in [RFC2548], which is based on an MD5-based + stream cipher, has known problems, as described in [RFC3579] Section + 4.3. RADIUS uses the shared secret for multiple purposes, including + per-packet authentication and attribute hiding, considerable + information is exposed about the shared secret with each packet. + This exposes the shared secret to dictionary attacks. MD5 is used + both to compute the RADIUS Response Authenticator and the + Message-Authenticator Attribute, and concerns exist relating to the + security of this hash [MD5Collision]. + + As discussed in [RFC3579] Section 4.3, the security vulnerabilities + of RADIUS are extensive, and therefore development of an alternative + key wrap technique based on the RADIUS shared secret would not + substantially improve security. As a result, [RFC3579] Section 4.2 + recommends running RADIUS over IPsec. The same approach is taken in + Diameter EAP [RFC4072], which in Section 4.1.3 defines the + EAP-Master-Session-Key Attribute-Value Pair (AVP) in clear-text, to + be protected by IPsec or TLS. + +4. Handoff Vulnerabilities + + A handoff occurs when an EAP peer moves to a new authenticator. + Several mechanisms have been proposed for reducing handoff latency + within networks utilizing EAP. These include: + + EAP pre-authentication + In EAP pre-authentication, an EAP peer pre-establishes EAP keying + material with an authenticator prior to arrival. EAP + pre-authentication only affects the timing of EAP authentication, + but does not shorten or eliminate EAP (phase 1a) or AAA (phase 1b) + exchanges; Discovery (phase 0) and Secure Association Protocol + (phase 2) exchanges occur as described in Section 1.3. As a + result, the primary benefit is to enable EAP authentication to be + removed from the handoff critical path, thereby reducing latency. + Use of EAP pre-authentication within IEEE 802.11 is described in + [IEEE-802.11] and [8021XPreAuth]. + + + + + + + + + + + + + +Aboba, et al. Standards Track [Page 41] + +RFC 5247 EAP Key Management Framework August 2008 + + + Proactive key distribution + In proactive key distribution, keying material and authorizations + are transported from the backend authentication server to a + candidate authenticator in advance of a handoff. As a result, EAP + (phase 1a) is not needed, but the Discovery (phase 0), and Secure + Association Protocol exchanges (phase 2) are still necessary. + Within the AAA exchange (phase 1b), authorization and key + distribution functions are typically supported, but not + authentication. Proactive key distribution is described in + [MishraPro], [IEEE-03-084], and [HANDOFF]. + + Key caching + Caching of EAP keying material enables an EAP peer to re-attach to + an authenticator without requiring EAP (phase 1a) or AAA (phase + 1b) exchanges. However, Discovery (phase 0) and Secure + Association Protocol (phase 2) exchanges are still needed. Use of + key caching within IEEE 802.11 is described in [IEEE-802.11]. + + Context transfer + In context transfer schemes, keying material and authorizations + are transferred between a previous authenticator and a new + authenticator. This can occur in response to a handoff request by + the EAP peer, or in advance, as in proactive key distribution. As + a result, EAP (phase 1a) is eliminated, but not the Discovery + (phase 0) or Secure Association Protocol exchanges (phase 2). If + a secure channel can be established between the new and previous + authenticator without assistance from the backend authentication + server, then the AAA exchange (phase 1b) can be eliminated; + otherwise, it is still needed, although it can be shortened. + Context transfer protocols are described in [IEEE-802.11F] (now + deprecated) and "Context Transfer Protocol (CXTP)" [RFC4067]. + "Fast Authentication Methods for Handovers between IEEE 802.11 + Wireless LANs" [Bargh] analyzes fast handoff techniques, including + context transfer mechanisms. + + + + + + + + + + + + + + + + + +Aboba, et al. Standards Track [Page 42] + +RFC 5247 EAP Key Management Framework August 2008 + + + Token distribution + In token distribution schemes, the EAP peer is provided with a + credential, subsequently enabling it to authenticate with one or + more additional authenticators. During the subsequent + authentications, EAP (phase 1a) is eliminated or shortened; the + Discovery (phase 0) and Secure Association Protocol exchanges + (phase 2) still occur, although the latter can be shortened. If + the token includes authorizations and can be validated by an + authenticator without assistance from the backend authentication + server, then the AAA exchange (phase 1b) can be eliminated; + otherwise, it is still needed, although it can be shortened. + Token-based schemes, initially proposed in early versions of IEEE + 802.11i [IEEE-802.11i], are described in [Token], [Tokenk], and + [SHORT-TERM]. + + The sections that follow discuss the security vulnerabilities + introduced by the above schemes. + +4.1. EAP Pre-Authentication + + EAP pre-authentication differs from a normal EAP conversation + primarily with respect to the lower-layer encapsulation. For + example, in [IEEE-802.11], EAP pre-authentication frames utilize a + distinct Ethertype, but otherwise conforms to the encapsulation + described in [IEEE-802.1X]. As a result, an EAP pre-authentication + conversation differs little from the model described in Section 1.3, + other than the introduction of a delay between phase 1 and phase 2. + + EAP pre-authentication relies on lower-layer mechanisms for discovery + of candidate authenticators. Where discovery can provide information + on candidate authenticators outside the immediate listening range, + and the peer can determine whether it already possesses valid EAP + keying material with candidate authenticators, the peer can avoid + unnecessary EAP pre-authentications and can establish EAP keying + material well in advance, regardless of the coverage overlap between + authenticators. However, if the peer can only discover candidate + authenticators within listening range and cannot determine whether it + can reuse existing EAP keying material, then it is possible that the + peer will not be able to complete EAP pre-authentication prior to + connectivity loss or that it can pre-authenticate multiple times with + the same authenticator, increasing backend authentication server + load. + + Since a peer can complete EAP pre-authentication with an + authenticator without eventually attaching to it, it is possible that + phase 2 will not occur. In this case, an Accounting-Request + signifying the start of service will not be sent, or will only be + sent with a substantial delay after the completion of authentication. + + + +Aboba, et al. Standards Track [Page 43] + +RFC 5247 EAP Key Management Framework August 2008 + + + As noted in "IEEE 802.1X RADIUS Usage Guidelines" [RFC3580], the AAA + exchange resulting from EAP pre-authentication differs little from an + ordinary exchange described in "RADIUS Support for EAP" [RFC3579]. + For example, since in IEEE 802.11 [IEEE-802.11] an Association + exchange does not occur prior to EAP pre-authentication, the SSID is + not known by the authenticator at authentication time, so that an + Access-Request cannot include the SSID within the Called-Station-Id + attribute as described in [RFC3580] Section 3.20. + + Since only the absence of an SSID in the Called-Station-Id attribute + distinguishes an EAP pre-authentication attempt, if the authenticator + does not always include the SSID for a normal EAP authentication + attempt, it is possible that the backend authentication server will + not be able to determine whether a session constitutes an EAP + pre-authentication attempt, potentially resulting in authorization or + accounting problems. Where the number of simultaneous sessions is + limited, the backend authentication server can refuse to authorize a + valid EAP pre-authentication attempt or can enable the peer to engage + in more simultaneous sessions than they are authorized for. Where + EAP pre-authentication occurs with an authenticator which the peer + never attaches to, it is possible that the backend accounting server + will not be able to determine whether the absence of an + Accounting-Request was due to packet loss or a session that never + started. + + In order to enable pre-authentication requests to be handled more + reliably, it is RECOMMENDED that AAA protocols explicitly identify + EAP pre-authentication. In order to suppress unnecessary EAP + pre-authentication exchanges, it is RECOMMENDED that authenticators + unambiguously identify themselves as described in Section 2.3. + +4.2. Proactive Key Distribution + + In proactive key distribution schemes, the backend authentication + server transports keying material and authorizations to an + authenticator in advance of the arrival of the peer. The + authenticators selected to receive the transported key material are + selected based on past patterns of peer movement between + authenticators known as the "neighbor graph". In order to reduce + handoff latency, proactive key distribution schemes typically only + demonstrate proof of possession of transported keying material + between the EAP peer and authenticator. During a handoff, the + backend authentication server is not provided with proof that the + peer successfully authenticated to an authenticator; instead, the + authenticator generates a stream of accounting messages without a + corresponding set of authentication exchanges. As described in + [MishraPro], knowledge of the neighbor graph can be established via + static configuration or analysis of authentication exchanges. In + + + +Aboba, et al. Standards Track [Page 44] + +RFC 5247 EAP Key Management Framework August 2008 + + + order to prevent corruption of the neighbor graph, new neighbor graph + entries can only be created as the result of a successful EAP + exchange, and accounting packets with no corresponding authentication + exchange need to be verified to correspond to neighbor graph entries + (e.g., corresponding to handoffs between neighbors). + + In order to prevent compromise of one authenticator from resulting in + compromise of other authenticators, cryptographic separation needs to + be maintained between the keying material transported to each + authenticator. However, even where cryptographic separation is + maintained, an attacker compromising an authenticator can still + disrupt the operation of other authenticators. As noted in [RFC3579] + Section 4.3.7, in the absence of spoofing detection within the AAA + infrastructure, it is possible for EAP authenticators to impersonate + each other. By forging NAS identification attributes within + authentication messages, an attacker compromising one authenticator + could corrupt the neighbor graph, tricking the backend authentication + server into transporting keying material to arbitrary authenticators. + While this would not enable recovery of EAP keying material without + breaking fundamental cryptographic assumptions, it could enable + subsequent fraudulent accounting messages, or allow an attacker to + disrupt service by increasing load on the backend authentication + server or thrashing the authenticator key cache. + + Since proactive key distribution requires the distribution of derived + keying material to candidate authenticators, the effectiveness of + this scheme depends on the ability of backend authentication server + to anticipate the movement of the EAP peer. Since proactive key + distribution relies on backend authentication server knowledge of the + neighbor graph, it is most applicable to intra-domain handoff + scenarios. However, in inter-domain handoff, where there can be many + authenticators, peers can frequently connect to authenticators that + have not been previously encountered, making it difficult for the + backend authentication server to derive a complete neighbor graph. + + Since proactive key distribution schemes typically require + introduction of server-initiated messages as described in [RFC5176] + and [HANDOFF], security issues described in [RFC5176] Section 6 are + applicable, including authorization (Section 6.1) and replay + detection (Section 6.3) problems. + + + + + + + + + + + +Aboba, et al. Standards Track [Page 45] + +RFC 5247 EAP Key Management Framework August 2008 + + +4.3. AAA Bypass + + Fast handoff techniques that enable elimination of the AAA exchange + (phase 1b) differ fundamentally from typical network access scenarios + (dial-up, wired LAN, etc.) that include user authentication as well + as authorization for the offered service. Where the AAA exchange + (phase 1b) is omitted, authorizations and keying material are not + provided by the backend authentication server, and as a result, they + need to be supplied by other means. This section describes some of + the implications. + +4.3.1. Key Transport + + Where transported keying material is not supplied by the backend + authentication server, it needs to be provided by another party + authorized to access that keying material. As noted in Section 1.5, + only the EAP peer, authenticator, and server are authorized to + possess transported keying material. Since EAP peers do not trust + each other, if the backend authentication server does not supply + transported keying material to a new authenticator, it can only be + provided by a previous authenticator. + + As noted in Section 1.5, the goal of the EAP conversation is to + derive session keys known only to the peer and the authenticator. If + keying material is replicated between a previous authenticator and a + new authenticator, then the previous authenticator can possess + session keys used between the peer and new authenticator. Also, the + new authenticator can possess session keys used between the peer and + the previous authenticator. + + If a one-way function is used to derive the keying material to be + transported to the new authenticator, then the new authenticator + cannot possess previous session keys without breaking a fundamental + cryptographic assumption. + +4.3.2. Authorization + + As a part of the authentication process, the backend authentication + server determines the user's authorization profile and transmits the + authorizations to the authenticator along with the transported keying + material. Typically, the profile is determined based on the user + identity, but a certificate presented by the user can also provide + authorization information. + + The backend authentication server is responsible for making a user + authorization decision, which requires answering the following + questions: + + + + +Aboba, et al. Standards Track [Page 46] + +RFC 5247 EAP Key Management Framework August 2008 + + + (a) Is this a legitimate user of this network? + + (b) Is the user allowed to access this network? + + (c) Is the user permitted to access this network on this day and at + this time? + + (d) Is the user within the concurrent session limit? + + (e) Are there any fraud, credit limit, or other concerns that could + lead to access denial? + + (f) If access is to be granted, what are the service parameters + (mandatory tunneling, bandwidth, filters, and so on) to be + provisioned for the user? + + While the authorization decision is, in principle, simple, the + distributed decision making process can add complexity. Where + brokers or proxies are involved, all of the AAA entities in the chain + from the authenticator to the home backend authentication server are + involved in the decision. For example, a broker can deny access even + if the home backend authentication server would allow it, or a proxy + can add authorizations (e.g., bandwidth limits). + + Decisions can be based on static policy definitions and profiles as + well as dynamic state (e.g., time of day or concurrent session + limits). In addition to the Accept/Reject decisions made by AAA + entities, service parameters or constraints can be communicated to + the authenticator. + + The criteria for Accept/Reject decisions or the reasons for choosing + particular authorizations are typically not communicated to the + authenticator, only the final result is. As a result, the + authenticator has no way to know on what the decision was based. Was + a set of authorization parameters sent because this service is always + provided to the user, or was the decision based on the time of day + and the capabilities of the authenticator? + +4.3.3. Correctness + + When the AAA exchange (phase 1b) is bypassed, several challenges + arise in ensuring correct authorization: + + Theft of service + Bypassing the AAA exchange (phase 1b) SHOULD NOT enable a user to + extend their network access or gain access to services they are + not entitled to. + + + + +Aboba, et al. Standards Track [Page 47] + +RFC 5247 EAP Key Management Framework August 2008 + + + Consideration of network-wide state + Handoff techniques SHOULD NOT render the backend authentication + server incapable of keeping track of network-wide state. For + example, a backend authentication server can need to keep track of + simultaneous user sessions. + + Elevation of privilege + Backend authentication servers often perform conditional + evaluation, in which the authorizations returned in an + Access-Accept message are contingent on the authenticator or on + dynamic state such as the time of day. In this situation, + bypassing the AAA exchange could enable unauthorized access unless + the restrictions are explicitly encoded within the authorizations + provided by the backend authentication server. + + A handoff mechanism that provides proper authorization is said to be + "correct". One condition for correctness is as follows: + + For a handoff to be "correct" it MUST establish on the new + authenticator the same authorizations as would have been created + had the new authenticator completed a AAA conversation with the + backend authentication server. + + A properly designed handoff scheme will only succeed if it is + "correct" in this way. If a successful handoff would establish + "incorrect" authorizations, it is preferable for it to fail. Where + the supported services differ between authenticators, a handoff that + bypasses the backend authentication server is likely to fail. + Section 1.1 of [RFC2865] states: + + A authenticator that does not implement a given service MUST NOT + implement the RADIUS attributes for that service. For example, a + authenticator that is unable to offer ARAP service MUST NOT + implement the RADIUS attributes for ARAP. A authenticator MUST + treat a RADIUS access-accept authorizing an unavailable service as + an access-reject instead. + + This behavior applies to attributes that are known, but not + implemented. For attributes that are unknown, Section 5 of [RFC2865] + states: + + A RADIUS server MAY ignore Attributes with an unknown Type. A + RADIUS client MAY ignore Attributes with an unknown Type. + + In order to perform a correct handoff, if a new authenticator is + provided with RADIUS authorizations for a known but unavailable + service, then it MUST process these authorizations the same way it + would handle a RADIUS Access-Accept requesting an unavailable + + + +Aboba, et al. Standards Track [Page 48] + +RFC 5247 EAP Key Management Framework August 2008 + + + service; this MUST cause the handoff to fail. However, if a new + authenticator is provided with authorizations including unknown + attributes, then these attributes MAY be ignored. The definition of + a "known but unsupported service" MUST encompass requests for + unavailable security services. This includes vendor-specific + attributes related to security, such as those described in [RFC2548]. + Although it can seem somewhat counter-intuitive, failure is indeed + the "correct" result where a known but unsupported service is + requested. + + Presumably, a correctly configured backend authentication server + would not request that an authenticator provide a service that it + does not implement. This implies that if the new authenticator were + to complete a AAA conversation, it would be likely to receive + different service instructions. Failure of the handoff is the + desired result since it will cause the new authenticator to go back + to the backend server in order to receive the appropriate service + definition. + + Handoff mechanisms that bypass the backend authentication server are + most likely to be successful when employed in a homogeneous + deployment within a single administrative domain. In a heterogeneous + deployment, the backend authentication server can return different + authorizations depending on the authenticator making the request in + order to make sure that the requested service is consistent with the + authenticator capabilities. Where a backend authentication server + would send different authorizations to the new authenticator than + were sent to a previous authenticator, transferring authorizations + between the previous authenticator and the new authenticator will + result in incorrect authorization. + + Virtual LAN (VLAN) support is defined in [IEEE-802.1Q]; RADIUS + support for dynamic VLANs is described in [RFC3580] and [RFC4675]. + If some authenticators support dynamic VLANs while others do not, + then attributes present in the Access-Request (such as the + NAS-Port-Type, NAS-IP-Address, NAS-IPv6-Address, and NAS-Identifier) + could be examined by the backend authentication server to determine + when VLAN attributes will be returned, and if so, which ones. + However, if the backend authenticator is bypassed, then a handoff + occurring between authenticators supporting different VLAN + capabilities could result in a user obtaining access to an + unauthorized VLAN (e.g., a user with access to a guest VLAN being + given unrestricted access to the network). + + + + + + + + +Aboba, et al. Standards Track [Page 49] + +RFC 5247 EAP Key Management Framework August 2008 + + + Similarly, it is preferable for a handoff between an authenticator + providing confidentiality and another that does not to fail, since if + the handoff were successful, the user would be moved from a secure to + an insecure channel without permission from the backend + authentication server. + +5. Security Considerations + + The EAP threat model is described in [RFC3748] Section 7.1. The + security properties of EAP methods (known as "security claims") are + described in [RFC3748] Section 7.2.1. EAP method requirements for + applications such as Wireless LAN authentication are described in + [RFC4017]. The RADIUS threat model is described in [RFC3579] Section + 4.1, and responses to these threats are described in [RFC3579], + Sections 4.2 and 4.3. + + However, in addition to threats against EAP and AAA, there are other + system level threats. In developing the threat model, it is assumed + that: + + All traffic is visible to the attacker. + The attacker can alter, forge, or replay messages. + The attacker can reroute messages to another principal. + The attacker can be a principal or an outsider. + The attacker can compromise any key that is sufficiently old. + + Threats arising from these assumptions include: + + (a) An attacker can compromise or steal an EAP peer or + authenticator, in an attempt to gain access to other EAP peers + or authenticators or to obtain long-term secrets. + + (b) An attacker can attempt a downgrade attack in order to exploit + known weaknesses in an authentication method or cryptographic + algorithm. + + (c) An attacker can try to modify or spoof packets, including + Discovery or Secure Association Protocol frames, EAP or AAA + packets. + + (d) An attacker can attempt to induce an EAP peer, authenticator, or + server to disclose keying material to an unauthorized party, or + utilize keying material outside the context that it was intended + for. + + (e) An attacker can alter, forge, or replay packets. + + + + + +Aboba, et al. Standards Track [Page 50] + +RFC 5247 EAP Key Management Framework August 2008 + + + (f) An attacker can cause an EAP peer, authenticator, or server to + reuse a stale key. Use of stale keys can also occur + unintentionally. For example, a poorly implemented backend + authentication server can provide stale keying material to an + authenticator, or a poorly implemented authenticator can reuse + nonces. + + (g) An authenticated attacker can attempt to obtain elevated + privilege in order to access information that it does not have + rights to. + + (h) An attacker can attempt a man-in-the-middle attack in order to + gain access to the network. + + (i) An attacker can compromise an EAP authenticator in an effort to + commit fraud. For example, a compromised authenticator can + provide incorrect information to the EAP peer and/or server via + out-of-band mechanisms (such as via a AAA or lower-layer + protocol). This includes impersonating another authenticator, + or providing inconsistent information to the peer and EAP + server. + + (j) An attacker can launch a denial-of-service attack against the + EAP peer, authenticator, or backend authentication server. + + In order to address these threats, [RFC4962] Section 3 describes + required and recommended security properties. The sections that + follow analyze the compliance of EAP methods, AAA protocols, and + Secure Association Protocols with those guidelines. + +5.1. Peer and Authenticator Compromise + + Requirement: In the event that an authenticator is compromised or + stolen, an attacker can gain access to the network through that + authenticator, or can obtain the credentials needed for the + authenticator/AAA client to communicate with one or more backend + authentication servers. Similarly, if a peer is compromised or + stolen, an attacker can obtain credentials needed to communicate with + one or more authenticators. A mandatory requirement from [RFC4962] + Section 3: + + Prevent the Domino effect + + Compromise of a single peer MUST NOT compromise keying material + held by any other peer within the system, including session keys + and long-term keys. Likewise, compromise of a single + authenticator MUST NOT compromise keying material held by any + other authenticator within the system. In the context of a key + + + +Aboba, et al. Standards Track [Page 51] + +RFC 5247 EAP Key Management Framework August 2008 + + + hierarchy, this means that the compromise of one node in the key + hierarchy must not disclose the information necessary to + compromise other branches in the key hierarchy. Obviously, the + compromise of the root of the key hierarchy will compromise all of + the keys; however, a compromise in one branch MUST NOT result in + the compromise of other branches. There are many implications of + this requirement; however, two implications deserve highlighting. + First, the scope of the keying material must be defined and + understood by all parties that communicate with a party that holds + that keying material. Second, a party that holds keying material + in a key hierarchy must not share that keying material with + parties that are associated with other branches in the key + hierarchy. + + Group keys are an obvious exception. Since all members of the + group have a copy of the same key, compromise of any one of the + group members will result in the disclosure of the group key. + + Some of the implications of the requirement are as follows: + + Key Sharing + In order to be able to determine whether keying material has + been shared, it is necessary for the identity of the EAP + authenticator (NAS-Identifier) to be defined and understood by + all parties that communicate with it. EAP lower-layer + specifications such as [IEEE-802.11], [IEEE-802.16e], + [IEEE-802.1X], IKEv2 [RFC4306], and PPP [RFC1661] do not involve + key sharing. + + AAA Credential Sharing + AAA credentials (such as RADIUS shared secrets, IPsec pre-shared + keys or certificates) MUST NOT be shared between AAA clients, + since if one AAA client were compromised, this would enable an + attacker to impersonate other AAA clients to the backend + authentication server, or even to impersonate a backend + authentication server to other AAA clients. + + Compromise of Long-Term Credentials + An attacker obtaining keying material (such as TSKs, TEKs, or + the MSK) MUST NOT be able to obtain long-term user credentials + such as pre-shared keys, passwords, or private-keys without + breaking a fundamental cryptographic assumption. The mandatory + requirements of [RFC4017] Section 2.2 include generation of EAP + keying material, capability to generate EAP keying material with + 128 bits of effective strength, resistance to dictionary + attacks, shared state equivalence, and protection against + man-in-the-middle attacks. + + + + +Aboba, et al. Standards Track [Page 52] + +RFC 5247 EAP Key Management Framework August 2008 + + +5.2. Cryptographic Negotiation + + Mandatory requirements from [RFC4962] Section 3: + + Cryptographic algorithm independent + + The AAA key management protocol MUST be cryptographic algorithm + independent. However, an EAP method MAY depend on a specific + cryptographic algorithm. The ability to negotiate the use of a + particular cryptographic algorithm provides resilience against + compromise of a particular cryptographic algorithm. Algorithm + independence is also REQUIRED with a Secure Association Protocol + if one is defined. This is usually accomplished by including an + algorithm identifier and parameters in the protocol, and by + specifying the algorithm requirements in the protocol + specification. While highly desirable, the ability to negotiate + key derivation functions (KDFs) is not required. For + interoperability, at least one suite of mandatory-to-implement + algorithms MUST be selected. Note that without protection by + IPsec as described in [RFC3579] Section 4.2, RADIUS [RFC2865] does + not meet this requirement, since the integrity protection + algorithm cannot be negotiated. + + This requirement does not mean that a protocol must support both + public-key and symmetric-key cryptographic algorithms. It means + that the protocol needs to be structured in such a way that + multiple public-key algorithms can be used whenever a public-key + algorithm is employed. Likewise, it means that the protocol needs + to be structured in such a way that multiple symmetric-key + algorithms can be used whenever a symmetric-key algorithm is + employed. + + Confirm ciphersuite selection + + The selection of the "best" ciphersuite SHOULD be securely + confirmed. The mechanism SHOULD detect attempted roll-back + attacks. + + EAP methods satisfying [RFC4017] Section 2.2 mandatory requirements + and AAA protocols utilizing transmission-layer security are capable + of addressing downgrade attacks. [RFC3748] Section 7.2.1 describes + the "protected ciphersuite negotiation" security claim that refers to + the ability of an EAP method to negotiate the ciphersuite used to + protect the EAP method conversation, as well as to integrity protect + the ciphersuite negotiation. [RFC4017] Section 2.2 requires EAP + methods satisfying this security claim. Since TLS v1.2 [RFC5246] and + IKEv2 [RFC4306] support negotiation of Key Derivation Functions + (KDFs), EAP methods based on TLS or IKEv2 will, if properly designed, + + + +Aboba, et al. Standards Track [Page 53] + +RFC 5247 EAP Key Management Framework August 2008 + + + inherit this capability. However, negotiation of KDFs is not + required by RFC 4962 [RFC4962], and EAP methods based on neither TLS + nor IKEv2 typically do not support KDF negotiation. + + When AAA protocols utilize TLS [RFC5246] or IPsec [RFC4301] for + transmission layer security, they can leverage the cryptographic + algorithm negotiation support provided by IKEv2 [RFC4306] or TLS + [RFC5246]. RADIUS [RFC3579] by itself does not support cryptographic + algorithm negotiation and relies on MD5 for integrity protection, + authentication, and confidentiality. Given the known weaknesses in + MD5 [MD5Collision], this is undesirable, and can be addressed via use + of RADIUS over IPsec, as described in [RFC3579] Section 4.2. + + To ensure against downgrade attacks within lower-layer protocols, + algorithm independence is REQUIRED with lower layers using EAP for + key derivation. For interoperability, at least one suite of + mandatory-to-implement algorithms MUST be selected. Lower-layer + protocols supporting EAP for key derivation SHOULD also support + secure ciphersuite negotiation as well as KDF negotiation. + + As described in [RFC1968], PPP ECP does not support secure + ciphersuite negotiation. While [IEEE-802.16e] and [IEEE-802.11] + support ciphersuite negotiation for protection of data, they do not + support negotiation of the cryptographic primitives used within the + Secure Association Protocol, such as message integrity checks (MICs) + and KDFs. + +5.3. Confidentiality and Authentication + + Mandatory requirements from [RFC4962] Section 3: + + Authenticate all parties + + Each party in the AAA key management protocol MUST be + authenticated to the other parties with whom they communicate. + Authentication mechanisms MUST maintain the confidentiality of any + secret values used in the authentication process. When a secure + association protocol is used to establish session keys, the + parties involved in the secure association protocol MUST identify + themselves using identities that are meaningful in the lower-layer + protocol environment that will employ the session keys. In this + situation, the authenticator and peer may be known by different + identifiers in the AAA protocol environment and the lower-layer + protocol environment, making authorization decisions difficult + without a clear key scope. If the lower-layer identifier of the + + + + + + +Aboba, et al. Standards Track [Page 54] + +RFC 5247 EAP Key Management Framework August 2008 + + + peer will be used to make authorization decisions, then the pair + of identifiers associated with the peer MUST be authorized by the + authenticator and/or the AAA server. + + AAA protocols, such as RADIUS [RFC2865] and Diameter [RFC3588], + provide a mechanism for the identification of AAA clients; since + the EAP authenticator and AAA client are always co-resident, this + mechanism is applicable to the identification of EAP + authenticators. + + When multiple base stations and a "controller" (such as a WLAN + switch) comprise a single EAP authenticator, the "base station + identity" is not relevant; the EAP method conversation takes place + between the EAP peer and the EAP server. Also, many base stations + can share the same authenticator identity. The authenticator + identity is important in the AAA protocol exchange and the secure + association protocol conversation. + + Authentication mechanisms MUST NOT employ plaintext passwords. + Passwords may be used provided that they are not sent to another + party without confidentiality protection. + + Keying material confidentiality and integrity + + While preserving algorithm independence, confidentiality and + integrity of all keying material MUST be maintained. + + Conformance to these requirements is analyzed in the sections that + follow. + +5.3.1. Spoofing + + Per-packet authentication and integrity protection provides + protection against spoofing attacks. + + Diameter [RFC3588] provides support for per-packet authentication and + integrity protection via use of IPsec or TLS. RADIUS/EAP [RFC3579] + provides for per-packet authentication and integrity protection via + use of the Message-Authenticator Attribute. + + [RFC3748] Section 7.2.1 describes the "integrity protection" security + claim and [RFC4017] Section 2.2 requires EAP methods supporting this + claim. + + In order to prevent forgery of Secure Association Protocol frames, + per-frame authentication and integrity protection is RECOMMENDED on + all messages. IKEv2 [RFC4306] supports per-frame integrity + + + + +Aboba, et al. Standards Track [Page 55] + +RFC 5247 EAP Key Management Framework August 2008 + + + protection and authentication, as does the Secure Association + Protocol defined in [IEEE-802.16e]. [IEEE-802.11] supports per-frame + integrity protection and authentication on all messages within the + 4-way handshake except the first message. An attack leveraging this + omission is described in [Analysis]. + +5.3.2. Impersonation + + Both RADIUS [RFC2865] and Diameter [RFC3588] implementations are + potentially vulnerable to a rogue authenticator impersonating another + authenticator. While both protocols support mutual authentication + between the AAA client/authenticator and the backend authentication + server, the security mechanisms vary. + + In RADIUS, the shared secret used for authentication is determined by + the source address of the RADIUS packet. However, when RADIUS + Access-Requests are forwarded by a proxy, the NAS-IP-Address, + NAS-Identifier, or NAS-IPv6-Address attributes received by the RADIUS + server will not correspond to the source address. As noted in + [RFC3579] Section 4.3.7, if the first-hop proxy does not check the + NAS identification attributes against the source address in the + Access-Request packet, it is possible for a rogue authenticator to + forge NAS-IP-Address [RFC2865], NAS-IPv6-Address [RFC3162], or + NAS-Identifier [RFC2865] attributes in order to impersonate another + authenticator; attributes such as the Called-Station-Id [RFC2865] and + Calling-Station-Id [RFC2865] can be forged as well. Among other + things, this can result in messages (and transported keying material) + being sent to the wrong authenticator. + + While [RFC3588] requires use of the Route-Record AVP, this utilizes + Fully Qualified Domain Names (FQDNs), so that impersonation detection + requires DNS A, AAAA, and PTR Resource Records (RRs) to be properly + configured. As a result, Diameter is as vulnerable to this attack as + RADIUS, if not more so. [RFC3579] Section 4.3.7 recommends + mechanisms for impersonation detection; to prevent access to keying + material by proxies without a "need to know", it is necessary to + allow the backend authentication server to communicate with the + authenticator directly, such as via the redirect functionality + supported in [RFC3588]. + +5.3.3. Channel Binding + + It is possible for a compromised or poorly implemented EAP + authenticator to communicate incorrect information to the EAP peer + and/or server. This can enable an authenticator to impersonate + another authenticator or communicate incorrect information via + out-of-band mechanisms (such as via AAA or the lower layer). + + + + +Aboba, et al. Standards Track [Page 56] + +RFC 5247 EAP Key Management Framework August 2008 + + + Where EAP is used in pass-through mode, the EAP peer does not verify + the identity of the pass-through authenticator within the EAP + conversation. Within the Secure Association Protocol, the EAP peer + and authenticator only demonstrate mutual possession of the + transported keying material; they do not mutually authenticate. This + creates a potential security vulnerability, described in [RFC3748] + Section 7.15. + + As described in [RFC3579] Section 4.3.7, it is possible for a + first-hop AAA proxy to detect a AAA client attempting to impersonate + another authenticator. However, it is possible for a pass-through + authenticator acting as a AAA client to provide correct information + to the backend authentication server while communicating misleading + information to the EAP peer via the lower layer. + + For example, a compromised authenticator can utilize another + authenticator's Called-Station-Id or NAS-Identifier in communicating + with the EAP peer via the lower layer. Also, a pass-through + authenticator acting as a AAA client can provide an incorrect peer + Calling-Station-Id [RFC2865] [RFC3580] to the backend authentication + server via the AAA protocol. + + As noted in [RFC3748] Section 7.15, this vulnerability can be + addressed by EAP methods that support a protected exchange of channel + properties such as endpoint identifiers, including (but not limited + to): Called-Station-Id [RFC2865] [RFC3580], Calling-Station-Id + [RFC2865] [RFC3580], NAS-Identifier [RFC2865], NAS-IP-Address + [RFC2865], and NAS-IPv6-Address [RFC3162]. + + Using such a protected exchange, it is possible to match the channel + properties provided by the authenticator via out-of-band mechanisms + against those exchanged within the EAP method. Typically, the EAP + method imports channel binding parameters from the lower layer on the + peer, and transmits them securely to the EAP server, which exports + them to the lower layer or AAA layer. However, transport can occur + from EAP server to peer, or can be bi-directional. On the side of + the exchange (peer or server) where channel binding is verified, the + lower layer or AAA layer passes the result of the verification (TRUE + or FALSE) up to the EAP method. While the verification can be done + either by the peer or the server, typically only the server has the + knowledge to determine the correctness of the values, as opposed to + merely verifying their equality. For further discussion, see + [EAP-SERVICE]. + + It is also possible to perform channel binding without transporting + data over EAP, as described in [EAP-CHANNEL]. In this approach the + EAP method includes channel binding parameters in the calculation of + exported EAP keying material, making it impossible for the peer and + + + +Aboba, et al. Standards Track [Page 57] + +RFC 5247 EAP Key Management Framework August 2008 + + + authenticator to complete the Secure Association Protocol if there is + a mismatch in the channel binding parameters. However, this approach + can only be applied where methods generating EAP keying material are + used along with lower layers that utilize EAP keying material. For + example, this mechanism would not enable verification of channel + binding on wired IEEE 802 networks using [IEEE-802.1X]. + +5.3.4. Mutual Authentication + + [RFC3748] Section 7.2.1 describes the "mutual authentication" and + "dictionary attack resistance" claims, and [RFC4017] requires EAP + methods satisfying these claims. EAP methods complying with + [RFC4017] therefore provide for mutual authentication between the EAP + peer and server. + + [RFC3748] Section 7.2.1 also describes the "Cryptographic binding" + security claim, and [RFC4017] Section 2.2 requires support for this + claim. As described in [EAP-BINDING], EAP method sequences and + compound authentication mechanisms can be subject to + man-in-the-middle attacks. When such attacks are successfully + carried out, the attacker acts as an intermediary between a victim + and a legitimate authenticator. This allows the attacker to + authenticate successfully to the authenticator, as well as to obtain + access to the network. + + In order to prevent these attacks, [EAP-BINDING] recommends + derivation of a compound key by which the EAP peer and server can + prove that they have participated in the entire EAP exchange. Since + the compound key MUST NOT be known to an attacker posing as an + authenticator, and yet must be derived from EAP keying material, it + MAY be desirable to derive the compound key from a portion of the + EMSK. Where this is done, in order to provide proper key hygiene, it + is RECOMMENDED that the compound key used for man-in-the-middle + protection be cryptographically separate from other keys derived from + the EMSK. + + Diameter [RFC3588] provides for per-packet authentication and + integrity protection via IPsec or TLS, and RADIUS/EAP [RFC3579] also + provides for per-packet authentication and integrity protection. + Where the authenticator/AAA client and backend authentication server + communicate directly and credible key wrap is used (see Section 3.8), + this ensures that the AAA Key Transport (phase 1b) achieves its + security objectives: mutually authenticating the AAA + client/authenticator and backend authentication server and providing + transported keying material to the EAP authenticator and to no other + party. + + + + + +Aboba, et al. Standards Track [Page 58] + +RFC 5247 EAP Key Management Framework August 2008 + + + [RFC2607] Section 7 describes the security issues occurring when the + authenticator/AAA client and backend authentication server do not + communicate directly. Where a AAA intermediary is present (such as a + RADIUS proxy or a Diameter agent), and data object security is not + used, transported keying material can be recovered by an attacker in + control of the intermediary. As discussed in Section 2.1, unless the + TSKs are derived independently from EAP keying material (as in + IKEv2), possession of transported keying material enables decryption + of data traffic sent between the peer and the authenticator to whom + the keying material was transported. It also allows the AAA + intermediary to impersonate the authenticator or the peer. Since the + peer does not authenticate to a AAA intermediary, it has no ability + to determine whether it is authentic or authorized to obtain keying + material. + + However, as long as transported keying material or keys derived from + it are only utilized by a single authenticator, compromise of the + transported keying material does not enable an attacker to + impersonate the peer to another authenticator. Vulnerability to + compromise of a AAA intermediary can be mitigated by implementation + of redirect functionality, as described in [RFC3588] and [RFC4072]. + + The Secure Association Protocol does not provide for mutual + authentication between the EAP peer and authenticator, only mutual + proof of possession of transported keying material. In order for the + peer to verify the identity of the authenticator, mutual proof of + possession needs to be combined with impersonation prevention and + channel binding. Impersonation prevention (described in Section + 5.3.2) enables the backend authentication server to determine that + the transported keying material has been provided to the correct + authenticator. When utilized along with impersonation prevention, + channel binding (described in Section 5.3.3) enables the EAP peer to + verify that the EAP server has authorized the authenticator to + possess the transported keying material. Completion of the Secure + Association Protocol exchange demonstrates that the EAP peer and the + authenticator possess the transported keying material. + +5.4. Key Binding + + Mandatory requirement from [RFC4962] Section 3: + + Bind key to its context + + Keying material MUST be bound to the appropriate context. The + context includes the following: + + o The manner in which the keying material is expected to be used. + + + + +Aboba, et al. Standards Track [Page 59] + +RFC 5247 EAP Key Management Framework August 2008 + + + o The other parties that are expected to have access to the + keying material. + + o The expected lifetime of the keying material. Lifetime of a + child key SHOULD NOT be greater than the lifetime of its parent + in the key hierarchy. + + Any party with legitimate access to keying material can determine + its context. In addition, the protocol MUST ensure that all + parties with legitimate access to keying material have the same + context for the keying material. This requires that the parties + are properly identified and authenticated, so that all of the + parties that have access to the keying material can be determined. + + The context will include the peer and NAS identities in more than + one form. One (or more) name form is needed to identify these + parties in the authentication exchange and the AAA protocol. + Another name form may be needed to identify these parties within + the lower layer that will employ the session key. + + Within EAP, exported keying material (MSK, EMSK,IV) is bound to the + Peer-Id(s) and Server-Id(s), which are exported along with the keying + material. However, not all EAP methods support authenticated server + identities (see Appendix A). + + Within the AAA protocol, transported keying material is destined for + the EAP authenticator identified by the NAS-Identifier Attribute + within the request, and is for use by the EAP peer identified by the + Peer-Id(s), User-Name [RFC2865], or Chargeable User Identity (CUI) + [RFC4372] attributes. The maximum lifetime of the transported keying + material can be provided, as discussed in Section 3.5.1. Key usage + restrictions can also be included as described in Section 3.2. Key + lifetime issues are discussed in Sections 3.3, 3.4, and 3.5. + +5.5. Authorization + + Requirement: The Secure Association Protocol (phase 2) conversation + may utilize different identifiers from the EAP conversation (phase + 1a), so that binding between the EAP and Secure Association Protocol + identities is REQUIRED. + + Mandatory requirement from [RFC4962] Section 3: + + Peer and authenticator authorization + + Peer and authenticator authorization MUST be performed. These + entities MUST demonstrate possession of the appropriate keying + material, without disclosing it. Authorization is REQUIRED + + + +Aboba, et al. Standards Track [Page 60] + +RFC 5247 EAP Key Management Framework August 2008 + + + whenever a peer associates with a new authenticator. The + authorization checking prevents an elevation of privilege attack, + and it ensures that an unauthorized authenticator is detected. + + Authorizations SHOULD be synchronized between the peer, NAS, and + backend authentication server. Once the AAA key management + protocol exchanges are complete, all of these parties should hold + a common view of the authorizations associated with the other + parties. + + In addition to authenticating all parties, key management + protocols need to demonstrate that the parties are authorized to + possess keying material. Note that proof of possession of keying + material does not necessarily prove authorization to hold that + keying material. For example, within an IEEE 802.11, the 4-way + handshake demonstrates that both the peer and authenticator + possess the same EAP keying material. However, by itself, this + possession proof does not demonstrate that the authenticator was + authorized by the backend authentication server to possess that + keying material. As noted in [RFC3579] in Section 4.3.7, where + AAA proxies are present, it is possible for one authenticator to + impersonate another, unless each link in the AAA chain implements + checks against impersonation. Even with these checks in place, an + authenticator may still claim different identities to the peer and + the backend authentication server. As described in [RFC3748] + Section 7.15, channel binding is required to enable the peer to + verify that the authenticator claim of identity is both consistent + and correct. + + Recommendation from [RFC4962] Section 3: + + Authorization restriction + + If peer authorization is restricted, then the peer SHOULD be made + aware of the restriction. Otherwise, the peer may inadvertently + attempt to circumvent the restriction. For example, authorization + restrictions in an IEEE 802.11 environment include: + + o Key lifetimes, where the keying material can only be used for a + certain period of time; + + o SSID restrictions, where the keying material can only be used + with a specific IEEE 802.11 SSID; + + o Called-Station-ID restrictions, where the keying material can + only be used with a single IEEE 802.11 BSSID; and + + + + + +Aboba, et al. Standards Track [Page 61] + +RFC 5247 EAP Key Management Framework August 2008 + + + o Calling-Station-ID restrictions, where the keying material can + only be used with a single peer IEEE 802 MAC address. + + As described in Section 2.3, consistent identification of the EAP + authenticator enables the EAP peer to determine the scope of keying + material provided to an authenticator, as well as to confirm with the + backend authentication server that an EAP authenticator proving + possession of EAP keying material during the Secure Association + Protocol was authorized to obtain it. + + Within the AAA protocol, the authorization attributes are bound to + the transported keying material. While the AAA exchange provides the + AAA client/authenticator with authorizations relating to the EAP + peer, neither the EAP nor AAA exchanges provide authorizations to the + EAP peer. In order to ensure that all parties hold the same view of + the authorizations, it is RECOMMENDED that the Secure Association + Protocol enable communication of authorizations between the EAP + authenticator and peer. + + In lower layers where the authenticator consistently identifies + itself to the peer and backend authentication server and the EAP peer + completes the Secure Association Protocol exchange with the same + authenticator through which it completed the EAP conversation, + authorization of the authenticator is demonstrated to the peer by + mutual authentication between the peer and authenticator as discussed + in the previous section. Identification issues are discussed in + Sections 2.3, 2.4, and 2.5 and key scope issues are discussed in + Section 3.2. + + Where the EAP peer utilizes different identifiers within the EAP + method and Secure Association Protocol conversations, peer + authorization can be difficult to demonstrate to the authenticator + without additional restrictions. This problem does not exist in + IKEv2 where the Identity Payload is used for peer identification both + within IKEv2 and EAP, and where the EAP conversation is + cryptographically protected within IKEv2 binding the EAP and IKEv2 + exchanges. However, within [IEEE-802.11], the EAP peer identity is + not used within the 4-way handshake, so that it is necessary for the + authenticator to require that the EAP peer utilize the same MAC + address for EAP authentication as for the 4-way handshake. + + + + + + + + + + + +Aboba, et al. Standards Track [Page 62] + +RFC 5247 EAP Key Management Framework August 2008 + + +5.6. Replay Protection + + Mandatory requirement from [RFC4962] Section 3: + + Replay detection mechanism + + The AAA key management protocol exchanges MUST be replay + protected, including AAA, EAP and Secure Association Protocol + exchanges. Replay protection allows a protocol message recipient + to discard any message that was recorded during a previous + legitimate dialogue and presented as though it belonged to the + current dialogue. + + [RFC3748] Section 7.2.1 describes the "replay protection" security + claim, and [RFC4017] Section 2.2 requires use of EAP methods + supporting this claim. + + Diameter [RFC3588] provides support for replay protection via use of + IPsec or TLS. "RADIUS Support for EAP" [RFC3579] protects against + replay of keying material via the Request Authenticator. According + to [RFC2865] Section 3: + + In Access-Request Packets, the Authenticator value is a 16 octet + random number, called the Request Authenticator. + + However, some RADIUS packets are not replay protected. In + Accounting, Disconnect, and Care-of Address (CoA)-Request packets, + the Request Authenticator contains a keyed Message Integrity Code + (MIC) rather than a nonce. The Response Authenticator in Accounting, + Disconnect, and CoA-Response packets also contains a keyed MIC whose + calculation does not depend on a nonce in either the Request or + Response packets. Therefore, unless an Event-Timestamp attribute is + included or IPsec is used, it is possible that the recipient will not + be able to determine whether these packets have been replayed. This + issue is discussed further in [RFC5176] Section 6.3. + + In order to prevent replay of Secure Association Protocol frames, + replay protection is REQUIRED on all messages. [IEEE-802.11] + supports replay protection on all messages within the 4-way + handshake; IKEv2 [RFC4306] also supports this. + + + + + + + + + + + +Aboba, et al. Standards Track [Page 63] + +RFC 5247 EAP Key Management Framework August 2008 + + +5.7. Key Freshness + + Requirement: A session key SHOULD be considered compromised if it + remains in use beyond its authorized lifetime. Mandatory requirement + from [RFC4962] Section 3: + + Strong, fresh session keys + + While preserving algorithm independence, session keys MUST be + strong and fresh. Each session deserves an independent session + key. Fresh keys are required even when a long replay counter + (that is, one that "will never wrap") is used to ensure that loss + of state does not cause the same counter value to be used more + than once with the same session key. + + Some EAP methods are capable of deriving keys of varying strength, + and these EAP methods MUST permit the generation of keys meeting a + minimum equivalent key strength. BCP 86 [RFC3766] offers advice + on appropriate key sizes. The National Institute for Standards + and Technology (NIST) also offers advice on appropriate key sizes + in [SP800-57]. + + A fresh cryptographic key is one that is generated specifically + for the intended use. In this situation, a secure association + protocol is used to establish session keys. The AAA protocol and + EAP method MUST ensure that the keying material supplied as an + input to session key derivation is fresh, and the secure + association protocol MUST generate a separate session key for each + session, even if the keying material provided by EAP is cached. A + cached key persists after the authentication exchange has + completed. For the AAA/EAP server, key caching can happen when + state is kept on the server. For the NAS or client, key caching + can happen when the NAS or client does not destroy keying material + immediately following the derivation of session keys. + + Session keys MUST NOT be dependent on one another. Multiple + session keys may be derived from a higher-level shared secret as + long as a one-time value, usually called a nonce, is used to + ensure that each session key is fresh. The mechanism used to + generate session keys MUST ensure that the disclosure of one + session key does not aid the attacker in discovering any other + session keys. + + EAP, AAA, and the lower layer each bear responsibility for ensuring + the use of fresh, strong session keys. EAP methods need to ensure + the freshness and strength of EAP keying material provided as an + input to session key derivation. [RFC3748] Section 7.10 states: + + + + +Aboba, et al. Standards Track [Page 64] + +RFC 5247 EAP Key Management Framework August 2008 + + + EAP methods SHOULD ensure the freshness of the MSK and EMSK, even + in cases where one party may not have a high quality random number + generator. A RECOMMENDED method is for each party to provide a + nonce of at least 128 bits, used in the derivation of the MSK and + EMSK. + + The contribution of nonces enables the EAP peer and server to ensure + that exported EAP keying material is fresh. + + [RFC3748] Section 7.2.1 describes the "key strength" and "session + independence" security claims, and [RFC4017] requires EAP methods + supporting these claims as well as methods capable of providing + equivalent key strength of 128 bits or greater. See Section 3.7 for + more information on key strength. + + The AAA protocol needs to ensure that transported keying material is + fresh and is not utilized outside its recommended lifetime. Replay + protection is necessary for key freshness, but an attacker can + deliver a stale (and therefore potentially compromised) key in a + replay-protected message, so replay protection is not sufficient. As + discussed in Section 3.5, the Session-Timeout Attribute enables the + backend authentication server to limit the exposure of transported + keying material. + + The EAP Session-Id, described in Section 1.4, enables the EAP peer, + authenticator, and server to distinguish EAP conversations. However, + unless the authenticator keeps track of EAP Session-Ids, the + authenticator cannot use the Session-Id to guarantee the freshness of + keying material. + + The Secure Association Protocol, described in Section 3.1, MUST + generate a fresh session key for each session, even if the EAP keying + material and parameters provided by methods are cached, or either the + peer or authenticator lack a high entropy random number generator. A + RECOMMENDED method is for the peer and authenticator to each provide + a nonce or counter used in session key derivation. If a nonce is + used, it is RECOMMENDED that it be at least 128 bits. While + [IEEE-802.11] and IKEv2 [RFC4306] satisfy this requirement, + [IEEE-802.16e] does not, since randomness is only contributed from + the Base Station. + + + + + + + + + + + +Aboba, et al. Standards Track [Page 65] + +RFC 5247 EAP Key Management Framework August 2008 + + +5.8. Key Scope Limitation + + Mandatory requirement from [RFC4962] Section 3: + + Limit key scope + + Following the principle of least privilege, parties MUST NOT have + access to keying material that is not needed to perform their + role. A party has access to a particular key if it has access to + all of the secret information needed to derive it. + + Any protocol that is used to establish session keys MUST specify + the scope for session keys, clearly identifying the parties to + whom the session key is available. + + Transported keying material is permitted to be accessed by the EAP + peer, authenticator and server. The EAP peer and server derive EAP + keying material during the process of mutually authenticating each + other using the selected EAP method. During the Secure Association + Protocol exchange, the EAP peer utilizes keying material to + demonstrate to the authenticator that it is the same party that + authenticated to the EAP server and was authorized by it. The EAP + authenticator utilizes the transported keying material to prove to + the peer not only that the EAP conversation was transported through + it (this could be demonstrated by a man-in-the-middle), but that it + was uniquely authorized by the EAP server to provide the peer with + access to the network. Unique authorization can only be demonstrated + if the EAP authenticator does not share the transported keying + material with a party other than the EAP peer and server. TSKs are + permitted to be accessed only by the EAP peer and authenticator (see + Section 1.5); TSK derivation is discussed in Section 2.1. Since + demonstration of authorization within the Secure Association Protocol + exchange depends on possession of transported keying material, the + backend authentication server can obtain TSKs unless it deletes the + transported keying material after sending it. + +5.9. Key Naming + + Mandatory requirement from [RFC4962] Section 3: + + Uniquely named keys + + AAA key management proposals require a robust key naming scheme, + particularly where key caching is supported. The key name + provides a way to refer to a key in a protocol so that it is clear + to all parties which key is being referenced. Objects that cannot + be named cannot be managed. All keys MUST be uniquely named, and + the key name MUST NOT directly or indirectly disclose the keying + + + +Aboba, et al. Standards Track [Page 66] + +RFC 5247 EAP Key Management Framework August 2008 + + + material. If the key name is not based on the keying material, + then one can be sure that it cannot be used to assist in a search + for the key value. + + EAP key names (defined in Section 1.4.1), along with the Peer-Id(s) + and Server-Id(s), uniquely identify EAP keying material, and do not + directly or indirectly expose EAP keying material. + + Existing AAA server implementations do not distribute key names along + with the transported keying material. However, Diameter EAP + [RFC4072] Section 4.1.4 defines the EAP-Key-Name AVP for the purpose + of transporting the EAP Session-Id. Since the EAP-Key-Name AVP is + defined within the RADIUS attribute space, it can be used either with + RADIUS or Diameter. + + Since the authenticator is not provided with the name of the + transported keying material by existing backend authentication server + implementations, existing Secure Association Protocols do not utilize + EAP key names. For example, [IEEE-802.11] supports PMK caching; to + enable the peer and authenticator to determine the cached PMK to + utilize within the 4-way handshake, the PMK needs to be named. For + this purpose, [IEEE-802.11] utilizes a PMK naming scheme that is + based on the key. Since IKEv2 [RFC4306] does not cache transported + keying material, it does not need to refer to transported keying + material. + +5.10. Denial-of-Service Attacks + + Key caching can result in vulnerability to denial-of-service attacks. + For example, EAP methods that create persistent state can be + vulnerable to denial-of-service attacks on the EAP server by a rogue + EAP peer. + + To address this vulnerability, EAP methods creating persistent state + can limit the persistent state created by an EAP peer. For example, + for each peer an EAP server can choose to limit persistent state to a + few EAP conversations, distinguished by the EAP Session-Id. This + prevents a rogue peer from denying access to other peers. + + Similarly, to conserve resources an authenticator can choose to limit + the persistent state corresponding to each peer. This can be + accomplished by limiting each peer to persistent state corresponding + to a few EAP conversations, distinguished by the EAP Session-Id. + + Whether creation of new TSKs implies deletion of previously derived + TSKs depends on the EAP lower layer. Where there is no implied + deletion, the authenticator can choose to limit the number of TSKs + and associated state that can be stored for each peer. + + + +Aboba, et al. Standards Track [Page 67] + +RFC 5247 EAP Key Management Framework August 2008 + + +6. References + +6.1. Normative References + + [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate + Requirement Levels", BCP 14, RFC 2119, March 1997. + + [RFC3748] Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and + H. Levkowetz, Ed., "Extensible Authentication Protocol + (EAP)", RFC 3748, June 2004. + + [RFC4962] Housley, R. and B. Aboba, "Guidance for + Authentication, Authorization, and Accounting (AAA) + Key Management", BCP 132, RFC 4962, July 2007. + +6.2. Informative References + + [8021XPreAuth] Pack, S. and Y. Choi, "Pre-Authenticated Fast Handoff + in a Public Wireless LAN Based on IEEE 802.1x Model", + Proceedings of the IFIP TC6/WG6.8 Working Conference + on Personal Wireless Communications, p.175-182, + October 23-25, 2002. + + [Analysis] He, C. and J. Mitchell, "Analysis of the 802.11i 4-Way + Handshake", Proceedings of the 2004 ACM Workshop on + Wireless Security, pp. 43-50, ISBN: 1-58113-925-X. + + [Bargh] Bargh, M., Hulsebosch, R., Eertink, E., Prasad, A., + Wang, H. and P. Schoo, "Fast Authentication Methods + for Handovers between IEEE 802.11 Wireless LANs", + Proceedings of the 2nd ACM international workshop on + Wireless mobile applications and services on WLAN + hotspots, October, 2004. + + [GKDP] Dondeti, L., Xiang, J., and S. Rowles, "GKDP: Group + Key Distribution Protocol", Work in Progress, March + 2006. + + [He] He, C., Sundararajan, M., Datta, A. Derek, A. and J. + C. Mitchell, "A Modular Correctness Proof of TLS and + IEEE 802.11i", ACM Conference on Computer and + Communications Security (CCS '05), November, 2005. + + + + + + + + + +Aboba, et al. Standards Track [Page 68] + +RFC 5247 EAP Key Management Framework August 2008 + + + [IEEE-802.11] Institute of Electrical and Electronics Engineers, + "Information technology - Telecommunications and + information exchange between systems - Local and + metropolitan area networks - Specific Requirements + Part 11: Wireless LAN Medium Access Control (MAC) and + Physical Layer (PHY) Specifications", IEEE Standard + 802.11-2007, 2007. + + [IEEE-802.1X] Institute of Electrical and Electronics Engineers, + "Local and Metropolitan Area Networks: Port-Based + Network Access Control", IEEE Standard 802.1X-2004, + December 2004. + + [IEEE-802.1Q] IEEE Standards for Local and Metropolitan Area + Networks: Draft Standard for Virtual Bridged Local + Area Networks, P802.1Q-2003, January 2003. + + [IEEE-802.11i] Institute of Electrical and Electronics Engineers, + "Supplement to Standard for Telecommunications and + Information Exchange Between Systems - LAN/MAN + Specific Requirements - Part 11: Wireless LAN Medium + Access Control (MAC) and Physical Layer (PHY) + Specifications: Specification for Enhanced Security", + IEEE 802.11i/D1, 2001. + + [IEEE-802.11F] Institute of Electrical and Electronics Engineers, + "Recommended Practice for Multi-Vendor Access Point + Interoperability via an Inter-Access Point Protocol + Across Distribution Systems Supporting IEEE 802.11 + Operation", IEEE 802.11F, July 2003 (now deprecated). + + [IEEE-802.16e] Institute of Electrical and Electronics Engineers, + "IEEE Standard for Local and Metropolitan Area + Networks: Part 16: Air Interface for Fixed and Mobile + Broadband Wireless Access Systems: Amendment for + Physical and Medium Access Control Layers for Combined + Fixed and Mobile Operations in Licensed Bands" IEEE + 802.16e, August 2005. + + [IEEE-03-084] Mishra, A., Shin, M., Arbaugh, W., Lee, I. and K. + Jang, "Proactive Key Distribution to support fast and + secure roaming", IEEE 802.11 Working Group, IEEE-03- + 084r1-I, http://www.ieee802.org/11/Documents/ + DocumentHolder/3-084.zip, January 2003. + + + + + + + +Aboba, et al. Standards Track [Page 69] + +RFC 5247 EAP Key Management Framework August 2008 + + + [EAP-SERVICE] Arkko, J. and P. Eronen, "Authenticated Service + Information for the Extensible Authentication Protocol + (EAP)", Work in Progress, October 2005. + + [SHORT-TERM] Friedman, A., Sheffer, Y., and A. Shaqed, "Short-Term + Certificates", Work in Progress, June 2007. + + [HANDOFF] Arbaugh, W. and B. Aboba, "Handoff Extension to + RADIUS", Work in Progress, October 2003. + + [EAP-CHANNEL] Ohba, Y., Parthasrathy, M., and M. Yanagiya, "Channel + Binding Mechanism Based on Parameter Binding in Key + Derivation", Work in Progress, June 2007. + + [EAP-BINDING] Puthenkulam, J., Lortz, V., Palekar, A., and D. Simon, + "The Compound Authentication Binding Problem", Work in + Progress, October 2003. + + [MD5Collision] Klima, V., "Tunnels in Hash Functions: MD5 Collisions + Within a Minute", Cryptology ePrint Archive, March + 2006, http://eprint.iacr.org/2006/105.pdf + + [MishraPro] Mishra, A., Shin, M. and W. Arbaugh, "Pro-active Key + Distribution using Neighbor Graphs", IEEE Wireless + Communications, vol. 11, February 2004. + + [RFC1661] Simpson, W., Ed., "The Point-to-Point Protocol (PPP)", + STD 51, RFC 1661, July 1994. + + [RFC1968] Meyer, G., "The PPP Encryption Control Protocol + (ECP)", RFC 1968, June 1996. + + [RFC2230] Atkinson, R., "Key Exchange Delegation Record for the + DNS", RFC 2230, November 1997. + + [RFC2409] Harkins, D. and D. Carrel, "The Internet Key Exchange + (IKE)", RFC 2409, November 1998. + + [RFC2516] Mamakos, L., Lidl, K., Evarts, J., Carrel, D., Simone, + D., and R. Wheeler, "A Method for Transmitting PPP + Over Ethernet (PPPoE)", RFC 2516, February 1999. + + [RFC2548] Zorn, G., "Microsoft Vendor-specific RADIUS + Attributes", RFC 2548, March 1999. + + [RFC2607] Aboba, B. and J. Vollbrecht, "Proxy Chaining and + Policy Implementation in Roaming", RFC 2607, June + 1999. + + + +Aboba, et al. Standards Track [Page 70] + +RFC 5247 EAP Key Management Framework August 2008 + + + [RFC2716] Aboba, B. and D. Simon, "PPP EAP TLS Authentication + Protocol", RFC 2716, October 1999. + + [RFC2782] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR + for specifying the location of services (DNS SRV)", + RFC 2782, February 2000. + + [RFC2845] Vixie, P., Gudmundsson, O., Eastlake 3rd, D., and B. + Wellington, "Secret Key Transaction Authentication for + DNS (TSIG)", RFC 2845, May 2000. + + [RFC2865] Rigney, C., Willens, S., Rubens, A., and W. Simpson, + "Remote Authentication Dial In User Service (RADIUS)", + RFC 2865, June 2000. + + [RFC3007] Wellington, B., "Secure Domain Name System (DNS) + Dynamic Update", RFC 3007, November 2000. + + [RFC3162] Aboba, B., Zorn, G., and D. Mitton, "RADIUS and IPv6", + RFC 3162, August 2001. + + [RFC3547] Baugher, M., Weis, B., Hardjono, T., and H. Harney, + "The Group Domain of Interpretation", RFC 3547, July + 2003. + + [RFC3579] Aboba, B. and P. Calhoun, "RADIUS (Remote + Authentication Dial In User Service) Support For + Extensible Authentication Protocol (EAP)", RFC 3579, + September 2003. + + [RFC3580] Congdon, P., Aboba, B., Smith, A., Zorn, G., and J. + Roese, "IEEE 802.1X Remote Authentication Dial In User + Service (RADIUS) Usage Guidelines", RFC 3580, + September 2003. + + [RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and + J. Arkko, "Diameter Base Protocol", RFC 3588, + September 2003. + + [RFC3766] Orman, H. and P. Hoffman, "Determining Strengths For + Public Keys Used For Exchanging Symmetric Keys", BCP + 86, RFC 3766, April 2004. + + [RFC3830] Arkko, J., Carrara, E., Lindholm, F., Naslund, M., and + K. Norrman, "MIKEY: Multimedia Internet KEYing", RFC + 3830, August 2004. + + + + + +Aboba, et al. Standards Track [Page 71] + +RFC 5247 EAP Key Management Framework August 2008 + + + [RFC4005] Calhoun, P., Zorn, G., Spence, D., and D. Mitton, + "Diameter Network Access Server Application", RFC + 4005, August 2005. + + [RFC4017] Stanley, D., Walker, J., and B. Aboba, "Extensible + Authentication Protocol (EAP) Method Requirements for + Wireless LANs", RFC 4017, March 2005. + + [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and + S. Rose, "DNS Security Introduction and Requirements", + RFC 4033, March 2005. + + [RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and + S. Rose, "Protocol Modifications for the DNS Security + Extensions", RFC 4035, March 2005. + + [RFC4067] Loughney, J., Ed., Nakhjiri, M., Perkins, C., and R. + Koodli, "Context Transfer Protocol (CXTP)", RFC 4067, + July 2005. + + [RFC4072] Eronen, P., Ed., Hiller, T., and G. Zorn, "Diameter + Extensible Authentication Protocol (EAP) Application", + RFC 4072, August 2005. + + [RFC4118] Yang, L., Zerfos, P., and E. Sadot, "Architecture + Taxonomy for Control and Provisioning of Wireless + Access Points (CAPWAP)", RFC 4118, June 2005. + + [RFC4186] Haverinen, H., Ed., and J. Salowey, Ed., "Extensible + Authentication Protocol Method for Global System for + Mobile Communications (GSM) Subscriber Identity + Modules (EAP-SIM)", RFC 4186, January 2006. + + [RFC4187] Arkko, J. and H. Haverinen, "Extensible Authentication + Protocol Method for 3rd Generation Authentication and + Key Agreement (EAP-AKA)", RFC 4187, January 2006. + + [RFC4282] Aboba, B., Beadles, M., Arkko, J., and P. Eronen, "The + Network Access Identifier", RFC 4282, December 2005. + + [RFC4284] Adrangi, F., Lortz, V., Bari, F., and P. Eronen, + "Identity Selection Hints for the Extensible + Authentication Protocol (EAP)", RFC 4284, January + 2006. + + [RFC4301] Kent, S. and K. Seo, "Security Architecture for the + Internet Protocol", RFC 4301, December 2005. + + + + +Aboba, et al. Standards Track [Page 72] + +RFC 5247 EAP Key Management Framework August 2008 + + + [RFC4306] Kaufman, C., Ed., "Internet Key Exchange (IKEv2) + Protocol", RFC 4306, December 2005. + + [RFC4372] Adrangi, F., Lior, A., Korhonen, J., and J. Loughney, + "Chargeable User Identity", RFC 4372, January 2006. + + [RFC4334] Housley, R. and T. Moore, "Certificate Extensions and + Attributes Supporting Authentication in Point-to-Point + Protocol (PPP) and Wireless Local Area Networks + (WLAN)", RFC 4334, February 2006. + + [RFC4535] Harney, H., Meth, U., Colegrove, A., and G. Gross, + "GSAKMP: Group Secure Association Key Management + Protocol", RFC 4535, June 2006. + + [RFC4763] Vanderveen, M. and H. Soliman, "Extensible + Authentication Protocol Method for Shared-secret + Authentication and Key Establishment (EAP-SAKE)", RFC + 4763, November 2006. + + [RFC4675] Congdon, P., Sanchez, M., and B. Aboba, "RADIUS + Attributes for Virtual LAN and Priority Support", RFC + 4675, September 2006. + + [RFC4718] Eronen, P. and P. Hoffman, "IKEv2 Clarifications and + Implementation Guidelines", RFC 4718, October 2006. + + [RFC4764] Bersani, F. and H. Tschofenig, "The EAP-PSK Protocol: + A Pre-Shared Key Extensible Authentication Protocol + (EAP) Method", RFC 4764, January 2007. + + [RFC5176] Chiba, M., Dommety, G., Eklund, M., Mitton, D., and B. + Aboba, "Dynamic Authorization Extensions to Remote + Authentication Dial In User Service (RADIUS)", RFC + 5176, January 2008. + + [RFC5216] Simon, D., Aboba, B., and R. Hurst, "The EAP-TLS + Authentication Protocol", RFC 5216, March 2008. + + [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer + Security (TLS) Protocol Version 1.2", RFC 5246, August + 2008. + + [SP800-57] National Institute of Standards and Technology, + "Recommendation for Key Management", Special + Publication 800-57, May 2006. + + + + + +Aboba, et al. Standards Track [Page 73] + +RFC 5247 EAP Key Management Framework August 2008 + + + [Token] Fantacci, R., Maccari, L., Pecorella, T., and F. + Frosali, "A secure and performant token-based + authentication for infrastructure and mesh 802.1X + networks", IEEE Conference on Computer Communications, + June 2006. + + [Tokenk] Ohba, Y., Das, S., and A. Duttak, "Kerberized Handover + Keying: A Media-Independent Handover Key Management + Architecture", Mobiarch 2007. + +Acknowledgments + + Thanks to Ashwin Palekar, Charlie Kaufman, and Tim Moore of + Microsoft, Jari Arkko of Ericsson, Dorothy Stanley of Aruba Networks, + Bob Moskowitz of TruSecure, Jesse Walker of Intel, Joe Salowey of + Cisco, and Russ Housley of Vigil Security for useful feedback. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Aboba, et al. Standards Track [Page 74] + +RFC 5247 EAP Key Management Framework August 2008 + + +Appendix A - Exported Parameters in Existing Methods + + This Appendix specifies Session-Id, Peer-Id, Server-Id and + Key-Lifetime for EAP methods that have been published prior to this + specification. Future EAP method specifications MUST include a + definition of the Session-Id, Peer-Id and Server-Id (could be the + null string). In the descriptions that follow, all fields comprising + the Session-Id are assumed to be in network byte order. + + EAP-Identity + + The EAP-Identity method is defined in [RFC3748]. It does not + derive keys, and therefore does not define the Session-Id. The + Peer-Id and Server-Id are the null string (zero length). + + EAP-Notification + + The EAP-Notification method is defined in [RFC3748]. It does not + derive keys and therefore does not define the Session-Id. The + Peer-Id and Server-Id are the null string (zero length). + + EAP-MD5-Challenge + + The EAP-MD5-Challenge method is defined in [RFC3748]. It does not + derive keys and therefore does not define the Session-Id. The + Peer-Id and Server-Id are the null string (zero length). + + EAP-GTC + + The EAP-GTC method is defined in [RFC3748]. It does not derive + keys and therefore does not define the Session-Id. The Peer-Id + and Server-Id are the null string (zero length). + + EAP-OTP + + The EAP-OTP method is defined in [RFC3748]. It does not derive + keys and therefore does not define the Session-Id. The Peer-Id + and Server-Id are the null string (zero length). + + + + + + + + + + + + + +Aboba, et al. Standards Track [Page 75] + +RFC 5247 EAP Key Management Framework August 2008 + + + EAP-AKA + + EAP-AKA is defined in [RFC4187]. The EAP-AKA Session-Id is the + concatenation of the EAP Type Code (0x17) with the contents of the + RAND field from the AT_RAND attribute, followed by the contents of + the AUTN field in the AT_AUTN attribute: + + Session-Id = 0x17 || RAND || AUTN + + The Peer-Id is the contents of the Identity field from the + AT_IDENTITY attribute, using only the Actual Identity Length + octets from the beginning, however. Note that the contents are + used as they are transmitted, regardless of whether the + transmitted identity was a permanent, pseudonym, or fast EAP + re-authentication identity. The Server-Id is the null string + (zero length). + + EAP-SIM + + EAP-SIM is defined in [RFC4186]. The EAP-SIM Session-Id is the + concatenation of the EAP Type Code (0x12) with the contents of the + RAND field from the AT_RAND attribute, followed by the contents of + the NONCE_MT field in the AT_NONCE_MT attribute: + + Session-Id = 0x12 || RAND || NONCE_MT + + The Peer-Id is the contents of the Identity field from the + AT_IDENTITY attribute, using only the Actual Identity Length + octets from the beginning, however. Note that the contents are + used as they are transmitted, regardless of whether the + transmitted identity was a permanent, pseudonym, or fast EAP + re-authentication identity. The Server-Id is the null string + (zero length). + + EAP-PSK + + EAP-PSK is defined in [RFC4764]. The EAP-PSK Session-Id is the + concatenation of the EAP Type Code (0x2F) with the peer (RAND_P) + and server (RAND_S) nonces: + + Session-Id = 0x2F || RAND_P || RAND_S + + The Peer-Id is the contents of the ID_P field and the Server-Id is + the contents of the ID_S field. + + + + + + + +Aboba, et al. Standards Track [Page 76] + +RFC 5247 EAP Key Management Framework August 2008 + + + EAP-SAKE + + EAP-SAKE is defined in [RFC4763]. The EAP-SAKE Session-Id is the + concatenation of the EAP Type Code (0x30) with the contents of the + RAND_S field from the AT_RAND_S attribute, followed by the + contents of the RAND_P field in the AT_RAND_P attribute: + + Session-Id = 0x30 || RAND_S || RAND_P + + Note that the EAP-SAKE Session-Id is not the same as the "Session + ID" parameter chosen by the Server, which is sent in the first + message, and replicated in subsequent messages. The Peer-Id is + contained within the value field of the AT_PEERID attribute and + the Server-Id, if available, is contained in the value field of + the AT_SERVERID attribute. + + EAP-TLS + + For EAP-TLS, the Peer-Id, Server-Id and Session-Id are defined in + [RFC5216]. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Aboba, et al. Standards Track [Page 77] + +RFC 5247 EAP Key Management Framework August 2008 + + +Authors' Addresses + + Bernard Aboba + Microsoft Corporation + One Microsoft Way + Redmond, WA 98052 + + EMail: bernarda@microsoft.com + Phone: +1 425 706 6605 + Fax: +1 425 936 7329 + + Dan Simon + Microsoft Research + Microsoft Corporation + One Microsoft Way + Redmond, WA 98052 + + EMail: dansimon@microsoft.com + Phone: +1 425 706 6711 + Fax: +1 425 936 7329 + + Pasi Eronen + Nokia Research Center + P.O. Box 407 + FIN-00045 Nokia Group + Finland + + EMail: pasi.eronen@nokia.com + + + + + + + + + + + + + + + + + + + + + + + +Aboba, et al. Standards Track [Page 78] + +RFC 5247 EAP Key Management Framework August 2008 + + +Full Copyright Statement + + Copyright (C) The IETF Trust (2008). + + This document is subject to the rights, licenses and restrictions + contained in BCP 78, and except as set forth therein, the authors + retain all their rights. + + This document and the information contained herein are provided on an + "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS + OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND + THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF + THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED + WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Intellectual Property + + The IETF takes no position regarding the validity or scope of any + Intellectual Property Rights or other rights that might be claimed to + pertain to the implementation or use of the technology described in + this document or the extent to which any license under such rights + might or might not be available; nor does it represent that it has + made any independent effort to identify any such rights. Information + on the procedures with respect to rights in RFC documents can be + found in BCP 78 and BCP 79. + + Copies of IPR disclosures made to the IETF Secretariat and any + assurances of licenses to be made available, or the result of an + attempt made to obtain a general license or permission for the use of + such proprietary rights by implementers or users of this + specification can be obtained from the IETF on-line IPR repository at + http://www.ietf.org/ipr. + + The IETF invites any interested party to bring to its attention any + copyrights, patents or patent applications, or other proprietary + rights that may cover technology that may be required to implement + this standard. Please address the information to the IETF at + ietf-ipr@ietf.org. + + + + + + + + + + + + +Aboba, et al. Standards Track [Page 79] + |