view Side-By-Side changes
EAP Working Group Bernard Aboba INTERNET-DRAFT Dan Simon Category:InformationalStandards Track Microsoft<draft-ietf-eap-keying-04.txt><draft-ietf-eap-keying-05.txt> J. Arkko14 November 200418 February 2005 Ericsson P. Eronen Nokia H. Levkowetz, Ed. ipUnplugged Extensible Authentication Protocol (EAP) Key Management Framework By submitting this Internet-Draft, I certify that any applicable patent or other IPR claims of which I am aware have been disclosed, and any of which I become aware will be disclosed, in accordance with RFC 3668. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire onMayAugust 22, 2005. Copyright Notice Copyright (C) The Internet Society(2004).(2005). All Rights Reserved. Abstract The Extensible Authentication Protocol (EAP), defined in [RFC3748], enables extensible network access authentication. This document provides a framework for the generation, transport and usage of keying material generated by EAP authentication algorithms, known as "methods". It also specifies the EAP key hierarchy. Aboba, et al.InformationalStandards Track [Page 1] INTERNET-DRAFT EAP Key Management Framework14 November 200418 February 2005 Table of Contents 1. Introduction .......................................... 4 1.1 Requirements Language ........................... 4 1.2 Terminology ..................................... 4 1.3 Overview ........................................ 5 1.4 EAP Invariants .................................. 11 2.EAPKeyHierarchy ..................................... 13Derivation ........................................ 14 2.1 Key Terminology .................................1314 2.2 Key Hierarchy ................................... 15 2.3Key Lifetimes ................................... 17 2.4 Key Names and Scopes ............................ 24 2.5AAA-Key Derivation ..............................27 2.621 2.4 AMSK Key Derivation .............................28 2.722 2.5 KeyScope Issues ................................ 29Naming ...................................... 23 3. Security associations .................................3026 3.1 EAP Method SA ...................................3126 3.2 EAP-Key SA ......................................3327 3.3 AAA SA(s) .......................................3328 3.4 Service SA(s) ...................................3428 4. Key Management ........................................ 30 4.1 Key Caching ..................................... 31 4.2 Parent-Child Relationships ...................... 32 4.3 Local Key Lifetimes ............................. 32 4.4 Exported and Calculated Key Lifetimes ........... 33 4.5 Key Cache Synchronization ....................... 34 4.6 Key Scope ....................................... 35 4.7 Key Strength .................................... 36 4.8 Key Wrap ........................................ 37 5. Handoff Support .......................................39 4.138 5.1 AuthorizationIssues ............................ 39 4.2................................... 38 5.2 CorrectnessIssues .............................. 41 5...................................... 39 6. Security Considerations ..............................44 5.142 6.1 Security Terminology ............................44 5.242 6.2 Threat Model ....................................44 5.342 6.3 Security Analysis ...............................45 5.444 6.4 Man-in-the-middle Attacks .......................49 5.548 6.5 Denial of Service Attacks .......................49 5.648 6.6 Impersonation ...................................50 5.749 6.7 Channel Binding .................................51 5.8 Key Strength .................................... 52 5.9 Key Wrap ........................................ 5350 Aboba, et al.InformationalStandards Track [Page 2] INTERNET-DRAFT EAP Key Management Framework14 November 2004 6.18 February 2005 7. Security Requirements .................................53 6.151 7.1 EAP Method Requirements .........................53 6.251 7.2 AAA Protocol Requirements .......................56 6.354 7.3 Secure Association Protocol Requirements ........58 6.455 7.4 Ciphersuite Requirements ........................60 7.57 8. IANA Considerations ...................................60 8.57 9. References ............................................61 8.158 9.1 Normative References ............................61 8.258 9.2 Informative References ..........................6159 Acknowledgments ..............................................6562 Author's Addresses ...........................................6563 Appendix A - Ciphersuite Keying Requirements .................6764 Appendix B - Example Transient EAP Key (TEK) Hierarchy .......6865 Appendix C - EAP-TLS Key Hierarchy ...........................6966 Appendix D - Example Transient Session Key (TSK) Derivation ..7168 Appendix E - Key Names and Scope in Existing Methods .........7269 Appendix F - Security Association Examples ................... 70 Intellectual Property Statement .............................. 73 Disclaimer of Validity .......................................7374 Copyright Statement ..........................................7374 Aboba, et al.InformationalStandards Track [Page 3] INTERNET-DRAFT EAP Key Management Framework14 November 200418 February 2005 1. Introduction The Extensible Authentication Protocol (EAP), defined in [RFC3748], was designed to enable extensible authentication for network access in situations in which the IP protocol is not available. Originally developed for use with PPP [RFC1661], it has subsequently also been applied to IEEE 802 wired networks [IEEE8021X]. This document provides a framework for the generation, transport and usage of keying material generated by EAP authentication algorithms, known as "methods". In EAP keying material is generated by EAP methods. Part of this keying material may be used by EAP methods themselves and part of this material may be exported. The exported keying material may be transported by AAA protocols or transformed by Secure Association Protocols into session keys which are used by lower layer ciphersuites. This document describes each of these elements and provides a system-level security analysis. It also specifies the EAP key hierarchy. 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 BCP 14 [RFC2119]. 1.2. Terminology This document frequently uses the following terms:auth enticatorauthenticator The end of the link initiating EAP authentication. The term Authenticator is used in [IEEE-802.1X], and authenticator has the same meaning in this document. peer The end of the link that responds to the authenticator. In [IEEE-802.1X], this end is known as the Supplicant. Supplicant The end of the link that responds to the authenticator in [IEEE-802.1X]. In this document, this end of the link is called the peer. 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]. Aboba, et al.InformationalStandards Track [Page 4] INTERNET-DRAFT EAP Key Management Framework14 November 200418 February 2005 AAA Authentication, Authorization and Accounting. AAA protocols with EAP support include RADIUS [RFC3579] and Diameter [I-D.ietf-aaa- eap]. In this document, the terms "AAA server" and "backend authentication server" are used interchangeably. 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. security association A set of policies and cryptographic state used to protect information. Elements of a security association may include cryptographic keys, negotiated ciphersuites and other parameters, counters, sequence spaces, authorization attributes, etc. 1.3. Overview EAP is typically deployed in order to support extensible network access authentication in situations where a peer desires network access via one or more authenticators. Since both the peer and authenticator may have more than one physical or logical port, a given peer may simultaneously access the network via multiple authenticators, or via multiple physical or logical ports on a given authenticator. Similarly, an authenticator may offer network access to multiple peers, each via a separate physical or logical port. The situation is illustrated in Figure 1. Where authenticators are deployed standalone, the EAP conversation occurs between the peer and authenticator, and the authenticator must locally implement an EAP method acceptable to the peer. However, one of the advantages of EAP is that it enables deployment of new authentication methods without requiring development of new code on the authenticator. While the authenticator may implement some EAP methods locally and use those methods to authenticate local users, it may 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 [I- D.ietf-aaa-eap]. Aboba, et al.InformationalStandards Track [Page 5] INTERNET-DRAFT EAP Key Management Framework14 November 200418 February 2005 +-+-+-+-+ | | | EAP | | Peer | | | +-+-+-+-+ | | | Peer Ports / | \ / | \ / | \ / | \ / | \ / | \ / | \ / | \ | | | | | | | | | Authenticator Ports +-+-+-+-+ +-+-+-+-+ +-+-+-+-+ | | | | | | | Auth. | | Auth. | | Auth. | | | | | | | +-+-+-+-+ +-+-+-+-+ +-+-+-+-+ \ | / \ | / \ | / EAP over AAA \ | / (optional) \ | / \ | / \ | / \ | / +-+-+-+-+ | | | AAA | |Server | | | +-+-+-+-+ Figure 1: Relationship between peer, authenticator and backend server Where EAP key derivation is supported, the conversation between the peer and the authenticator typically takes place in three phases: Phase 0: Discovery Phase 1: Authentication 1a: EAP authentication 1b: AAA-Key Transport (optional) Phase 2: Secure Association Establishment 2a: Unicast Secure Association 2b: Multicast Secure Association (optional) Aboba, et al.InformationalStandards Track [Page 6] INTERNET-DRAFT EAP Key Management Framework14 November 200418 February 2005 In the discovery phase (phase 0), peers locate authenticators and discover their capabilities. For example, a peer may locate an authenticator providing access to a particular network, or a peer may locate an authenticator behind a bridge with which it desires to establish a Secure Association. The authentication phase (phase 1) may begin once the peer and authenticator discover each other. This phase always includes EAP authentication (phase 1a). Where the chosen EAP method supports key derivation, in phase 1a keying material is derived on both the peer and the EAP server. This keying material may be used for multiple purposes, including protection of the EAP conversation and subsequent data exchanges. An additional step (phase 1b) is required in deployments which include a backend authentication server, in order to transport keying material (known as the AAA-Key) from the backend authentication server to the authenticator. A Secure Association exchange (phase 2) then 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.EAP may be used in the following scenarios: [a] Stationary peer. WhereThe conversation phases and relationship between thepeerparties isstationary it will establish communications with one or more authenticators while remainingshown inone location. In this scenario, EAP authentication typically represents only a small fraction of the total session time, so that it is acceptable for EAP authentication to occur each time the peer wishes to access the network. In this scenario, the Secure Association Protocol (Phase 2) MAY be ommitted. [b] Mobile peer. Where the peer is mobile, it may move its point of attachment from one authenticator to another, or between points of attachment on a single authenticator. In this scenario, it is often desirable to minimize the handoff latency, so that it is desirable to avoid EAP authentication each time the peer changes its point of attachment. In this scenario, the Secure Association Protocol (Phase 2) is REQUIRED. The conversation phases and relationship between the parties is shown in Figure 2. Abo ba, et al. Informational [Page 7] INTERNET-DRAFT EAP Key Management Framework 14 November 2004Figure 2. 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) | | | | | Figure 2: Conversation Overview Aboba, et al. Standards Track [Page 7] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 1.3.1. Discovery Phase In the discovery phase (phase 0), the EAP peer and authenticator locate each other and discover each other's capabilities. Discovery can occur manually or automatically, depending on the lower layer over which EAP runs. Since authenticator discovery is handled outside of EAP, there is no need to provide this functionality within EAP. For example, where EAP runs over PPP, the EAP peer might be configured with a phone book providing phone numbers of authenticators and associated capabilities such as supported rates, authentication protocols or ciphersuites. In contrast, PPPoE [RFC2516] provides support for a Discovery Stage to allow a peer to identify the Ethernet MAC address of one or more authenticators and establish a PPPoE SESSION_ID. IEEE 802.11 [IEEE80211] also provides integrated discovery support utilizing Beacon and/or Probe Request/Response frames, allowing the peer (known as the station or STA) to determine the MAC address and capabilities of one or more authenticators (known as Access Point or APs).Aboba, et al. Informational [Page 8] INTERNET-DRAFT EAP Key Management Framework 14 November 20041.3.2. Authentication Phase Once the peer and authenticator discover each other, they exchange EAP packets. Typically, the peer desires access to the network, and the authenticators provide that access. In such a situation, access to the network can be provided by any authenticator attaching to the desired network, and the EAP peer is typically willing to send data traffic through any authenticator that can demonstrate that it is authorized to provide access to the desired network. An EAP authenticator may handle the authentication locally, or it may act as a pass-through to a backend authentication server. In the latter case the EAP exchange occurs between the EAP peer and a backend authenticator server, with the authenticator forwarding EAP packets between the two. The entity which terminates EAP authentication with the peer is known as the EAP server. Where pass- through is supported, the backend authentication server functions as the EAP server; where authentication occurs locally, the EAP server is the authenticator. Where a backend authentication server is present, at the successful completion of an authentication exchange, the AAA-Key is transported to the authenticator (phase 1b). EAP may also be used when it is desired for two network devices (e.g. two switches or routers) to authenticate each other, or where two Aboba, et al. Standards Track [Page 8] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 peers desire to authenticate each other and set up a secure association suitable for protecting data traffic. Some EAP methods exist which only support one-way authentication; however, EAP methods deriving keys are required to support mutual authentication. In either case, it can be assumed that the parties do not utilize the link to exchange data traffic unless their authentication requirements have been met. For example, a peer completing mutual authentication with an EAP server will not send data traffic over the link until the EAP server has authenticated successfully to the peer, and a Secure Association has been negotiated. Since EAP is a peer-to-peer protocol, an independent and simultaneous authentication may take place in the reverse direction. Both peers may act as authenticators and authenticatees at the same time. 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). As a result, EAP may be used for "pre-authentication" in situations where it is necessary to pre-Aboba, et al. Informational [Page 9] INTERNET-DRAFT EAP Key Management Framework 14 November 2004establish EAP security associations in order to decrease handoff or roaming latency. 1.3.3. Secure Association Phase The Secure Association phase (phase 2), if it occurs, begins after the completion of EAP authentication (phase 1a) and key transport (phase1b), and typically supports1b). EAP may be used in the followingfeatures: [1] Generation of fresh transient session keys (TSKs).scenarios: [a] Stationary peer. WhereAAA-Key caching is supported,theEAPpeermay initiateis stationary it will establish communications with one or more authenticators while remaining in one location. In this scenario, EAP authentication typically represents only anewsmall fraction of the total sessionusing a AAA-Keytime, so thatwas used in a previous session. Wereit is acceptable for EAP authentication to occur each time theTSKspeer wishes tobe derived from a portion ofaccess theAAA-Key,network. In thiswould result in reuse ofscenario, thesession keys which could exposeSecure Association Protocol phase may be omitted. [b] Mobile peer. Where theunderlying ciphersuite to attack. As a result, where AAA-Keypeer is mobile, it may move its point of attachment from one authenticator to another, or between points of attachment on a single authenticator. In this scenario, it is often desirable to minimize the handoff latency, so that it is desirable to avoid EAP authentication each time the peer changes its point of attachment. In this scenario, caching of the AAA-Key be supported on the EAP peer and authenticator. In this, a Secure Aboba, et al. Standards Track [Page 9] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 Assocation Protocol phase is required to allow EAP to be used securely. A Secure Association Protocol used with EAP typically supports the following features: [1] Generation of fresh transient session keys (TSKs). Where AAA-Key caching is supported,freshness ofthe EAP peer may initiate a new session using a AAA-Key that was used in a previous session. Were the TSKsMUSTto beprovided by mechanisms outsidederived from a portion ofEAP. Thisthe AAA-Key, this would result in reuse of the session keys which could expose the underlying ciphersuite to attack. As a result, where AAA-Key caching istypically handled withinsupported, the Secure AssociationprotocolProtocol phase is REQUIRED, and MUST provide for freshness of the TSKs. This is typically handled via the exchange of nonces or counters, which are then mixed with the AAA-Key in order to generate fresh unicast (phase 2a) and possibly multicast (phase 2b) session keys. By not using the AAA-Key directly to protect data, thesecureSecure Association Protocol protects against compromise of the AAA-Key. [2] Entity Naming. A basic feature of a Secure Association Protocol is the explicit naming of the parties engaged in the exchange. Explicit identification of the parties is critical, since without this the parties engaged in the exchange are not identified and the scope of the transient session keys (TSKs) generated during the exchange is undefined. As illustrated in Figure 1, both the peer and NAS may have more than one physical or virtual port, so that port identifiers aretypically inappropriate asnot recommended a naming mechanism. [3] Secure capabilities negotiation. Thisprovides forincludes the secure negotiation of usage modes, session parameters (such as key lifetimes),ciphersuites,ciphersuites and required filters, including confirmation of the capabilities discovered during phase 0.By securely negotiating session parameters,It is RECOMMENDED that thesecureSecure Association Protocolprotectssupport secure capabilities negotiation, in order to protect against spoofing during the discoveryphasephase, andensures thatto ensure agreement between the peer and authenticatorare in agreementabout how data is to be secured. [4] Keyactivation and deletion. In order for the peer and authenticator to communicate securely, it is necessary for both sides to derive the same session keys, and remainmanagement. EAP as defined insync with respect to[RFC3748] supports keystate going forward. One ofderivation, but not key management. While EAP methods may derive keying material, EAP does provide for thefunctionsmanagement of exported or derived keys. For example, EAP does not support negotiation of theSecure Association Protocol iskey lifetime of exported or derived keys, nor does it support rekey. Although EAP methods may support "fast reconnect" as defined in [RFC3748] Section 7.2.1, rekey of exported keys cannot occur without reauthentication. In order tosynchronize the activation andprovide method Aboba, et al.InformationalStandards Track [Page 10] INTERNET-DRAFT EAP Key Management Framework14 November 200418 February 2005 independence, key management of exported or derived keys SHOULD NOT be provided within EAP methods. Since neither EAP nor EAP methods provide key management support, it is RECOMMENDED that key management facilities be provided within the Secure Association Protocol. This includes key lifetime management (such as via explicit key lifetime negotiation, or seamless rekey), as well synchronization of the installation and deletion of keys so as to enableseamless rekey, orrecovery from partial or complete loss of key state by the peer or authenticator. Since key management requires a key naming scheme, Secure Association Protocols supporting key management support MUST also support key naming. [5] Mutual proof of possession of the AAA-Key.This demonstratesThe Secure Association Protocol MUST demonstrate mutual proof of posession of the AAA-Key, in order to show that both the peer and authenticator have been authenticated and authorized by the backend authentication server. 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. 1.4. EAP Invariants Certain basic characteristics, known as the "EAP Invariants" hold true for EAP implementations on all media: Media independence Method independence Ciphersuite independence 1.4.1. 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 [IEEE8021X], and IEEE 802.11 wireless LANs [IEEE80211i]. In order to maintain media independence, it is necessary for EAP to avoid inclusion 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 utilize identifiers associated with a particular usage environment (e.g. MAC addresses). The need for media independence has also motivated the development of the three phase exchange. Since discovery is typically media- Aboba, et al. Standards Track [Page 11] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 specific, this function is handled outside of EAP, rather than being incorporated within it. Similarly, the Secure Association Protocol often contains media dependencies such as negotiation of media- specific ciphersuites or session parameters, and as a result this functionality also cannot be incorporated within EAP. Note that media independence may 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. To support channel binding, an EAP method can pass binding parameters to the AAA server in the form of an opaque blob, and receiveAboba, et al. Informational [Page 11] INTERNET-DRAFT EAP Key Management Framework 14 November 2004confirmation of whether the parameters match, without requiring media-specific knowledge. 1.4.2. 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 implementing code for each EAP method required by peers. In fact, since a pass-through authenticator is not required to implement any EAP methods at all, it cannot be assumed to support any EAP method-specific code. As a result, as noted in [RFC3748], authenticators must by default be capable of supporting any EAP method. Since the Discovery and Secure Association exchanges are also method independent, an authenticator can carry out the three phase exchange without having an EAP method in common with the peer. 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 LAN authentication [WLANREQ]. However, despite this it is possible for the peer and authenticator to interoperate as long as a suitable EAP method is supported on the EAP server. 1.4.3. Ciphersuite Independence While EAP methods may 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 out-of-band of EAP. Since ciphersuite negotiation is assumed to occur out-of-band, there is no need for ciphersuite negotiation within EAP. Since ciphersuite Aboba, et al. Standards Track [Page 12] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 negotiation occurs outside of EAP, EAP methods generate keying material that is ciphersuite-independent. For example, within PPP, the ciphersuite is negotiated within the Encryption Control Protocol (ECP) defined in [RFC1968], after EAP authentication is completed. Within [IEEE80211i], 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 after EAP authentication has completed. Advantages of ciphersuite-independence include:Aboba, et al. Informational [Page 12] INTERNET-DRAFT EAP Key Management Framework 14 November 2004Reduced update requirements 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 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 The ciphersuite is negotiated between the peer and authenticator out-of-band of EAP. The backend authentication server is neither a party to this negotiation, nor is it an intermediary in the data flow between the EAP peer and authenticator. The backend authentication server may not have knowledge of the ciphersuites and negotiation policies implemented by the peer and authenticator, or be aware of the ciphersuite negotiated between them. This simplifies the configuration of the backend authentication server. For example, since ECP negotiation occurs after authentication, when run over PPP, the EAP peer, authenticator and backend authentication server may not anticipate the negotiated ciphersuite and therefore this information cannot be provided to the EAP method.2.Aboba, et al. Standards Track [Page 13] INTERNET-DRAFT EAP KeyHierarchyManagement Framework 18 February 2005 2. Key Derivation 2.1. Key Terminology The EAP Key Hierarchy makes use of the following types of keys: 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. 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.Aboba, et al. Informational [Page 13] INTERNET-DRAFT EAP Key Management Framework 14 November 2004Extended 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. AAA-Key A key derived by the peer and EAP server, used by the peer and authenticator in the derivation of Transient Session Keys (TSKs). Where a backend authentication server is present, the AAA-Key is transported from the backend authentication server to the authenticator, wrapped within the AAA-Token; it is therefore known by the peer, authenticator and backend authentication server. Despite the name, the AAA-Key is computed regardless of whether a backend authentication server is present. AAA-Key derivation is discussed in Section2.5;2.3; in existing implementations the MSK is used as the AAA-Key. Application-specific Master Session Keys (AMSKs) Keys derived from the EMSK which are cryptographically separate from each other and may be subsequently used in the derivation of Transient Session Keys (TSKs) for extended uses. AMSK derivation is discussed in Section2.6.2.4. AAA-Token Where a backend server is present, the AAA-Key and one or more attributes is transported between the backend authentication server and the authenticator within a package known as the AAA-Token. The format and wrapping of the AAA-Token, which is intended to be accessible only to the backend authentication server and Aboba, et al. Standards Track [Page 14] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 authenticator, is defined by the AAA protocol. Examples include RADIUS [RFC2548] and Diameter [I-D.ietf-aaa-eap]. 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 [RFC2716], 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 EAP methods are not required to generate it. However, when it is generated it MUST be unpredictable. Pairwise Master Key (PMK) The AAA-Key is divided into two halves, the "Peer to Authenticator Encryption Key" (Enc-RECV-Key) and "Authenticator to Peer Encryption Key" (Enc-SEND-Key) (reception is defined from the point of view of the authenticator). Within [IEEE80211i] Octets 0-31 of the AAA-Key (Enc-RECV-Key) are known as the Pairwise Master Key (PMK). In [IEEE80211i] the TKIP and AES CCMP ciphersuites deriveAboba, et al. Informational [Page 14] INTERNET-DRAFT EAP Key Management Framework 14 November 2004their Transient Session Keys (TSKs) solely from the PMK, whereas the WEP ciphersuite as noted in [RFC3580], derives its TSKs from both halves of the AAA-Key. Transient EAP Keys (TEKs) Session keys which 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. 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. An example TEK key hierarchy is described in Appendix C. Transient Session Keys (TSKs) Session keys used to protect data exchanged between the peer and the authenticator after the EAP authentication has successfully completed. TSKs are appropriate for the lower layer ciphersuite negotiated between the EAP peer and authenticator. Examples of TSK derivation are provided in Appendix D. 2.2. Key Hierarchy The EAP Key Hierarchy, illustrated in Figure 3, 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 and/or other information necessary to Aboba, et al. Standards Track [Page 15] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 decide whether access to some service should be granted. 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/or other information necessary to decide whether access to some service should be granted. 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, EAP derives two types of keys: [1] Keys calculated locally by the EAP method but not exported by the EAP method, such as the TEKs. [2] Keys exported by the EAP method: MSK, EMSK, IVAboba, et al. Informational [Page 15] INTERNET-DRAFT EAP Key Management Framework 14 November 2004From the keys exported by the EAP method, two other types of keys may be derived: [3] Keys calculated from exported quantities: AAA-Key, AMSKs. [4] Keys calculated by the Secure Association Protocol from the AAA-Key or AMSKs: TSKs. In order to protect the EAP conversation, methods supporting key derivation typically negotiate a ciphersuite and derive Transient EAP Keys (TEKs) for use with that ciphersuite. The TEKs are stored locally by the EAP method and are not exported. As noted in [RFC3748] Section 7.10, EAP methods generating keys are required to calculate and export the MSK and EMSK, which must be at least 64 octets in length. EAP methods also may export the IV; however, the use of the IV is deprecated. On both the peer and EAP server, the exported MSK and keys derived from the AMSK are utilized in order to calculate the AAA-Key, as described in Section2.5.2.3. Where a backend authentication server is present, the AAA-Key is transported from the backend authentication server to the authenticator within the AAA-Token, using the AAA protocol. Once EAP authentication completes and is successful, the peer and authenticator obtain the AAA-Key and the Secure Association Protocol is run between the peer and authenticator in order to securely negotiate the ciphersuite, derive fresh TSKs used to protect data, and provide mutual proof of possession of the AAA-Key. Aboba, et al. Standards Track [Page 16] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 When the authenticator acts as an endpoint of the EAP conversation rather than a pass-through, EAP methods are implemented on the authenticator as well as the peer. If the EAP method negotiated between the EAP peer and authenticator supports mutual authentication and key derivation, the EAP Master Session Key (MSK) and Extended Master Session Key (EMSK) are derived on the EAP peer and authenticator and exported by the EAP method. In this case, the MSK and EMSK are known only to the peer and authenticator and no other parties. The TEKs and TSKs also reside solely on the peer and authenticator. This is illustrated in Figure 4. As demonstrated in [I-D.ietf-roamops-cert], in this case it is still possible to support roaming between providers, using certificate-based authentication. Where a backend authentication server is utilized, the situation is illustrated in Figure 5. Here the authenticator acts as a pass- through between the EAP peer and a backend authentication server. In this model, the authenticator delegates the access control decisionAboba, et al. Informational [Page 16] INTERNET-DRAFT EAP Key Management Framework 14 November 2004to the backend authentication server, which acts as a Key Distribution Center (KDC). In this case, the authenticator encapsulates EAP packet with a AAA protocol such as RADIUS [RFC3579] or Diameter [I-D.ietf-aaa-eap], and forwards packets to and from the backend authentication server, which acts as the EAP server. Since the authenticator acts as a pass-through, EAP methods reside only on the peer and EAP server As a result, the TEKs, MSK and EMSK are derived on the peer and EAP server. On completion of EAP authentication, EAP methods on the peer and EAP server export the Master Session Key (MSK) and Extended Master Session Key (EMSK). The peer and EAP server then calculate the AAA- Key from the MSK and EMSK, and the backend authentication server sends an Access-Accept to the authenticator, providing the AAA-Key within a protected package known as the AAA-Token. The AAA-Key is then used by the peer and authenticator within the Secure Association Protocol to derive Transient Session Keys (TSKs) required for the negotiated ciphersuite. The TSKs are known only to the peer and authenticator.2.3. Key Lifetimes Key lifetime issues are discussed in the sections that follow. Issues include: [a]Aboba, et al. Standards Track [Page 17] INTERNET-DRAFT EAP Keylifetime negotiation. Where key lifetimes cannot be assumed, it may be necessary to negotiate them. Where negotiation is supported, it is RECOMMENDED that the negotiation be secured. Note that key lifetime negotiation may not always be required. A difference between IKEv1 and IKEv2 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 rekeying the SA when necessary. [b]Management Framework 18 February 2005 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ | | ^ | EAP Method | | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+ | | | | | | | | | | | EAP Method Keyresynchronization. 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 the peer may not be able to determine before attempting to use it whether a particular key exists within the authenticator cache. It is therefore RECOMMENDED for the lower layer to provide a mechanism for key state resynchronization. Since in this situation one or more of the parties initially do not possess a key with which to protect the resynchronization exchange, securing this mechanism may be difficult. Aboba, et al. Informational [Page 17] INTERNET-DRAFT EAP Key Management Framework 14 November 2004 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ | | ^ | EAP Method | | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+ | | | | | | | | | | | EAP Method Key |<->| Long-Term | | | | | Derivation | | Credential | | | | | | | | | | | | | +-+-+-+-+-+-+-+ | Local|<->| Long-Term | | | | | Derivation | | Credential | | | | | | | | | | | | | +-+-+-+-+-+-+-+ | Local to | | | | | EAP | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Method | | | | | | | | | | | | | | | | | | | | | | | | | | V | | | | | +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ | | | | TEK | | MSK | |EMSK | |IV | | | | |Derivation | |Derivation | |Derivation | |Derivation | | | | +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ | | | | | | | | | | | | | V +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ | | | ^ | | | | | MSK (64B) | EMSK (64B) | IV (64B) | | | | Exported| | | | by | V V V EAP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+ Method| | AAA Key Derivation, | | Known | | | Naming & Binding | |(Not Secret) | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+ V | ---+ | AAA-Key/ Transported | | Name by AAA | | Protocol | V V +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ | | ^ | TSK Derivation | Lower layer | | [AAA-Key Cache] | Specific | | | V +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ Figure 3: EAP Key Hierarchy Aboba, et al.InformationalStandards Track [Page 18] INTERNET-DRAFT EAP Key Management Framework14 November 200418 February 2005 +-+-+-+-+-+ +-+-+-+-+-+ | | | | | | | | | Cipher- | | Cipher- | | Suite | | Suite | | | | | +-+-+-+-+-+ +-+-+-+-+-+ ^ ^ | | | | | | V V +-+-+-+-+-+ +-+-+-+-+-+ | | | | | |===============| | | |EAP, TEK Deriv.|Authenti-| | |<------------->| cator | | | | | | | Secure Assoc. | | | peer |<------------->| (EAP | | |===============| server) | | | Link layer | | | | (PPP,IEEE802) | | | | | | |MSK,EMSK | |MSK,EMSK | | AAA-Key/| | AAA-Key/| | Name | | Name | | (TSKs) | | (TSKs) | +-+-+-+-+-+ +-+-+-+-+-+ ^ ^ | | | MSK, EMSK | MSK, EMSK | | | | +-+-+-+-+-+ +-+-+-+-+-+ | | | | | EAP | | EAP | | Method | | Method | | | | | | (TEKs) | | (TEKs) | | | | | +-+-+-+-+-+ +-+-+-+-+-+ Figure 4: Relationship between EAP peer and authenticator (acting as an EAP server), where no backend authentication server is present. Aboba, et al.InformationalStandards Track [Page 19] INTERNET-DRAFT EAP Key Management Framework14 November 200418 February 2005 +-+-+-+-+-+ +-+-+-+-+-+ | | | | | | | | | Cipher- | | Cipher- | | Suite | | Suite | | | | | +-+-+-+-+-+ +-+-+-+-+-+ ^ ^ | | | | | | V V +-+-+-+-+-+ +-+-+-+-+-+ +-+-+-+-+-+ | |===============| |========| | | |EAP, TEK Deriv.| | | | | |<-------------------------------->| backend | | | | |AAA-Key/| | | | Secure Assoc. | | Name | | | peer |<------------->|Authenti-|<-------| auth | | |===============| cator |========| server | | | Link Layer | | AAA | (EAP | | | (PPP,IEEE 802)| |Protocol| server) | |MSK,EMSK | | | | | | AAA-Key/| | AAA-Key/| |MSK,EMSK,| | Name | | Name | | AAA-Key/| | (TSKs) | | (TSKs) | | Name | +-+-+-+-+-+ +-+-+-+-+-+ +-+-+-+-+-+ ^ ^ | | | MSK, EMSK | MSK, EMSK | | | | +-+-+-+-+-+ +-+-+-+-+-+ | | | | | EAP | | EAP | | Method | | Method | | | | | | (TEKs) | | (TEKs) | | | | | +-+-+-+-+-+ +-+-+-+-+-+ Figure 5: Pass-through relationship between EAP peer, authenticator and backend authentication server. Aboba, et al.InformationalStandards Track [Page 20] INTERNET-DRAFT EAP Key Management Framework14 November 2004 2.3.1. Parent-child relationships When keying material exported by18 February 2005 2.3. AAA-Key Derivation Where a AAA-Key is generated as the result of a successful EAPmethods expires, all keying material derived fromauthentication with theexported keying material, (includingauthenticator A, theAAA-Key, AMSKsAAA-Key is based on the MSK: AAA-Key = MSK(0,63). As discussed in [I-D.irtf-aaaarch-handoff], [IEEE-02-758], [IEEE-03-084], andTSKs) also expires. Similarly, when an EAP reauthentication takes place, new[8021XHandoff], keying materialis derived and exported by the EAP method, which eventually resultsmay be required for use inreplacement of calculated keys, includingfast handoff between authenticators. Where theAAA-Key, AMSKs, and TSKs. As a result, the lifetime of keys calculated from the exportedbackend authentication server provides keying materialcan be no longer than the lifetime ofto additional authenticators in order to facilitate fast handoff, it is highly desirable for theexportedkeying materialitself. However, the lifetime of calculated keys can be less than that of the exported keys. For example, TSK rekey may occur priorused on different authenticators B, C toEAP reauthentication. Notebe cryptographically separate, so thatdeletion of the AAA-Keyif one authenticator is compromised, it does notnecessarily imply deletion oflead to thecorresponding TSKs. Replacement or deletion of TSKs only implies replacementcompromise of other authenticators. Where keying material is provided by theAAA-Key when the TSKs are taken frombackend authentication server, aportion of the AAA-Key. Failure to mutually prove possession of the AAA-Key during the Secure Association Protocol exchange need not be grounds for deletion ofkey hierarchy derived from theAAA-Key by both parties; rate-limiting Secure Association Protocol exchanges couldAMSK can be used toprevent a brute force attack. 2.3.2. 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 endprovide cryptographically separate keying material for use in fast handoff. Instead ofthe conversation and then discarded. However, methods may rekey TEKs during a conversation. WhenusingTEKs withinthe EMSK directly anEAP conversation or across conversations, it is necessary to ensure that replay protection andapplication specific keyseparation requirements are fulfilled. For instance, if a replay counter(AMSK) isused, TEK rekey MUST occur prior to wrappingderived as described in Section 2.4: AAA-Key = MSK(0,63) AMSK = KDF(EMSK, "EAP AAA-Key derivation for multiple attachments", length) AAA-Key-B = prf(AMSK(0,63),"EAP AAA-Key derivation for multiple attachments", AAA-Key, B-Called-Station-Id, Calling-Station-Id,length) AAA-Key-C = prf(AMSK(0,63),"EAP AAA-Key derivation for multiple attachments",AAA-Key, C-Called-Station-Id, Calling-Station-Id, length) Where: Calling-Station-Id = STA MAC address B-Called-Station-Id = AP B MAC address C-Called-Station-Id = AP C MAC address prf = HMAC-SHA1 KDF = defined in Section 2.4 length = length of derived key material Here AAA-Key is derived during thecounter. Similarly, TSKs MUST remain cryptographically separate from TEKs despite TEK rekeying or caching. This prevents TEK compromise from leading directly to compromise ofinitial EAP authentication between theTSKspeer andvice versa.authenticator A. Based on this initial EAPmethods may cache local keying materialauthentication, an AMSK is also derived, whichmay persistcan be used to derive AAA-Keys formultiple EAP conversations whenfastreconnect is used [RFC 3748]. For example,authentication between the EAPmethods based on TLS (such as EAP-TLS [RFC2716]) derivepeer andcacheauthenticators B and C. Since theTLS Master Secret, typically for substantial time periods. The lifetimeAMSK is cryptographically separate from the MSK, each ofother local keying material calculatedthese AAA-Keys is cryptographically separate from each other, and are guaranteed to be unique between the EAP peer Aboba, et al.InformationalStandards Track [Page 21] INTERNET-DRAFT EAP Key Management Framework14 November 2004 within18 February 2005 (also known as theEAP method is defined bySTA) and themethod. Note that in general, when using fast reconnect, there is no guarantee to thatauthenticator (also known as theoriginal long-term credentialsAP). 2.4. AMSK Key Derivation The EAP AMSK key derivation function (KDF) derives an AMSK from the Extended Master Session Key (EMSK), an application key label, optional application data, and output length. AMSK = KDF(EMSK, key label, optional application data, length) The key labels arestill inprintable ASCII strings unique for each application (see Section 8 for IANA Considerations). Additional ciphering keys (TSKs) can be derived from thepossession ofAMSK using an application specific key derivation mechanism. In many cases, this AMSK->TSK derivation can simply split thepeer. For instance,AMSK to pieces of correct length. In particular, it is not necessary to use acard hold holdingcryptographic one-way function. The length of theprivateAMSK MUST be specified by the application. The AMSK keyfor EAP-TLS may have been removed. EAP servers should verify thatderivation function is taken from thelong-term credentials are still valid, suchPRF+ key expansion PRF from [IKEv2]. This KDF takes 4 parameters asby checking that certificate used in the original authentication has not yet expired. 2.3.3. Exportedinput: secret, label, application data, andCalculated Key Lifetimes All EAP methods generating keys are requiredoutput length. It is only defined for 255 iterations so it may produce up togenerate5100 bytes of key material. For the purposes of this specification the secret is taken as theMSK andEMSK,and may optionally generatetheIV. Existing EAP methods do not negotiatelabel is thelifetime ofkey label described above concatenated with a NUL byte, theexported keys. EAP, defined in [RFC3748],application data is alsodoes not support the negotiation of lifetimes for exported keying material such asdescribed above and theMSK,output length is two bytes. Application data MAY be an empty string. The KDF is based on HMAC-SHA1 [RFC2104] [SHA1]. For this specification we have: KDF (K,L,D,O) = T1 | T2 | T3 | T4 | ... where: T1 = prf (K, S | 0x01) T2 = prf (K, T1 | S | 0x02) T3 = prf (K, T2 | S | 0x03) T4 = prf (K, T3 | S | 0x04) prf = HMAC-SHA1 K = EMSKand IV. Several mechanisms exist for managingL = keylifetimes: [a] AAA attributes. AAA protocolslabel D = application data O = OutputLength (2 bytes) S = L | " " | D | O The prf+ construction was chosen because of its simplicity and Aboba, et al. Standards Track [Page 22] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 efficiency over other PRFs such asRADIUS [RFC2865] and Diameter [DiamEAP] support the Session-Timeout attribute.those used in [TLS]. TheSession-Timeout value representsmotivation for themaximum lifetimedesign ofthe exported keys, and all keys calculated from it,this PRF is described inall circumstances.[SIGMA]. TheAAA server MUST expire the exported keys, and all keys calculated from them, prior to the future time indicated by Session-Timeout. OnNUL byte after theauthenticator, where EAPkey label is usedfor authentication, the Session-Timeout value represents the maximum session time priortore-authentication, as described in [RFC3580]. Where EAPavoid collisions if one key label isused for pre-authentication, the session may not start until some future time, or may never occur. Nevertheless, the Session-Timeout value represents the time after which the AAA-Key,a prefix of another label (e.g. "foobar" andall keys calculated"foobarExtendedV2"). This is considered a simpler solution than requiring a key label assignment policy that prevents prefixes fromit, will have expired on the authenticator. If the session subsequently starts, re- authentication willoccurring. Where another prf needs to beinitiated once the Session-Time has expired. Ifnegotiated, this can be handled within thesession never started, or started and ended,EAP method. 2.5. Key Naming Each key created within theAAA-Key and all keys calculated from it will be expiredEAP key management framework has a name (the identifier by which theauthenticator priorkey can be identified), as well as a scope (the parties to whom thefuture time indicated by Session-Timeout. Since the TSK lifetimekey isoften determined by authenticator resources,available). This section describes how keys are named, and theAAA server has no insight intoscope within which that name applies. Session-Id EAP methods supporting key naming MUST specify a temporally unique method identifier known as theTSK derivation process,EAP Method-Id, which is typically constructed from nonces or counters used within the exchange. Since multiple EAP sessions may exist between an EAP peer andbyEAP server, theprincipleMethod-Id allows MSKs to be differentiated. The concatenation ofciphersuite independence, itthe EAP Type (expressed in ASCII text), ":" and the Method-Id (also expressed in ASCII text) isnot appropriate forknown as theAAA server to manage any aspectEAP Session-Id. The inclusion of theTSK derivation process, includingType in theTSK lifetime. [b] Lower layer mechanisms. While AAA attributes can communicateEAP Session-Id ensures that each EAP method has a distinct name space. The EAP Session-Id uniquely identifies themaximum exported key lifetime, this only servesEAP session tosynchronize the key lifetime betweenthebackend authentication serverEAP peer and server terminating theauthenticator. Lower layer mechanisms can thenEAP conversation. However, suitable EAP peer and server names may not always beused to enableavailable. As described in [RFC3748] Section 7.3, thelifetime of exported and calculated keys toidentity provided in the EAP- Response/Identity, may benegotiated Aboba, et al. Informational [Page 22] INTERNET-DRAFT EAP Key Management Framework 14 November 2004 betweendifferent from thepeeridentity authenticated by the EAP method, andauthenticator. Where TSKs are establishedasthea result the EAP-Response/Identity is unsuitable for determination of the peer identity. As aSecure Association Protocol exchange, itresult, the Session-Id scope isRECOMMENDED thatdefined by theSecure Association Protocol include secure negotiation ofEAP peer name (if securely exchanged within theTSK lifetime betweenmethod) concatenated with thepeer and authenticator.EAP server name (also only if securely exchanged). Wherethe TSKa peer or server name istaken frommissing theAAA-Key, therenull string isno needused. Since an EAP session is not bound tomanage the TSK lifetime asaseparate parameter, sinceparticular authentication or specific ports on theTSK lifetimepeer andAAA-Key lifetimeauthenticator, the authenticator port or identity areidentical. [c] System defaults. Wherenot included in the Session-Id scope. Aboba, et al. Standards Track [Page 23] INTERNET-DRAFT EAPmethod does not supportKey Management Framework 18 February 2005 The EAP Session-Id is exported by thenegotiation ofEAP method along with theexported key lifetime,Session-Id scope, if available, anda negotiation mechanismisnot provided by the lower lower, there may be no way for the peerused tolearn knowledge of the exported key liftime. In this case it is RECOMMENDEDconstruct names for other EAP keys. Note that thepeer assumeEAP Session-Id and scope are only known by the EAP method. As adefault valueresult, the format of theexported key lifetime; 8 hours is suggested. Similarly,EAP Session- Id and thelifetimedefinition ofcalculated keys can also be managed as a system parameter ontheauthenticator. 2.3.4. Key cache synchronization Issues arise when attemptingSession-Id scope needs tosynchronizebe specified within thekey cache onmethod. Appendix E defines thepeerEAP Session-Id andauthenticator. Lifetime negotiation alone cannot guaranteescope provided by existing methods. MSK Name This keycache synchronization. One problemisthat the AAA protocol cannot guarantee synchronization of key lifetimescreated between the EAP peer andauthenticator. Where the Secure Association Protocol is not run immediately afterEAPauthentication, the exportedserver, andcalculated key lifetimes will notcan beknown byreferred to using thepeer duringstring "MSK:", concatenated with thehiatus. WhereEAPpre-authentication occurs, this can leave the peer uncertain whether a subsequent attempt to useSession-Id. As with theexported keys will prove successful. However, even whereEAP Session-Id, theSecure Association Protocol is run immediately after EAP, itMSK scope isstill possible fordefined by theauthenticator to reclaim resourcesEAP peer name (if securely exchanged within the method) and the EAP server name (also only if securely exchanged). Where a peer or server name is missing thecreated key statenull string isnot immediately utilized.used. EMSK Name Thelower layer may utilize Discovery mechanismsEMSK can be referred toassist in this. For example, the authenticator manages the AAA-Key cache by deleting the oldest AAA-Key first (LIFO),using therelative creation time ofstring "EMSK:", concatenated with thelast AAA-Key to be deleted could be advertisedEAP Session-Id. As with theDiscovery phase, enablingEAP Session-Id, thepeer to determine whether a given AAA-Key had been expired fromEMSK scope is defined by theauthenticator key cache prematurely. Aboba, et al. Informational [Page 23] INTERNET-DRAFTEAPKey Management Framework 14 November 2004 2.4. Key Names and Scopes Each key createdpeer name (if securely exchanged within the method) and the EAPkey management framework hasserver name (also only if securely exchanged). Where a peer or server name(the identifier by whichis missing thekeynull string is used. AMSK Name AMSKs, if any, can beidentified), as well as a scope (the partiesreferred towhomusing the string "AMSK:", the keyis available). This section describes how keys are named,label, ":", application data (see Section 2.4), ":", and thescope within which that name applies. Session-IdEAPmethods supporting key naming MUST specify a temporally unique method identifier known asSession-Id. As with the EAPMethod-Id, whichSession-Id, the AMSK scope istypically constructed from nonces or counters used withindefined by theexchange. Since multiple EAP sessions may exist between anEAP peerand EAP server, the Method-Id allows MSKs to be differentiated. The combination ofname (if securely exchanged within theEAP Typemethod), ":" and theMethod-IdEAP server name (also only if securely exchanged). Where a peer or server name isknown asmissing theEAP Session-Id.null string is used. AAA-Key Name Theinclusion of the Type inAAA-Key is derived from either theEAP Session-Id ensures that each EAP method has a distinct name space.MSK or AMSK and so can be referred to using the MSK or AMSK names. TheEAP Session-Id uniquely identifiesAAA-Key scope is provided by theEAP session toconcatenation of the EAP peer name (if securely provided to the authenticator), andserver terminatingthe authenticator name (if securely provided to the peer). For the purpose of identifying the authenticator to the peer, the Aboba, et al. Standards Track [Page 24] INTERNET-DRAFT EAPconversation. However, suitable EAP peer and server namesKey Management Framework 18 February 2005 value of the NAS-Identifier attribute is recommended. The authenticator maynot always be available. As described in [RFC3748] Section 7.3,include theidentity providedNAS-Identifier attribute to the AAA server in an Access-Request, and theEAP- Response/Identity,authenticator maybe different fromprovide theidentity authenticated byNAS-Identifier (unsecured) to the EAPmethod, and aspeer in the EAP- Request/Identity or via aresultlower layer mechanism (such as theEAP-Response/Identity802.11 Beacon/Probe Response). Where the NAS-Identifier isunsuitable for determination ofprovided by the authenticator to the peeridentity. Asaresult, the Session-Id scopesecure mechanism isdefined byRECOMMENDED. For the purpose of identifying theEAPpeername (if securely exchanged withinto themethod) concatenated withauthenticator, the EAPserver name (also only if securely exchanged). Where apeeror server name is missingidentifier provided within thenull string is used. Since anEAPsessionmethod isnot bound to a particular authentication or specific ports on the peer and authenticator,recommended. It cannot be assumed that the authenticatorport or identity are not included inis aware of theSession-Id scope. TheEAPSession-Id is exported by the EAP method along with the Session-Id scope, if available, and ispeer name usedto construct names for other EAP keys. Note that the EAP Session-Id and scope are only known bywithin theEAPmethod.As a result, the format of the EAP Session- Id and the definition of the Session-Id scope needsTherefore alternatives mechanisms need to bespecified within the method. Appendix E defines the EAP Session-Id and scope provided by existing methods. MSK Name This key is created betweenused to provide the EAP peerand EAP server, and can be referredname tousingthestring "MSK" andauthenticator. For example, theEAP Session-Id. As withAAA server may include the EAPSession-Id,peer name in theMSK scope is defined byUser- Name attribute of the Access-Accept or theEAPpeer may provide the authenticator with its name(if Aboba, et al. Informational [Page 24] INTERNET-DRAFT EAP Key Management Framework 14 November 2004 securely exchangedvia a lower layer mechanism. Absent an explicit binding step within themethod) andSecure Association Protocol, theEAP server name (also only if securely exchanged). WhereAAA-Key is not bound to a specific peer orserver name is missing the null string is used. EMSK Name The EMSK can be referred to usingauthenticator port. As a result, thestring "EMSK" andpeer or authenticator port over which the EAPSession-Id. As withconversation takes place is not included in theEAP Session-Id,AAA-Key scope. PMK Name This document does not specify a naming scheme for theEMSK scopePMK. The PMK isdefinedonly identified by theEAP peer name (if securely exchanged within the method) andAAA-Key from which it is derived. Similarly, theEAP server name (also only if securely exchanged). Where a peer or server namePMK scope ismissingthenull string is used. AMSK Name AMSKs, if any, can be referredsame as the AAA-Key scope. Note: IEEE 802.11i names the PMKID for the purposes of being able tousingrefer to it in thestring "AMSK",Secure Association protocol; this naming is based on a hash of thekey label, application dataPMK itself as well as some other parameters (see Section2.6) and the EAP Session-Id. As with8.5.1.2 [IEEE80211i]). TEKs The TEKs may or may not be named. Their naming is specified in the EAPSession-Id,method. Since theAMSK scope is definedTEKs are only known by the EAP peername (if securely exchanged within the method)and server, theEAP server name (also only if securely exchanged). Where a peer or server nameTEK scope ismissingthenull string is used. AAA-Key Namesame as the Session-Id scope. TSKs TheAAA-KeyTSKs are typically named. Their naming isderived from eitherspecified in theMSK or AMSK andSecure Association (phase 2) protocol, so that the correct set of transient session keys can bereferred to using the MSK or AMSK names.identified for processing a given packet. TheAAA-Keyscopeis provided by the concatenationof theEAP peer name (if securely provided toTSKs is negotiated within theauthenticator),Secure Association Protocol. Aboba, et al. Standards Track [Page 25] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 TSK creation andthe authenticator name (if securely provided to the peer). For the purposedeletion operations are typically supported so that establishment and re-establishment ofidentifyingTSKs can be synchronized between theauthenticatorparties. In order tothe peer, the value of the NAS-Identifier attribute is recommended. The authenticator may include the NAS-Identifier attribute to the AAA serveravoid confusion inan Access-Request, and the authenticator may provide the NAS-Identifier (unsecured) tothe case where an EAP peerin the EAP- Request/Identity or via a lower layer mechanism (such as the 802.11 Beacon/Probe Response). Where the NAS-Identifier is provided by the authenticatorhas more than one AAA-Key (phase 1b) applicable tothe peer a secure mechanism is RECOMMENDED. For the purposeestablishment ofidentifyinga phase 2 security association, thepeersecure Association protocol needs to utilize theauthenticator,AAA-Key name so that theEAP peer identifier provided withinappropriate phase 1b keying material can be identified for use in the Secure Association Protocol exchange. 3. Security Associations During EAP authentication and subsequent exchanges, four types of security associations (SAs) are created: [1] EAP method SA. This SA isrecommended. It cannot be assumed that the authenticator is aware ofbetween theEAPpeername used within the method. Therefore alternatives mechanisms need toand EAP server. It stores state that can be usedto provide thefor "fast reconnect" or other functionality in some EAP methods. Not all EAP methods create such an SA. [2] EAP-Key SA. This is an SA between the peernameand EAP server, which is used to store theauthenticator. For example,keying material exported by theAAAEAP method. Current EAP servermay includeimplementations do not retain this SA after the EAPpeer name inconversation completes, but proposals such as [IEEE-03-084] and [I-D.irtf-aaaarch-handoff] use this SA for purposes such as pre- emptive key distribution. [3] AAA SA(s). These SAs are between theUser-authenticator and the backend authentication server. They permit the parties to mutually authenticate each other and protect the communications between them. [4] Service SA(s). These SAs are between the peer and authenticator, and they are created as a result of phases 1-2 of the conversation (see Section 1.3). Examples of security associations are provided in Appendix F. 3.1. EAP Method SA (peer - EAP server) An EAP method may store some state on the peer and EAP server even after phase 1a has completed. Typically, this is used for "fast reconnect": the peer and EAP server can confirm that they are still talking to the same party, perhaps using fewer round-trips or less computational power. In this case, the EAP method SA is essentially a cache for performance Aboba, et al.InformationalStandards Track [Page25]26] INTERNET-DRAFT EAP Key Management Framework14 November 2004 Name attribute of the Access-Accept or the peer18 February 2005 optimization, and either party mayprovideremove theauthenticator withSA from itsname viacache at any point. An EAP method may also keep state in order to support pseudonym-based identity protection. This is typically alower layer mechanism. Absent an explicit binding step within the Secure Association Protocol,cache as well (the information can be recreated if theAAA-Keyoriginal EAP method SA is lost), but may be stored for longer periods of time. The EAP method SA is notboundrestricted to aspecific peerparticular service or authenticatorport. As a result,and is most useful when the peeror authenticator port over which theaccesses many different authenticators. An EAPconversation takes placemethod isnot included inresponsible for specifying how theAAA-Key scope. PMK Name This document doesparties select if an existing EAP method SA should be used, and if so, which one. Where multiple backend authentication servers are used, EAP method SAs are notspecify a naming scheme fortypically synchronized between them. EAP method implementations should consider thePMK. The PMK is only identified byappropriate lifetime for theAAA-Key from which it is derived. Similarly,EAP method SA. "Fast reconnect" assumes that thePMK scope isinformation required (primarily thesame askeys in theAAA-Key scope. Note: IEEE 802.11i namesEAP method SA) hasn't been compromised. In case thePMKIDoriginal authentication was carried out using, forthe purposes of being able to refer to it in the Secure Association protocol; this naming is based oninstance, ahash of the PMK itself as well as some other parameters (see Section 8.5.1.2 [IEEE80211i]). TEKs The TEKs may orsmart card, it maynotbenamed. Their naming is specified ineasier to compromise the EAPmethod. Sincemethod SA (stored on theTEKs are only known byPC, for instance), so typically the EAP method SAs have a limited lifetime. Contents: o Implicitly, the EAP method this SA refers to o Internal (non-exported) cryptographic state o EAP method SA name o SA lifetime 3.2. EAP-Key SA This is an SA between the peer and EAP server,the TEK scopewhich is used to store thesame as the Session-Id scope. TSKs The TSKs are typically named. Their naming is specified inkeying material exported by theSecure Association (phase 2) protocol, so thatEAP method. Current EAP server implementations do not retain this SA after thecorrect set of transient session keys can be identifiedEAP conversation completes, but future implementations could use this SA forprocessing a given packet. The scope of the TSKs is negotiated within the Secure Association Protocol. TSK creationpre- emptive key distribution. Contents: o MSK anddeletion operations are typically supported so that establishmentEMSK names o MSK andre-establishment of TSKs can be synchronized between the parties. In order to avoid confusion in the case where an EAP peer has more than one AAA-Key (phase 1b) applicable to establishment of a phase 2 security association, the secure Association protocol needs to utilize the AAA-Key name so that the appropriate phase 1b keying material can be identified for use in the Secure Association Protocol exchange.EMSK o SA lifetime Aboba, et al.InformationalStandards Track [Page26]27] INTERNET-DRAFT EAP Key Management Framework14 November 2004 2.5. AAA-Key Derivation Where a AAA-Key is generated as the result of a successful EAP18 February 2005 3.3. AAA SA(s) (authenticator - backend authenticationwithserver) In order for the authenticatorA, the AAA-Key is based on the MSK: AAA-Key = MSK(0,63). As discussed in [I-D.irtf-aaaarch-handoff], [IEEE-02-758], [IEEE-03-084],and[8021XHandoff], keying material may be required for use in fast handoff between authenticators. Where thebackend authentication serverprovides keying materialtoadditional authenticators in orderauthenticate each other, they need tofacilitate fast handoff, it is highly desirable forstore some information. In case thekeying material used on different authenticators B, C to be cryptographically separate, so that if oneauthenticatoris compromised, it does not lead to the compromise of other authenticators. Where keying material is provided by theand backend authenticationserver, a key hierarchy derived from the AMSK can be used to provide cryptographically separate keying material for use in fast handoff. Instead ofserver are colocated, and they communicate using local procedure calls or shared memory, this SA need not necessarily contain any information. 3.4. Service SA(s) (peer - authenticator) The service SAs store information about theEMSK directly an application specific key (AMSK) is derived as described in Section 2.6: AAA-Key = MSK(0,63) AMSK = KDF(EMSK, "EAP AAA-Key derivation for multiple attachments", length) AAA-Key-B = prf(AMSK(0,63),"EAP AAA-Key derivation for multiple attachments", AAA-Key, B-Called-Station-Id, Calling-Station-Id,length) AAA-Key-C = prf(AMSK(0,63),"EAP AAA-Key derivation for multiple attachments",AAA-Key, C-Called-Station-Id, Calling-Station-Id, length) Where: Calling-Station-Id = STA MAC address B-Called-Station-Id = AP B MAC address C-Called-Station-Id = AP C MAC address prf = HMAC-SHA1 KDF = defined in Section 2.6 length = length ofservice being provided. These include the Root service SA and derivedkey material Here AAA-Keyunicast and multicast service SAs. The Root service SA isderived duringestablished as theinitial EAP authentication betweenresult of thepeer and authenticator A. Based on this initialcompletion of EAPauthentication, an AMSK is also derived, which can be used to derive AAA-Keys for fastauthenticationbetween the EAP peer and authenticators B(phase 1a) andC. SinceAAA-Key derivation or transport (phase 1b). It includes: o Service parameters (or at least those parameters that are still needed) o On theAMSK is cryptographically separateauthenticator, service authorization information received from theMSK, eachbackend authentication server (or necessary parts ofthese AAA-Keys is cryptographically separate from each other, and are guaranteed to be unique betweenit) o On theEAP peer Aboba, et al. Informational [Page 27] INTERNET-DRAFT EAP Key Management Framework 14 November 2004 (also known as the STA) and the authenticator (also known as the AP). 2.6. AMSK Key Derivation The EAP AMSK key derivation function (KDF) derives an AMSK from the Extended Master Session Key (EMSK), an application key label, optional application data, and output length. AMSK = KDF(EMSK, key label, optional application data, length)peer, usually locally configured service authorization information. o Thekey labels are printable ASCII strings unique for each application (see Section 7 for IANA Considerations). Additional ciphering keys (TSKs)AAA-Key, if it can be needed again (to refresh and/or resynchronize other keys or for another reason) o AAA-Key lifetime Unicast and (optionally) multicast service SAs are derived from theAMSK using an application specific key derivation mechanism. In many cases, this AMSK->TSK derivation can simply splitRoot service SA, via theAMSK to pieces of correct length.Secure Association Protocol. Inparticular,order for unicast and multicast service SAs and associated TSKs to be established, it is not necessary for EAP authentication (phase 1a) touse a cryptographic one-way function. The lengthbe rerun each time. Instead, the Secure Association Protocol can be used to mutually prove possession of theAMSK MUSTAAA-Key and create associated unicast (phase 2a) and multicast (phase 2b) service SAs and TSKs, enabling the EAP exchange to bespecifiedbypassed. Unicast and multicast service SAs include: o Service parameters negotiated by theapplication. The AMSK key derivationSecure Association Protocol. o Endpoint identifiers. o Transient Session Keys used to protect the communication. o Transient Session Key lifetime. One functionis taken fromof thePRF+ key expansion PRF from [IKEv2]. This KDF takes 4 parameters as input: secret, label, application data, and output length. ItSecure Association Protocol isonly defined for 255 iterations so it may produce upto5100 bytes of key material. For the purposes of this specification the secret is taken as the EMSK, the label isbind thekey label described above concatenated with a NUL byte,theapplication data is also described aboveunicast andthe output length is two bytes. Application data MAY be an empty string. The KDF is based on HMAC-SHA1 [RFC2104] [SHA1]. For this specification we have: KDF (K,L,D,O) = T1 | T2 | T3 | T4 | ... where: T1 = prf (K, S | 0x01) T2 = prf (K, T1 | S | 0x02) T3 = prf (K, T2 | S | 0x03) T4 = prf (K, T3 | S | 0x04) prf = HMAC-SHA1 K = EMSK L = key label D = application data O = OutputLength (2 bytes) S = L | " " | D | O The prf+ construction was chosen because of its simplicitymulticast service SAs and TSKs to endpoint identifiers. For example, within [IEEE802.11i], the 4-way handshake binds the TSKs Aboba, et al.InformationalStandards Track [Page 28] INTERNET-DRAFT EAP Key Management Framework14 November 2004 efficiency over other PRFs such as those used in [TLS]. The motivation for18 February 2005 to thedesignMAC addresses ofthis PRF is describedthe endpoints; in[SIGMA]. The NUL byte after[IKEv2], thekey label is usedTSKs are bound toavoid collisions if one key label is a prefixthe IP addresses ofanother label (e.g. "foobar"the endpoints and"foobarExtendedV2"). Thisthe negotiated SPI. It isconsidered a simpler solutionpossible for more thanrequiring a key label assignment policy that prevents prefixes from occurring. Where another prf needsone unicast or multicast service SA to benegotiated, this can be handled within the EAP method. 2.7. Key Scope Issues As described in Section 2.5, the AAA-Key is calculatedderived fromthe EMSK and MSK by the EAP peer and server, and is used as the root of the ciphersuite-specific key hierarchy. Whereabackend authentication server is present, the AAA-Keysingle Root service SA. However, a unicast or multicast service SA istransportedalways descended fromthe EAP server to the authenticator; where it is not present, the AAA-Key is calculated on the authenticator. Regardless of how many sessions are initiated using it, the AAA-Key scope is between the EAP peer that calculates it, and the authenticator that either calculates it (where no backend authenticator is present)only one Root service SA. Unicast orreceives itmulticast service SAs descended from theserver (where a backend authenticator server is present). It should be understood that an authenticator or peer: [a] may contain multiple physical ports; [b]same Root service SA mayadvertise itself as multiple "virtual" authenticatorsutilize the same security parameters (e.g. mode, ciphersuite, etc.) orpeers; [c]they may utilizemultiple CPUs; [d] may support clustering services for load balancing or failover. As illustrated in Figure 1, andifferent parameters. An EAP peerwithmay be able to negotiate multipleportsservice SAs with a given authenticator, or may beattachedable to maintain one or moreauthenticators, eachservice SAs with multipleports. Whereauthenticators, depending on thepeer and authenticator identify themselves using a port identifier such as a link layer address,properties of the media. Except where explicitly specified by the Secure Association Protocol, itmayshould not beobviousassumed that the installation of new service SAs implies deletion of old service SAs. It is possible for multicast Root service SAs to between the same EAP peerwhich authenticator ports are associated with which authenticators. Similarly,and authenticator; during a re-key of a unicast or multicast service SA itmay not be obviousis possible for two service SAs to exist during theauthenticator which peer ports are associated with which peers. As a result,period between when thepeernew service SA andauthenticator may not be able to determine the scopecorresponding TSKs are calculated and when they are installed. Similarly, deletion or creation ofthe AAA-Key. Whenasingle physical authenticator advertises itself as multiple "virtual authenticators", the EAP peer and authenticator also mayunicast or multicast service SA does notbe able to agree on the scopenecessarily imply deletion or creation of related unicast or multicast service SAs, unless specified by theAAA-Key, creating a security Aboba, et al. Informational [Page 29] INTERNET-DRAFT EAP Key Management Framework 14 November 2004 vulnerability.Secure Association protocol. For example,the peera unicast service SA mayassume that the "virtual authenticators" are distinct and do not sharebe rekeyed without implying akey cache, whereas, depending onrekey of thearchitecturemulticast service SA. The deletion of thephysical AP, a shared key cache may or mayRoot service SA does notbe implemented. Wherenecessarily imply theAAA-Key is shared between "virtual authenticators" an attacker acting as a peer could authenticate with the "Guest" "virtual authenticator" and derive a AAA-Key. If the virtual authenticators share a key cache, then the peer can utilizedeletion of theAAA- Keyderivedfor the "Guest" network to obtain access to the "Corporate Intranet" virtual authenticator. Several measures are recommended to address these issues: [a] Authenticators are REQUIRED to cacheunicast and multicast service SAs and associatedauthorizations along withTSKs. Failure to mutually prove possession of the AAA-Keyand apply authorizations consistently. This ensures that an attacker cannot obtain elevated privileges even whereduring theAAA-Key cache is shared between "virtual authenticators". [b] It is RECOMMENDED that physical authenticators maintain separate AAA-Key cachesSecure Association Protocol exchange need not be grounds foreach "virtual authenticator". [c] It is RECOMMENDED that each "virtual authenticator" identify itself distinctly todeletion of theAAA server, such asAAA-Key byutilizing a distinct NAS- identifier attribute. This enablesboth parties; theAAA server to utilize a separate credentialaction toauthenticate each "virtual authenticator". [d] Itbe taken isRECOMMENDED thatdefined by the Secure AssociationProtocols identify peers and authenticators unambiguously, without incorporating implicit assumptions about peer and authenticator architectures. Using port-specific MAC addresses as identifiers is NOT RECOMMENDED where peers and authenticatorsProtocol. 3.4.1. Sharing service SAs A single service maysupportbe provided by multipleports. [e] The AAA server and authenticator MAY implement additional attributes in order to further restrict the AAA-Key scope. For example, in 802.11, the AAA server may provide the authenticator with a list of authorized Calledlogical orCalling-Station-Ids and/or SSIDs for which the AAA-Keyphysical service elements. Each service isvalid. [f] Where the AAA server provides attributes restricting the key scope, itresponsible for specifying how changing service elements isRECOMMENDED that restrictions be securely communicated byhandled. Some approaches include: Transparent sharing If theauthenticatorservice parameters visible to thepeer. This is typically accomplished usingother party (either peer or authenticator) do not change, theSecure Association Protocol, but alsoservice can beaccomplished via the EAP method ormoved without requiring cooperation from thelower layer.other party. Aboba, et al.InformationalStandards Track [Page30]29] INTERNET-DRAFT EAP Key Management Framework14 November 2004 3. Security Associations During EAP authentication18 February 2005 Whether such a move should be supported or used depends on implementation andsubsequent exchanges, four typesadministrative considerations. For instance, an administrator may decide to configure a group ofsecurity associations (SAs) are created: [1] EAP method SA. This SA is betweenIKEv2/IPsec gateways in a cluster for high-availability purposes, if the implementation used supports this. The peer does not necessarily have any way of knowing when the change occurs. No sharing If the service parameters require changing, some changes may require terminating the old service, andEAP server. It stores state that can bestarting a new conversation from phase 0. This approach is used by all services for"fast reconnect" or other functionality inat least someEAP methods. Not all EAP methods create such an SA. [2] EAP-Key SA. This is anparameters, and it doesn't require any protocol for transferring the service SA between thepeer and EAP server, which is usedservice elements. The service may support keeping the old service element active while the new conversation takes phase, tostoredecrease thekeying material exported bytime theEAP method. Current EAP server implementations doservice is notretain this SA afteravailable. Some sharing The service may allow changing some parameters by simply agreeing about theEAP conversation completes, but proposals suchnew values. This may involve a similar exchange as[IEEE-03-084] and [I-D.irtf-aaaarch-handoff] use this SAin phase 2, or perhaps a shorter conversation. This option usually requires some protocol forpurposes such as pre- emptive key distribution. [3] AAA SA(s). These SAs are between the authenticator and the backend authentication server. They permit the parties to mutually authenticate each other and protecttransferring thecommunications between them. [4] Service SA(s). These SAs areservice SA between thepeer and authenticator, and they are created as a result of phases 1-2 of the conversation (see Section 1.3). 3.1. EAP Method SA (peer - EAP server)elements. AnEAP methodadministrator maystoredecide not to enable this feature at all, and typically the sharing is restricted to somestate onparticular service elements (defined either by a service parameter, or simple administrative decision). If thepeerold andEAP server even after phase 1a has completed. Typically,new service element do not support such "context transfer", thisis used for "fast reconnect":approach falls back to thepeer and EAPprevious option (no transfer). Services supporting this feature should also consider what changes require new authorization from the backend authentication servercan confirm(see Section 4.2). Note thattheythese considerations arestill talkingnot limited to service parameters related to thesame party, perhaps using fewer round-trips or less computational power. In this case, the EAP method SA is essentially a cache for performance optimization, and either party may remove the SA from its cache at any point. An EAP method may also keep state in orderauthenticator--they apply tosupport pseudonym-based identity protection. This is typically a cachepeer parameters aswell (the information can be recreated if the original EAP method SA is lost), but may be stored for longer periods of time.well. 4. Key Management The EAPmethod SA is not restricted to a particular service orpeer, authenticator andis most useful when the peer accesses many different authenticators. Anbackend server may support key caching. Since EAPmethod is responsible for specifying howsupports key derivation, but not key management, this functionality needs to be provided by theparties select if an existingSecure Association Protocol. Key management support includes: [a] Key lifetime determination. EAPmethod SA should be used, and if so, which one. Where multiple backend authenticationdoes not support negotiation of key lifetimes, nor does it support rekey without reauthentication. Aboba, et al.InformationalStandards Track [Page31]30] INTERNET-DRAFT EAP Key Management Framework14 November 2004 servers are used, EAP method SAs are not typically synchronized between them. EAP method implementations should consider18 February 2005 As a result, theappropriate lifetimeSecure Association Protocol is responsible for rekey and determination of theEAP method SA. "Fast reconnect" assumeskey lifetime. Where key caching is supported, secure negotiation of key lifetimes is RECOMMENDED. Lower layers that support rekey, but not key caching may not require key lifetime negotiation. To take an example from IKE, theinformation required (primarily the keysdifference between IKEv1 and IKEv2 is that in IKEv1 SA lifetimes were negotiated. In IKEv2, each end of theEAP method SA) hasn't been compromised. In caseSA is responsible for enforcing its own lifetime policy on theoriginal authentication was carried out using,SA and rekeying the SA when necessary. [b] Key resynchronization. It is possible forinstance, a smart card, itthe 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 the peer may not beeasierable tocompromisedetermine before attempting to use a AAA-Key whether it exists within theEAP method SA (stored onauthenticator cache. It is therefore RECOMMENDED for thePC,Secure Association Protocol to provide a mechanism forinstance), so typicallykey state resynchronization. Since in this situation one or more of theEAP method SAs haveparties initially do not possess alimited lifetime. Contents: o Implicitly,key with which to protect theEAP methodresynchronization exchange, securing thisSA refers to o Internal (non-exported) cryptographic state o EAP method SA name o SA lifetime 3.1.1. Example: EAP-TLS In EAP-TLS [RFC2716], aftermechanism may be difficult. [c] Key selection. Where key caching is supported, it may be possible for the EAPauthentication the client (peer)peer andserver can storeauthenticator to share more than one key of a given type. As a result, thefollowing information: o Implicitly,Secure Association Protocol needs to support key selection, using the EAPmethodKey Naming scheme described in thisSA refers to (EAP-TLS) o Session identifier (a value selecteddocument. [d] Key scope determination. Since the Discovery phase is handled out- of-band, EAP does not provide a mechanism by which theserver) o Certificate ofpeer can determine theother party (server storesauthenticator identity. As a result, where theclient's certificate and vice versa) o Ciphersuiteauthenticator has multiple ports andcompression method o TLS Master secret (known as the EAP-TLS Master Key) o SA lifetime (ensuring that the SAAAA-Key caching is supported, the EAP peer may notstored forever) o Ifbe able to determine theclientscope of validity of a AAA-Key. Similarly, where the EAP peer has multipledifferent credentials (certificates and corresponding private keys),ports, the authenticator may not be able to determine whether apointerpeer has authorization tothose credentials Whenuse a particular AAA-Key. To allow key scope determination, theserver initiates EAP-TLS,lower layer SHOULD provide a mechanism by which theclientpeer canlook updetermine theEAP-TLS SA based onscope of thecredentials it was going to use (certificate and private key),AAA-Key cache on each authenticator, and by which theexpected credentials (certificate or name)authenticator can determine the scope of theserver. If an EAP-TLS SA exists, and it is not too old,AAA-Key cache on a peer. 4.1. Key Caching Key caching may be supported on theclient informsEAP peer, authenticator and backend server. Where explicitly supported by theserver aboutlower layer, theexistence of this SA by including its Session-Id inEAP peer and authenticator MAY cache theTLS ClientHello message.AAA-Key and/or TSKs. Theserver then looks upstructure of thecorrect SA basedkey cache on theSession-Id (or detects that it doesn't yet have one). 3.1.2. Example: EAP-AKA In EAP-AKA [I-D.arkko-pppext-eap-aka], after EAP authentication the clientpeer andserver can store the following information: o Implicitly,authenticator is defined by theEAP method this SA refers to (EAP-AKA)lower layer. Unless specified by the lower layer, the EAP Aboba, et al.InformationalStandards Track [Page32]31] INTERNET-DRAFT EAP Key Management Framework14 November 2004 o A re-authentication pseudonym o The client's permanent identity (IMSI) o Replay protection counter o Authentication key (K_aut) o Encryption key (K_encr) o Original Master Key (MK) o SA lifetime (ensuring18 February 2005 peer, authenticator and server MUST assume thatthe SA ispeers and authenticators do notstored forever) Whencache the AAA-Key or TSKs. The EAP peer and serverinitiates EAP-AKA,MAY cache keys exported by theclient can look upEAP method as well as keys derived from them, subject to theEAP-AKA SA basedfollowing restrictions: [1] In order to avoid key reuse, on thecredentialsEAP server, transported keys are deleted once they are sent. An EAP server MUST NOT retain keys that itwas goinghas previously sent touse (permanent identity). Ifthe authenticator. For example, anEAP-AKA SA exists,EAP server that has transported a AAA-Key based on the MSK MUST delete both the AAA-Key andit is not too old,theclient informsMSK, and no keys may be derived from either theserver aboutAAA-Key or theexistence of this SAMSK from that point forward bysending its re- authentication pseudonymthe server. [2] Keys which are not transported, such asits identity in EAP Identity Response message, instead of its permanent identity. The server then looks upthecorrect SA basedEMSK, MAY be cached onthis identity. 3.2. EAP-Key SA This is an SA betweenthepeer andEAPserver, which is used to storeserver. While AMSKs calculated from thekeying material exported byEMSK MUST be deleted from the EAPmethod. Current EAPserverimplementations do not retain this SA afteronce they are transported, theEAP conversation completes, but future implementations could use this SA for pre- emptive key distribution. Contents: o MSK andparent EMSKnames o MSK and EMSK o SA lifetime 3.3. AAA SA(s) (authenticator - backend authentication server) In order formay remain in theauthenticator and backend authenticationEAP serverto authenticate each other, they need to store some information. In casecache. 4.2. Parent-Child Relationships When keying material exported by EAP methods expires, all keying material derived from theauthenticator and backend authentication server are colocated, and they communicate using local procedure calls or shared memory, this SA need not necessarily contain any information. 3.3.1. Example: RADIUS In RADIUS, where shared secret authentication is used,exported keying material expires, including theclientAAA-Key, AMSKs andserver store each other's IP addressTSKs. When an EAP reauthentication takes place, new keying material is derived and exported by theshared secret,EAP method, whichis used to calculateeventually results in replacement of calculated keys, including theResponse Authenticator [RFC2865] and Message- Authenticator [RFC3579] values,AAA-Key, AMSKs, andto encrypt some attributes (such asTSKs. As a result, while theAAA-Key, see [RFC3580] Section 3.16). Where IPsec is usedlifetime of calculated keys can be less than or equal that of the exported keys they are derived from, it cannot be greater. For example, TSK rekey may occur prior toprotect RADIUS [RFC3579] and IKE is used for Aboba, et al. Informational [Page 33] INTERNET-DRAFTEAPKey Management Framework 14 November 2004 key management, the parties store information necessaryreauthentication. Failure toauthenticate and authorize the other party (e.g. certificates, trust anchors and names). The IKEmutually prove possession of the AAA-Key during the Secure Association Protocol exchangeresults in IKE Phase 1 and Phase 2 SAs containing information used to protectneed not be grounds for deletion of theconversation (session keys, selected ciphersuite, etc.) 3.3.2. Example: Diameter with TLS When using Diameter protectedAAA-Key byTLS, the parties store information necessaryboth parties; rate-limiting Secure Association Protocol exchanges could be used toauthenticate and authorize the other party (e.g. certificates, trust anchors and names). The TLS handshake results inprevent ashort-term TLS SA that contains informationbrute force attack. 4.3. Local Key Lifetimes The Transient EAP Keys (TEKs) are session keys used to protect theactual communications (session keys, selected TLS ciphersuite, etc.). 3.4. Service SA(s) (peer - authenticator)EAP conversation. Theservice SAs store information about the service being provided. These includeTEKs are internal to theRoot service SA and derived unicastEAP method andmulticast service SAs. The Root service SA is established asare not exported. TEKs are typically created during an EAP conversation, used until theresultend of thecompletion of EAP authentication (phase 1a)conversation andAAA-Key derivationthen discarded. However, methods may rekey TEKs during a conversation. Aboba, et al. Standards Track [Page 32] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 When using TEKs within an EAP conversation ortransport (phase 1b). It includes: o Service parameters (or at least those parametersacross conversations, it is necessary to ensure that replay protection and key separation requirements arestill needed) o On the authenticator, service authorization information received from the backend authentication server (or necessary partsfulfilled. For instance, if a replay counter is used, TEK rekey MUST occur prior to wrapping ofit) o Onthepeer, usually locally configured service authorization information. o The AAA-Key, if it can be needed again (to refresh and/or resynchronize other keyscounter. Similarly, TSKs MUST remain cryptographically separate from TEKs despite TEK rekeying orfor another reason) o AAA-Key lifetime Unicast and (optionally) multicast service SAs are derivedcaching. This prevents TEK compromise from leading directly to compromise of theRoot service SA, via the Secure Association Protocol. In order for unicast and multicast service SAs and associatedTSKsto be established, it is not necessaryand vice versa. EAP methods may cache local keying material which may persist for multiple EAPauthentication (phase 1a) to be rerun each time. Instead, the Secure Association Protocol can beconversations when fast reconnect is usedto mutually prove possession of the AAA-Key and create associated unicast (phase 2a) and multicast (phase 2b) service SAs and TSKs, enabling the[RFC 3748]. For example, EAPexchange to be bypassed. Unicastmethods based on TLS (such as EAP-TLS [RFC2716]) derive andmulticast service SAs include: o Service parameters negotiated bycache theSecure Association Protocol. o Endpoint identifiers. o Transient Session Keys used to protectTLS Master Secret, typically for substantial time periods. The lifetime of other local keying material calculated within thecommunication. Aboba, et al. Informational [Page 34] INTERNET-DRAFTEAPKey Management Framework 14 November 2004 o Transient Session Key lifetime. One function ofmethod is defined by theSecure Association Protocolmethod. Note that in general, when using fast reconnect, there is no guarantee tobindthat the original long-term credentials are still in theunicast and multicast service SAs and TSKs to endpoint identifiers.possession of the peer. Forexample, within [IEEE802.11i],instance, a card hold holding the4-way handshake bindsprivate key for EAP-TLS may have been removed. EAP servers SHOULD also verify that theTSKslong- term credentials are still valid, such as by checking that certificate used in the original authentication has not yet expired. 4.4. Exported and Calculated Key Lifetimes All EAP methods generating keys are required to generate theMAC addresses ofMSK and EMSK, and may optionally generate theendpoints;IV. However, EAP, defined in[IKEv2],[RFC3748], does not support theTSKs are bound tonegotiation of lifetimes for exported keying material such as theIP addressesMSK, EMSK and IV. Several mechanisms exist for managing key lifetimes: [a] AAA attributes. AAA protocols such as RADIUS [RFC2865] and Diameter [DiamEAP] support the Session-Timeout attribute. The Session-Timeout value represents the maximum lifetime of theendpointsexported keys, and all keys calculated from it. If thenegotiated SPI. ItAAA server caches exported keys, then it MUST expire the exported keys and all keys calculated from them, no later than the future time indicated by Session-Timeout. On the authenticator, where EAP ispossibleused formore than one unicast or multicast service SAauthentication, the Session-Timeout value represents the maximum session time prior tobe derived from a single Root service SA. However, a unicast or multicast service SAre-authentication, as described in [RFC3580]. Where EAP isalways descended from only one Root service SA. Unicast or multicast service SAs descended fromused for pre-authentication, thesame Root service SA may utilize the same security parameters (e.g. mode, ciphersuite, etc.) or they may utilize different parameters. An EAP peersession maybe able to negotiate multiple service SAs with a given authenticator,not start until some future time, or maybe able to maintain one or more service SAs with multiple authenticators, dependingnever occur. Nevertheless, the Session-Timeout value represents the time after which the AAA-Key, and all keys calculated from it, will have expired on theproperties ofauthenticator. If themedia. Except where explicitly specified bysession subsequently starts, re-authentication will be initiated once theSecure Association Protocol,Session-Time has expired. If the session never started, or started and ended, the AAA-Key and all keys calculated from itshould notAboba, et al. Standards Track [Page 33] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 will beassumed thatexpired by theinstallation of new service SAs implies deletion of old service SAs. It is possible for multicast Root service SAsauthenticator prior tobetweenthesame EAP peerfuture time indicated by Session-Timeout. Since the TSK lifetime is often determined by authenticator resources, the AAA server has no insight into the TSK derivation process, andauthenticator; during a re-keyby the principle ofa unicast or multicast service SAciphersuite independence, it ispossiblenot appropriate fortwo service SAsthe AAA server toexist duringmanage any aspect of theperiodTSK derivation process, including the TSK lifetime. [b] Lower layer mechanisms. While AAA attributes can communicate the maximum exported key lifetime, this only serves to synchronize the key lifetime betweenwhenthenew service SA and corresponding TSKs are calculatedbackend authentication server andwhen they are installed. Similarly, deletion or creation of a unicast or multicast service SA does not necessarily imply deletion or creation of related unicast or multicast service SAs, unless specified bytheSecure Association protocol. For example, a unicast service SA mayauthenticator. Lower layer mechanisms can then berekeyed without implying a rekey of the multicast service SA. The deletion of the Root service SA does not necessarily implyused to enable thedeletionlifetime ofthe derived unicast and multicast service SAsexported andassociated TSKs. Failurecalculated keys tomutually prove possession ofbe negotiated between theAAA-Key duringpeer and authenticator. Where TSKs are established as the result of a Secure Association Protocolexchange need not be grounds for deletion of the AAA-Key by both parties; the action to be takenexchange, it isdefined byRECOMMENDED that the Secure AssociationProtocol. 3.4.1. Example: 802.11i [IEEE802.11i] Section 8.4.1.1 definesProtocol include support for TSK resynchronization. Where thesecurity associations used within IEEE 802.11. A summary follows;TSK is taken from thestandard should be consulted for details. Aboba, et al. Informational [Page 35] INTERNET-DRAFT EAP Key Management Framework 14 November 2004 o Pairwise Master Key Security Association (PMKSA) The PMKSAAAA-Key, there is no need to manage the TSK lifetime as abi-directional SA, used by both parties for sending and receiving. The PMKSA isseparate parameter, since theRoot Service SA. It is created onTSK lifetime and AAA- Key lifetime are identical. [c] System defaults. Where thepeer whenEAPauthentication completes successfully ormethod does not support the negotiation of the exported key lifetime, and apre-sharedkey lifetime negotiation mechanism isconfigured. The PMKSA is created onnot provided by theauthenticator whenlower lower, there may be no way for thePMK is received or created onpeer to learn theauthenticator or a pre-sharedexported key liftime. In this case it isconfigured. The PMKSA is used to createRECOMMENDED that thePTKSA. PMKSAs are cached for their lifetimes. The PMKSA consistspeer assume a default value of thefollowing elements: - PMKID (security association identifier) - Authenticator MAC address - PMK - Lifetime - Authenticated Key Management Protocol (AKMP) - Authorization parameters specified byexported key lifetime; 8 hours is suggested. Similarly, theAAA server or by local configuration. Thislifetime of calculated keys caninclude parameters suchalso be managed as a system parameter on thepeer's authorized SSID. On the peer, this information can be locally configured. -authenticator. 4.5. Keyreplay counters (for EAPOL-Key messages) - Reference to PTKSA (if any), needed to: o delete it (e.g. AAA server-initiated disconnect) o replace itcache synchronization Issues arise whena new four-way handshake is done - Referenceattempting toaccounting context,synchronize thedetails of which dependkey cache on theaccounting protocol used, the implementation and administrative details. In RADIUS, this could include (e.g. packet and octet counters,peer andAcct-Multi-Session-Id). o Pairwise Transient Key Security Association (PTKSA) The PTKSAauthenticator. Lifetime negotiation alone cannot guarantee key cache synchronization. One problem isa bi-directional SA created asthat theresultAAA protocol cannot guarantee synchronization ofa successful four-way handshake. The PTKSA is a unicast service SA. There may only be one PTKSAkey lifetimes betweena pair ofthe peer andauthenticator MAC addresses. PTKSAs are cached forauthenticator. Where thelifetime of the PMKSA. Since the PTKSASecure Association Protocol istied to the PMKSA, it only hasnot run immediately after EAP authentication, theadditional information fromexported and calculated key lifetimes will not be known by the4-way handshake. The PTKSA consists ofpeer during thefollowing: - Key (PTK) - Selected ciphersuite - MAC addresses ofhiatus. Where EAP pre-authentication occurs, this can leave theparties - Replay counters, and ciphersuite specific state - Referencepeer uncertain whether a subsequent attempt toPMKSA: Thisuse the exported keys will prove successful. However, even where the Secure Association Protocol isneeded when: o A new four-way handshakerun immediately after EAP, it isneeded (lifetime, TKIP countermeasures), and we need to know which PMKSAstill possible for the authenticator touseAboba, et al.InformationalStandards Track [Page36]34] INTERNET-DRAFT EAP Key Management Framework14 November 2004 o Group Transient Key Security Association (GTKSA) The GTKSA is a uni-directional SA18 February 2005 reclaim resources if the createdbased onkey state is not immediately utilized. The lower layer may utilize Discovery mechanisms to assist in this. For example, thefour-way handshake orauthenticator manages thegroupAAA-Key cache by deleting the oldest AAA-Key first (LIFO), the relative creation time of the last AAA-Key to be deleted could be advertised with the Discovery phase, enabling the peer to determine whether a given AAA-Key had been expired from the authenticator keyhandshake. The GTKSAcache prematurely. 4.6. Key Scope Issues As described in Section 2.3, the AAA-Key isa multicast service SA. A GTKSA consists ofcalculated from thefollowing: - Direction vector (whetherEMSK and MSK by theGTKEAP peer and server, and is usedfor transmit or receive) - Group cipher suite selector - Key (GTK) - Authenticator MAC address - Via reference to PMKSA, or copied here: o Authorization parameters o Reference to accounting context 3.4.2. Example: IKEv2/IPsec Note that this example is intended to be informative, and it does not necessarily include all information stored. o IKEv2 SA - Protocol version - Identitiesas the root of theparties - IKEv2 SPIs - Selected ciphersuite - Replay protection counters (Message ID) - Keys for protecting IKEv2 messages (SK_ai/SK_ar/SK_ei/SK_er) - Key for deriving keys for IPsec SAs (SK_d) - Lifetime information - Onciphersuite-specific key hierarchy. Where a backend authentication server is present, theauthenticator, service authorization information receivedAAA-Key is transported from thebackend authentication server. When processing an incoming message,EAP server to thecorrect SAauthenticator; where it islooked up based onnot present, theSPIs. o IPsec SAs/SPD - Traffic selectors - Replay protection counters - Selected ciphersuite - IPsec SPI - Keys - Lifetime information - Protocol mode (tunnel or transport) The correct SAAAA-Key islooked up basedcalculated onSPI (for inbound packets), or SPD traffic selectors (for outbound traffic). A separate IPsec SA exists for each direction. Aboba, et al. Informational [Page 37] INTERNET-DRAFT EAP Key Management Framework 14 November 2004 3.4.3. Sharing service SAs A single service may be provided by multiple logical or physical service elements. Each service is responsible for specifyingthe authenticator. Regardless of howchanging service elements is handled. Some approaches include: Transparent sharing Ifmany sessions are initiated using it, theservice parameters visible toAAA-Key scope is between theother party (eitherEAP peeror authenticator) do not change,that calculates it, and theservice can be moved without requiring cooperationauthenticator that either calculates it (where no backend authenticator is present) or receives it from theother party. Whether suchserver (where amovebackend authenticator server is present). It should besupportedunderstood that an authenticator orused depends on implementation and administrative considerations. For instance,peer: [a] may contain multiple physical ports; [b] may advertise itself as multiple "virtual" authenticators or peers; [c] may utilize multiple CPUs; [d] may support clustering services for load balancing or failover. As illustrated in Figure 1, anadministratorEAP peer with multiple ports maydecidebe attached toconfigureone or more authenticators, each with multiple ports. Where the peer and authenticator identify themselves using agroupport identifier such as a link layer address, it may not be obvious to the peer which authenticator ports are associated with which authenticators. Similarly, it may not be obvious to the authenticator which peer ports are associated with which peers. As a result, the peer and authenticator may not be able to determine the scope ofIKEv2/IPsec gateways inthe AAA-Key. When acluster for high-availability purposes, ifsingle physical authenticator advertises itself as multiple "virtual authenticators", theimplementation used supports this. TheEAP peerdoesand authenticator also may notnecessarily have any waybe able to agree on the scope ofknowing whenthechange occurs. No sharing IfAAA-Key, creating a security vulnerability. For example, theservice parameters require changing, some changespeer mayrequire terminatingassume that theold service,"virtual authenticators" are distinct andstartingdo not share anew conversation from phase 0. This approach is used by all services for at least some parameters, and it doesn't require any protocol for transferringkey cache, whereas, Aboba, et al. Standards Track [Page 35] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 depending on theservice SA betweenarchitecture of theservice elements. The servicephysical AP, a shared key cache maysupport keeping the old service element active while the new conversation takes phase, to decrease the time the service is not available. Some sharing The serviceor mayallow changing some parameters by simply agreeing aboutnot be implemented. Where thenew values. This may involve a similar exchangeAAA-Key is shared between "virtual authenticators" an attacker acting asin phase 2, or perhapsashorter conversation. This option usually requires some protocol for transferring the service SA betweenpeer could authenticate with theelements. An administrator may decide not to enable this feature at all,"Guest" "virtual authenticator" andtypically the sharing is restricted to some particular service elements (defined either byderive aservice parameter, or simple administrative decision).AAA-Key. If theold and new service element do not support such "context transfer", this approach falls back tovirtual authenticators share a key cache, then theprevious option (no transfer). Services supporting this feature should also consider what changes require new authorization frompeer can utilize thebackend authentication server (see Section 4.2). Note that these considerations are not limitedAAA- Key derived for the "Guest" network toservice parameters relatedobtain access to theauthenticator--they apply"Corporate Intranet" virtual authenticator. Several measures are recommended topeer's Aboba, et al. Informational [Page 38] INTERNET-DRAFT EAP Key Management Framework 14 November 2004 parameters as well. 4. Handoff Support With EAP, a number of mechanisms may be utilized in orderaddress these issues: [a] Authenticators are REQUIRED toreducecache associated authorizations along with thelatency of handoff between authenticators. One such mechanismAAA-Key and apply authorizations consistently. This ensures that an attacker cannot obtain elevated privileges even where the AAA-Key cache isEAP pre-authentication, in which EAPshared between "virtual authenticators". [b] It isutilized to pre-establish aRECOMMENDED that physical authenticators maintain separate AAA-Keyon an authenticator priorcaches for each "virtual authenticator". [c] It is RECOMMENDED that each "virtual authenticator" identify itself distinctly toarrival ofthepeer. "Fast Handoff" is definedAAA server, such as by utilizing aconversation in which EAP exchange (phase 1a) and associateddistinct NAS- identifier attribute. This enables the AAApass-throughserver to utilize a separate credential to authenticate each "virtual authenticator". [d] It isbypassed, soRECOMMENDED that Secure Association Protocols identify peers and authenticators unambiguously, without incorporating implicit assumptions about peer and authenticator architectures. Using port-specific MAC addresses asto reduce latency. Unlike EAP pre-authentication, "Fast Handoff" mechanisms do not result in additionalidentifiers is NOT RECOMMENDED where peers and authenticators may support multiple ports. [e] The AAA serverload. Fast handoff mechanisms include: [a] Pre-emptive handoff. In this technique,and authenticator MAY implement additional attributes in order to further restrict the AAA-Key scope. For example, in 802.11, the AAA serverpre- establishes key state onmay provide the authenticatorprior to arrivalwith a list of authorized Called or Calling-Station-Ids and/or SSIDs for which thepeer, without completion of EAP authentication. As described in [IEEE-03-084] and [I.D.irtf-aaaarch-handoff], this technique includes conventionalAAA-Keytransport, but without an EAP authentication. [b] Context transfer. In this technique, the old authenticator transfersis valid. [f] Where thesession text toAAA server provides attributes restricting thenew authenticator, either prior to, or afterkey scope, it is RECOMMENDED that restrictions be securely communicated by thearrival ofauthenticator to the peer.As a result, AAA-Key transport (phase 1b)This isbypassed. Regardless of howtypically accomplished using theAAA-Key is provisioned on a given authenticator, AAA-Key caching maySecure Association Protocol, but also can beutilized inaccomplished via the EAP method or the lower layer. 4.7. Key Strength In order toenable a peerguard against brute force attacks, EAP methods deriving keys need toquickly re-esta blish a sessionbe capable of generating keys with anauthenticator. Whereappropriate effective symmetric keycaching is supported, once the AAA-Key is derived and/or transported to the authenticator, it may remain cached on the peer and authenticator, even after a subsequent session terminates. To initiate a subsequent session with the same authenticator, the peer may utilize the Secure Association Protocolstrength. In order toconfirm mutual possession of the AAA-Key by the peer and authenticator, thereby re- activating the AAA-Key for use in a subsequent session. The introduction of handoff support introduces new security vulnerabilities as well as requirements for the secure handling of authorization context. These issues are discussed in the sectionsensure thatfollow. 4.1. Authorization Issues In a typical network access scenario (dial-in, wireless LAN, etc.) access control mechanisms are typically applied. These mechanismskey Aboba, et al.InformationalStandards Track [Page39]36] INTERNET-DRAFT EAP Key Management Framework14 November 2004 include user authentication as well as authorization for18 February 2005 generation is not theoffered service.weakest link, it is RECOMMENDED that EAP methods utilizing public key cryptography choose a public key that has a cryptographic strength meeting the symmetric key strength requirement. As noted in [RFC3766] Section 5, this results in the following required RSA or DH module and DSA subgroup size in bits, for apartgiven level of attack resistance in bits: Attack Resistance RSA or DH Modulus DSA subgroup (bits) size (bits) size (bits) ----------------- ----------------- ------------ 70 947 128 80 1228 145 90 1553 153 100 1926 184 150 4575 279 200 8719 373 250 14596 475 4.8. Key Wrap As described in [RFC3579] Section 4.3, known problems exist in theauthentication process, the AAA network determineskey wrap specified in [RFC2548]. Where theuser's authorization profile. The user authorizations are transmittedsame RADIUS shared secret is used bythe backend authentication server to the EAPa PAP authenticator(alsoand an EAP authenticator, there is a vulnerability to knownasplaintext attack. Since RADIUS uses theNetwork Access Server or authenticator) includedshared secret for multiple purposes, including per-packet authentication, attribute hiding, considerable information is exposed about the shared secret with each packet. This exposes theAAA-Token, which also containsshared secret to dictionary attacks. MD5 is used both to compute theAAA-Key, in Phase 1b ofRADIUS Response Authenticator and theEAP conversation. Typically,Message-Authenticator attribute, and some concerns exist relating to theprofile is determinedsecurity of this hash [MD5Attack]. 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 theuser identity, butRADIUS shared secret would not substantially improve security. As acertificate presented by the user may also provide authorization information.result, [RFC3759] Section 4.2 recommends running RADIUS over IPsec. Thebackend authentication serversame approach isresponsible for making a user authorization decision, answering the following questions: [a] Is this a legitimate user for this particular network? [b] Is this user allowed the type of access hetaken in Diameter EAP [I-D.ietf-aaa-eap], which defines cleartext key attributes, to be protected by IPsec orsheTLS. Where an untrusted AAA intermediary isrequesting? [c] Are there any specific parameters (mandatory tunneling, bandwidth, filters,present (such as a RADIUS proxy or a Diameter agent), andso on) thatdata object security is not used, theaccess network shouldAAA-Key may beawarerecovered by an attacker in control offor this user? [d] Is this user withinthesubscription rules regarding timeuntrusted intermediary. Possession ofday? [e] Is this user within his limits for concurrent sessions? [f] Are there any fraud, credit limit, or other concerns that indicate that access should be denied? Whiletheauthorization decision is in principle simple,AAA-Key enables decryption of data traffic sent between theprocesspeer and a specific authenticator; however where key separation iscomplicated by the distributed nature of AAA decision making. Where brokering entities or proxies are involved, allimplemented, compromise of theAAA devices in the chain fromAAA-Key does Aboba, et al. Standards Track [Page 37] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 not enable an attacker to impersonate theauthenticatorpeer to another authenticator, since that requires possession of thehome AAA server are involved in the decision. For instance, a broker can disallow access even ifEMSK, which is not transported by thehomeAAAserver would allow it, or a proxy can add authorizations (e.g., bandwidth limits). Decisions canprotocol. This vulnerability may bebased on static policy definitions and profiles as well as dynamic state (e.g. timemitigated by implementation ofday or limits on theredirect functionality, as provided in [RFC3588]. 5. Handoff Support With EAP, a number ofconcurrent sessions). In addition to the Accept/Reject decision made by the AAA chain, parameters or constraints canmechanisms may becommunicatedutilized in order to reduce theauthenticator. The criteria for Accept/Reject decisions or the reasons for choosing particular authorizations are typically not communicatedlatency of handoff between authenticators. One such mechanism is EAP pre-authentication, in which EAP is utilized tothe authenticator, only the final result. Aspre-establish aresult, theAAA-Key on an authenticatorhas no wayprior toknow whatarrival of thedecision was based on. Waspeer. "Fast Handoff" is defined as aset of Aboba, et al. Informational [Page 40] INTERNET-DRAFTconversation in which the EAPKey Management Framework 14 November 2004 authorization parameters sent because this serviceexchange (phase 1a) and associated AAA pass-through isalways providedbypassed, so as to reduce latency. Fast handoff mechanisms include: [a] Pre-emptive handoff. In this technique, theuser, or was the decision basedAAA server pre- establishes key state on thetime/day and the capabilities of the requestingauthenticatordevice? 4.2. Correctness Issues Bypassing all or portionsprior to arrival of theAAA conversation creates challengespeer, without completion of EAP authentication. As described inensuring that authorization is properly handled. These include: [a] Consistent application of session time limits. A fast handoff should not automatically increase[IEEE-03-084] and [I.D.irtf-aaaarch-handoff], this technique includes conventional AAA-Key transport, but without an EAP authentication. [b] Context transfer. In this technique, the old authenticator transfers theavailablesessiontime, allowing a usertext toendlessly extend their network access by changingthepoint of attachment. [b] Avoidancenew authenticator, either prior to, or after the arrival ofprivilege elevation. A fast handoff should not result inthe peer. As auser being granted access to services which they are not entitled to.result, AAA-Key transport (phase 1b) is bypassed. [c]Consideration of dynamic state.Key Request. Insituationsthis technique, the peer requests that the new authenticator retrieve a named key from the EAP server for potential use inwhich dynamic statea forthcoming session. In this technique, EAP authentication (phase 1a) isinvolved in thebypassed, but AAA-Key transport (phase 1b) is not. 5.1. Authorization In a typical network accessdecision (day/time, simultaneous session limit) it should be possible to take this state into account either before or afterscenario (dial-in, wireless LAN, etc.) accessis granted. Note that consideration of network-wide state such as simultaneous session limits cancontrol mechanisms are typicallyonly be taken into account by the backendapplied. These mechanisms include user authenticationserver. [d] Encoding of restrictions. Sinceas well as authorization for the offered service. As aauthenticator may not be awarepart of thecriteria consideredauthentication process, the AAA network determines the user's authorization profile. The user authorizations are transmitted byathe backend authentication serverwhen allowing access, in ordertoensure consistent authorization during a fast handoff it may be necessary to explicitly encode the restrictions within the authorizations provided in the AAA-Token. [e] State validity. The introduction of fast handoff should not render the authentication server incapable of keeping track of network- wide state. A fast handoff mechanism capable of addressing these concerns is said to be "correct". One condition for correctness is as follows: For a fast handoff to be "correct" it MUST establish onthenew device the same contextEAP authenticator (also known aswould have been created hadthenew device completed a AAA conversationNetwork Access Server or authenticator) included with theauthentication server. A properly designed fast handoff scheme will only succeed if it is "correct" in this way. If a successful fast handoff would establish "incorrect" state, it is preferable for it to fail,AAA-Token, which also contains the AAA-Key, inorder to avoid creationPhase 1b ofincorrect context. Some backend authentication server and authenticator configurationsthe EAP conversation. Typically, the profile Aboba, et al.InformationalStandards Track [Page41]38] INTERNET-DRAFT EAP Key Management Framework14 November 2004 are incapable of meeting this definition of "correctness". For example, if18 February 2005 is determined based on theold and new device differ in their capabilities, ituser identity, but a certificate presented by the user maybe difficult to meetalso provide authorization information. The backend authentication server is responsible for making a user authorization decision, answering the following questions: [a] Is thisdefinition of correctness inafast handoff mechanism that bypasses AAA. Backend authentication servers often perform conditional evaluation, in whichlegitimate user for this particular network? [b] Is this user allowed theauthorizations returned in an Access-Accept message are contingent on the authenticatortype of access he oron dynamic state such asshe is requesting? [c] Are there any specific parameters (mandatory tunneling, bandwidth, filters, and so on) that the access network should be aware of for this user? [d] Is this user within the subscription rules regarding time ofdayday? [e] Is this user within his limits for concurrent sessions? [f] Are there any fraud, credit limit, ornumber of simultaneous sessions. For example,other concerns that indicate that access should be denied? While the authorization decision is ina heterogeneous deployment,principle simple, thebackend authentication server might return different authorizations depending onprocess is complicated by theauthenticator makingdistributed nature of AAA decision making. Where brokering entities or proxies are involved, all of therequest,AAA devices inorder to make sure thattherequested service is consistent withchain from the authenticatorcapabilities. If differences betweento thenew and old device would resulthome AAA server are involved in thebackend authenticationdecision. For instance, a broker can disallow access even if the home AAA serversendingwould allow it, or adifferent setproxy 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 ofmessages today or limits on thenew device than were sentnumber of concurrent sessions). In addition to theold device, then if the fast handoff mechanism bypasses AAA, thenAccept/Reject decision made by thefast handoff cannotAAA chain, parameters or constraints can becarried out correctly. For example, if some authenticator devices within a deployment support dynamic VLANs while others do not, then attributes present incommunicated to theAccess-Request (such asauthenticator. The criteria for Accept/Reject decisions or theauthenticator-IP-Address, authenticator-Identifier, Vendor-Identifier, etc.) could be examinedreasons for choosing particular authorizations are typically not communicated todetermine when VLAN attributes will be returned, as described in [RFC3580]. VLAN support is defined in [IEEE8021Q]. If a fast handoff bypassingthebackend authentication server were to occur betweenauthenticator, only the final result. As a result, the authenticatorsupporting dynamic VLANs and another authenticator which does not, then a guest user with access restricted to a guest VLAN could be given unrestricted accesshas no way to know what thenetwork. Similarly, indecision was based on. Was anetwork where accessset of authorization parameters sent because this service isrestrictedalways provided to the user, or was the decision based on thedaytime/day andtime, Service Set Identifier (SSID), Calling-Sta tion-Id or other factors, unlesstherestrictions are encoded withincapabilities of theauthorizations,requesting authenticator device? 5.2. Correctness Bypassing all ora partialportions of the AAA conversation creates challenges in ensuring that authorization isincluded, then aproperly handled. These include: Aboba, et al. Standards Track [Page 39] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 [a] Consistent application of session time limits. A fast handoffcould result inshould not automatically increase the available session time, allowing a userbypassing the restrictions. In practice, these considerations limitto endlessly extend their network access by changing thesituations in whichpoint of attachment. [b] Avoidance of privilege elevation. A fast handoffmechanisms bypassing AAA can be expectedshould not result in a user being granted access tobe successful. Whereservices which they are not entitled to. [c] Consideration of dynamic state. In situations in which dynamic state is involved in thedeployed devices implementaccess decision (day/time, simultaneous session limit) it should be possible to take this state into account either before or after access is granted. Note that consideration of network-wide state such as simultaneous session limits can typically only be taken into account by thesame setbackend authentication server. [d] Encoding ofservices, itrestrictions. Since a authenticator may not bepossibleaware of the criteria considered by a backend authentication server when allowing access, in order todo successfulensure consistent authorization during a fasthandoffshandoff it may be necessary to explicitly encode the restrictions withinsuch mechanisms. However, wherethesupported services differ between devices,authorizations provided in the AAA-Token. [e] State validity. The introduction of fast handoffmay not succeed. For example, [RFC2865] section 1.1 states: "A authenticator that doesshould notimplement a given service MUST NOT implementrender theRADIUS attributesauthentication server incapable of keeping track of network- wide state. A fast handoff mechanism capable of addressing these concerns is said to be "correct". One condition forthat service.correctness is as follows: Forexample,aauthenticator that is unablefast handoff tooffer ARAP servicebe "correct" it MUSTNOT Aboba, et al. Informational [Page 42] INTERNET-DRAFT EAP Key Management Framework 14 November 2004 implementestablish on theRADIUS attributes for ARAP. A authenticator MUST treat a RADIUS access-accept authorizing an unavailable servicenew device the same context asan access-reject instead." Note that this behavior only applies to attributes that are known, but not implemented. For attributes that are unknown, [RFC2865] Section 5 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 fast handoff, if awould have been created had the new deviceis provided with RADIUS context for a known but unavailable service, then it MUST process this context the same way it would handlecompleted aRADIUS Access-Accept requesting an unavailable service. This MUST causeAAA conversation with the authentication server. A properly designed fast handoffto fail. However,scheme will only succeed ifa new device is provided with RADIUS context that indicates an unknown attribute, then this attribute MAY be ignored. Althoughitmay seem somewhat counter-intuitive, failureisindeed the"correct"result wherein this way. If aknown but unsupported servicesuccessful fast handoff would establish "incorrect" state, it isrequested. Presumably a correctly configuredpreferable for it to fail, in order to avoid creation of incorrect context. Some backend authentication serverwould not request that a device carry out a service that it does not implement. This implies thatand authenticator configurations are incapable of meeting this definition of "correctness". For example, if the old and new devicewere to complete a AAA conversation thatdiffer in their capabilities, itwouldmay belikelydifficult toreceive different service instructions. In such a case, failuremeet this definition ofthecorrectness in a fast handoffis the desired result. This will cause the new device to go back to the AAA servermechanism that bypasses AAA. Backend authentication servers often perform conditional evaluation, inorder to receivewhich theappropriate service definition. In practice, this implies that fast handoff mechanisms which bypass AAAauthorizations returned in an Access-Accept message aremost likely to be successful within a homogeneous device deployment within a single administrative domain. For example, it would not be advisable to carry out a fast handoff bypassing AAA between a authenticator providing confidentiality and anothercontingent on the authenticatorthat does not support this service. The correct result ofor on dynamic state sucha fast handoff would be a failure, since if the handoff were blindly carried out, thenas theuser would be moved fromtime of day or number of simultaneous sessions. For example, in asecure to an insecure channel without permission fromheterogeneous deployment, the backend authenticationserver. Thus 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].server might return different Aboba, et al.InformationalStandards Track [Page43]40] INTERNET-DRAFT EAP Key Management Framework14 November 2004 5. Security Considerations 5.1. Security Terminology "Cryptographic binding", "Cryptographic separation", "Key strength" and "Mutual authentication" are defined in [RFC3748] and are used with18 February 2005 authorizations depending on thesame meaning here. 5.2. Threat Model The EAP threat model is describedauthenticator making the request, in[RFC3748] Section 7.1. Inorder toaddress these threats, EAP relies onmake sure that thesecurity properties of EAP methods (known as "security claims", describedrequested service is consistent with the authenticator capabilities. If differences between the new and old device would result in[RFC3784] Section 7.2.1). EAP method requirements for application such as Wireless LANthe backend authenticationare described in [WLANREQ]. The RADIUS threat model is describedserver sending a different set of messages to the new device than were sent to the old device, then if the fast handoff mechanism bypasses AAA, then the fast handoff cannot be carried out correctly. For example, if some authenticator devices within a deployment support dynamic VLANs while others do not, then attributes present in[RFC3579] Section 4.1, and responsesthe Access-Request (such as the authenticator-IP-Address, authenticator-Identifier, Vendor-Identifier, etc.) could be examined tothese threats aredetermine when VLAN attributes will be returned, as described in[RFC3579] Sections 4.2 and 4.3. Among other things, [RFC3579] Section 4.2 recommends[RFC3580]. VLAN support is defined in [IEEE8021Q]. If a fast handoff bypassing theuse of IPsec ESP with non-null transform to provide per-packetbackend authentication server were to occur between a authenticator supporting dynamic VLANs andconfidentiality, integrity and replay protection for RADIUS/EAP. Givenanother authenticator which does not, then a guest user with access restricted to a guest VLAN could be given unrestricted access to theexisting documentation of EAPnetwork. Similarly, in a network where access is restricted based on the day and time, Service Set Identifier (SSID), Calling-Station-Id or other factors, unless the restrictions are encoded within the authorizations, or a partial AAAthreat models and responses, thereconversation isno need to duplicate that material here. However, there are many other system-level threats no coveredincluded, then a fast handoff could result in the user bypassing the restrictions. In practice, thesedocumentconsiderations limit the situations in whichhave not been described or analyzed elsewhere. These include: [1] An attacker may try to modify or spoof Secure Association Protocol packets. [2] An attacker compromising an authenticator may provide incorrect information to the EAP peer and/or server via out-of-bandfast handoff mechanisms(such as via abypassing AAAor lower layer protocol). This includes impersonating another authenticator, or providing inconsistent informationcan be expected to be successful. Where thepeer and EAP server. [3] An attackerdeployed devices implement the same set of services, it mayattemptbe possible toperform downgrading attacks on the ciphersuite negotiationdo successful fast handoffs within such mechanisms. However, where theSecure Association Protocol in order to ensuresupported services differ between devices, the fast handoff may not succeed. For example, [RFC2865] section 1.1 states: "A authenticator that does not implement aweaker ciphersuitegiven service MUST NOT implement the RADIUS attributes for that service. For example, a authenticator that isusedunable toprotect data. Depending onoffer ARAP service MUST NOT implement thelower layer, these attacks may be carried out without requiring physical proximity. In orderRADIUS attributes for ARAP. A authenticator MUST treat a RADIUS access-accept authorizing an unavailable service as an access-reject instead." Note that this behavior only applies toaddress these threats, [Housley56] describes the mandatory system security properties:attributes that are known, but not implemented. For attributes that are unknown, [RFC2865] Section 5 states: "A RADIUS server MAY ignore Attributes with an unknown Type. A Aboba, et al.InformationalStandards Track [Page44]41] INTERNET-DRAFT EAP Key Management Framework14 November 2004 Algorithm independence Wherever cryptographic algorithms are chosen, the algorithms must be negotiable, in18 February 2005 RADIUS client MAY ignore Attributes with an unknown Type." In order toprovide resilient against compromise ofperform aparticular algorithm. Algorithm independence must be demonstrated within all aspects of the system, including within EAP, AAA and the Secure Association Protocol. However,correct fast handoff, if a new device is provided with RADIUS context forinteroperability, at least one suite of algorithmsa known but unavailable service, then it MUSTbe implemented. Strong, fresh session keys Session keys must be demonstrated to be strong and fresh in all circumstances, while atprocess this context the sametime retaining algorithm independence. Replay protection All protocol exchanges must be replay protected.way it would handle a RADIUS Access-Accept requesting an unavailable service. Thisincludes exchanges within EAP, AAA, andMUST cause theSecure Association Protocol. Authentication All parties needfast handoff tobe authenticated. The confidentiality of the authenticator must be maintained. No plaintext passwords are allowed. Authorization EAP peer and authenticator authorization must be performed. Session keys Confidentiality of session keys must be maintained. Ciphersuite negotiation The selection of the "best" ciphersuite must be securely confirmed. Unique naming Session keys must be uniquely named. Domino effect Compromise offail. However, if asingle authenticator cannot compromise any other part of the system, including session keys and long-term secrets. Key binding The key mustnew device is provided with RADIUS context that indicates an unknown attribute, then this attribute MAY bebound to the appropriate context. 5.3. Security Analysis Figure 6 illustrates the relationship betweenignored. Although it may seem somewhat counter-intuitive, failure is indeed thepeer, authenticator and"correct" result where a known but unsupported service is requested. Presumably a correctly configured backend authenticationserver. Aboba, et al. Informational [Page 45] INTERNET-DRAFT EAP Key Management Framework 14 November 2004 EAP peer /\ / \ Protocol: EAP / \ Protocol: Secure Association Auth: Mutual / \ Auth: Mutual Unique keys: / \ Unique keys: TSKs TEKs,EMSK / \ / \ EAP server +--------------+ Authenticator Protocol: AAA Auth: Mutual Unique key: AAA session key Figure 6: Relationship between peer, authenticator and auth. server The peer and EAPservercommunicate using EAP [RFC3748]. The security properties of this communication are largely determined by the chosen EAP method. Method security claims are described in [RFC3748] Section 7.2. These include the key strength, protected ciphersuite negotiation, mutual authentication, integrity protection, replay protection, confidentiality, key derivation, key strength, dictionary attack resistance, fast reconnect, cryptographic binding, session independence, fragmentation and channel binding claims. Atwould not request that aminimum, methods claiming to support key derivation must also support mutual authentication. As noted in [RFC3748] Section 7.10: EAP Methods deriving keys MUST provide for mutual authentication between the EAP peer anddevice carry out a service that it does not implement. This implies that if theEAP Server. Ciphersuite independence is also required: Keying material exported by EAP methods MUSTnew device were to complete a AAA conversation that it would beindependent of the ciphersuite negotiatedlikely toprotect data.receive different service instructions. Intermssuch a case, failure ofkey strength and freshness, [RFC3748] Section 10 says: EAP methods SHOULD ensurethefreshness offast handoff is theMSK and EMSK evendesired result. This will cause the new device to go back to the AAA server incases where one party may not have a high quality random number generator.... Inorder topreserve algorithm independence, EAP methods deriving keys SHOULD support (and document)receive theprotected negotiationappropriate service definition. In practice, this implies that fast handoff mechanisms which bypass AAA are most likely to be successful within a homogeneous device deployment within a single administrative domain. For example, it would not be advisable to carry out a fast handoff bypassing AAA between a authenticator providing confidentiality and another authenticator that does not support this service. The correct result of such a fast handoff would be a failure, since if theciphersuite usedhandoff were blindly carried out, then the user would be moved from a secure toprotectan insecure channel without permission from theEAP conversation betweenbackend authentication server. Thus thepeerdefinition 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]. 6. Security Considerations 6.1. Security Terminology "Cryptographic binding", "Cryptographic separation", "Key strength" andserver..."Mutual authentication" are defined in [RFC3748] and are used with the same meaning here. 6.2. Threat Model The EAP threat model is described in [RFC3748] Section 7.1. In order toenable deployments requiring strong keys,address these threats, EAPmethods supporting key derivation SHOULD be capable of generating an MSK and EMSK, each with an effective key strengthrelies on the security properties ofat least 128 bits. The authenticator and backend authentication server communicate using a AAA protocol suchEAP methods (known asRADIUS [RFC3579] or Diameter [I-D.ietf-aaa-"security claims", described in [RFC3784] Aboba, et al.InformationalStandards Track [Page46]42] INTERNET-DRAFT EAP Key Management Framework14 November 2004 eap]. As noted18 February 2005 Section 7.2.1). EAP method requirements for application such as Wireless LAN authentication are described in[RFC3588][WLANREQ]. The RADIUS threat model is described in [RFC3579] Section13, Diameter must be protected by either IPsec ESP with non-null transform or TLS. As a result, Diameter requires per-packet integrity4.1, andconfidentiality. Replay protection must be supported. For RADIUS,responses to these threats are described in [RFC3579] Sections 4.2 and 4.3. Among other things, [RFC3579] Section 4.2 recommendsthat RADIUS be protected bythe use of IPsec ESP withanon-nulltransform,transform to provide per-packet authentication and confidentiality, integrity andwhere IPsec is implementedreplay protectionmust be supported. The peer and authenticator communicate using the Secure Association Protocol. As noted in the figure, each party infor RADIUS/EAP. Given theexchange mutually authenticates with eachexisting documentation ofthe other parties,EAP andderives a unique key. All partiesAAA threat models and responses, there is no need to duplicate that material here. However, there are many other system-level threats no covered inthe diagramthese document which haveaccessnot been described or analyzed elsewhere. These include: [1] An attacker may try to modify or spoof Secure Association Protocol packets. [2] An attacker compromising an authenticator may provide incorrect information to theAAA-Key. TheEAP peerand backend authenticationand/or servermutually authenticateviathe EAP method, and derive the TEKs and EMSK which are known only to them. The TEKs are used to protect someout-of-band mechanisms (such as via a AAA orall of the EAP conversation betweenlower layer protocol). This includes impersonating another authenticator, or providing inconsistent information to the peer andauthenticator, so as to guard against modification or insertion ofEAPpackets by an attacker. The degree of protection afforded byserver. [3] An attacker may attempt to perform downgrading attacks on theTEKs is determined byciphersuite negotiation within theEAP method; some methods maySecure Association Protocol in order to ensure that a weaker ciphersuite is used to protect data. Depending on theentire EAP packet, including the EAP header, while other methodslower layer, these attacks mayonly protectbe carried out without requiring physical proximity. In order to address these threats, [Housley56] describes thecontents ofmandatory system security properties: Algorithm independence Wherever cryptographic algorithms are chosen, theType-Data field, definedalgorithms must be negotiable, in[RFC3748]. Since EAP is spoken only between the EAP peer and server, iforder to provide resilient against compromise of abackend authentication server is present thenparticular algorithm. Algorithm independence must be demonstrated within all aspects of theEAP conversation does not provide mutual authentication betweensystem, including within EAP, AAA and thepeerSecure Association Protocol. However, for interoperability, at least one suite of algorithms MUST be implemented. Strong, fresh session keys Session keys must be demonstrated to be strong andauthenticator, only betweenfresh in all circumstances, while at the same time retaining algorithm independence. Aboba, et al. Standards Track [Page 43] INTERNET-DRAFT EAPpeerKey Management Framework 18 February 2005 Replay protection All protocol exchanges must be replay protected. This includes exchanges within EAP, AAA, andEAP server (backend authentication server). As a result, mutual authentication betweenthepeer and authenticator only occurs where aSecure Associationprotocol is used, such the unicast and group key derivation handshake supported in [IEEE80211i]. This means that absent use of a secure Association Protocol, from the point of viewProtocol. Authentication All parties need to be authenticated. The confidentiality of thepeer,authenticator must be maintained. No plaintext passwords are allowed. Authorization EAPmutual authentication only proves that thepeer and authenticatoris trusted by the backend authentication server; the identityauthorization must be performed. Session keys Confidentiality ofthe authenticator is not confirmed. Utilizing the AAA protocol, the authenticator and backend authentication server mutually authenticate and derivesession keysknown only to them, used to provide per-packet integrity and replay protection, authentication and confidentiality.must be maintained. Ciphersuite negotiation TheAAA-Key is distributed by the backend authentication server to the authenticator over this channel, bound to attributes constraining its usage, as partselection of theAAA-Token. The binding"best" ciphersuite must be securely confirmed. Unique naming Session keys must be uniquely named. Domino effect Compromise ofattributes to the AAA-Key withinaprotected package is important so thesingle authenticatorreceivingcannot compromise any other part of theAAA-Token can determine that it has not been compromised,system, including session keys andthat the keying material has not been replayed, or Aboba, et al. Informational [Page 47] INTERNET-DRAFT EAPlong-term secrets. KeyManagement Framework 14 November 2004 mis-directed in some way.binding Thesecurity properties ofkey must be bound to theEAP exchange are dependent on each leg ofappropriate context. 6.3. Security Analysis Figure 6 illustrates thetriangle:relationship between theselected EAP method, AAA protocolpeer, authenticator andthebackend authentication server. EAP peer /\ / \ Protocol: EAP / \ Protocol: Secure AssociationProtocol. Assuming that theAuth: Mutual / \ Auth: Mutual Unique keys: / \ Unique keys: TSKs TEKs,EMSK / \ / \ EAP server +--------------+ Authenticator Protocol: AAAprotocol provides protection against rogue authenticators forging their identity, then the AAA-Token can be assumed to be sent to the correct authenticator, and where it is wrapped appropriately, it can be assumed to be immune to compromise by a snooping attacker. Where an untrustedAuth: Mutual Unique key: AAAintermediary is present, the AAA-Token must not be provided to the intermediary so as to avoid compromisesession key Figure 6: Relationship between peer, authenticator and auth. server Aboba, et al. Standards Track [Page 44] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 The peer and EAP server communicate using EAP [RFC3748]. The security properties ofthe AAA-Token. This can be avoidedthis communication are largely determined byuse of re-direct as defined in [RFC3588]. When EAP is used for authentication on PPP or wired IEEE 802 networks, it is typically assumed that the link is physically secure, so that an attacker cannot gain access tothelink, or insert a rogue device.chosen EAPmethods definedmethod. Method security claims are described in [RFC3748]reflect this usage model.Section 7.2. These includeEAP MD5, as well as One-Time Password (OTP)the key strength, protected ciphersuite negotiation, mutual authentication, integrity protection, replay protection, confidentiality, key derivation, key strength, dictionary attack resistance, fast reconnect, cryptographic binding, session independence, fragmentation andGeneric Token Card. Thesechannel binding claims. At a minimum, methodssupport one-way authentication (from EAP peerclaiming toauthenticator) but not mutual authentication orsupport keyderivation.derivation must also support mutual authentication. Asa result, these methods do not bind the initialnoted in [RFC3748] Section 7.10: EAP Methods deriving keys MUST provide for mutual authentication between the EAP peer andsubsequent data traffic, even whenthe EAP Server. Ciphersuite independence is also required: Keying material exported by EAP methods MUST be independent of the ciphersuiteusednegotiated to protectdata supports per-packet authenticationdata. In terms of key strength andintegrity protection. As a result,freshness, [RFC3748] Section 10 says: EAP methodsnot supporting mutual authentication are vulnerable to session hijacking as well as attacks by rogue devices. On wireless networks such as IEEE 802.11 [IEEE80211], these attacks become easy to mount, since any attacker within range can accessSHOULD ensure thewireless medium, or act as an access point. As a result, new ciphersuites have been proposed for use with wireless LANs [IEEE80211i] which provide per-packet authentication, integrityfreshness of the MSK andreplay protection.EMSK even in cases where one party may not have a high quality random number generator.... Inaddition, mutual authentication and key derivation, provided by methods such as EAP-TLS [RFC2716] are required [IEEE80211i], so asorder toaddresspreserve algorithm independence, EAP methods deriving keys SHOULD support (and document) thethreatprotected negotiation ofrogue devices, and provide keying material to bindtheinitial authenticationciphersuite used tosubsequent data traffic. Ifprotect theselectedEAPmethod does not support mutual authentication, thenconversation between the peerwill be vulnerable to attack by rogue authenticatorsandbackend authentication servers. If the EAP method does not deriveserver... In order to enable deployments requiring strong keys,then TSKs will notEAP methods supporting key derivation SHOULD beavailable for usecapable of generating an MSK and EMSK, each with an effective key strength of at least 128 bits. The authenticator and backend authentication server communicate using anegotiated ciphersuite,AAA protocol such as RADIUS [RFC3579] or Diameter [I-D.ietf-aaa- eap]. As noted in [RFC3588] Section 13, Diameter must be protected by either IPsec ESP with non-null transform or TLS. As a result, Diameter requires per-packet integrity andthere willconfidentiality. Replay protection must beno binding betweensupported. For RADIUS, [RFC3579] Section 4.2 recommends that RADIUS be protected by IPsec ESP with a non-null transform, and where IPsec is implemented replay protection must be supported. The peer and authenticator communicate using theinitial EAP authenticationSecure Association Protocol. As noted in the figure, each party in the exchange mutually authenticates with each of the other parties, andsubsequent data traffic, leavingderives a unique key. All parties in thesessiondiagram have access to the AAA-Key. Aboba, et al.InformationalStandards Track [Page48]45] INTERNET-DRAFT EAP Key Management Framework14 November 2004 vulnerable to hijac k. If the18 February 2005 The EAP peer and backend authentication serverdoes not protect against authenticator masquerade, or provide the proper binding of the AAA- Key tomutually authenticate via thesession withinEAP method, and derive theAAA-Token, then one or more AAA-Keys may be sent to an unauthorized party,TEKs andan attacker may be ableEMSK which are known only togain accessthem. The TEKs are used to protect some or all of thenetwork. IfEAP conversation between theAAA-Token is providedpeer and authenticator, so as to guard against modification or insertion of EAP packets by anuntrusted AAA intermediary, then that intermediaryattacker. The degree of protection afforded by the TEKs is determined by the EAP method; some methods maybe able to modifyprotect theAAA-Key, orentire EAP packet, including theattributes associated with it, as described in [RFC2607]. IfEAP header, while other methods may only protect theSecure Association Protocol does not provide mutual proof of possessioncontents of theAAA-Key material, then the peer will not have assurance that itType-Data field, defined in [RFC3748]. Since EAP isconnected to the correct authenticator,spoken onlythatbetween theauthenticatorEAP peer andbackend authentication server shareserver, if atrust relationship (since AAA protocols support mutual authentication). This distinction can become important when multiple authenticators receive AAA-Keys from thebackend authenticationserver, such as where fast handoffserver issupported. Ifpresent then theTSK derivationEAP conversation does not providefor protected ciphersuite and capabilities negotiation, then downgrade attacks are possible. 5.4. Man-in-the-middle Attacks As described in [I-D.puthenkulam-eap-binding], EAP method sequences and compoundmutual authenticationmechanisms may be subject to man-in-the- middle attacks. When such attacks are successfully carried out, the attacker acts as an intermediarybetweena victim and a legitimate authenticator. This allows the attacker to authenticate successfully tothe peer and authenticator,as well as to obtain access to the network. In order to prevent these attacks, [I-D.puthenkulam-eap-binding] recommends derivation of a compound key by whichonly between the EAP peer and EAP servercan prove that they have participated in(backend authentication server). As a result, mutual authentication between theentire EAP exchange. Sincepeer and authenticator only occurs where a Secure Association protocol is used, such thecompoundunicast and group keymust not be known to an attacker posing as an authenticator, and yet must be derivedderivation handshake supported in [IEEE80211i]. This means that absent use of a secure Association Protocol, fromquantitiesthe point of view of the peer, EAP mutual authentication only proves thatare exportedthe authenticator is trusted byEAP methods, it may be desirable to derivethecompound key from a portionbackend authentication server; the identity of theEMSK. In orderauthenticator is not confirmed. Utilizing the AAA protocol, the authenticator and backend authentication server mutually authenticate and derive session keys known only to them, used to provideproper key hygiene, itper-packet integrity and replay protection, authentication and confidentiality. The AAA-Key isrecommended thatdistributed by thecompound key used for man-in- the-middle protection be cryptographically separate from other keys derived frombackend authentication server to theEMSK, suchauthenticator over this channel, bound to attributes constraining its usage, asfast handoff keys, discussed in Section 2.5. 5.5. Denialpart ofService Attacksthe AAA-Token. Thecachingbinding ofsecurity associations may result in vulnerabilityattributes todenial of service attacks. Since an EAP peer may derive multiple EAP SAs with a given EAP server, and creation ofthe AAA-Key within anew EAP SA doesprotected package is important so the authenticator receiving the AAA-Token can determine that it has notAboba, et al. Informational [Page 49] INTERNET-DRAFT EAP Key Management Framework 14 November 2004 implicitly delete a previous EAP SA, EAP methodsbeen compromised, and thatresultthe keying material has not been replayed, or mis-directed increation of persistent state may be vulnerable to denialsome way. The security properties ofservice attacks by a rogue EAP peer. As a result, EAP methods creating persistent state may wish to limitthenumber of cached EAP SAs (Phase 1a) corresponding to an EAP peer. For example, an EAP server may choose to only retain a fewEAPSAs forexchange are dependent on eachpeer. This prevents a rogue peer from denying access to other peers. Similarly, an authenticator may have multiple AAA-Key SAs corresponding to a given EAP peer; to conserve resources an authenticator may choose to limit the numberleg ofcached AAA-Key (Phase 1 b) SAs for each peer. Depending onthemedia, creation of a new unicast Secure Association SA may or may not imply deletion of a previous unicast secure association SA. Where there is no implied deletion,triangle: theauthenticator may choose to limit Phase 2 (unicastselected EAP method, AAA protocol andmulticast)the Secure AssociationSAs for each peer. 5.6. Impersonation BothProtocol. Assuming that theRADIUSAAA protocol provides protection against rogue authenticators forging their identity, then the AAA-Token can be assumed to be sent to the correct authenticator, andDiameter protocols are potentially vulnerablewhere it is wrapped appropriately, it can be assumed toimpersonationbe immune to compromise by arogue authenticator. Whilesnooping attacker. Where an untrusted AAAprotocols such as RADIUS [RFC2865] or Diameter [RFC3588] support mutual authentication between the authenticator (known asintermediary is present, theAAA client) andAAA-Token must not be provided to thebackend authentication server (knownintermediary so asthe AAA server), the security mechanisms vary accordingto avoid compromise of theAAA protocol. In RADIUS, the shared secret used for authentication is determinedAAA-Token. This can be avoided bythe source addressuse ofthe RADIUS packet. As notedre-direct as defined in[RFC3579] Section 4.3.7,Aboba, et al. Standards Track [Page 46] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 [RFC3588]. When EAP is used for authentication on PPP or wired IEEE 802 networks, it ishighly desirabletypically assumed that thesource address be checked against one or more NAS identification attributeslink is physically secure, soasthat an attacker cannot gain access todetect and prevent impersonation attacks. When RADIUS requests are forwarded by a proxy,theNAS-IP-Addresslink, orNAS-IPv6-Address attributes may not correspondinsert a rogue device. EAP methods defined in [RFC3748] reflect this usage model. These include EAP MD5, as well as One-Time Password (OTP) and Generic Token Card. These methods support one-way authentication (from EAP peer tothe source address. Since the NAS-Identifier attribute needauthenticator) but notcontain an FQDN, it also maymutual authentication or key derivation. As a result, these methods do notcorrespond tobind thesource address,initial authentication and subsequent data traffic, evenindirectly. [RFC2865] Section 3 states: A RADIUS server MUST usewhen thesource IP address oftheRADIUS UDP packet to decide which shared secretciphersuite used touse, so that RADIUS requests can be proxied. This implies that it is possible forprotect data supports per-packet authentication and integrity protection. As arogue authenticator to forge Aboba, et al. Informational [Page 50] INTERNET-DRAFTresult, EAPKey Management Framework 14 November 2004 NAS-IP-Address, NAS-IPv6-Address or NAS-Identifier attributes within a RADIUS Access-Request in ordermethods not supporting mutual authentication are vulnerable toimpersonate another authenticator. Among other things, this can result in messages (and MSKs) being sent to the wrong authenticator. Since the rogue authenticator is authenticatedsession hijacking as well as attacks bythe RADIUS proxy or server purely based on the source address, other mechanisms are required to detect the forgery. In addition, it is possible for attributesrogue devices. On wireless networks such asthe Called-Station-Id and Calling-Station-IdIEEE 802.11 [IEEE80211], these attacks become easy tobe forgedmount, since any attacker within range can access the wireless medium, or act aswell.an access point. Asrecommended in [RFC3579], this vulnerability can be mitigateda result, new ciphersuites have been proposed for use with wireless LANs [IEEE80211i] which provide per-packet authentication, integrity and replay protection. In addition, mutual authentication and key derivation, provided byhaving RADIUS proxies check authenticator identification attributes against the source address. To allow verification of session parametersmethods such as EAP-TLS [RFC2716] are required [IEEE80211i], so as to address theCalled- Station- Idthreat of rogue devices, andCalling-Station-Id, these can be sent by the EAP peerprovide keying material to bind theserver, protected byinitial authentication to subsequent data traffic. If theTEKs. The RADIUS server canselected EAP method does not support mutual authentication, thencheck the parameters sent bytheEAPpeeragainst those claimedwill be vulnerable to attack bythe authenticator.rogue authenticators and backend authentication servers. Ifa discrepancy is found, an error canthe EAP method does not derive keys, then TSKs will not belogged. While [RFC3588] requiresavailable for useofwith a negotiated ciphersuite, and there will be no binding between theRoute-Record AVP, this utilizes FQDNs, so that impersonation detection requires DNS A/AAAAinitial EAP authentication andPTR RRs to be properly configured. As a result, it appears that Diameter is assubsequent data traffic, leaving the session vulnerable tothis attack as RADIUS, if not more so. To address this vulnerability, it is necessary to allowhijack. If the backend authentication serverto communicate with thedoes not protect against authenticatordirectly, such as viamasquerade, or provide theredirect functionality supported in [RFC3588]. 5.7. Channelproper bindingIt is possible for a compromised or poorly implemented EAP authenticator to communicate incorrect informationof the AAA- Key to theEAP peer and/or server. Thissession within the AAA-Token, then one or more AAA-Keys mayenablebe sent to anauthenticatorunauthorized party, and an attacker may be able toimpersonate another authenticator or communicate incorrect information via out- of-band mechanisms (such as viagain access to the network. If the AAA-Token is provided to an untrusted AAA intermediary, then that intermediary may be able to modify the AAA-Key, or thelower layer protocol). Where EAP is usedattributes associated with it, as described inpass-through mode,[RFC2607]. If theEAP peer typicallySecure Association Protocol does notverify the identityprovide mutual proof of possession of thepass-through authenticator,AAA-Key material, then the peer will not have assurance that it is connected to the correct authenticator, onlyverifiesthat thepass-throughauthenticatoris trusted by the EAP server. This createsand backend authentication server share apotential security vulnerability, described in [RFC3748] Section 7.15. [RFC3579] Section 4.3.7 describes how anAboba, et al. Standards Track [Page 47] INTERNET-DRAFT EAPpass-through authenticator acting as aKey Management Framework 18 February 2005 trust relationship (since AAAclient can be detected if it attempts to impersonate another authenticator (such by sending incorrect NAS- Identifier [RFC2865], NAS-IP-Address [RFC2865] or NAS-IPv6-Address [RFC3162] attributes viaprotocols support mutual authentication). This distinction can become important when multiple authenticators receive AAA-Keys from theAAA protocol). However, itbackend authentication server, such as where fast handoff ispossiblesupported. If the TSK derivation does not provide fora pass-through authenticator actingprotected ciphersuite and capabilities negotiation, then downgrade attacks are possible. 6.4. Man-in-the-middle Attacks As described in [I-D.puthenkulam-eap-binding], EAP method sequences and compound authentication mechanisms may be subject to man-in-the- middle attacks. When such attacks are successfully carried out, the attacker acts as an intermediary between aAAA clientvictim and a legitimate authenticator. This allows the attacker toprovide Aboba, et al. Informational [Page 51] INTERNET-DRAFT EAP Key Management Framework 14 November 2004 correct informationauthenticate successfully to theAAA server while communicating misleading informationauthenticator, as well as to obtain access to the network. In order to prevent these attacks, [I-D.puthenkulam-eap-binding] recommends derivation of a compound key by which the EAP peervia a lower layer protocol. For example, it is possible for a compromised authenticator to utilize another authenticator's Called-Station-Id or NAS-Identifierand server can prove that they have participated incommunicating withthe entire EAPpeer via a lower layer protocol, or for a pass-through authenticator acting as a AAA clientexchange. Since the compound key must not be known toprovideanincorrect peer Calling-Station-Id [RFC2865][RFC3580]attacker posing as an authenticator, and yet must be derived from quantities that are exported by EAP methods, it may be desirable to derive theAAA server via the AAA protocol. As notedcompound key from a portion of the EMSK. 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, such as fast handoff keys, discussed in[RFC3748]Section7.15, this2.3. 6.5. Denial of Service Attacks The caching of security associations may result in vulnerabilitycan be addressed by useto denial of service attacks. Since an EAPmethods that supportpeer may derive multiple EAP SAs with aprotected exchangegiven EAP server, and creation ofchannel properties such as endpoint identifiers, including (buta new EAP SA does notlimited to): Called-Station-Id [RFC2865][RFC3580], Calling-Station-Id [RFC2865][RFC3580], NAS-Identifier [RFC2865], NAS-IP-Address [RFC2865], and NAS-IPv6-Address [RFC3162]. Using suchimplicitly delete aprotected exchange, it is possible to match the channel properties provided by the authenticator via out-of-band mechanisms against those exchanged within theprevious EAPmethod. For example, see [ServiceIdent]. 5.8. Key Strength In order to guard against brute force attacks,SA, EAP methodsderiving keys need tothat result in creation of persistent state may becapablevulnerable to denial ofgenerating keys with an appropriate effective symmetric key strength. In orderservice attacks by a rogue EAP peer. As a result, EAP methods creating persistent state may wish toensure that key generation is notlimit theweakest link, it is necessary fornumber of cached EAPmethods utilizing public key cryptographySAs (Phase 1a) corresponding to an EAP peer. For example, an EAP server may choose to only retain apublic key that hasfew EAP SAs for each peer. This prevents acryptographic strength meeting the symmetric key strength requirement. As noted in [RFC3766] Section 5, this results in the following required RSA or DH module and DSA subgroup size in bits, forrogue peer from denying access to other peers. Similarly, an authenticator may have multiple AAA-Key SAs corresponding to a givenlevelEAP peer; to conserve resources an authenticator may choose to limit the number ofattack resistance in bits: Attack Resistance RSA or DH Modulus DSA subgroup (bits) size (bits) size (bits) ----------------- ----------------- ------------ 70 947 128 80 1228 145 90 1553 153 100 1926 184 150 4575 279 200 8719 373 250 14596 475cached AAA-Key (Phase 1 b) SAs for each peer. Aboba, et al.InformationalStandards Track [Page52]48] INTERNET-DRAFT EAP Key Management Framework14 November 2004 5.9. Key Wrap As described in [RFC3579] Section 4.3, known problems exist in18 February 2005 Depending on thekey wrap specified in [RFC2548].media, creation of a new unicast Secure Association SA may or may not imply deletion of a previous unicast secure association SA. Where there is no implied deletion, the authenticator may choose to limit Phase 2 (unicast and multicast) Secure Association SAs for each peer. 6.6. Impersonation Both thesameRADIUSshared secret is usedand Diameter protocols are potentially vulnerable to impersonation by aPAProgue authenticator. While AAA protocols such as RADIUS [RFC2865] or Diameter [RFC3588] support mutual authentication between the authenticator (known as the AAA client) andan EAP authenticator, there is a vulnerabilitythe backend authentication server (known as the AAA server), the security mechanisms vary according toknown plaintext attack. Since RADIUS usesthe AAA protocol. In RADIUS, the shared secret used formultiple purposes, including per-packet authentication, attribute hiding, considerable informationauthentication isexposed aboutdetermined by theshared secret with eachsource address of the RADIUS packet.This exposesAs noted in [RFC3579] Section 4.3.7, it is highly desirable that theshared secretsource address be checked against one or more NAS identification attributes so as todictionarydetect and prevent impersonation attacks.MD5 is used bothWhen RADIUS requests are forwarded by a proxy, the NAS-IP-Address or NAS-IPv6-Address attributes may not correspond tocomputetheRADIUS Response Authenticator andsource address. Since theMessage-Authenticator attribute, and some concerns exist relatingNAS-Identifier attribute need not contain an FQDN, it also may not correspond to thesecurity of this hash [MD5Attack]. As discussed in [RFC3579]source address, even indirectly. [RFC2865] Section4.3, the security vulnerabilities of3 states: A RADIUSare extensive, and therefore developmentserver MUST use the source IP address ofan alternative key wrap technique based onthe RADIUS UDP packet to decide which shared secretwould not substantially improve security. As a result, [RFC3759] Section 4.2 recommends running RADIUS over IPsec. The same approach is taken in Diameter EAP [I-D.ietf-aaa-eap], which defines cleartext key attributes,to use, so that RADIUS requests can beprotected by IPsec or TLS. Where an untrusted AAA intermediaryproxied. This implies that it ispresent (such aspossible for aRADIUS proxyrogue authenticator to forge NAS-IP-Address, NAS-IPv6-Address or NAS-Identifier attributes within aDiameter agent), and data object security is not used, the AAA-Key may be recovered by an attackerRADIUS Access-Request incontrol oforder to impersonate another authenticator. Among other things, this can result in messages (and MSKs) being sent to theuntrusted intermediary. Possession ofwrong authenticator. Since theAAA-Key enables decryption of data traffic sent between the peer and a specific authenticator; however where key separationrogue authenticator isimplemented, compromise ofauthenticated by theAAA-Key does not enable an attacker to impersonateRADIUS proxy or server purely based on thepeersource address, other mechanisms are required toanother authenticator, since that requires possession ofdetect theEMSK, whichforgery. In addition, it isnot transported bypossible for attributes such as theAAA protocol. ThisCalled-Station-Id and Calling-Station-Id to be forged as well. As recommended in [RFC3579], this vulnerabilitymaycan be mitigated byimplementationhaving RADIUS proxies check authenticator identification attributes against the source address. To allow verification ofredirect functionality,session parameters such asprovided in [RFC3588]. 6. Security Requirements This section summarizesthesecurity requirements that must be met by EAP methods, AAA protocols, Secure Association ProtocolsCalled- Station- Id andCiphersuites in order to address the security threats described in this document. These requirements MUSTCalling-Station-Id, these can bemetsent byspecifications requesting publication as an RFC. Each requirement provides a pointer to the sections of this document describingthethreat that it mitigates. 6.1.EAPMethod Requirements It is possible for thepeerand EAP server to mutually authenticate and derive keys. In order to provide keying material for use in aAboba, et al.InformationalStandards Track [Page53]49] INTERNET-DRAFT EAP Key Management Framework14 November 2004 subsequently negotiated ciphersuite, an18 February 2005 to the server, protected by the TEKs. The RADIUS server can then check the parameters sent by the EAPmethod supporting key derivation MUST exportpeer against those claimed by the authenticator. If aMaster Session Key (MSK) of at least 64 octets, anddiscrepancy is found, anExtended Master Session Key (EMSK)error can be logged. While [RFC3588] requires use ofat least 64 octets. EAP Methods deriving keys MUST provide for mutual authentication betweentheEAP peer and the EAP Server. The MSKRoute-Record AVP, this utilizes FQDNs, so that impersonation detection requires DNS A/AAAA andEMSK MUST NOTPTR RRs to beused directlyproperly configured. As a result, it appears that Diameter is as vulnerable toprotect data; however, they are of sufficient sizethis attack as RADIUS, if not more so. To address this vulnerability, it is necessary toenable derivation of a AAA-Key subsequently usedallow the backend authentication server toderive Transient Session Keys (TSKs) for usecommunicate with theselected ciphersuite. Each ciphersuiteauthenticator directly, such as via the redirect functionality supported in [RFC3588]. 6.7. Channel binding It isresponsiblepossible forspecifying howa compromised or poorly implemented EAP authenticator to communicate incorrect information toderivetheTSKs fromEAP peer and/or server. This may enable an authenticator to impersonate another authenticator or communicate incorrect information via out- of-band mechanisms (such as via AAA or theAAA-Key. The AAA-Keylower layer protocol). Where EAP isderived from the keying material exported byused in pass-through mode, the EAPmethod (MSK and EMSK). This derivation occurs onpeer typically does not verify theAAA server. In many existing protocolsidentity of the pass-through authenticator, it only verifies thatuse EAP,theAAA-Key and MSK are equivalent, but more complicated mechanisms are possible (seepass-through authenticator is trusted by the EAP server. This creates a potential security vulnerability, described in [RFC3748] Section2.5 for details).7.15. [RFC3579] Section 4.3.7 describes how an EAPmethods SHOULD ensure the freshness of the MSK and EMSK even in cases where one party may not havepass-through authenticator acting as ahigh quality random number generator. A RECOMMENDED methodAAA client can be detected if it attempts to impersonate another authenticator (such by sending incorrect NAS- Identifier [RFC2865], NAS-IP-Address [RFC2865] or NAS-IPv6-Address [RFC3162] attributes via the AAA protocol). However, it is possible foreach partya pass-through authenticator acting as a AAA client to providea nonce of at least 128 bits, used incorrect information to thederivation ofAAA server while communicating misleading information to theMSK and EMSK.EAPmethods exportpeer via a lower layer protocol. For example, it is possible for a compromised authenticator to utilize another authenticator's Called-Station-Id or NAS-Identifier in communicating with theMSK and EMSK and not Transient Session Keys soEAP peer via a lower layer protocol, or for a pass-through authenticator acting as a AAA client toallow EAP methodsprovide an incorrect peer Calling-Station-Id [RFC2865][RFC3580] to the AAA server via the AAA protocol. As noted in [RFC3748] Section 7.15, this vulnerability can beciphersuite and media independent. Keying material exportedaddressed byEAP methods MUST be independentuse ofthe ciphersuite negotiated to protect data. Depending on the lower layer,EAP methodsmay run before or after ciphersuite negotiation, sothatthe selected ciphersuite may not be known to the EAP method. By providing keying material usable with any ciphersuite, EAP methods can used withsupport awide range of ciphersuites and media. It is RECOMMENDED that methods providing integrity protection of EAP packets include coverageprotected exchange ofall the EAP header fields,channel properties such as endpoint identifiers, includingthe Code, Identifier, Length, Type(but not limited to): Called-Station-Id [RFC2865][RFC3580], Calling-Station-Id [RFC2865][RFC3580], NAS-Identifier [RFC2865], NAS-IP-Address Aboba, et al. Standards Track [Page 50] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 [RFC2865], andType-Data fields. In orderNAS-IPv6-Address [RFC3162]. Using such a protected exchange, it is possible topreserve algorithm independence, EAP methods deriving keys SHOULD support (and document)match theprotected negotiation ofchannel properties provided by theciphersuite used to protectauthenticator via out-of-band mechanisms against those exchanged within the EAPconversation between the peer and server.method. For example, see [ServiceIdent]. 7. Security Requirements Thisis distinct from the ciphersuite negotiated betweensection summarizes thepeersecurity requirements that must be met by EAP methods, AAA protocols, Secure Association Protocols andauthenticator, usedCiphersuites in order toprotect data. The strength of Transient Session Keys (TSKs) usedaddress the security threats described in this document. These requirements MUST be met by specifications requesting publication as an RFC. Each requirement provides a pointer toprotect data is ultimately dependent onthestrengthsections ofkeys generated bythis document describing the threat that it mitigates. 7.1. EAPmethod. If an EAP method cannot produce keying material of sufficient strength, thenMethod Requirements It is possible for theTSKs may be subject to brute force Aboba, et al. Informational [Page 54] INTERNET-DRAFTpeer and EAPKey Management Framework 14 November 2004 attack.server to mutually authenticate and derive keys. In order toenable deployments requiring strong keys,provide keying material for use in a subsequently negotiated ciphersuite, an EAPmethodsmethod supporting key derivationSHOULD be capableMUST export a Master Session Key (MSK) ofgenerating an MSKat least 64 octets, andEMSK, each withaneffective key strengthExtended Master Session Key (EMSK) of at least128 bits.64 octets. EAP Methodssupporting key derivationderiving keys MUSTdemonstrate cryptographic separationprovide for mutual authentication between theMSKEAP peer andEMSK branches ofthe EAPkey hierarchy. Without violating a fundamental cryptographic assumption (such as the non-invertibility of a one-way function) an attacker recovering theServer. The MSKorand EMSK MUST NOT beableused directly torecover the other quantity with a levelprotect data; however, they are ofeffort less than brute force. Non-overlapping substringssufficient size to enable derivation of a AAA-Key subsequently used to derive Transient Session Keys (TSKs) for use with theMSK MUST be cryptographically separate from each other. That is, knowledge of one substring MUST NOT help in recovering some other non-overlapping substring without breaking some hard cryptographic assumption. Thisselected ciphersuite. Each ciphersuite isrequired because some existing ciphersuites form TSKs by simply splitting the AAA-Keyresponsible for specifying how topieces of appropriate length. Likewise, non-overlapping substrings ofderive theEMSK MUST be cryptographically separate from each other, andTSKs fromsubstrings oftheMSK.AAA-Key. TheEMSK MUST remain onAAA-Key is derived from the keying material exported by the EAPpeermethod (MSK andEAP server where it is derived; it MUST NOT be transported to, or shared with, additional parties, or used for purposes other than AMSKEMSK). This derivation occurs on the AAA server. In many existing protocols that use EAP, the AAA-Key and MSK are equivalent, but more complicated mechanisms are possible (see Section2.6). Since EAP does not provide2.3 forexplicit key lifetime negotiation,details). EAPpeers, authenticators and authentication servers MUST be prepared for situations in which onemethods SHOULD ensure the freshness of theparties discards key state which remains valid on another party. The developmentMSK andvalidationEMSK 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 ofkeyat least 128 bits, used in the derivationalgorithms is difficult,of the MSK andas a resultEMSK. EAP methodsSHOULD reuse well established and analyzed mechanisms forexport the MSK and EMSKkey derivation (suchand not Transient Session Keys so asthose specified in IKE [RFC2409] or TLS [RFC2246]), rather than inventing new ones. 6.1.1. Requirements forto allow EAP methodsIn order for an EAP method to meet the guidelines for EMSK usage it must meet the following requirements: o It MUST specify howtoderive the EMSK o The keybe ciphersuite and media independent. Keying materialused for the EMSKexported by EAP methods MUST becomputationallyindependent of theMSK and TEKs. o The EMSK MUST NOT be used for any other purpose than the keyciphersuite negotiated to protect data. Aboba, et al.InformationalStandards Track [Page55]51] INTERNET-DRAFT EAP Key Management Framework14 November 2004 derivation described in this document. o The EMSK MUST be secret and not known to someone observing the authentication mechanism protocol exchange. o The EMSK MUST NOT be exported from18 February 2005 Depending on the lower layer, EAPserver. Only keys (AMSKs) derived according to this specificationmethods may run before or after ciphersuite negotiation, so that the selected ciphersuite may not beexported fromknown to the EAPserver. o The EMSK MUST be unique for each session. o Themethod. By providing keying material usable with any ciphersuite, EAPmechanism SHOULDmethods can used with aunique identifier suitable for naming the EMSK. Implementationswide range of ciphersuites and media. It is RECOMMENDED that methods providing integrity protection of EAPframeworks onpackets include coverage of all theEAP-Peer and EAP-Server SHOULD provide an interface to obtain AMSKs. The implementation MAY restrict which callers can obtain which keys. 6.1.2. Requirements forEAPapplicationsheader fields, including the Code, Identifier, Length, Type and Type-Data fields. In orderfor an applicationtomeet the guidelines for EMSK usage it must meet the following requirements: o New applications following this specificationpreserve algorithm independence, EAP methods deriving keys SHOULDNOT usesupport (and document) theMSK. If more than one application usesprotected negotiation of theMSK, thenciphersuite used to protect the EAP conversation between thecryptographic separation is not achieved. Implementations SHOULD prevent such combinations. o ApeerMUST NOT useand server. This is distinct from theEMSK in any other way exceptciphersuite negotiated between the peer and authenticator, used toderive Application Masterprotect data. The strength of Transient Session Keys(AMSKs) using(TSKs) used to protect data is ultimately dependent on thekey derivation specified in Section 2.6. It MUST NOT usestrength of keys generated by theEMSK directly for cryptographic protectionEAP method. If an EAP method cannot produce keying material ofdata, and SHOULD provide onlysufficient strength, then theAMSKsTSKs may be subject toapplications. o Applications MUST define distinctbrute force attack. In order to enable deployments requiring strong keys, EAP methods supporting keylabels, application specific data, and the length of derivedderivation SHOULD be capable of generating an MSK and EMSK, each with an effective keymaterial used in thestrength of at least 128 bits. Methods supporting key derivationdescribed in Section 2.6. o ApplicationsMUSTdefine how they use their AMSKdemonstrate cryptographic separation between the MSK and EMSK branches of the EAP key hierarchy. Without violating a fundamental cryptographic assumption (such as the non-invertibility of a one-way function) an attacker recovering the MSK or EMSK MUST NOT be able toderive TSKs for their use. 6.2. AAA Protocol Requirements AAA protocols suitable for userecover the other quantity with a level of effort less than brute force. Non-overlapping substrings of the MSK MUST be cryptographically separate from each other. That is, knowledge of one substring MUST NOT help intransporting EAPrecovering some other non-overlapping substring without breaking some hard cryptographic assumption. This is required because some existing ciphersuites form TSKs by simply splitting the AAA-Key to pieces of appropriate length. Likewise, non-overlapping substrings of the EMSK MUSTprovidebe cryptographically separate from each other, and from substrings of thefollowing facilities: Security services AAA protocolsMSK. The EMSK MUST remain on the EAP peer and EAP server where it is derived; it MUST NOT be transported to, or shared with, additional parties, or used fortransport ofpurposes other than AMSK derivation (see Section 2.4). Since EAPkeying material MUST implement and SHOULD use per-packet integritydoes not provide for explicit key lifetime negotiation, EAP peers, authenticators andauthentication,authentication servers MUST be prepared for Aboba, et al.InformationalStandards Track [Page56]52] INTERNET-DRAFT EAP Key Management Framework14 November 2004 replay protection and confidentiality. These requirements are met by Diameter EAP [I-D.ietf-aaa-eap],18 February 2005 situations in which one of the parties discards key state which remains valid on another party. The development and validation of key derivation algorithms is difficult, and as a result EAP methods SHOULD reuse wellas RADIUS over IPsec [RFC3579]. Session Keys AAA protocols usedestablished and analyzed mechanisms fortransport of EAP keying material MUST implementMSK andSHOULD use dynamicEMSK keymanagement in order to derive fresh session keys,derivation (such as those specified inDiameter EAP [I-D.ietf-aaa-eap] and RADIUS over IPsec [RFC3579],IKE [RFC2409] or TLS [RFC2246]), rather thanusing a static key, as originally defined in RADIUS [RFC2865]. Mutual authentication AAA protocols usedinventing new ones. 7.1.1. Requirements fortransport ofEAPkeying material MUST providemethods In order formutual authentication between the authenticator and backend authentication server. These requirements are met by Diameter EAP [I-D.ietf-aaa-eap] as well as by RADIUSan EAP[RFC3579]. Authorization AAA protocols usedmethod to meet the guidelines fortransport of EAP keyingEMSK usage it must meet the following requirements: o It MUST specify how to derive the EMSK o The key materialSHOULD provide protection against rogue authenticators masquerading as other authenticators. This can be accomplished,used forexample, by requiring that AAA agents checkthesource addressEMSK MUST be computationally independent ofpackets againsttheorigin attributes (Origin-Host AVP in Diameter, NAS-IP- Address, NAS-IPv6-Address, NAS-Identifier in RADIUS). For details, see [RFC3579] Section 4.3.7. Key transport Since EAP methods do not export Transient Session Keys (TSKs) in order to maintain mediaMSK andciphersuite independence, the AAA serverTEKs. o The EMSK MUST NOTtransport TSKs from the backend authentication server to authenticator. Key transport specification In orderbe used for any other purpose than the key derivation described in this document. o The EMSK MUST be secret and not known toenable backendsomeone observing the authenticationservers to provide keying materialmechanism protocol exchange. o The EMSK MUST NOT be exported from the EAP server. Only keys (AMSKs) derived according to this specification may be exported from theauthenticator inEAP server. o The EMSK MUST be unique for each session. o The EAP mechanism SHOULD awell defined format, AAA protocolsunique identifier suitable foruse withnaming the EMSK. Implementations of EAPMUST defineframeworks on theformatEAP-Peer andwrapping ofEAP-Server SHOULD provide an interface to obtain AMSKs. The implementation MAY restrict which callers can obtain which keys. 7.1.2. Requirements for EAP applications In order for an application to meet theAAA-Token.guidelines for EMSKtransport Sinceusage it must meet theEMSK is a secret known only tofollowing requirements: o New applications following this specification SHOULD NOT use thebackend authentication server and peer,MSK. If more than one application uses theAAA-TokenMSK, then the cryptographic separation is not achieved. Implementations SHOULD prevent such combinations. o A peer MUST NOTtransportuse the EMSKfrom the backend authentication server to the authenticator. AAA-Token protection To ensure against compromise, the AAA-Token MUST be integrity protected, authenticated, replay protected and encryptedintransit, using well-established cryptographic algorithms.any other way except to Aboba, et al.InformationalStandards Track [Page57]53] INTERNET-DRAFT EAP Key Management Framework14 November 200418 February 2005 derive Application Master Session KeysThe AAA-Token SHOULD be protected with session keys as(AMSKs) using the key derivation specified inDiameter [RFC3588] or RADIUS over IPsec [RFC3579] rather than static keys, as in [RFC2548]. Key naming In orderSection 2.4. It MUST NOT use the EMSK directly for cryptographic protection of data, and SHOULD provide only the AMSKs toensure against confusion betweenapplications. o Applications MUST define distinct key labels, application specific data, and theappropriate keyinglength of derived key materialto beused ina given Secure Association Protocol exchange,theAAA-Token SHOULD include explicitkeynames and context appropriate for informing the authenticatorderivation described in Section 2.4. o Applications MUST define howthe keying material is to be used. Key Compromise Where untrusted intermediaries are present, the AAA-Token SHOULD NOT be providedthey use their AMSK tothe intermediaries. In Diameter, handling of keys by intermediaries can be avoided using Redirect functionality [RFC3588]. 6.3. Secure Associationderive TSKs for their use. 7.2. AAA Protocol RequirementsThe Secure Association Protocol supportsAAA protocols suitable for use in transporting EAP MUST provide thefollowing: Entity Naming The peerfollowing facilities: Security services AAA protocols used for transport of EAP keying material MUST implement andauthenticatorSHOULDidentify themselves in a manner that is independent of their attached ports. Mutual proof of possession The peeruse per-packet integrity andauthenticator MUST each demo nstrate possessionauthentication, replay protection and confidentiality. These requirements are met by Diameter EAP [I-D.ietf-aaa-eap], as well as RADIUS over IPsec [RFC3579]. Session Keys AAA protocols used for transport oftheEAP keying materialtransported between the backend authentication server and authenticator (AAA-Key). Key Naming The Secure Association ProtocolMUSTexplicitly name the keys usedimplement and SHOULD use dynamic key management inthe proof of possession exchange, so asorder toprevent confusion when morederive fresh session keys, as in Diameter EAP [I-D.ietf-aaa-eap] and RADIUS over IPsec [RFC3579], rather thanone set of keying material could potentially be usedusing a static key, asthe basisoriginally defined in RADIUS [RFC2865]. Mutual authentication AAA protocols used forthe exchange. Creation and Deletion In order to support the correct processingtransport ofphase 2 security associations, the Secure Association (phase 2) protocolEAP keying material MUSTsupportprovide for mutual authentication between thenaming of phase 2 security associationsauthenticator andassociated transient session keys, so that the correct setbackend authentication server. These requirements are met by Diameter EAP [I-D.ietf-aaa-eap] as well as by RADIUS EAP [RFC3579]. Authorization AAA protocols used for transport oftransient session keysEAP keying material SHOULD provide protection against rogue authenticators masquerading as other authenticators. This can beidentifiedaccomplished, forprocessing a given packet. The phase 2 Secure Association Protocol also MUST support transient session key activation and SHOULD support deletion, soexample, by requiring thatestablishment and re-establishmentAAA agents check the source address oftransient session keys can be synchronized betweenpackets against theparties.origin attributes (Origin-Host AVP in Diameter, NAS-IP- Address, NAS-IPv6-Address, NAS-Identifier in RADIUS). For details, see [RFC3579] Section 4.3.7. Key transport Since EAP methods do not export Transient Session Keys (TSKs) in Aboba, et al.InformationalStandards Track [Page58]54] INTERNET-DRAFT EAP Key Management Framework14 November 2004 Integrity18 February 2005 order to maintain media andReplay Protection The Secure Association Protocolciphersuite independence, the AAA server MUSTsupport integrity and replay protection of all messages. Direct operation SinceNOT transport TSKs from thephase 2 Secure Association Protocol is concernedbackend authentication server to authenticator. Key transport specification In order to enable backend authentication servers to provide keying material to the authenticator in a well defined format, AAA protocols suitable for use with EAP MUST define theestablishmentformat and wrapping ofsecurity associations betweentheEAP peer and authenticator, includingAAA-Token. EMSK transport Since thederivation of transient session keys,EMSK is a secret known onlythose parties have "a needtoknow" the transient session keys. The Secure Association Protocol MUST operate directly betweenthepeer and authenticator,backend authentication server and peer, the AAA-Token MUST NOTbe passed-through totransport the EMSK from the backend authenticationserver, or include additional parties. Derivation of transient session keys The Secure Association Protocol negotiationserver to the authenticator. AAA-Token protection To ensure against compromise, the AAA-Token MUSTsupport derivation of unicastbe integrity protected, authenticated, replay protected andmulticast transientencrypted in transit, using well-established cryptographic algorithms. Session Keys The AAA-Token SHOULD be protected with session keyssuitable for use withas in Diameter [RFC3588] or RADIUS over IPsec [RFC3579] rather than static keys, as in [RFC2548]. Key naming In order to ensure against confusion between thenegotiated ciphersuite. TSK freshness Theappropriate keying material to be used in a given Secure Association(phase 2)ProtocolMUST supportexchange, thederivation of fresh unicastAAA-Token SHOULD include explicit key names andmulticast transient session keys, even whencontext appropriate for informing the authenticator how the keying materialprovided by the backend authentication server is not fresh. Thisistypically supported by including an exchange of nonces withinto be used. Key Compromise Where untrusted intermediaries are present, theSecure Association Protocol. Bi-directional operation While some ciphersuites only require a single setAAA-Token SHOULD NOT be provided to the intermediaries. In Diameter, handling oftransient sessionkeysto protect trafficby intermediaries can be avoided using Redirect functionality [RFC3588]. 7.3. Secure Association Protocol Requirements The Secure Association Protocol supports the following: Entity Naming The peer and authenticator SHOULD identify themselves inboth directions, other ciphersuites requireaunique setmanner that is independent oftransient session keys intheir attached ports. Mutual proof of possession The peer and authenticator MUST eachdirection.demonstrate possession of the Aboba, et al. Standards Track [Page 55] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 keying material transported between the backend authentication server and authenticator (AAA-Key). Key Naming Thephase 2Secure Association ProtocolSHOULD provide forMUST explicitly name thederivation of unicast and multicastkeys used ineach direction,the proof of possession exchange, so asnottorequire two separate phase 2 exchanges inprevent confusion when more than one set of keying material could potentially be used as the basis for the exchange. Creation and Deletion In order tocreate a bi-directionalsupport the correct processing of phase 2 securityassociation. Secure capabilities negotiation Theassociations, the Secure AssociationProtocol(phase 2) protocol MUST supportsecure capabilities negotiation. This includes security parameters such asthe naming of phase 2 securityassociation identifier (SAID)associations andciphersuites, as well as negotiation ofassociated transient session keys, so that thelifetimecorrect set ofthe TSKs, AAA-Key and exported EAP keys.transient session keys can be identified for processing a given packet. The phase 2 Securecapabilities negotiationAssociation Protocol alsoincludes confirmation of the capabilities discovered during the discovery phase (phase 0), so as to ensureMUST support transient session key activation and SHOULD support deletion, so that establishment and re-establishment of transient session keys can be synchronized between theannounced capabilities have not been forged. Key Scopingparties. Integrity and Replay Protection The Secure Association Protocol MUSTensuresupport integrity and replay protection of all messages. Direct operation Since thesynchronizationphase 2 Secure Association Protocol is concerned with the establishment ofkey scopesecurity associations between the EAP peer andauthenticator. This includes Aboba, et al. Informational [Page 59] INTERNET-DRAFT EAP Key Management Framework 14 November 2004 negotiation of restrictions on key usage. 6.4. Ciphersuite Requirements Ciphersuites suitable for keying by EAP methods MUST provideauthenticator, including thefollowing facilities: TSKderivationIn order to allow a ciphersuiteof transient session keys, only those parties have "a need tobe usable withinknow" theEAP keying framework, a specificationtransient session keys. The Secure Association Protocol MUST operate directly between the peer and authenticator, and MUST NOT beprovided describing howpassed-through to the backend authentication server, or include additional parties. Derivation of transient session keys The Secure Association Protocol negotiation MUST support derivation of unicast and multicast transient session keys suitable for use with theciphersuite are derived fromnegotiated ciphersuite. TSK freshness The Secure Association (phase 2) Protocol MUST support theAAA-Key. EAP method independence Algorithms for derivingderivation of fresh unicast and multicast transient sessionkeys from the AAA-Key MUST NOT depend onkeys, even when theEAP method. However, algorithms for deriving TEKs MAY be specific tokeying material provided by theEAP method. Cryptographic separation The TSKs derived frombackend authentication server is not fresh. This is typically supported by including an exchange of nonces within theAAA-Key MUST be cryptographically separate from each other. Similarly, TEKs MUST be cryptographically separate from each other. In addition, the TSKs MUST be cryptographically separate from the TEKs. 7. IANA Considerations This section provides guidance to the Internet Assigned Numbers Authority (IANA) regarding registrationSecure Association Protocol. Bi-directional operation While some ciphersuites only require a single set ofvalues related totransient Aboba, et al. Standards Track [Page 56] INTERNET-DRAFT EAPkey management,Key Management Framework 18 February 2005 session keys to protect traffic inaccordance with BCP 26, [RFC2434]. The following terms are used here with the meanings definedboth directions, other ciphersuites require a unique set of transient session keys inBCP 26: "name space", "assigned value", "registration".each direction. Thefollowing policies are used here withphase 2 Secure Association Protocol SHOULD provide for themeanings definedderivation of unicast and multicast keys inBCP 26: "Private Use", "First Come First Served", "Expert Review", "Specification Required", "IETF Consensus", "Standards Action". For registration requests where a Designated Expert should be consulted, the responsible IESG area director should appoint the Designated Expert. The intention is that any allocation will be accompanied by a published RFC. Buteach direction, so as not to require two separate phase 2 exchanges in order toallow forcreate a bi-directional phase 2 security association. Secure capabilities negotiation The Secure Association Protocol MUST support secure capabilities negotiation. This includes security parameters such as theallocationsecurity association identifier (SAID) and ciphersuites, as well as negotiation ofvalues prior totheRFC being approved for publication,lifetime of theDesignated Expert can approve allocations once it seems clear that an RFC will be published.TSKs, AAA-Key and exported EAP keys. Secure capabilities negotiation also includes confirmation of the capabilities discovered during the discovery phase (phase 0), so as to ensure that the announced capabilities have not been forged. Key Scoping TheDesignated expert will postSecure Association Protocol MUST ensure the synchronization of key scope between the peer and authenticator. This includes negotiation of restrictions on key usage. 7.4. Ciphersuite Requirements Ciphersuites suitable for keying by EAP methods MUST provide the following facilities: TSK derivation In order to allow arequestciphersuite to be usable within the EAPWG mailing list (orkeying framework, asuccessor designated byspecification MUST be provided describing how transient session keys suitable for use with theArea Director)ciphersuite are derived from the AAA-Key. EAP method independence Algorithms forcomment and review, including an Internet-Draft. Before a period of 30 days has passed,deriving transient session keys from theDesignated Expert will either approve or denyAAA-Key MUST NOT depend on the EAP method. However, algorithms for deriving TEKs MAY be specific to the EAP method. Cryptographic separation The TSKs derived from the AAA-Key MUST be cryptographically separate from each other. Similarly, TEKs MUST be cryptographically separate from each other. In addition, the TSKs MUST be cryptographically separate from the TEKs. 8. IANA Considerations This section provides guidance to the Internet Assigned Numbers Authority (IANA) regarding registrationrequest and publish a noticeof values related to EAP key Aboba, et al.InformationalStandards Track [Page60]57] INTERNET-DRAFT EAP Key Management Framework14 November 2004 of the decision to18 February 2005 management, in accordance with BCP 26, [RFC2434]. The following terms are used here with the meanings defined in BCP 26: "name space", "assigned value", "registration". The following policies are used here with the meanings defined in BCP 26: "Private Use", "First Come First Served", "Expert Review", "Specification Required", "IETF Consensus", "Standards Action". For registration requests where a Designated Expert should be consulted, the responsible IESG area director should appoint the Designated Expert. The intention is that any allocation will be accompanied by a published RFC. But in order to allow for the allocation of values prior to the RFC being approved for publication, the Designated Expert can approve allocations once it seems clear that an RFC will be published. The Designated expert will post a request to the EAP WG mailing list (or a successor designated by the Area Director) for comment and review, including an Internet-Draft. Before a period of 30 days has passed, the Designated Expert will either approve or deny the registration request and publish a notice of the decision to the EAP WG mailing list or its successor, as well as informing IANA. A denial notice must be justified by an explanation and, in the cases where it is possible, concrete suggestions on how the request can be modified so as to become acceptable. This document introduces a new name space for "key labels". Key labels are ASCII strings and are assigned via IETF Consensus. It is expected that key label specifications will include the following information: o A description of the application o The key label to be used o How TSKs will be derived from the AMSK and how they will be used o If application specific data is used, what it is and how it is maintained o Where the AMSKs or TSKs will be used and how they are communicated if necessary.8.9. References8.1.9.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October Aboba, et al. Standards Track [Page 58] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 1998. [RFC3748] Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J. and H. Lefkowetz, "Extensible Authentication Protocol (EAP)", RFC 3748, June 2004.8.2.9.2. Informative References [RFC0793] Postel, J., "Transmission Control Protocol", STD 7, RFC 793, September 1981. [RFC1661] Simpson, W., "The Point-to-Point Protocol (PPP)", STD 51, RFC 1661, July 1994. [RFC1968] Meyer, G. and K. Fox, "The PPP Encryption Control Protocol (ECP)", RFC 1968, June 1996.Aboba, et al. Informational [Page 61] INTERNET-DRAFT EAP Key Management Framework 14 November 2004[RFC2104] Krawczyk, H., Bellare, M. and R. Canetti, "HMAC: Keyed-Hashing for Message Authentication", RFC 2104, February 1997. [RFC2246] Dierks, T., Allen, C., Treese, W., Karlton, P., Freier, A. and P. Kocher, "The TLS Protocol Version 1.0", RFC 2246, January 1999. [RFC2401] Kent, S. and R. Atkinson, "Security Architecture for the Internet Protocol", RFC 2401, November 1998. [RFC2409] Harkins, D. and D. Carrel, "The Internet Key Exchange (IKE)", RFC 2409, November 1998. [RFC2419] Sklower, K. and G. Meyer, "The PPP DES Encryption Protocol, Version 2 (DESE-bis)", RFC 2419, September 1998. [RFC2420] Kummert, H., "The PPP Triple-DES Encryption Protocol (3DESE)", RFC 2420, September 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. [RFC2716] Aboba, B. and D. Simon, "PPP EAP TLS Authentication Protocol", RFC 2716, October 1999. Aboba, et al. Standards Track [Page 59] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 [RFC2865] Rigney, C., Willens, S., Rubens, A. and W. Simpson, "Remote Authentication Dial In User Service (RADIUS)", RFC 2865, June 2000. [RFC3078] Pall, G. and G. Zorn, "Microsoft Point-To-Point Encryption (MPPE) Protocol", RFC 3078, March 2001. [RFC3079] Zorn, G., "Deriving Keys for use with Microsoft Point-to-Point Encryption (MPPE)", RFC 3079, March 2001. [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 ServiceAboba, et al. Informational [Page 62] INTERNET-DRAFT EAP Key Management Framework 14 November 2004(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", RFC 3766, April 2004. [FIPSDES] National Institute of Standards and Technology, "Data Encryption Standard", FIPS PUB 46, January 1977. [DESMODES] National Institute of Standards and Technology, "DES Modes of Operation", FIPS PUB 81, December 1980, <http:// www.itl.nist.gov/fipspubs/fip81.htm>. [IEEE802] Institute of Electrical and Electronics Engineers, "IEEE Standards for Local and Metropolitan Area Networks: Overview and Architecture", ANSI/IEEE Standard 802, 1990. [IEEE80211] 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 IEEE Standard802.11-1999, 1999.802.11-2003, 2003. [IEEE8021X] Institute of Electrical and Electronics Engineers, "Local and Metropolitan Area Networks: Port-Based Network Access Aboba, et al. Standards Track [Page 60] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 Control", IEEE Standard 802.1X-2004,SeptemberDecember 2004. [IEEE8021Q] Institute of Electrical and Electronics Engineers, "IEEE Standards for Local and Metropolitan Area Networks: Draft Standard for Virtual Bridged Local Area Networks", IEEE Standard 802.1Q/D8, January 1998. [IEEE80211F] 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.Aboba, et al. Informational [Page 63] INTERNET-DRAFT EAP Key Management Framework 14 November 2004[IEEE80211i] Institute of Electrical and Electronics Engineers,"Draft Supplement"Supplement to STANDARD FOR Telecommunications and Information Exchange between Systems - LAN/MAN Specific Requirements - Part 11: Wireless Medium Access Control (MAC) and physical layer (PHY) specifications: Specification for Enhanced Security", IEEEDraft 802.11I/ D8, February802.11i, December 2004. [IEEE-02-758] Mishra, A., Shin, M., Arbaugh, W., Lee, I. and K. Jang, "Proactive Caching Strategies for IAPP Latency Improvement during 802.11 Handoff", IEEE 802.11 Working Group, IEEE-02-758r1-F Draft 802.11I/D5.0, November 2002. [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. [IEEE-03-155] Aboba, B., "Fast Handoff Issues", IEEE 802.11 Working Group, IEEE-03-155r0-I, http://www.ieee802.org/11/ Documents/DocumentHolder/3-155.zip, March 2003. [I-D.ietf-roamops-cert] Aboba, B., "Certificate-Based Roaming", draft-ietf-roamops- cert-02 (work in progress), April 1999. [I-D.ietf-aaa-eap] Eronen, P., Hiller, T. and G. Zorn, "Diameter Extensible Authentication Protocol (EAP) Application", draft-ietf-aaa-eap-08Aboba, et al. Standards Track [Page 61] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 eap-10 (work in progress),JuneNovember 2004. [I-D.irtf-aaaarch-handoff] Arbaugh, W. and B. Aboba, "Handoff Extension to RADIUS", draft-irtf-aaaarch-handoff-04 (work in progress), October 2003. [I-D.puthenkulam-eap-binding] Puthenkulam, J., "The Compound Authentication Binding Problem", draft-puthenkulam-eap-binding-04 (work in progress), October 2003. [I-D.aboba-802-context] Aboba, B. and T. Moore, "A Model for Context Transfer in IEEE 802", draft-aboba-802-context-03 (work in progress), OctoberAboba, et al. Informational [Page 64] INTERNET-DRAFT EAP Key Management Framework 14 November 20042003. [I-D.arkko-pppext-eap-aka] Arkko, J. and H. Haverinen, "EAP AKA Authentication", draft-arkko-pppext-eap-aka-11arkko-pppext-eap-aka-15.txt (work in progress),October 2003.December 2004. [IKEv2] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol", draft-ietf-ipsec-ikev2-14ietf-ipsec-ikev2-17 (work in progress),JuneSeptember 2004. [8021XHandoff] Pack, S. and Y. Choi, "Pre-Authenticated Fast Handoff in a Public Wireless LAN Based on IEEE 802.1X Model", School of Computer Science and Engineering, Seoul National University, Seoul, Korea, 2002. [MD5Attack] Dobbertin, H., "The Status of MD5 After a Recent Attack", CryptoBytes, Vol.2 No.2, 1996. [WLANREQ] Stanley, D., Walker, J. and B. Aboba, "EAP Method Requirements for Wireless LANs",draft-walker-ieee802-req-02.txtdraft-walker-ieee802-req-04.txt (work in progress),JulyAugust 2004. [Housley56] Housley, R., "Key Management in AAA", Presentation to the AAA WG at IETF 56, http://www.ietf.org/proceedings/03mar/slides/aaa-5/index.html, March 2003. Acknowledgments Thanks to Arun Ayyagari, Ashwin Palekar, and Tim Moore of Microsoft, Dorothy Stanley of Agere, Bob Moskowitz of TruSecure, Jesse Walker of Aboba, et al. Standards Track [Page 62] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 Intel, Joe Salowey of Cisco and Russ Housley of Vigil Security for useful feedback. Author Addresses Bernard Aboba Microsoft Corporation One Microsoft Way Redmond, WA98 05298052 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 Jari Arkko Ericsson Jorvas 02420 Finland Phone: EMail: jari.arkko@ericsson.com Pasi Eronen Nokia Research Center P.O. Box 407 FIN-00045 Nokia Group Finland EMail: pasi.eronen@nokia.com Henrik Levkowetz (editor) ipUnplugged AB Arenavagen 27 Stockholm S-121 28 SWEDEN Phone: +46 708 32 16 08 EMail: henrik@levkowetz.com Aboba, et al.InformationalStandards Track [Page65]63] INTERNET-DRAFT EAP KeyManagement Framework 14 November 2004 Microsoft Corporation One Microsoft Way Redmond, WA 98052 EMail: dansimon@microsoft.com Phone: +1 425 706 6711 Fax: +1 425 936 7329 Jari Arkko Ericsson Jorvas 02420 Finland Phone: EMail: jari.arkko@ericsson.com Pasi Eronen Nokia Research Center P.O. Box 407 FIN-00045 Nokia Group Finland EMail: pasi.eronen@nokia.com Henrik Levkowetz (editor) ipUnplugged AB Arenavagen 27 Stockholm S-121 28 SWEDEN Phone: +46 708 32 16 08 EMail: henrik@levkowetz.comManagement Framework 18 February 2005 Appendix A - Ciphersuite Keying Requirements To date, PPP and IEEE 802.11 ciphersuites are suitable for keying by EAP. This Appendix describes the keying requirements of common PPP and 802.11 ciphersuites. PPP ciphersuites include DESEbis [RFC2419], 3DES [RFC2420], and MPPE [RFC3078]. The DES algorithm is described in [FIPSDES], and DES modes (such as CBC, used in [RFC2419] and DES-EDE3-CBC, used in [RFC2420]) are described in [DESMODES]. For PPP DESEbis, a single 56-bit encryption key is required, used in both directions. For PPP 3DES, a 168-bit encryption key is needed, used in both directions. As described in [RFC2419] for DESEbis and [RFC2420] for 3DES, the IV, which is different in each direction, is "deduced from an explicit 64-bit nonce, which is exchanged in the clear during the [ECP] negotiation phase." There is therefore no need for the IV to be provided by EAP. For MPPE, 40-bit, 56-bit or 128-bit encryption keys are required in each direction, as described in [RFC3078]. No initialization vector is required. While these PPP ciphersuites provide encryption, they do not provide per-packet authentication or integrity protection, so an authentication key is not required in either direction. Within [IEEE80211], Transient Session Keys (TSKs) are required both for unicast traffic as well as for multicast traffic, and therefore separate key hierarchies are required for unicast keys and multicast keys. IEEE 802.11 ciphersuites include WEP-40, described in [IEEE80211], which requires a 40-bit encryption key, the same in either direction; and WEP-128, which requires a 104-bit encryption key, the same in either direction. These ciphersuites also do not support per-packet authentication and integrity protection. In addition to these unicast keys, authentication and encryption keys are required to wrap the multicast encryption key. Recently, new ciphersuites have been proposed for use with IEEE 802.11 that provide per-packet authentication and integrity protection as well as encryption [IEEE80211i]. These include TKIP, which requires a single 128-bit encryption key and two 64-bit authentication keys (one for each direction); and AES CCMP, which requires a single 128-bit key (used in both directions) in order to authenticate and encrypt data. As with WEP, authentication and encryption keys are also required to wrap the multicast encryption (and possibly, authentication) keys. Aboba, et al. Standards Track [Page 64] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 Appendix B - Transient EAP Key (TEK) Hierarchy Figure B-1 illustrates the TEK key hierarchy for EAP-TLS [RFC2716], which is based on the TLS key hierarchy described in [RFC2246]. The TLS-negotiated ciphersuite is used to set up a protected channel for use in protecting the EAP conversation, keyed by the derived TEKs. The TEK derivation proceeds as follows: master_secret = TLS-PRF-48(pre_master_secret, "master secret", client.random || server.random) TEK = TLS-PRF-X(master_secret, "key expansion", server.random || client.random) Where: TLS-PRF-X = TLS pseudo-random function defined in [RFC2246], computed to X octets. | | | | | pre_master_secret | server| | | client Random| V | Random | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | | | | | | +---->| master_secret |<------+ | | (TMS) | | | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | | | | | | | V V V +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | | Key Block | | (TEKs) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | | | | client | server | client | server | client | server | MAC | MAC | write | write | IV | IV | | | | | | V V V V V V Figure B-1 - TLS [RFC2246] Key Hierarchy Aboba, et al.InformationalStandards Track [Page66]65] INTERNET-DRAFT EAP Key Management Framework14 November 200418 February 2005 AppendixAC -Ciphersuite Keying Requirements To date, PPP and IEEE 802.11 ciphersuites are suitable for keying by EAP. This Appendix describesEAP-TLS Key Hierarchy In EAP-TLS [RFC2716], thekeying requirements of common PPP and 802.11 ciphersuites. PPP ciphersuites include DESEbis [RFC2419], 3DES [RFC2420], and MPPE [RFC3078]. The DES algorithmMSK isdescribed in [FIPSDES], and DES modes (suchdivided into two halves, corresponding to the "Peer to Authenticator Encryption Key" (Enc- RECV-Key, 32 octets, also known asCBC, used in [RFC2419] and DES-EDE3-CBC, used in [RFC2420]) are described in [DESMODES]. For PPP DESEbis, a single 56-bit encryption key is required, used in both directions. For PPP 3DES, a 168-bit encryption key is needed, used in both directions. As described in [RFC2419] for DESEbisthe PMK) and[RFC2420] for 3DES,"Authenticator to Peer Encryption Key" (Enc-SEND-Key, 32 octets). In [RFC2548], theIV, which is different in each direction, is "deduced from an explicit 64-bit nonce, whichEnc-RECV-Key (the PMK) isexchangedtransported in theclear duringMS-MPPE-Recv-Key attribute, and the[ECP] negotiation phase." ThereEnc-SEND-Key istherefore no need fortransported in theIVMS-MPPE-Send- Key attribute. The EMSK is also divided into two halves, corresponding tobe provided by EAP. For MPPE, 40-bit, 56-bit or 128-bit encryption keys are required in each direction, as described in [RFC3078]. No initialization vectorthe "Peer to Authenticator Authentication Key" (Auth-RECV-Key, 32 octets) and "Authenticator to Peer Authentication Key" (Auth-SEND-Key, 32 octets). The IV isrequired. While these PPP ciphersuites provide encryption, they do not provide per-packet authentication or integrity protection, so an authentication keya 64 octet quantity that isnot required in either direction. Within [IEEE80211], Transient Session Keys (TSKs)a known value; octets 0-31 arerequired both for unicast traffic as wellknown asfor multicast traffic, and therefore separate key hierarchies are required for unicast keys and multicast keys. IEEE 802.11 ciphersuites include WEP-40, described in [IEEE80211], which requires a 40-bit encryption key,thesame in either direction;"Peer to Authenticator IV" or RECV-IV, andWEP-128, which requires a 104-bit encryption key,Octets 32-63 are known as thesame in either direction. These ciphersuites also do not support per-packet authentication and integrity protection. In addition"Authenticator tothese unicast keys, authenticationPeer IV", or SEND-IV. In EAP-TLS, the MSK, EMSK andencryption keysIV arerequired to wrapderived from the TLS master secret via a one-way function. This ensures that the TLS master secret cannot be derived from the MSK, EMSK or IV unless the one-way function (TLS PRF) is broken. Since the MSK is derived from the the TLS master secret, if themulticast encryption key. Recently, new ciphersuites have been proposedTLS master secret is compromised then the MSK is also compromised. As described in [RFC2716], the formula foruse with IEEE 802.11 that provide per-packet authenticationthe derivation of the MSK, EMSK andintegrity protection as wellIV is asencryption [IEEE80211i]. These include TKIP, which requires a single 128-bit encryption key and two 64-bit authentication keys (one for each direction); and AES CCMP, which requires a single 128-bit key (usedfollows: MSK = TLS-PRF-64(TMS, "client EAP encryption", client.random || server.random) EMSK = second 64 octets of: TLS-PRF-128(TMS, "client EAP encryption", client.random || server.random) IV = TLS-PRF-64("", "client EAP encryption", client.random || server.random) AAA-Key(0,31) = Peer to Authenticator Encryption Key (Enc-RECV-Key) (MS-MPPE-Recv-Key inboth directions)[RFC2548]). Also known as the PMK. AAA-Key(32,63)= Authenticator to Peer Encryption Key (Enc-SEND-Key) (MS-MPPE-Send-Key inorder[RFC2548]) EMSK(0,31) = Peer toauthenticate and encrypt data. As with WEP, authentication and encryption keys are also requiredAuthenticator Authentication Key (Auth-RECV-Key) EMSK(32,63) = Authenticator towrap the multicast encryption (and possibly, authentication) keys.Peer Authentication Key (Auth-Send-Key) IV(0,31) = Peer to Authenticator Initialization Vector (RECV-IV) IV(32,63) = Authenticator to Peer Initialization vector (SEND-IV) Where: Aboba, et al.InformationalStandards Track [Page67]66] INTERNET-DRAFT EAP Key Management Framework14 November 2004 Appendix B - Transient EAP Key (TEK) Hierarchy Figure B-1 illustrates the TEK key hierarchy for EAP-TLS [RFC2716], which is based on18 February 2005 AAA-Key(W,Z) = Octets W through Z includes of theTLS key hierarchy described in [RFC2246]. The TLS-negotiated ciphersuite is used to set up a protected channel for use in protectingAAA-Key. IV(W,Z) = Octets W through Z inclusive of theEAP conversation, keyed byIV. MSK(W,Z) = Octets W through Z inclusive of thederived TEKs. The TEK derivation proceeds as follows: master_secretMSK. EMSK(W,Z) =TLS-PRF-48(pre_master_secret, "master secret", client.random || server.random) TEKOctets W through Z inclusive of the EMSK. TMS =TLS-PRF-X(master_secret, "key expansion", server.random || client.random) Where:TLS master_secret TLS-PRF-X = TLSpseudo-randomPRF function defined in[RFC2246],[RFC2246] computed to Xoctets. | | |octets client.random = Nonce generated by the TLS client. server.random = Nonce generated by the TLS server. Figure C-1 describes the process by which the MSK,EMSK,IV and ultimately the TSKs, are derived from the TLS Master Secret. ---+ | ^ |pre_master_secretTLS Master Secret (TMS) |server|| |client Random|V |Random |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | EAP | | Master Session Key (MSK) | Method | || +---->| master_secret |<------+ | | (TMS) | | |Derivation | | | | V +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ EAP ---+ | | | API ^ | MSK | EMSK | IV | | | | | V V V+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+v +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ | | | | |Key Block| |(TEKs)backend authentication server | | |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| | | | V +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ | | ^ |clientAAA-Key(0,31) |serverAAA-Key(32,63) |client|server(PMK) |clientTransported |server|MAC|MACvia AAA |write|write|IV|IVV V V +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ | | ^ | Ciphersuite-Specific Transient Session | Auth.| | Key Derivation | | | | VV V V V V+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ FigureB-1C-1 - EAP TLS[RFC2246][RFC2716] KeyHierarchyhierarchy Aboba, et al.InformationalStandards Track [Page68]67] INTERNET-DRAFT EAP Key Management Framework14 November 200418 February 2005 AppendixCD -EAP-TLSExample Transient Session KeyHierarchy In EAP-TLS [RFC2716],(TSK) Derivation Within IEEE 802.11 RSN, theMSK is divided into two halves, correspondingPairwise Transient Key (PTK), a transient session key used to protect unicast traffic, is derived from the"Peer to Authenticator Encryption Key" (Enc- RECV-Key, 32 octets, alsoPMK (octets 0-31 of the MSK), known in [RFC2716] as thePMK) and "Authenticator toPeer to Authenticator EncryptionKey" (Enc-SEND-Key, 32 octets).Key. In[RFC2548],[IEEE80211i], theEnc-RECV-Key (the PMK)PTK istransported inderived from theMS-MPPE-Recv-Key attribute, andPMK via theEnc-SEND-Keyfollowing formula: PTK = EAPOL-PRF-X(PMK, "Pairwise key expansion", Min(AA,SA) || Max(AA, SA) || Min(ANonce,SNonce) || Max(ANonce,SNonce)) Where: PMK = AAA-Key(0,31) SA = Station MAC address (Calling-Station-Id) AA = Access Point MAC address (Called-Station-Id) ANonce = Access Point Nonce SNonce = Station Nonce EAPOL-PRF-X = Pseudo-Random Function based on HMAC-SHA1, generating a PTK of size X octets. TKIP uses X = 64, while CCMP, WRAP, and WEP use X = 48. The EAPOL-Key Confirmation Key (KCK) istransportedused to provide data origin authenticity in theMS-MPPE-Send- Key attribute.TSK derivation. It utilizes the first 128 bits (bits 0-127) of the PTK. TheEMSK is also divided into two halves, corresponding toEAPOL-Key Encryption Key (KEK) provides confidentiality in the"Peer to Authenticator Authentication Key" (Auth-RECV-Key, 32 octets)TSK derivation. It utilizes bits 128-255 of the PTK. Bits 256-383 of the PTK are used by Temporal Key 1, and"Authenticator to Peer Authentication Key" (Auth-SEND-Key, 32 octets). The IV is a 64 octet quantity that is a known value; octets 0-31Bits 384-511 areknown as the "Peer to Authenticator IV" or RECV-IV,used by Temporal Key 2. Usage of TK1 andOctets 32-63TK2 is ciphersuite specific. Details areknown as the "Authenticator to Peer IV", or SEND-IV. In EAP-TLS,available in [IEEE80211i]. Aboba, et al. Standards Track [Page 68] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 Appendix E - Key Names and Scope in Existing Methods This appendix specifies theMSK, EMSKkey names andIV are derived from the TLS master secret via a one-way function. This ensuresscope in methods that have been published prior to theTLS master secret cannot be derived from the MSK, EMSK or IV unless the one-way function (TLS PRF)publication of this RFC. What isbroken. Sinceneeded in addition to theMSKrules in Section 2.4 isderived from thetheTLS master secret, if the TLS master secretdefinition of what EAP peer and server names are used, what Method-Id iscompromised then the MSKused, and how these are encoded. EAP-TLS The EAP-TLS Method-Id isalso compromised. As described in [RFC2716], the formula forprovided by thederivationconcatenation of theMSK, EMSKpeer andIVserver nonces. Where certificates are used, the Session-Id scope isas follows: MSK = TLS-PRF-64(TMS, "client EAP encryption", client.random || server.random) EMSK = second 64 octets of: TLS-PRF-128(TMS, "client EAP encryption", client.random || server.random) IV = TLS-PRF-64("", "clientdetermined via the EAPencryption", client.random || server.random) AAA-Key(0,31) = Peer to Authenticator Encryption Key (Enc-RECV-Key) (MS-MPPE-Recv-Key in [RFC2548]). Also known aspeer and server names, deduced from thePMK. AAA-Key(32,63)= Authenticator to Peer Encryption Key (Enc-SEND-Key) (MS-MPPE-Send-KeyaltSubjectName in[RFC2548]) EMSK(0,31) = Peer to Authenticator Authentication Key (Auth-RECV-Key) EMSK(32,63) = Authenticator to Peer Authentication Key (Auth-Send-Key) IV(0,31) = Peer to Authenticator Initialization Vector (RECV-IV) IV(32,63) = Authenticator to Peer Initialization vector (SEND-IV) Where: Aboba, et al. Informational [Page 69] INTERNET-DRAFTthe peer and server certificates. Issue: What happens if a pre-shaked key ciphersuite is negotiated? How are the EAP peer and server names determined? EAP-AKA The EAP-AKA Method-Id is the contents of the RAND field from the AT_RAND attribute, followed by the contents of the AUTN field in the AT_AUTN attribute. The EAPKey Management Framework 14 November 2004 AAA-Key(W,Z) = Octets W through Z includespeer name is the contents of theAAA-Key. IV(W,Z) = Octets W through Z inclusiveIdentity 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 theIV. MSK(W,Z) = Octets W through Z inclusivetransmitted identity was a permanent, pseudonym, or fast reauthentication identity. The EAP server name is an empty string. EAP-SIM The Method-Id is the contents of theMSK. EMSK(W,Z) = Octets W through Z inclusiveRAND field from the AT_RAND attribute, followed by the contents of theEMSK. TMS = TLS master_secret TLS-PRF-X = TLS PRF function definedNONCE_MT field in[RFC2246] computed to X octets client.random = Nonce generated bytheTLS client. server.random = Nonce generated byAT_NONCE_MT attribute. The EAP peer name is theTLS server. Figure C-1 describescontents of theprocess by whichIdentity field from theMSK,EMSK,IV and ultimatelyAT_IDENTITY attribute, using only theTSKs, are derivedActual Identity Length octets from theTLS Master Secret. ---+ | ^ | TLS Master Secret (TMS) | | | V | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | EAP | | Master Session Key (MSK) | Method | | Derivation | | | | V +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+beginning, however. Note that the contents are used as they are transmitted, regardless of whether the transmitted identity was a permanent, pseudonym, or fast reauthentication identity. The EAP---+ | | | API ^ | MSK | EMSK | IV | | | | | V V V v +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ | | | | | | | backend authenticationserver| | | | | | | V +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ | | ^ | AAA-Key(0,31) | AAA-Key(32,63) | | (PMK) | Transported | | | via AAA | | | | V V V +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ | | ^ | Ciphersuite-Specific Transient Session | Auth.| | Key Derivation | | | | V +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ Figure C-1 - EAP TLS [RFC2716] Key hierarchyname is an empty string. Aboba, et al.InformationalStandards Track [Page70]69] INTERNET-DRAFT EAP Key Management Framework14 November 200418 February 2005 AppendixDF -Example TransientSecurity Association Examples EAP Method SA Example: EAP-TLS In EAP-TLS [RFC2716], after the EAP authentication the client (peer) and server can store the following information: o Implicitly, the EAP method this SA refers to (EAP-TLS) o SessionKey (TSK) Derivation Within IEEE 802.11 RSN,identifier (a value selected by thePairwise Transient Key (PTK),server) o Certificate of the other party (server stores the client's certificate and vice versa) o Ciphersuite and compression method o TLS Master secret (known as the EAP-TLS Master Key) o SA lifetime (ensuring that the SA is not stored forever) o If the client has multiple different credentials (certificates and corresponding private keys), atransient session key usedpointer toprotect unicast traffic, is derived fromthose credentials When the server initiates EAP-TLS, the client can look up the EAP-TLS SA based on the credentials it was going to use (certificate and private key), and thePMK (octets 0-31expected credentials (certificate or name) of theMSK), known in [RFC2716] asserver. If an EAP-TLS SA exists, and it is not too old, thePeer to Authenticator Encryption Key. In [IEEE80211i],client informs thePTK is derived fromserver about thePMK viaexistence of this SA by including its Session-Id in thefollowing formula: PTK = EAPOL-PRF-X(PMK, "Pairwise key expansion", Min(AA,SA) || Max(AA, SA) || Min(ANonce,SNonce) || Max(ANonce,SNonce)) Where: PMK = AAA-Key(0,31)TLS ClientHello message. The server then looks up the correct SA= Station MAC address (Calling-Station-Id) AA = Access Point MAC address (Called-Station-Id) ANonce = Access Point Nonce SNonce = Station Nonce EAPOL-PRF-X = Pseudo-Random Functionbased onHMAC-SHA1, generating a PTK of size X octets. TKIP uses X = 64, while CCMP, WRAP,the Session-Id (or detects that it doesn't yet have one). EAP Method SA Example: EAP-AKA In EAP-AKA [I-D.arkko-pppext-eap-aka], after EAP authentication the client andWEP use X = 48.server can store the following information: o Implicitly, the EAP method this SA refers to (EAP-AKA) o A re-authentication pseudonym o TheEAPOL-Key Confirmationclient's permanent identity (IMSI) o Replay protection counter o Authentication key (K_aut) o Encryption key (K_encr) o Original Master Key(KCK)(MK) o SA lifetime (ensuring that the SA isused to provide data origin authenticity innot stored forever) When theTSK derivation. It utilizesserver initiates EAP-AKA, thefirst 128 bits (bits 0-127) ofclient can look up thePTK. The EAPOL-Key Encryption Key (KEK) provides confidentiality inEAP-AKA SA based on the credentials it was going to use (permanent identity). If an EAP-AKA SA exists, and it is not too old, theTSK derivation. It utilizes bits 128-255 ofclient informs thePTK. Bits 256-383 ofserver about thePTK are used by Temporal Key 1, and Bits 384-511 are used by Temporal Key 2. Usageexistence ofTK1 and TK2 is ciphersuite specific. Details are availablethis SA by sending its re- authentication pseudonym as its identity in[IEEE80211i].EAP Identity Response message, instead of its permanent identity. The server then looks up the correct SA based on this identity. Aboba, et al.InformationalStandards Track [Page71]70] INTERNET-DRAFT EAP Key Management Framework14 November 2004 Appendix E - Key Names18 February 2005 AAA SA Example: RADIUS In RADIUS, where shared secret authentication is used, the client andScope in Existing Methods This appendix specifiesserver store each other's IP address and the shared secret, which is used to calculate the Response Authenticator [RFC2865] and Message- Authenticator [RFC3579] values, and to encrypt some attributes (such as the AAA-Key, see [RFC3580] Section 3.16). Where IPsec is used to protect RADIUS [RFC3579] and IKE is used for keynamesmanagement, the parties store information necessary to authenticate andscopeauthorize the other party (e.g. certificates, trust anchors and names). The IKE exchange results inmethods that have been published priorIKE Phase 1 and Phase 2 SAs containing information used to protect thepublication of this RFC. What is neededconversation (session keys, selected ciphersuite, etc.) AAA SA Example: Diameter with TLS When using Diameter protected by TLS, the parties store information necessary to authenticate and authorize the other party (e.g. certificates, trust anchors and names). The TLS handshake results inadditiona short-term TLS SA that contains information used to protect therules inactual communications (session keys, selected TLS ciphersuite, etc.). Service SA Example: 802.11i [IEEE802.11i] Section2.4 is8.4.1.1 defines thedefinition of what EAP peer and server names are used, what Method-Idsecurity associations used within IEEE 802.11. A summary follows; the standard should be consulted for details. o Pairwise Master Key Security Association (PMKSA) The PMKSA isused,a bi-directional SA, used by both parties for sending andhow these are encoded. EAP-TLSreceiving. TheEAP-TLS Method-IdPMKSA isprovided bytheconcatenation ofRoot Service SA. It is created on the peerand server nonces. Where certificates are used, the Session-Id scopewhen EAP authentication completes successfully or a pre-shared key isdetermined viaconfigured. The PMKSA is created on theEAP peer and server names, deduced fromauthenticator when thealtSubjectName inPMK is received or created on thepeer and server certificates. Issue: What happens ifauthenticator or apre-shakedpre-shared keyciphersuiteisnegotiated? Howconfigured. The PMKSA is used to create the PTKSA. PMKSAs are cached for their lifetimes. The PMKSA consists of theEAP peer andfollowing elements: - PMKID (security association identifier) - Authenticator MAC address - PMK - Lifetime - Authenticated Key Management Protocol (AKMP) - Authorization parameters specified by the AAA servernames determined? EAP-AKA The EAP-AKA Method-Idor by local configuration. This can include parameters such as the peer's authorized SSID. Aboba, et al. Standards Track [Page 71] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 On the peer, this information can be locally configured. - Key replay counters (for EAPOL-Key messages) - Reference to PTKSA (if any), needed to: o delete it (e.g. AAA server-initiated disconnect) o replace it when a new four-way handshake is done - Reference to accounting context, thecontentsdetails of which depend on theRAND field fromaccounting protocol used, theAT_RAND attribute, followed byimplementation and administrative details. In RADIUS, this could include (e.g. packet and octet counters, and Acct-Multi-Session-Id). o Pairwise Transient Key Security Association (PTKSA) The PTKSA is a bi-directional SA created as thecontentsresult ofthe AUTN field in the AT_AUTN attribute.a successful four-way handshake. TheEAP peer namePTKSA is a unicast service SA. There may only be one PTKSA between a pair of peer and authenticator MAC addresses. PTKSAs are cached for thecontentslifetime of theIdentity field fromPMKSA. Since theAT_IDENTITY attribute, usingPTKSA is tied to the PMKSA, it only has theActual Identity Length octetsadditional information from thebeginning, however. Note that4-way handshake. The PTKSA consists of thecontents are used as they are transmitted, regardlessfollowing: - Key (PTK) - Selected ciphersuite - MAC addresses ofwhetherthetransmitted identity was a permanent, pseudonym, or fast reauthentication identity. The EAP server nameparties - Replay counters, and ciphersuite specific state - Reference to PMKSA: This isan empty string. EAP-SIMneeded when: o A new four-way handshake is needed (lifetime, TKIP countermeasures), and we need to know which PMKSA to use o Group Transient Key Security Association (GTKSA) TheMethod-IdGTKSA is a uni-directional SA created based on thecontents of the RAND field from the AT_RAND attribute, followed by the contents of the NONCE_MT field infour-way handshake or theAT_NONCE_MT attribute.group key handshake. TheEAP peer nameGTKSA isthe contentsa multicast service SA. A GTKSA consists of theIdentity field from the AT_IDENTITY attribute, using only the Actual Identity Length octets from the beginning, however. Note thatfollowing: - Direction vector (whether thecontents areGTK is usedas they are transmitted, regardless of whether the transmitted identity was a permanent, pseudonym,for transmit orfast reauthentication identity. The EAP server namereceive) - Group cipher suite selector - Key (GTK) - Authenticator MAC address - Via reference to PMKSA, or copied here: o Authorization parameters o Reference to accounting context Service SA Example: IKEv2/IPsec Note that this example isan empty string.intended to be informative, and it does not necessarily include all information stored. Aboba, et al.InformationalStandards Track [Page 72] INTERNET-DRAFT EAP KeyManageme ntManagement Framework14 November 200418 February 2005 o IKEv2 SA - Protocol version - Identities of the parties - IKEv2 SPIs - Selected ciphersuite - Replay protection counters (Message ID) - Keys for protecting IKEv2 messages (SK_ai/SK_ar/SK_ei/SK_er) - Key for deriving keys for IPsec SAs (SK_d) - Lifetime information - On the authenticator, service authorization information received from the backend authentication server. When processing an incoming message, the correct SA is looked up based on the SPIs. o IPsec SAs/SPD - Traffic selectors - Replay protection counters - Selected ciphersuite - IPsec SPI - Keys - Lifetime information - Protocol mode (tunnel or transport) The correct SA is looked up based on SPI (for inbound packets), or SPD traffic selectors (for outbound traffic). A separate IPsec SA exists for each direction. Intellectual Property Statement The IETF takes no position regarding the validity or scope of any intellectual property 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; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication 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 implementors or users of this specification can be obtained from the IETF Secretariat. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary Aboba, et al. Standards Track [Page 73] INTERNET-DRAFT EAP Key Management Framework 18 February 2005 rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director. Disclaimer of Validity 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 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. Copyright Statement Copyright (C) The Internet Society(2004).(2005). 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. Open Issues Open issues relating to this specification are tracked on the following web site: http://www.drizzle.com/~aboba/EAP/eapissues.html Aboba, et al.InformationalStandards Track [Page73]74] ----