view Side-By-Side changes
EAP Working GroupB.Bernard AbobaInternet-Draft D.INTERNET-DRAFT Dan SimonExpires: April 26, 2004Category: Informational Microsoft <draft-ietf-eap-keying-02.txt> J. Arkko 26 June 2004 Ericsson P. Eronen Nokia H. Levkowetz, Ed. ipUnpluggedOctober 27, 2003 EAPExtensible Authentication Protocol (EAP) Key Management Framework<draft-ietf-eap-keying-01.txt>Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 ofRFC2026.RFC 2026. 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 asInternet-Drafts.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 inprogress".progress." The list of current Internet-Drafts can be accessed athttp:// www.ietf.org/ietf/1id-abstracts.txthttp://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed athttp://www.ietf.org/shadow.html This Internet-Draft will expire on April 26, 2004.http://www.ietf.org/shadow.html. Copyright Notice Copyright (C) The Internet Society(2003).(2004). All Rights Reserved. Abstract The Extensible Authentication Protocol (EAP), defined in [RFC3748], enables extensible network access authentication. This document provides a framework forEAP key management, including a statement of applicability and guidelines forthe generation, transport and usage ofEAPkeyingmaterial. Algorithms for key derivation or mechanisms for key transport are not specified in this document. Rather, this document provides a framework within which algorithms and transport mechanisms can be discussed and evaluated.material generated by EAP authentication algorithms, known as "methods". Aboba, et al.Expires April 26, 2004Informational [Page 1]Internet-DraftINTERNET-DRAFT EAP Key Management FrameworkOctober 200326 June 2004 Table of Contents 1. Introduction. . . . . . . . . . . . . . . . . . . . . . . ........................................... 4 1.1 Requirements Language. . . . . . . . . . . . . . . ............................ 4 1.2 Terminology. . . . . . . . . . . . . . . . . . . . ...................................... 4 1.3ConversationOverview. . . . . . . . . . . . . . . . 6 1.3.1 Discovery Phase . . . . . . . . . . . . . . . . 7 1.3.2 Authentication Phase . . . . . . . . . . . . . . 8 1.3.3 Secure Association Phase . . . . . . . . . . . . 9........................................ 5 1.4Authorization issues . . . . . . . . . . . . . . . . . 9 1.4.1 Correctness in fast handoff . . . . . . . . . .EAP Invariants .................................. 11 2. EAP Key Hierarchy. . . . . . . . . . . . . . . . . . . . ...................................... 13 2.1EAP Invariants . . . . . . . . . . . . . . . . . . . . 14 2.1.1 Media Independence . . . . . . . . . . . . . . . 14 2.1.2 Method Independence . . . . . . . . . . . . . . 14 2.1.3 Ciphersuite Independence . . . . . . . . . . . . 14Key Terminology ................................. 13 2.2 Key Hierarchy. . . . . . . . . . . . . . . . . . . .................................... 15 2.3Exchanges . . . . . . . . . . . . . . . . . . . . . . 19Key Lifetimes ................................... 17 2.4 AAA-Key Scope ................................... 24 2.5 Fast Handoff Support ............................ 26 3. SecurityAssociations . . . . . . . . . . . . . . . . . . . 22associations ................................. 30 3.1 EAP Method SA(peer - EAP server) . . . . . . . . . . . . . . 23................................... 31 3.2EAP methodEAP-Key SA(peer - EAP server) . . . . . . . . . . 23 3.2.1 Example: EAP-TLS . . . . . . . . . . . . . . . . 24 3.2.2 Example: EAP-AKA . . . . . . . . . . . . . . . . 24...................................... 33 3.3EAP-key SA . . . . . . . . . . . . . . . . . . . . . . 25 3.4AAA SA(s)(authenticator - backend auth. server) . . . 25 3.4.1 Example: RADIUS . . . . . . . . . . . . . . . . 25 3.4.2 Example: Diameter with TLS . . . . . . . . . . . 25....................................... 33 3.4 Service SA(s) ................................... 34 3.5Unicast Secure Association SA . . . . . . . . . . . . 26 3.6 Multicast Secure AssociationSA. . . . . . . . . . . 27 3.7 KeyNaming. . . . . . . . . . . . . . . . . . . . . . 28....................................... 37 4.Threat Model . . . . . . . . . . . . . . . . . . . . . . . . 29Security Considerations .............................. 39 4.1 SecurityAssumptions . . . . . . . . . . . . . . . . . 29Terminology ............................ 39 4.2 Threat Model .................................... 39 4.3 SecurityRequirements . . . . . . . . . . . . . . . . 32 4.2.1 EAP method requirements . . . . . . . . . . . . 32 4.2.2 AAA Protocol Requirements . . . . . . . . . . . 34 4.2.3 Secure Association Protocol Requirements . . . . 36 4.2.4 Ciphersuite Requirements . . . . . . . . . . . . 37 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . 38 6. Security Considerations . . . . . . . . . . . . . . . . . . 38 6.1 Key Strength . . . . . . . . . . . . . . . . . . . . . 38 6.2 Key Wrap . . . . . . . . . . . . . . . . . . . . . . . 38 6.3Analysis ............................... 41 4.4 Man-in-the-middle Attacks. . . . . . . . . . . . . . 39 6.4 Impersonation . . . . . . . . . . . . . . . . . . . . 39 6.5....................... 45 4.5 Denial of Service Attacks. . . . . . . . . . . . . . 40 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 41 Normative References . . . . . . . . . . . . . . . . . . . . 41 Informative References . . . . . . . . . . . . . . . . . . . 41 Authors' Addresses . . . . . . . . . . . . . . . . . . . . ........................ 45 4.6 Impersonation ................................... 46 4.7 Channel Binding ................................. 47 4.8 Key Strength .................................... 48 4.9 Key Wrap ........................................ 48 Aboba, et al.Expires April 26, 2004Informational [Page 2]Internet-DraftINTERNET-DRAFT EAP Key Management FrameworkOctober 2003 A. Ciphersuite26 June 2004 5. Security Requirements ................................. 49 5.1 EAP Method Requirements ......................... 49 5.2 AAA Protocol Requirements ....................... 52 5.3 Secure Association Protocol Requirements ........ 54 5.4 Ciphersuite Requirements ........................ 55 6. IANA Considerations ................................... 56 7. References ............................................ 56 7.1 Normative References ............................ 56 7.2 Informative References .......................... 57 Acknowledgments .............................................. 60 Author's Addresses ........................................... 61 Appendix A - Ciphersuite Keying Requirements. . . . . . . . . . . . . . 46 B.................. 62 Appendix B - Transient EAP Key (TEK) Hierarchy. . . . . . . . . . . . . 47 C. MSK and EMSK............... 63 Appendix C - EAP Key Hierarchy. . . . . . . . . . . . . . . . . . . 48 D................................ 64 Appendix D - Transient Session Key (TSK) Derivation. . . . . . . . . . . 51 E........... 66 Appendix E - AAA-Key Derivation. . . . . . . . . . . . . . . . . . . . . 52 F. Open issues . . . . . . . . . . . . . . . . . . . . . . . . 53.............................. 67 Intellectual PropertyandStatement .............................. 68 Full CopyrightStatements . . . . . . . 54Statement ..................................... 68 Aboba, et al.Expires April 26, 2004Informational [Page 3]Internet-DraftINTERNET-DRAFT EAP Key Management FrameworkOctober 200326 June 2004 1. Introduction The Extensible Authentication Protocol (EAP), defined in[I-D.ietf-eap-rfc2284bis],[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". Since in EAP keying material is generated by EAP methods, transported by AAA protocols, transformed into session keys bysecure association protocolsSecure Association Protocols and used by lower layer ciphersuites, it is necessary to describe each of these elements and provide a system-level security analysis.1.11.1. Requirements LanguageIn this document, several words are used to signify the requirements of the specification. These words are often capitalized.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.21.2. Terminology This document frequently uses the following terms: authenticator The end of the link initiating EAP authentication.Where no backend authentication server is present, the authenticator acts as the EAP server, terminating the EAP conversation with the peer. Where a backend authentication server is present, the authenticator may act as a pass-through for one or more authentication methods and for non-local users. This terminologyThe term Authenticator isalsoused in[IEEE8021X],[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 EAPMethodsmethods for the authenticator. This terminology is also used in[IEEE8021X]. AAA-Token The package within which keying material[IEEE-802.1X]. AAA Authentication, Authorization andone or more attributes is transported betweenAccounting. AAA protocols with EAP support include RADIUS [RFC3579] and Diameter [I-D.ietf-aaa- eap]. In this document, thebackend authenticationterms "AAA server" and "backend Aboba, et al.Expires April 26, 2004Informational [Page 4]Internet-DraftINTERNET-DRAFT EAP Key Management FrameworkOctober 200326 June 2004 authentication server" are used interchangeably. EAP serverand the authenticator.Theattributes provideentity that terminates theauthenticatorEAP authentication method withusage context and key names suitable to bindthekey topeer. In theappropriate context. The format and wrappingcase where no backend authentication server is used, the EAP server is part of theAAA-Token, whichauthenticator. In the case where the authenticator operates in pass-through mode, the EAP server isintended to be accessible only tolocated on the backend authenticationserverserver. security association A set of policies andauthenticator,key(s) used to protect information. This information in the security association isdefinedstored by each party of theAAA protocol. Examples include RADIUS [RFC2548],security association andDiameter [I-D.ietf-aaa-eap]. Cryptographic binding The demonstration ofmust be consistent among the parties. Elements of a security association include cryptographic keys, negotiated ciphersuites and other parameters, counters, sequence spaces, authorization attributes, etc. 1.3. Overview EAPpeeris typically deployed in order tothe EAP server thatsupport extensible network access authentication in situations where asingle entity has acted aspeer desires network access via one or more authenticators. The situation is illustrated in Figure 1. Since both theEAPpeerfor all methods executed within a sequenceand authenticator may have more than one physical ortunnel. Binding MAY also imply thatlogical port, a given peer may simultaneously access theEAP server demonstratesnetwork 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 peer may be stationary, in which case it may establish communications with one or more authenticators while remaining in one location. Alternatively, the peerthatmay be mobile, changing its point of attachment from one authenticator to another, or moving between points of attachment on a singleentity has acted asauthenticator. Where authenticators are deployed standalone, the EAPserver for all methods executed within a sequence or tunnel. If executed correctly, binding serves to mitigate man-in-the-middle vulnerabilities. Cryptographic separation Two keys (x and y) are "cryptographically separate" if an adversary that knows all messages exchanged inconversation occurs between theprotocol cannot compute x from y or y from x without "breaking" some cryptographic assumption. In particular, this definition allows thatpeer and authenticator, and theadversary hasauthenticator must locally implement an EAP method acceptable to theknowledgepeer. However, one ofall nonces sent in cleartext as well as all predictable counter values used intheprotocol. Breaking a cryptographic assumption would typically require inverting a one-way function or predicting the outcomeadvantages ofa cryptographic pseudo-random number generatorEAP is that it enables deployment of new authentication methods withoutknowledgerequiring development of new code on thesecret state. In other words, ifauthenticator. While thekeys are cryptographically separate, there is no shortcut to compute x from y or y from x. EAP server The entity which terminatesauthenticator may implement some EAPauthentication withmethods locally and use those methods to authenticate local users, it may at thepeer is knownsame time act asthe EAP server. Wherea pass-throughis supported,for other users and methods, forwarding EAP packets back and forth between the backend authentication serverfunctions as the EAP server; where authentication occurs locally, the EAP server is the authenticator. AAA-Key A key derived by the EAP peer and EAP serverandtransported to the authenticator. In 802.11 terminology,thefirst 32 octets of the AAA-Key is known as the Pairwise Master Key (PMK). Key strength If the effective key strength is N bits, the best currently known methods to recover the key (with non-negligible probability) require an effort comparable to 2^N operations of a typical block cipher. Aboba, et al. Expires April 26, 2004 [Page 5] Internet-Draft EAPpeer. Aboba, et al. Informational [Page 5] INTERNET-DRAFT EAP Key Management FrameworkOctober 2003 Mutual authentication26 June 2004 +-+-+-+-+ | | | EAP | | Peer | | | +-+-+-+-+ | | | Peer Ports / | \ / | \ Phase 0: Discovery / | \ Phase 1: Authentication / | \ Phase 2: Secure / | \ Association / | \ / | \ / | \ | | | | | | | | | Authenticator Ports +-+-+-+-+ +-+-+-+-+ +-+-+-+-+ | | | | | | | Auth. | | Auth. | | Auth. | | | | | | | +-+-+-+-+ +-+-+-+-+ +-+-+-+-+ \ | / \ | / \ | / EAP over AAA \ | / (optional) \ | / \ | / \ | / \ | / +-+-+-+-+ | | | AAA | |Server | | | +-+-+-+-+ Figure 1: Relationship between peer, authenticator and backend server Thisrefers to anis accomplished by encapsulating EAPmethod in which,packets withinan interlocked exchange, the authenticator authenticatesthepeerAuthentication, Authorization and Accounting (AAA) protocol, spoken between thepeer authenticates the authenticator. Two one-way conversations, running in opposite directions do not provide mutualauthenticator and backend authenticationas defined here. peer The end of the link that responds to the authenticator. In [IEEE8021X], this end is known as the Supplicant. 1.3 Conversation Overviewserver. AAA protocols supporting EAP include RADIUS [RFC3579] and Diameter [I- D.ietf-aaa-eap]. Aboba, et al. Informational [Page 6] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 Where EAP key derivation is supported,EAP authentication isthe conversation between the peer and the authenticator typicallya component of atakes place in threephase exchange:phases: Phase 0: Discoveryphase (phase 0)Phase 1: Authentication 1a: EAPauthentication, key derivation and transport (phase 1)authentication 1b: AAA-Key Transport (optional) Phase 2: Secure Association Establishment 2a: Unicastand multicast secure association establishment (phase 2)Secure Association 2b: Multicast Secure Association (optional) In the discovery phase (phase 0),the EAPpeers locateeach otherauthenticators and discover their capabilities.This can include an EAPFor example, a peerlocatingmay locate an authenticatorsuitable forproviding access to a particular network, orit could involve an EAPa peerlocatingmay locate an authenticator behind a bridge with which it desires to establish asecure association. Typically the discoverySecure Association. The authentication phasetakes place between the EAP peer and authenticator. Once(phase 1) may begin once theEAPpeer and authenticator discover eachother,other. This phase always includes EAP authenticationmay begin(phase 1a).EAP 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 atWhere thesame time act as a pass-through for other users and methods, forwardingchosen EAPpackets back and forth betweenmethod supports key derivation, in phase 1a keying material is derived on both thebackend authentication serverpeer and thepeer. As described in Section 2, in addition to supporting authentication,EAPmethods may also support derivation ofserver. This keying material may be used forpurposesmultiple purposes, including protection of the EAP conversation and subsequent data exchanges.EAP key derivation takes place between the EAP peer and EAP server, and methods supporting key derivation MUST also support mutual authentication. Where an authenticator serverAn additional step (phase 1b) ispresent, it acts as the EAP server and transports derivedrequired 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 theauthenticatorauthenticator. A Secure Association exchange (phase1b). EAP methods may mutually authenticate2) then occurs between the peer andderive keys. However a Aboba, et al. Expires April 26, 2004 [Page 6] Internet-Draft EAP Key Management Framework October 2003 distinct secure association exchange is requiredauthenticator in order to manage the creation and deletion of unicast (phase 2a) and multicast (phase 2b) security associations between theEAPpeer and authenticator. The conversation phases andtherelationship between the parties isillustrated below.shown in Figure 2. Aboba, et al. Informational [Page 7] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 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) | | | | | Figure1:2: Conversation Overview1.3.11.3.1. Discovery Phase In thepeerdiscoveryexchangephase (phase 0), the EAP peer and authenticator locate each other and discover each other's capabilities.For example, PPPoE [RFC2516] includes support for aDiscoveryStage to allow a peer to identify the Ethernet MAC address of onecan occur manually ormore authenticators and establish a PPPoE SESSION_ID. In IEEE 802.11 [IEEE80211],automatically, depending on the lower layer over which EAPpeer (also known as the Station or STA) discovers the authenticator (Access Point or AP) and determines its capabilities using Beacon or Probe Request/Response frames.runs. Sincedevicediscovery is handled outside of EAP, there is no need to provide this functionality within EAP.Device discovery can occur manually or automatically. InFor example, where EAPimplementations runningruns 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.Aboba, et al. Expires April 26, 2004 [Page 7] Internet-Draft EAP Key Management Framework October 2003 Since device discovery can occur prior to authentication and key derivation, it may not be possibleIn contrast, PPPoE [RFC2516] provides support forthe discovery phasea Discovery Stage tobe protected using keying material derived during an authentication exchange. Asallow aresult, devicepeer to identify the Ethernet MAC address of one or more authenticators and establish a PPPoE SESSION_ID. IEEE 802.11 [IEEE80211] also provides integrated discoveryprotocols may be insecure, leaving them vulnerablesupport utilizing Beacon and/or Probe Request/Response frames, allowing the peer (known as the station or STA) tospoofing unlessdetermine thediscovered parameters can subsequently be securely verified. 1.3.2MAC address and capabilities of one or more authenticators (known as Access Point or APs). 1.3.2. Authentication Phase Once theEAPpeer and authenticator discover each other, they exchange EAP packets. Typically, the peer desires access to the network, and Aboba, et al. Informational [Page 8] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 the authenticatorsare Network Access Servers (NASes) providingprovide 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. Wherepass-throughpass- 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 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 asecure associationSecure 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.Aboba, et al. Expires April 26, 2004 [Page 8] Internet-Draft EAP Key Management Framework October 2003Successful completion of EAP authentication and key derivation byan EAPa 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 thesecure association protocolSecure Association Protocol (phase 2). As a result, EAP may be used for "pre-authentication" in situations where it is necessary topre-establishpre- establish EAP security associations in order to decrease handoff or roaming latency.1.3.3Aboba, et al. Informational [Page 9] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 1.3.3. Secure Association Phase Thesecure associationSecure Association phase (phase 2) always occurs after the completion of EAP authentication (phase 1a) and key transport (phase 1b), and typically supports the following features: [1]TheEntity Naming. A basic feature of a Secure Association Protocol is the naming of the parties engaged in the exchange. As illustrated in Figure 1, it is possible for both the peer and NAS to have more than one physical or virtual port. For the purposes of identification, it is therefore not possible to identify either peers or NAS devices using port identifiers. Proper identification of the parties is critical to the Secure Association phase, 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. [2] Secure capabilities negotiation. This provides for the secure negotiation ofcapabilities. This includesusage modes, session parametersand(such as key lifetimes), ciphersuites, and required filters, including confirmation of the capabilities discovered during phase 0. By securely negotiating session parameters, the secureassociation protocolAssociation Protocol protects against spoofing during the discovery phase and ensures that the peer and authenticator are in agreement about how data is to be secured.[2][3] Generation of fresh transient sessionkeys. This iskeys (TSKs). The Secure Association Protocol typicallyaccomplished viaguarantees theexchangefreshness of session keys by exchanging nonceswithin the secure association protocol, and includes generation ofbetween both parties and then mixing the nonces with the AAA-Key in order to generate fresh unicast (phase 2a) and multicast (phase 2b) session keys. By not using theAAA-KeyAAA- Key directly to protect data, the secureassociation protocolAssociation Protocol protects against compromise of the AAA-Key, and by guaranteeing the freshness of transient sessionkey,keys, assures thatsession keysthey are not reused.[3][4] Key activation and deletion.[4] Mutual proof of possession of the AAA-Key. This demonstrates that bothIn order for theEAPpeer and authenticatorhave been authenticated and authorized by the AAA server. Since mutual proof of possessionto communicate securely, it isnotnecessary for both sides to derive the sameas mutual authentication, the EAP peer cannot verify authenticator assertions (includingsession keys, and remain in sync with respect to key state going forward. One of theauthenticator identity)functions of the Secure Association Protocol is to synchronize the activation and deletion of keys so asa resultto enable seamless rekey, or recovery from partial or complete loss ofthis exchange. 1.4 Authorization issues In a typical network access scenario (dial-in, wireless LAN, etc.) access control mechanisms are typically applied. These mechanisms include userkey state by the peer or authenticator. [5] Mutual proof of possession of the AAA-Key. This demonstrates 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 aswell as authorization formutual authentication, theofferedAboba, et al.Expires April 26, 2004Informational [Page9] Internet-Draft10] INTERNET-DRAFT EAP Key Management FrameworkOctober 2003 service. As26 June 2004 peer cannot verify authenticator assertions (including the authenticator identity) as apartresult ofthe authentication process, the AAA network determines the user's authorization profile. The user authorizations are transmitted by the AAA server tothis exchange. 1.4. EAP Invariants By utilizing a three phase exchange, the EAPauthenticator (alsokey management framework guarantees that certain basic characteristics, known as theNetwork Access Server or NAS) included with the AAA-Token, which also contains the AAA-Key, in Phase 1b"EAP Invariants" hold true for all implementations of EAP. These include: Media independence Method independence Ciphersuite independence 1.4.1. Media Independence One of the goals of EAPconversation. Typically, the profileisdetermined basedto allow EAP methods to function on any lower layer meeting theuser identity, but a certificate presented by the user may also provide authorization information. The AAA server is responsible for making a user authorization decision, answeringcriteria 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 thefollowing questions: o Is thislower layer over which they are transported, and cannot utilize identifiers associated with alegitimate user for thisparticularnetwork? o Is this user allowedusage environment (e.g. MAC addresses). The need for media independence has also motivated thetypedevelopment ofaccess he or she is requesting? o Are there any specific parameters (mandatory tunneling, bandwidth, filters, and so on) thattheaccess network should be aware of for this user? o Isthree phase exchange. Since discovery is typically media- specific, thisuserfunction is handled outside of EAP, rather than being incorporated within it. Similarly, thesubscription rules regarding timeSecure Association Protocol often contains media dependencies such as negotiation ofday? o Ismedia- specific ciphersuites or session parameters, and as a result thisuserfunctionality also cannot be incorporated withinhis limits for concurrent sessions? o Are there any fraud, credit limit, or other concerns that indicateEAP. Note thataccess shouldmedia independence may bedenied? While the authorization decision is in principle simple, the process is complicated by the distributed nature of AAA decision making. Where brokering entitiesretained within EAP methods that support channel binding orproxies are involved, allmethod-specific identification. An EAP method need not be aware of theAAA devicescontent of an identifier inthe chain from the NASorder 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 thehomeAAA serverare involvedin thedecision. For instance, a broker can disallow access even if the home AAA server would allow it, or a proxy can add authorizations (e.g., bandwidth limits). Decisions can be based on static policy definitions and profiles as well as dynamic state (e.g. timeform ofday or limits on the numberan opaque blob, and receive confirmation ofconcurrent sessions). In addition to the Accept/Reject decision made by the AAA chain, parameters or constraints can be communicated to the NAS. The criteria for Accept/Reject decisions or the reasons for choosing particular authorizations are typically not communicated to the NAS, only the final result. As a result, the NAS has no way to know whatwhether thedecision was based on. Was a set of authorizationparameterssent because this service is always provided to the user, or was thematch, without requiring media-specific knowledge. Aboba, et al.Expires April 26, 2004Informational [Page10] Internet-Draft11] INTERNET-DRAFT EAP Key Management FrameworkOctober 2003 decision based26 June 2004 1.4.2. Method Independence By enabling pass-through, authenticators can support any method implemented on thetime/daypeer and server, not just locally implemented methods. This allows thecapabilities of the requesting NAS device? Within EAP, "fast handoff" is defined as a conversation in which theauthenticator to avoid implementing code for each EAPexchange (phase 1a) and associated AAA passthroughmethod required by peers. In fact, since a pass-through authenticator isbypassed, so asnot required toreduce latency. Depending on the fast handoff mechanism, AAA-Key transport (phase 1b) may also be bypassed in favor a context transfer (see [IEEE80211f] and [I-D.aboba-802-context]) orimplement any EAP methods at all, itmaycannot beprovided inassumed to support any EAP method-specific code. As apre-emptive mannerresult, as noted in[IEEE-03-084][RFC3748], authenticators must by default be capable of supporting any EAP method. Since the Discovery and[I-D.irtf-aaaarch-handoff]. As we will discuss,Secure Association exchanges are also method independent, an authenticator can carry out theintroduction of fast handoff creates a new class ofthree 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 securityvulnerabilities as well as requirementsfor thesecure handling of authorization context. 1.4.1 Correctnessmedia infast handoff Bypassing all or portions ofuse. For example, theAAA conversation creates challenges in ensuring that authorization[RFC3748] mandatory-to-implement EAP method (MD5-Challenge) does not provide dictionary attack resistance, mutual authentication or key derivation, and as a result isproperly handled. These include: o Consistent application of session time limits. A fast handoff shouldnotautomatically increaseappropriate for use in wireless LAN authentication [WLANREQ]. However, despite this it is possible for theavailable session time, allowing a userpeer and authenticator toendlessly extend their network access by changinginteroperate as long as a suitable EAP method is supported on thepointEAP server. 1.4.3. Ciphersuite Independence While EAP methods may negotiate the ciphersuite used in protection ofattachment. o Avoidancethe EAP conversation, the ciphersuite used for the protection ofprivilege elevation. A fast handoff shoulddata is negotiated within the Secure Association Protocol, out-of-band of EAP. The backend authentication server is notresult inauser being granted accessparty toservices which they are not entitled to. o Consideration of dynamic state. In situations in which dynamic statethis negotiation nor isinvolvedit an intermediary in theaccess 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 bydata flow between theAAA server. o Encoding of restrictions. Since a NASEAP peer and authenticator. The backend authentication server may not even have knowledge of the ciphersuites implemented by the peer and authenticator, or be aware of thecriteria considered by a AAA server when allowing access,ciphersuite negotiated between them, and therefore does not implement ciphersuite-specific code. Since ciphersuite negotiation occurs inorder to ensure consistent authorization during a fast handoff it may be necessary to explicitly encodetherestrictionsSecure Association protocol, not in EAP, ciphersuite-specific key generation, if implemented within an EAP method, would potentially conflict with theauthorizations providedtransient session key derivation occurring in theAAA-Token. o 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 concernsSecure Association protocol. As a result, EAP methods generate keying material that issaidciphersuite-independent. Additional advantages of ciphersuite- independence include: Update requirements If EAP methods were tobe "correct". One condition for correctness is as follows:specify how to derive transient session keys Aboba, et al.Expires April 26, 2004Informational [Page11] Internet-Draft12] INTERNET-DRAFT EAP Key Management FrameworkOctober 2003 For a fast handoff to be "correct" it MUST establish on the new device the same context as26 June 2004 for each ciphersuite, they wouldhave been created had the new device completedneed to be updated each time aAAA conversationnew ciphersuite is developed. In addition, backend authentication servers might not be usable with all EAP-capable authenticators, since the backend authenticationserver. A properly designed fast handoff scheme will only succeed if it is "correct" in this way. If a successful fast handoffserver wouldestablish "incorrect" state, it is preferablealso need to be updated each time support forita new ciphersuite is added tofail, in orderthe authenticator. EAP method complexity Requiring each EAP method toavoid creation of incorrect context. Some AAA serverinclude ciphersuite-specific code for transient session key derivation would increase method complexity andNAS configurations are incapableresult in duplicated effort. Knowledge ofmeeting this definitioncapabilities In practice, an EAP method may not have knowledge of"correctness".the ciphersuite that has been negotiated between the peer and authenticator, since this negotiation typically occurs within the Secure Association Protocol. For example,ifPPP ciphersuite negotiation occurs in theoldEncryption Control Protocol (ECP) [RFC1968]. Since ECP negotiation occurs after authentication, unless an EAP method is utilized that supports ciphersuite negotiation, the peer, authenticator andnew device differ in their capabilities, itbackend authentication server may not bedifficultable tomeet this definition of correctness in a fast handoff mechanism that bypasses AAA. AAA servers often perform conditional evaluation, in whichanticipate theauthorizations returned in an Access-Accept message are contingent onnegotiated ciphersuite and therefore this information cannot be provided to theNAS or on dynamic state such asEAP method. Since ciphersuite negotiation is assumed to occur out-of-band, there is no need for ciphersuite negotiation within EAP. 2. EAP Key Hierarchy 2.1. Key Terminology The EAP Key Hierarchy makes use of thetimefollowing types ofday or numberkeys: Long Term Credential EAP methods frequently make use ofsimultaneous sessions. For example,long term secrets ina heterogeneous deployment,order to enable authentication between theAAA server might return different authorizations dependingpeer and server. In the case of a method based on pre-shared key authentication, theNAS makinglong term credential is therequest, in order to make sure thatpre-shared key. In therequested servicecase of a public-key based method, the long term credential isconsistent withtheNAS capabilities. If differencescorresponding private key. Master Session Key (MSK) Keying material that is derived between thenewEAP peer andold device would resultserver 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 26 June 2004 Extended Master Session Key (EMSK) Additional keying material derived between theAAApeer and serversendingthat is exported by the EAP method. The EMSK is at least 64 octets in length, and is never shared with adifferent setthird party. AAA-Key A key derived by the peer and EAP server, used by the peer and authenticator in the derivation ofmessages toTransient Session Keys (TSKs). Where a backend authentication server is present, thenew device than were sentAAA-Key is transported from the backend authentication server to theold device, then ifauthenticator, wrapped within thefast handoff mechanism bypasses AAA, thenAAA-Token; it is therefore known by thefast handoff cannot be carried out correctly. For example, if some NAS devices withinpeer, authenticator and backend authentication server. However, despite the name, the AAA-Key is computed regardless of whether adeployment support dynamic VLANs while others do not, then attributes presentbackend authentication server is present. AAA-Key derivation is discussed in Appendix E; in existing implementations theAccess-Request (suchMSK is used as theNAS-IP-Address, NAS-Identifier, Vendor-Identifier, etc.) could be examined to determine when VLAN attributes willAAA-Key. Application-specific Master Session Keys (AMSKs) Keys derived from the EMSK which are cryptographically separate from each other and may bereturned, as describedsubsequently used in[RFC3580]. VLAN supportthe derivation of Transient Session Keys (TSKs) for extended uses. AMSK derivation isdefineddiscussed in[IEEE8021Q]. IfAppendix E. AAA-Token Where afast handoff bypassing the AAAbackend serverwere to occuris present, the AAA-Key and one or more attributes is transported between the backend authentication server and the authenticator within aNAS supporting dynamic VLANspackage known as the AAA-Token. The format andanother NASwrapping of the AAA-Token, whichdoes not, then a guest user with access restrictedis intended toa guest VLAN couldbegiven unrestricted accessaccessible only to thenetwork. Similarly, in a network where accessbackend authentication server and authenticator, isrestricted based ondefined by thedayAAA protocol. Examples include RADIUS [RFC2548] andtime, SSID, Calling-Station-Id or other factors, unlessDiameter [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 therestrictions are encoded withinpeer and EAP server. Since theauthorizations, or a partial AAA conversationIV isincluded, thenafast handoff could resultknown value inthe user bypassing the restrictions. In practice, these considerations limit the situations in which fast handoff mechanisms bypassing AAA canmethods such as EAP- TLS [RFC2716], it cannot beexpectedused 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 besuccessful. Whereunpredictable. Pairwise Master Key (PMK) The AAA-Key is divided into two halves, thedeployed devices implement"Peer to Authenticator Encryption Key" (Enc-RECV-Key) and "Authenticator to Peer Encryption Key" (Enc-SEND-Key) (reception is defined from thesame setpoint of view ofservices, it may be possible to do successful fast handoffs within such mechanisms. However, wherethesupported services differ between devices,authenticator). Within [IEEE80211i] Octets 0-31 of thefast handoff may not succeed. For example, [RFC2865], section 1.1AAA-Key (Enc-RECV-Key) are known as the Pairwise Master Key (PMK). In [IEEE80211i] the TKIP and AES CCMP ciphersuites derive Aboba, et al.Expires April 26, 2004Informational [Page12] Internet-Draft14] INTERNET-DRAFT EAP Key Management FrameworkOctober 2003 states: "A NAS that does not implement a given service MUST NOT implement26 June 2004 their Transient Session Keys (TSKs) solely from theRADIUS attributes for that service. For example, a NAS that is unable to offer ARAP service MUST NOT implementPMK, whereas theRADIUS attributes for ARAP. A NAS MUST treat a RADIUS access-accept authorizing an unavailable serviceWEP ciphersuite asan access-reject instead." Note that this behavior only applies to attributes that are known, but not implemented. For attributes that are unknown, sectionnoted in [RFC3580], derives its TSKs from both halves of5 of [RFC2865] states: "A RADIUS server MAY ignore Attributes with an unknown Type. A RADIUS client MAY ignore Attributes with an unknown Type." In orderthe AAA-Key. Transient EAP Keys (TEKs) Session keys which are used toperform a correct fast handoff, if a new device is provided with RADIUS context forestablish aknown but unavailable service, then it MUST process this contextprotected channel between thesame way it would handle a RADIUS Access-Accept requesting an unavailable service. This MUST causeEAP peer and server during thefast handoff to fail. However, if a new device is providedEAP authentication exchange. The TEKs are appropriate for use withRADIUS context that indicates an unknown attribute, then this attribute MAY be ignored. Although it may seem somewhat counter-intuitive, failure is indeedthe"correct" result where a known but unsupported service is requested. Presumably a correctly configured AAAciphersuite negotiated between EAP peer and serverwould not request that a device carry out a service that it does not implement. This implies that iffor use in protecting thenew device were to complete a AAA conversationEAP conversation. Note thatit would be likely to receive different service instructions. In such a case, failure of the fast handoff is the desired result. This will causethenew device to go backciphersuite used to set up theAAAprotected channel between the EAP peer and serverin orderduring EAP authentication is unrelated toreceivetheappropriate service definition. In practice, this implies that fast handoff mechanisms which bypass AAA are most likelyciphersuite used tobe 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 AAAsubsequently protect data sent betweena NAS providing confidentialitythe EAP peer andanother NAS that does not support this service. The correct result of such a fast handoff would be a failure, since ifauthenticator. An example TEK key hierarchy is described in Appendix C. Transient Session Keys (TSKs) Session keys used to protect data which are appropriate for thehandoff were blindly carried out, thenciphersuite negotiated between theuser would be moved from a secure to an insecure channel without permissionEAP peer and authenticator. The TSKs are derived from AAA-Key during theAAA server. ThusSecure Association Protocol. In thedefinitioncase ofa "known but unsupported service" MUST encompass requests for unavailable security services. This includes vendor-specific attributes related to security, such as those described[IEEE80211i] the Secure Association Protocol consists of the 4-way handshake and group key derivation. An example TSK derivation is provided in[RFC2548]." Aboba, et al. Expires April 26, 2004 [Page 13] Internet-Draft EAP Key Management Framework October 2003 2. EAPAppendix D. 2.2. Key Hierarchy2.1 EAP InvariantsThe EAPkey management framework assumes that certain basic characteristics, known as the "EAP Invariants" hold true for all implementations of EAP. These include: Media independence Method independence Ciphersuite independence 2.1.1 Media Independence As describedKey Hierarchy, illustrated in[I-D.ietf-eap-rfc2284bis],Figure 3, has at the root the long term credential utilized by the selected EAP method. If authenticationcan run over multiple lower layers, including PPP [RFC1661] and IEEE 802 wired networks [IEEE8021X]. Use with IEEE 802.11 wireless LANsisalso contemplated [IEEE80211i]. Since EAP methods cannot be assumed to have knowledge of the lower layer over which they are transported, EAP methods can functionbased onany lower layer meeting the criteria outlined in [I-D.ietf-eap-rfc2284bis], Section 3.1. Asaresult,pre-shared key, the parties store the EAPmethods should not utilize identifiers associated with a particular usage environment (e.g. MAC addresses). 2.1.2 Method Independence Supporting pass-through of authenticationmethod to be used and thebackend authenticationpre-shared key. The EAP serverenablesalso stores theauthenticatorpeer's identity and/or other information necessary tosupport anydecide whether access to some service should be granted. The peer stores information necessary to choose which secret to use for which service. If authenticationmethod implementedis based on proof of possession of thebackend authentication server and peer, not just locally implemented methods. This implies thatprivate key corresponding to the public key contained within a certificate, the parties store theauthenticator need not implement code for eachEAP methodrequired by authenticating peers. In fact,to be used and theauthenticator is not requiredtrust anchors used toimplement anyvalidate the certificates. The EAPmethods at all, nor can itserver also stores the peer's identity and/or other information necessary to decide whether access to some service should beassumedgranted. The peer stores information necessary toimplement code specificchoose which certificate toany EAP method. This is useful where there is no single EAP method that is both mandatory-to-implement and offers acceptable securityuse for which service. Based on themedia in use. For example,long term credential established between the peer and the server, EAP derives four types of keys: [1] Keys calculated locally by the[I-D.ietf-eap-rfc2284bis] mandatory-to-implementEAP method(MD5-Challenge) doesbut notprovide dictionary attack resistance, mutual authentication or key derivation, and as a result is not appropriate for use in wireless authentication. 2.1.3 Ciphersuite Independence Whileexported by the EAPmethods may negotiatemethod, such as theciphersuite used in protection ofTEKs. [2] Keys exported by the EAP method: MSK, EMSK, IV Aboba, et al.Expires April 26, 2004Informational [Page14] Internet-Draft15] INTERNET-DRAFT EAP Key Management FrameworkOctober 200326 June 2004 [3] Keys calculated from exported quantities: AAA-Key, AMSKs. [4] Keys calculated by the Secure Association Protocol: TSKs. In order to protect the EAP conversation,themethods supporting key derivation typically negotiate a ciphersuiteusedand derive Transient EAP Keys (TEKs) for use with that ciphersuite. The TEKs are stored locally by theprotectionEAP 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 ofdatathe IV isnegotiated withindeprecated. On both thesecure association protocol, out-of-band of EAP. Thepeer and EAP server, the exported MSK and EMSK are utilized in order to calculate the AAA-Key, as described in Appendix E. Where a backend authentication server isnot a party to this negotiation nor is it an intermediary inpresent, thedata flow betweenAAA-Key is transported from theEAP peer and authenticator. Thebackend authentication servermay not even have knowledge ofto theciphersuites implemented byauthenticator within the AAA-Token, using the AAA protocol. Once EAP authentication completes and is successful, the peer andauthenticator, or be aware ofauthenticator obtain theciphersuite negotiated between them,AAA-Key andtherefore does not implement ciphersuite-specific code. Since ciphersuite negotiation occurs inthesecure association protocol, not in EAP, ciphersuite-specific key generation, if implemented within an EAP method, would potentially conflict withSecure Association Protocol is run between thetransient session key derivation occurringpeer and authenticator inthe secure association protocol. As a result, EAP methods generate keying material that is ciphersuite-independent. Additional advantages of ciphersuite-independence include: Update requirements If EAP methods were to specify howorder toderive transient session keys for eachsecurely negotiate the ciphersuite,they would needderive fresh TSKs used tobe updated each time a new ciphersuite is developed. In addition, backend authentication servers might not be usable with all EAP-capable authenticators, sinceprotect data, and provide mutual proof of possession of thebackend authentication server would also need to be updated each time support for a new ciphersuite is added toAAA-Key. When the authenticator acts as an endpoint of theauthenticator.EAPmethod complexity Requiring eachconversation rather than a pass-through, EAPmethod to include ciphersuite-specific code for transient session key derivation would increasemethods are implemented on the authenticator as well as the peer. If thecomplexity of each EAP method and would result in duplicated effort. Knowledge of capabilities In practice, anEAP methodmay not have knowledge of the ciphersuite that has beennegotiated between the EAP peer andauthenticator. In PPP, ciphersuite negotiation occurs in the Encryption Control Protocol (ECP) [RFC1968]. Since ECP negotiation occurs after authentication, unless an EAP method is utilized that supports ciphersuite negotiation, the peer,authenticatorand backendsupports mutual authenticationserver may not be able to anticipate the negotiated ciphersuiteandtherefore this information cannot be provided tokey derivation, the EAPmethod. Since ciphersuite negotiation is assumed to occur out-of-band, there is no need for ciphersuite negotiation within EAP. 2.2 Key Hierarchy The EAP keying hierarchy, illustrated in Figure 2, makes use of the Aboba, et al. Expires April 26, 2004 [Page 15] Internet-Draft EAP Key Management Framework October 2003 following types of keys: EAPMasterkey (MK) A key derived between the EAP client and server during the EAP authentication process, and that is kept local to the EAP methodSession Key (MSK) andnot exported or made available to a third party.Extended Master Session Key(MSK) Keying material (at least 64 octets) that is(EMSK) are derivedbetweenon the EAPclientpeer andserverauthenticator and exported by the EAP method.AAA-Key Where a backend authentication server is present, acting as an EAP server, keying material known as the AAA-Key is transported fromIn this case, theauthentication serverMSK and EMSK are known only to theauthenticator wrapped within the AAA-Token. The AAA-Key is used by the EAPpeer and authenticatorin the derivation of Transient Session Keys (TSKs) for the ciphersuite negotiated betweenand no other parties. The TEKs and TSKs also reside solely on theEAPpeer and authenticator.As a result, the AAA-KeyThis istypically known by all partiesillustrated inthe EAP exchange: the peer, authenticator and the authentication server (if present). AAA-Key derivation is discussedFigure 4. As demonstrated inAppendix E. Extended Master Session Key (EMSK) Additional keying material (64 octets) derived[I-D.ietf-roamops-cert], in this case it is still possible to support roaming betweenthe EAP client andproviders, using certificate-based authentication. Where a backend authentication serverthatisexported byutilized, theEAP method. The EMSKsituation isknown only toillustrated in Figure 5. Here the authenticator acts as a pass- through between the EAP peer andserver and is not provided toathird party. Initialization Vector (IV) A quantity of at least 64 octets, suitable for use in an initialization vector field, that is derived between the EAP client andbackend authentication server.SinceIn this model, theIV 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. Pairwise Master Key (PMK) The AAA-Key is divided into two halves,authenticator delegates the"Peer to Authenticator Encryption Key" (Enc-RECV-Key) and "Authenticatoraccess control decision toPeer Encryption Key" (Enc-SEND-Key) (reception is defined from the point of view of the authenticator). Within [IEEE80211i] Octets 0-31 oftheAAA-Key (Enc-RECV-Key) are knownbackend authentication server, which acts asthe Pairwise Mastera Key(PMK). IEEE 802.11i ciphersuites [IEEE80211i] derive their Transient Session Keys (TSKs) solely from the PMK, whereasDistribution Center (KDC). In this case, theWEP ciphersuite, when usedauthenticator encapsulates EAP packet with[IEEE8021X],a AAA protocol such asnoted in [RFC3580], derives its TSKs from both halves of the AAA-Key, the Enc-RECV-KeyRADIUS [RFC3579] or Diameter [I-D.ietf-aaa-eap], and forwards packets to and from theEnc-SEND-Key.Aboba, et al.Expires April 26, 2004Informational [Page 16]Internet-DraftINTERNET-DRAFT EAP Key Management FrameworkOctober 2003 Transient EAP Keys (TEKs) Session keys26 June 2004 backend authentication server, whichare used to establish a protected channel betweenacts as the EAPpeer and server duringserver. Since the authenticator acts as a pass-through, EAPauthentication exchange. The TEKs are appropriate for use withmethods reside only on theciphersuite negotiated between EAPpeer and EAP serverfor use in protecting the EAP conversation. Note that the ciphersuite used to set upAs a result, theprotected channel betweenTEKs, MSK and EMSK are derived on the peer and EAP server. On completion of EAP authentication, EAP methods on the peer and EAP serverduringexport 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 authenticationis unrelatedserver sends an Access-Accept to theciphersuiteauthenticator, 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 tosubsequently protect data sent betweentheEAPpeer and authenticator.An example TEK2.3. Key Lifetimes As noted earlier, the EAP Key Management framework includes several types of keys, including: [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, IV [3] Keys calculated from exported quantities: AAA-Key, AMSKs. [4] Keys calculated by the Secure Association Protocol: TSKs. Key lifetime issues associated with each type of keyhierarchy is describedare discussed inAppendix C.the sections that follow. Challenges include: [a] Security. Where key lifetimes cannot be assumed, it may be necessary to negotiate them. While key lifetimes may be announced or negotiated in the clear, a protected lifetime negotiation is RECOMMENDED. Aboba, et al.Expires April 26, 2004Informational [Page 17]Internet-DraftINTERNET-DRAFT EAP Key Management FrameworkOctober 200326 June 2004 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ | | ^ | EAP Method | | | | | |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+ | | | | | | | | | | | EAP Method Key |<->| Long-Term | | | | | Derivation | | Credential | | | | | | | |Local| | | | | +-+-+-+-+-+-+-+ | Local to | | | | | EAP | |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Method | | | | | | | | | | | | | | | | | | | | | | | | | | V | | | | | +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ | | | | TEK | | MSK | |EMSK | |IV | | | | |Derivation | |Derivation | |Derivation | |Derivation | | | | +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ | | | | | | | | | | | | | V +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ | | | ^ | | | | | MSK (64B) | EMSK (64B) | IV (64B) | | | | Exported| | | || Exported | | | | by EAPby | V V VMethodEAP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+|Method| | AAA Key Derivation, | | Known | | | Naming & Binding | |(Not Secret) | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+ V | ---+ | Transported | | AAA-Key by AAA | | Protocol | V V +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ | | ^ | TSK | Ciphersuite | | Derivation | Specific | | | V +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ Figure2:3: EAP Key Hierarchy Aboba, et al.Expires April 26, 2004Informational [Page 18]Internet-DraftINTERNET-DRAFT EAP Key Management FrameworkOctober 2003 Transient Session Keys26 June 2004 +-+-+-+-+-+ +-+-+-+-+-+ | | | | | | | | | 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 | | (TSKs)Session keys used to protect data which are appropriate for the ciphersuite negotiated between the| | (TSKs) | | | | | +-+-+-+-+-+ +-+-+-+-+-+ ^ ^ | | | MSK, EMSK | MSK, EMSK | | | | +-+-+-+-+-+ +-+-+-+-+-+ | | | | | EAPpeer and authenticator. The TSKs are derived from the keying material included in the AAA-Token via the secure association protocol. In the case of IEEE 802.11, the role of the secure association protocol is handled by the 4-way handshake and group key derivation. An example TSK derivation is provided in Appendix D. 2.3 Exchanges| | EAPsupports both a two party exchange| | Method | | Method | | | | | | (TEKs) | | (TEKs) | | | | | +-+-+-+-+-+ +-+-+-+-+-+ Figure 4: Relationship betweenanEAP peer andanauthenticator (acting as an EAP server), where no backend authentication server is present. Aboba, et al. Informational [Page 19] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 +-+-+-+-+-+ +-+-+-+-+-+ | | | | | | | | | Cipher- | | Cipher- | | Suite | | Suite | | | | | +-+-+-+-+-+ +-+-+-+-+-+ ^ ^ | | | | | | V V +-+-+-+-+-+ +-+-+-+-+-+ +-+-+-+-+-+ | |===============| |========| | | |EAP, TEK Deriv.| | | | | |<-------------------------------->| backend | | | | | | | | | Secure Assoc. | | AAA-Key| | | peer |<------------->|Authenti-|<-------| auth | | |===============| cator |========| server | | | Link Layer | | AAA | (EAP | | | (PPP,IEEE 802)| |Protocol| server) | |MSK,EMSK | | | | | | AAA-Key | | AAA-Key | |MSK,EMSK,| | (TSKs) | | (TSKs) | | AAA-Key | | | | | | | +-+-+-+-+-+ +-+-+-+-+-+ +-+-+-+-+-+ ^ ^ | | | MSK, EMSK | MSK, EMSK | | | | +-+-+-+-+-+ +-+-+-+-+-+ | | | | | EAP | | EAP | | Method | | Method | | | | | | (TEKs) | | (TEKs) | | | | | +-+-+-+-+-+ +-+-+-+-+-+ Figure 5: Pass-through relationship between EAP peer, authenticator and backend authentication server. [b] Resource reclaimation. While key lifetimes may be securely negotiated, it is possible for the NAS or peer to reboot or reclaim resources, and therefore not be able to cache keys for their full Aboba, et al. Informational [Page 20] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 lifetime. As a result, lifetime negotiation does not guarantee that the key cache will remain sychronized. It is therefore RECOMMENDED for the lower layer to provide a mechanism for key state resynchronization. Note that securing this mechanism may be difficult since in this situation one or more of the parties initially do not possess a key with which to protect the resynchronization exchange. 2.3.1. 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. They remain valid only for the duration of the EAP conversation, and are lost once the EAP conversation completes. EAP methods may also implement a cache for other local keying material which may persist for multiple EAP conversations. For example, EAP methods based on TLS (such as EAP-TLS [RFC2716]) derive and cache the TLS Master Secret, typically for substantial time periods. The lifetime of other local keying material calculated within the EAP method is defined by the method. 2.3.2. Exported Key Lifetimes All EAP methods generating keys are required to generate the MSK and EMSK, and may optionally generate the IV. However, although new exported keys are generated during reauthentication, the lifetime of exported keys is conceptually distinct from the reauthentication time, since while reauthentication causes new exported keys to be derived, exported keys may be cached on the peer and server after a session completes and therefore their lifetime may be greater than the reauthentication time. Although exported keys are generated by the EAP method, most existing EAP methods do not negotiate the lifetime of the exported keys. EAP, defined in [RFC3748], also does not support the negotiation of lifetimes for exported keying material such as the MSK, EMSK and IV. Several mechanisms exist for managing the lifetime of exported EAP keys. Exported EAP keys may be cached on the EAP server as well as on the peer. On the EAP server, it is RECOMMENDED that the lifetime of exported keys be managed as a system parameter. Where the EAP method does not support the negotiation of the exported key lifetime, and where a negotiation mechanism is not provided by the lower lower, it is RECOMMENDED that the peer assume a default value of the exported key lifetime. A value of 8 hours is suggested. Managing the lifetime of exported keys using a AAA attribute is NOT Aboba, et al. Informational [Page 21] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 RECOMMENDED. This is problematic because although this would ensure transport of the exported key lifetime between the AAA server and the authenticator, the goal is to synchronize the exported key lifetime between the peer and EAP server. Providing the the exported key lifetime on an per-session basis to the authenticator results in requiring the authenticator to maintain EAP-Key SA state. As a described in Section 3, EAP-Key SA state is typically only maintained on the peer and server, so that this represents a substantial additional burden. 2.3.3. Calculated Key Lifetimes When keying material exported by EAP methods is replaced, new calculated keys are also put in place. Similarly, when the keying material exported by EAP methods expires, so do the calculated keys. As a result, the lifetime of keys calculated from material exported by EAP methods can be no larger than the lifetime of the keying material they are calculated from. Since the lifetime of calculated keys can be less than that of the exported keys they are derived from, calculated key lifetimes are conceptually distinct from exported key lifetimes and reauthentication times, and need to be managed as a separate parameter. Note that just as the reauthentication time and the exported key lifetime are conceptually distinct parameters, so too are calculated key lifetimes conceptually distinct from the reauthentication time. Today AAA protocols such as RADIUS [RFC2865] support the Session- Timeout attribute. As described in [RFC3580], this may be used to determine the maximum session time prior to reauthentication. Since reauthentication results in the derivation of new exported keys and the transport of a new AAA-Key, while a session is in progress the maximum session time prior to reauthentication places an upper bound on the AAA-Key lifetime. However, after the session has terminated, it is possible for the AAA-Key to be cached on the authenticator. Therefore the AAA-Key lifetime may be larger than the reauthentication time. As a result, the AAA-Key lifetime needs to be managed as a separate parameter. Since the lifetime of the AAA-Key within the authenticator key cache is in part determined by authenticator resources, the AAA-Key lifetime is typically managed as a system parameter on the authenticator. Since the authenticator may have considerably fewer resources than either the EAP peer or server, it is possible that AAA-Key lifetime on the authenticator may be less than exported key lifetime maintained by the server, or that the authenticator may need to reclaim AAA-Key resources prior to expiration of the AAA-Key Aboba, et al. Informational [Page 22] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 lifetime. As a result, the primary issue with managing the AAA-Key lifetime is the determination by the peer whether a particular AAA-Key exists within the key cache of a given authenticator. Transmitting the AAA- Key lifetime from the AAA server to the authenticator is not helpful in solving this problem in several important scenarios. Where the AAA-key lifetime is negotiated between the authenticator and the peer within the Secure Association Protocol, this may be used by the peer to manage the lifetime of the AAA-Key once the Secure Association Protocol has completed. However, should a time gap may exist between the time of completion of the EAP method and the initiation of the Secure Association Protocol, the lifetime of the AAA-Key cannot be determined by the peer during this period. As a result, unless the Secure Association Protocol always follos the completion of the EAP method exchange without a gap in time, it may not be possible for the peer and authenticator to negotiate session-specific value of the AAA-Key lifetime. For example, where EAP pre-authentication is used, the AAA-Key may be derived and remain resident on the peer and authenticator prior to initiation of the Secure Association Protocol. However, if the AAA-Key lifetime is managed as an authenticator system parameter, it may be possible for lower layer solutions to bridge the gap. For example, the lower layer may utilize Discovery mechanisms to ensure AAA-Key cache synchronization between the peer and authenticator. If the authenticator manages the AAA-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 key cache. 2.3.4. TSK Key Lifetimes Since the TSKs depend on the AAA-Key, replacement of the AAA-Key implies replacement of the TSKs. However, replacement of the TSKs only implies replacement of the AAA-Key when the TSKs are taken from a portion of the AAA-Key. Therefore while the lifetime of the TSKs may be shorter than or equal to the AAA-Key lifetime, the TSK lifetime cannot exceed the AAA-Key lifetime. Where a Secure Association Protocol exists, it is possible for TSKs to be refreshed prior to reauthentication, and so the TSK Aboba, et al. Informational [Page 23] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 Key Lifetime may also be shorter than or equal to the reauthentication timeout. It is therefore RECOMMENDED that the TSK Key lifetime be managed parameter distinct from the reauthentication timeout and the AAA-Key lifetime (except where the TSK is taken from the AAA-Key). Where TSKs are established as the result of a Secure Association Protocol exchange, it is RECOMMENDED that the Secure Association Protocol include secure negotiation of the TSK lifetime between the peer and authenticator. Where the TSK is taken from the AAA-Key, there is no need to manage the TSK lifetime as a separate parameter, since the TSK lifetime and AAA-Key lifetime are identical. As described in Section 3, TSKs are part of Service SAs which reside on the peer and authenticator and as with the AAA-Key lifetime, the TSK lifetime is often determined by authenticator resources. As a result, the AAA server has no insight into the TSK derivation process, and by the principle of ciphersuite independence, it is not appropriate for the AAA server to manage any aspect of the TSK derivation process, including the TSK lifetime. 2.4. AAA-Key Scope As described in Appendix E, the AAA-Key is calculated from the EMSK and MSK by the EAP peer and server, and is used as the root of the ciphersuite-specific key hierarchy. Where a backend authentication server is present, the AAA-Key is transported from the EAP server to the authenticator; where it is not present, the AAA-Key is calculated on the authenticator. The AAA-Key is restricted to use between the EAP peer that calculates it, and the authenticator that either calculates it (where no backend authenticator is present) or receives it from the server (where a backend authenticator server is present). However, in practice difficulties arise in ensuring that the AAA-Key is used only within the defined scope. A wide variety of authenticator and peer designs need to be accomodated within the EAP key management framework. An authenticator may contain multiple physical ports; a single physical authenticator may, for the purpose of peer discovery, advertise itself as multiple "virtual authenticators"; authenticators may be compromised of multiple CPUs; authenticators may utilize clustering in order to provide load balancing or failover. Similarly, a peer may support multiple ports; may support multiple CPUs; or may support clustering. As illustrated in Figure 1, an EAP peer with multiple ports may be Aboba, et al. Informational [Page 24] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 attached to one or more authenticators, each with multiple ports. Where an authenticator identifies itself to the peer only via use of a port identifer (such as a link layer address), it may not be obvious to the peer which authenticator ports are associated with which authenticators. Similarly, where an EAP peer identifies itself using a port identifier (such as a link layer address), it may not be obvious to the authenticator which peer ports are associated with which peers. In such situations, the peer and authenticator may not be able to determine the appropriate AAA-Key scope. Additional issues arise when a single physical authenticator advertises itself as multiple "virtual authenticators". In such a situation, the EAP peer may act as though each "virtual authenticator" represented a distinct physical authenticator, thereby restricting the AAA-Key to use with the "virtual authenticator" that it interacts with. However, depending on the architecture of the physical AP, it may or may not share AAA-Keys between "virtual authenticators". Once again, the peer and authenticator may not be in agreement on the AAA-key scope. This lack of synchronization may create security vulnerabilities. For example, where the AAA-Key is shared between "virtual authenticators" an EAP peer could authenticate with the "Guest" "virtual authenticator" and derive a AAA-Key. The peer could then use that AAA-Key within the Secure Association Protocol in order to connect to the "Corporate Intranet" "virtual authenticator" within the same physical authenticator. If the "virtual authenticators" share a AAA-Key cache, then the attempt will be successful. Several measures are recommended to address these issues: [a] Authenticators are REQUIRED to cache associated authorizations along with the AAA-Key and apply authorizations consistently. This ensures that an attacker cannot obtain elevated privileges even where the AAA-Key cache is shared between "virtual authenticators". [b] It is RECOMMENDED that Secure Association Protocols utilize peer and authenticator identities that are unambiguous and do not incorporate implicit assumptions about peer and authenticator architectures. For example, using port-specific MAC addresses as identifiers is a particularly poor choice, given that peers and authenticators may have multiple ports. Aboba, et al. Informational [Page 25] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 [c] It is RECOMMENDED that physical authenticators maintain separate AAA-Key caches for each "virtual authenticator". [d] Where a "virtual authenticator" is implemented, the AAA client MAY also be virtualized. Where a "virtual AAA client" is implemented, each "virtual authenticator" identifies itself distinctly to the AAA server. Where the AAA client and server communicate directly, this enables the AAA server to authenticate each "virtual AAA client" distinctly. [e] The AAA server and authenticator MAY implement additional attributes in order to further restrict the AAA-Key scope. When this is done, it is RECOMMENDED that the Secure Association Protocol be extended to enable the restrictions to be communicated between the authenticator and the peer. For example, in 802.11, the AAA server may provide the authenticator with a list of authorized Called-Station-Ids and/or SSIDs for which the AAA-Key is valid, restricting the use of the AAA-Key by the peer. Similarly, the authenticator may provide the peer with a list of Calling-Station-Ids for which the AAA-Key is valid. 2.5. Fast Handoff Support Within EAP, "fast handoff" is defined as a conversation in which the EAP exchange (phase 1a) and associated AAA passthrough is bypassed, so as to reduce latency. Depending on the fast handoff mechanism, AAA-Key transport (phase 1b) may also be bypassed or it may be provided in a pre-emptive manner as in [IEEE-03-084] and [I-D.irtf- aaaarch-handoff]. The introduction of fast handoff creates a new class of security vulnerabilities as well as requirements for the secure handling of authorization context. 2.5.1. Authorization Issues In a typical network access scenario (dial-in, wireless LAN, etc.) access control mechanisms are typically applied. These mechanisms include user authentication as well as authorization for the offered service. As a part of the authentication process, the AAA network determines the user's authorization profile. The user authorizations are transmitted by the backend authentication server to the EAP authenticator (also known as the Network Access Server or authenticator) included with the AAA-Token, which also contains the AAA-Key, in Phase 1b of the EAP conversation. Typically, the profile is determined based on the user identity, but a certificate presented Aboba, et al. Informational [Page 26] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 by the user may also provide authorization information. The backend authentication server is responsible 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 he or she 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 of day? [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? While the authorization decision is in principle simple, the process is complicated by the distributed nature of AAA decision making. Where brokering entities or proxies are involved, all of the AAA devices in the chain from the authenticator to the home AAA server are involved in the decision. For instance, a broker can disallow access even if the home AAA server would allow it, or a proxy can add authorizations (e.g., bandwidth limits). Decisions can be based on static policy definitions and profiles as well as dynamic state (e.g. time of day or limits on the number of concurrent sessions). In addition to the Accept/Reject decision made by the AAA chain, parameters or constraints can be communicated to the authenticator. The criteria for Accept/Reject decisions or the reasons for choosing particular authorizations are typically not communicated to the authenticator, only the final result. As a result, the authenticator has no way to know what the decision was based on. Was a set of authorization parameters sent because this service is always provided to the user, or was the decision based on the time/day and the capabilities of the requesting authenticator device? 2.5.2. Correctness in Fast Handoff Bypassing all or portions of the AAA conversation creates challenges in ensuring that authorization is properly handled. These include: Aboba, et al. Informational [Page 27] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 [a] Consistent application of session time limits. A fast handoff should not automatically increase the available session time, allowing a user to endlessly extend their network access by changing the point of attachment. [b] Avoidance of privilege elevation. A fast handoff should not result in a user being granted access to services which they are not entitled to. [c] Consideration of dynamic state. In situations in which dynamic state is involved in the access 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 the backend authentication server. [d] Encoding of restrictions. Since a authenticator may not be aware of the criteria considered by a backend authentication server when allowing access, in order to ensure 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 on the new device the same context as would have been created had the new device completed a AAA conversation with the authentication 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, in order to avoid creation of incorrect context. Some backend authentication server and authenticator configurations are incapable of meeting this definition of "correctness". For example, if the old and new device differ in their capabilities, it may be difficult to meet this definition of correctness in a fast handoff mechanism that bypasses AAA. Backend authentication servers often perform conditional evaluation, in which the authorizations returned in an Access-Accept message are contingent on the authenticator or on dynamic state such as the time of day or number of simultaneous sessions. For example, in a heterogeneous deployment, the backend authentication server might return Aboba, et al. Informational [Page 28] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 different authorizations depending on the authenticator making the request, in order to make sure that the requested service is consistent with the authenticator capabilities. If differences between the new and old device would result in the backend authentication server 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 the Access-Request (such aswellthe authenticator-IP-Address, authenticator-Identifier, Vendor-Identifier, etc.) could be examined to determine when VLAN attributes will be returned, as described in [RFC3580]. VLAN support is defined in [IEEE8021Q]. If athree party exchangefast handoff bypassing the backend authentication server were to occur betweenan EAP peer, ana authenticator supporting dynamic VLANs andan EAP server. Figure 3 illustratesanother authenticator which does not, then a guest user with access restricted to a guest VLAN could be given unrestricted access to thetwo party exchange. Here EAPnetwork. Similarly, in a network where access isspoken betweenrestricted based on thepeerday andauthenticator, encapsulatedtime, Service Set Identifier (SSID), Calling-Station-Id or other factors, unless the restrictions are encoded within the authorizations, or alower layer protocol, such as PPP, definedpartial AAA conversation is included, then a fast handoff could result in[RFC1661] or IEEE 802, definedthe user bypassing the restrictions. In practice, these considerations limit the situations in[IEEE802]. Sincewhich fast handoff mechanisms bypassing AAA can be expected to be successful. Where the deployed devices implement the same set of services, it may be possible to do successful fast handoffs within such mechanisms. However, where theauthenticator acts as an endpoint ofsupported services differ between devices, theEAP conversation rather thanfast handoff may not succeed. For example, [RFC2865], section 1.1 states: "A authenticator that does not implement apass-through, EAP methods are implemented ongiven service MUST NOT implement the RADIUS attributes for that service. For example, a authenticatoras well as the peer. If the EAP method negotiated betweenthat is unable to offer ARAP service MUST NOT implement theEAP peer andRADIUS attributes for ARAP. A authenticatorsupports mutual authentication and key derivation, theMUST treat a RADIUS access-accept authorizing an unavailable service as an access-reject instead." Note that this behavior only applies to attributes that are known, but not implemented. For attributes that are unknown, section of 5 of [RFC2865] states: "A RADIUS server MAY ignore Attributes with an unknown Type. A Aboba, et al. Informational [Page 29] INTERNET-DRAFT EAPMaster Session Key (MSK) and Extended Master SessionKey(EMSK) are derived onManagement Framework 26 June 2004 RADIUS client MAY ignore Attributes with an unknown Type." In order to perform a correct fast handoff, if a new device is provided with RADIUS context for a known but unavailable service, then it MUST process this context theEAP peer and authenticator and exported bysame way it would handle a RADIUS Access-Accept requesting an unavailable service. This MUST cause theEAP method. Where nofast handoff to fail. However, if a new device is provided with RADIUS context that indicates an unknown attribute, then this attribute MAY be ignored. Although it may seem somewhat counter-intuitive, failure is indeed the "correct" result where a known but unsupported service is requested. Presumably a correctly configured backend authentication serveris present,would not request that a device carry out a service that it does not implement. This implies that if theMSK and EMSK are known onlynew device were to complete a AAA conversation that it would be likely to receive different service instructions. In such a case, failure of thepeer and authenticator and neitherfast handoff istransportedthe desired result. This will cause the new device toa third party. As demonstratedgo back to the AAA server in[I-D.ietf-roamops-cert], despiteorder to receive theabsence ofappropriate service definition. In practice, this implies that fast handoff mechanisms which bypass AAA are most likely to be successful within abackend authentication server, such exchanges can support roaming between providers;homogeneous device deployment within a single administrative domain. For example, itis even possiblewould not be advisable tosupportcarry out a fast handoffwithout re-authentication. However, this is typically only possible where both the EAP peerbypassing AAA between a authenticator providing confidentiality and another authenticator that does not supportcertificate-based authentication, or wherethis service. The correct result of such a fast handoff would be a failure, since if the handoff were blindly carried out, then the userbase is sufficiently small that EAP authentication can occur locally. In orderwould be moved from a secure toprotectan insecure channel without permission from theEAP conversation,backend authentication server. Thus theEAP method may negotiatedefinition of aciphersuite and derive Transient EAP Keys (TEKs)"known but unsupported service" MUST encompass requests for unavailable security services. This includes vendor-specific attributes related toprovide keys for that ciphersuitesecurity, such as those described inorder to protect some or all of the EAP exchange. The TEKs are stored locally within the[RFC2548]. 3. Security Associations During EAPmethodauthentication and subsequent exchanges, four types of security associations (SAs) arenot exported. Oncecreated: [1] EAPmutual authentication completes and is successful, the secure association protocolmethod SA. This SA isrunbetween the peer andAboba, et al. Expires April 26, 2004 [Page 19] Internet-DraftEAPKey Management Framework October 2003 authenticator. This derives fresh transient session keys (TSKs), provides for the secure negotiation of the ciphersuiteserver. It stores state that can be usedto protect data, and supports mutual proof of possession of the AAA-Key. +-+-+-+-+-+ +-+-+-+-+-+ | | | | | Cipher- | | Cipher- | | Suite | | Suite | | | | | +-+-+-+-+-+ +-+-+-+-+-+ ^ ^ | | V V +-+-+-+-+-+ +-+-+-+-+-+ | | | | | |===============| | | |EAP, TEK Deriv.|Authenti-| | |<------------->| cator | | | | | | | Secure Assoc. | | | peer |<------------->| (EAP | | |===============| server) | | | Link layer | | | | (PPP,IEEE802) | | | | | | |MSK,EMSK | |MSK,EMSK | | (TSKs) | | (TSKs) | | | | | +-+-+-+-+-+ +-+-+-+-+-+ ^ ^ | | | MSK, EMSK | MSK, EMSK | | +-+-+-+-+-+ +-+-+-+-+-+ | | | | | EAP | |for "fast resume" or other functionality in some EAP| | Method | | Method | | | | | |(MK,TEKs)| |(MK,TEKs)| | | | | +-+-+-+-+-+ +-+-+-+-+-+ Figure 3: Relationship betweenmethods. Not all EAP methods create such an SA. [2] EAP-Key SA. This is an SA between the peer andauthenticator (acting as anEAPserver), where no backend authentication serverserver, which ispresent.used to store the keying material exported by the EAP method. Current EAP server implementations do not retain this SA after the Aboba, et al.Expires April 26, 2004Informational [Page20] Internet-Draft30] INTERNET-DRAFT EAP Key Management FrameworkOctober 2003 +-+-+-+-+-+ +-+-+-+-+-+ | | | | | | | | | Cipher- | | Cipher- | | Suite | | Suite | | | | | +-+-+-+-+-+ +-+-+-+-+-+ ^ ^ | | | | | | V V +-+-+-+-+-+ +-+-+-+-+-+ +-+-+-+-+-+ | |===============| |========| | | |EAP, TEK Deriv.| | | | | |<-------------------------------->| backend | | | | | | | | | Secure Assoc. | | AAA-Key| | | peer |<------------->|Authenti-|<-------| auth | | |===============| cator |========| server | | | Link Layer | | AAA | (EAP | | | (PPP,IEEE 802)| |Protocol| server) | | | | | | | |MSK,EMSK | | MSK | |MSK,EMSK | | (TSKs) | | (TSKs) | | | | | | | | | +-+-+-+-+-+ +-+-+-+-+-+ +-+-+-+-+-+ ^ ^ | | | MSK, EMSK | MSK, EMSK | | | | +-+-+-+-+-+ +-+-+-+-+-+ | | | | | EAP | |26 June 2004 EAP| | Method | | Method | | | | | |(MK,TEKs)| |(MK,TEKs)| | | | | +-+-+-+-+-+ +-+-+-+-+-+ Figure 4: Pass-through relationshipconversation completes, but future implementations could use this SA for purposes such as pre-emptive key distribution. [3] AAA SA(s). These SAs are betweenEAP peer,the authenticator and the backend authentication server.Where these conditions cannot be met,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 abackend authenticationresult of phases 1-2 of the conversation (see Section 1.3). 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 istypically required.used for "fast resume": the peer and EAP server can confirm that they are still talking to the same party, perhaps using fewer roundtrips or less computational power. In thisexchange,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 order to support pseudonym-based identity protection. This is typically a cache asdescribedwell (the information can be recreated if the original EAP method SA is lost), but may be stored for longer periods of time. The EAP method SA is not restricted to a particular service or authenticator and is most useful when the peer accesses many different authenticators. An EAP method is responsible for specifying how the parties 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 not typically synchronized between them. EAP method implementations should consider the appropriate lifetime for the EAP method SA. "Fast resume" assumes that the information required (primarily the keys in[RFC3579],theauthenticator acts asEAP method SA) hasn't been compromised. In case the original authentication was carried out using, for instance, apass-through betweensmart card, it may be easier to compromise the EAPpeer and a backend authentication server. In this model,method SA (stored on theauthenticatorPC, for instance), so typically the EAP method SAs have a limited lifetime. Contents: Aboba, et al.Expires April 26, 2004Informational [Page21] Internet-Draft31] INTERNET-DRAFT EAP Key Management FrameworkOctober 2003 delegates the access control decision to26 June 2004 o Implicitly, thebackend authentication server, which acts as a Key Distribution Center (KDC), supplying keying materialEAP method this SA refers toboth theo One or more internal (non-exported) keys o EAPpeer and authenticator. Figure 4 illustrates the case wheremethod SA name o SA lifetime 3.1.1. Example: EAP-TLS In EAP-TLS [RFC2716], after theauthenticator acts as a pass-through. HereEAPis spoken betweenauthentication thepeer and authenticator as before. The authenticator then encapsulates EAP packets within a AAA protocol such as RADIUS [RFC3579] or Diameter [I-D.ietf-aaa-eap], and forwards packets toclient (peer) andfromserver can store thebackend authentication server, which acts asfollowing information: o Implicitly, the EAPserver. Sincemethod this SA refers to (EAP-TLS) o Session identifier (a value selected by theauthenticator acts as a pass-through, EAP methods (as well asserver) o Certificate of thederived EAP Master Key, and TEKs) reside only onother party (server stores thepeerclients's certificate andbackend authentication server. On completion of a successful authentication, EAP methods on the EAP peervice versa) o Ciphersuite andEAP server exportcompression method o TLS Master secret (known as the EAP-TLS MasterSession Key (MSK) and Extended Master SessionKey(EMSK). The backend authentication server then sends a message to the authenticator indicatingor MK) o SA lifetime (ensuring thatauthentication has been successful, providingtheAAA-Key withinSA is not stored forever) o If the client has multiple different credentials (certificates and corresponding private keys), aprotected package known aspointer to those credentials When theAAA-Token. Along withserver initiates EAP-TLS, thekeying material,client can look up theAAA-Token contains attributes namingEAP-TLS SA based on theenclosed keyscredentials it was going to use (certificate andproviding context. The MSKprivate key), andEMSK are used to derivetheAAA-Key and key name which are enclosed withinexpected credentials (certificate or name) of theAAA-Token, transported toserver. If an EAP-TLS SA exists, and it is not too old, theNAS byclient informs theAAA server, and used withinserver about thesecure association protocol for derivationexistence ofTransient Session Keys (TSKs) required forthis SA by including its Session-Id in thenegotiated ciphersuite.TLS ClientHello message. TheTSKs are known only toserver then looks up thepeercorrect SA based on the Session-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 client andauthenticator. 3. Security Associationsserver can store the following information: o Implicitly, the EAP method this SA refers to (EAP-AKA) o A re-authentication pseudonym o The client's permanent identity (IMSI) (server) o Replay protection counter o Authentication keymanagement involves four types of security associations (SAs): [1] EAP SA. This(K_aut) o Encryption key (K_encr) o Original Master Key (MK) o SA lifetime (ensuring that the SA isannot stored forever) When the server initiates EAP-AKA, the client can look up the EAP-AKA SAbetweenbased on thepeer and EAP server, which allows themcredentials it was going toauthenticate each other. [2] EAP method SA. Thisuse (permanent identity). If an EAP-AKA SA exists, and it isalso betweennot too old, thepeer and EAP server. It stores state that can be used for "fast resume" or other functionalityclient informs the server about the existence of this SA by sending its re- authentication pseudonym as its identity insomeEAPmethods. Not allIdentity Response Aboba, et al. Informational [Page 32] INTERNET-DRAFT EAPmethods create such an SA. [3] EAP-Key SA.Key Management Framework 26 June 2004 message, instead of its permanent identity. The server then looks up the correct SA based on this identity. 3.2. EAP-key SA This is an SA between the peer and EAP server, which is used to store the keying material exported by the EAP method. Current EAP server implementations do not retain this SA after the EAP conversation completes, but future implementations could use this SA forpre-emptivepre- emptive key distribution.Aboba, et al. Expires April 26, 2004 [Page 22] Internet-Draft EAP Key Management Framework October 2003 [4]Contents: o Name/identifier for this SA o Identities of the parties o MSK and EMSK o SA lifetime 3.3. AAASA(s). These SAs are betweenSA(s) (authenticator - backend authentication server) In order for the authenticator andthebackend authenticationserver. They permit the partiesserver tomutuallyauthenticate eachother and protectother, they need to store some information. In case thecommunications between them. 3.1 EAPauthenticator and backend authentication server are colocated, and they communicate using local procedure calls or shared memory, this SA(peer - EAP server)need not necessarily contain any information. 3.3.1. Example: RADIUS Inorder forRADIUS, where shared secret authentication is used, thepeerclient and server store each other's IP address andEAP serverthe shared secret, which is used toauthenticate each other, they needcalculate the Response Authenticator [RFC2865] and Message- Authenticator [RFC3579] values, and tostoreencrypt someinformation. The authentication can be based on different mechanisms, suchattributes (such asshared secrets or certificates. IftheauthenticationAAA-Key [RFC2548]). Where IPsec isbased on a shared secret key,used to protect RADIUS [RFC3579] and IKE is used for key management, the parties storethe EAP methodinformation necessary tobe usedauthenticate and authorize thekey.other party (e.g. certificates, trust anchors and names). TheEAP server also storesIKE exchange results in IKE Phase 1 and Phase 2 SAs containing information used to protect thepeer's identity and/or otherconversation (session keys, selected ciphersuite, etc.) 3.3.2. Example: Diameter with TLS When using Diameter protected by TLS, the parties store information necessary todecide whether access to some service should be granted.authenticate and authorize the other party (e.g. certificates, trust anchors and names). Thepeer storesTLS handshake results in a short-term TLS SA that contains informationnecessary to choose which secretused touse for which service. 3.2protect the Aboba, et al. Informational [Page 33] INTERNET-DRAFT EAPmethod SAKey Management Framework 26 June 2004 actual communications (session keys, selected TLS ciphersuite, etc.). 3.4. Service SA(s) (peer -EAP server) An EAP method may store some state onauthenticator) The service SA stores information about thepeer and EAP server even after phase 1a has completed. Typically, this is used for "fast resume":service being provided. This includes: o Service parameters (or at least those parameters that are still needed) o On thepeer and EAPauthenticator, service authorization information received from the backend authentication servercan confirm that they are still talking(or necessary parts of it) o On the peer, usually locally configured service authorization information. o Transient Session Keys used to protect thesame party, perhaps using fewer roundtripscommunication o The AAA-Key, if it can be needed again (to refresh and/or resynchronize other keys orless computational power. In this case, the EAP method SA is essentially a cacheforperformance optimization, and either party may removeanother reason) o AAA-Key lifetime The information in the service SAfrom its cache at any point. An EAP method may also keep state in order to support pseudonym-based identity protection. This is typically a cache as well (the informationcan berecreated ifgrouped into several different SAs. This would make sense if, for instance, theoriginal EAP methodservice provided is naturally divided into several different subconversations with different parameters. How exactly the relevant service SA islost), but maychosen at each point depends on the protocol; see below for examples. 3.4.1. Example: 802.11i [IEEE802.11i] Section 8.4.1.1 defines the security associations used within IEEE 802.11. A summary follows; the standard should bestoredconsulted forlonger periods of time.details. o Pairwise Master Key Security Association (PMKSA) TheEAP method SAPMKSA isnot restricted toaparticular service or authenticatorbi-directional SA, used by both parties for sending and receiving. It ismost useful whencreated on the peeraccesses many different authenticators. An EAP method is responsible for specifying how the parties select if an existingwhen EAPmethod SA should be used, and if so, which one. Where multiple backendauthenticationservers are used, EAP method SAs are not typically synchronized between them. EAP method implementations should considercompletes successfully or a pre-shared key is configured. The PMKSA is created on theappropriate lifetime forauthenticator when theEAP method SA. "Fast resume" assumes thatPMK is received or created on theinformation required (primarilyauthenticator or a pre-shared key is configured. The PMKSA is used to create thekeys inPTKSA. PMKSAs are cached for their lifetimes. The PMKSA consists of theEAP method SA) hasn't beenfollowing elements: - PMKID (security association identifier) - Authenticator MAC address - PMK - Lifetime - Authenticated Key Management Protocol (AKMP) Aboba, et al.Expires April 26, 2004Informational [Page23] Internet-Draft34] INTERNET-DRAFT EAP Key Management FrameworkOctober 2003 compromised. In case the original authentication was carried out using, for instance, a smart card, it may be easier to compromise the EAP method SA (stored on26 June 2004 - Authorization parameters specified thePC, for instance), so typicallyAAA server or by local configuration. This can include parameters such as theEAP method SAs have a limited lifetime. Contents: o Implicitly,peer's authorized SSID. On theEAP methodpeer, thisSA refersinformation can be locally configured. - Key replay counters (for EAPOL-Key messages) - Reference to PTKSA (if any), needed to: oOne or more internal (non-exported) keysdelete it (e.g. AAA server initiated disconnect) oEAP method SA namereplace it when a new four-way handshake is done - Reference to accounting context (the details of which depend on the accounting protocol used, and various implementation 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 SAlifetime 3.2.1 Example: EAP-TLS In EAP-TLS [RFC2716], after the EAP authenticationcreated as theclient (peer)result of a successful four-way handshake. There may only be one PTKSA between a pair of peer andserver can storeauthenticator MAC addresses. PTKSAs are cached for thefollowing information: o Implicitly,lifetime of theEAP method this SA refersPMKSA. Since the PTKSA is tied to(EAP-TLS) o Session identifier (a value selected bytheserver) o CertificatePMKSA, it only has the addititional information from the 4-way handshake. The PTKSA consists of theother party (server storesfollowing: - Key (PTK) - Selected ciphersuite - MAC addresses of theclients's certificateparties - Replay counters, andvice versa)ciphersuite specific state - Reference to PMKSA: This is needed when: oCiphersuiteA new four-way handshake is needed (lifetime, TKIP countermeasures), andcompression methodwe need to know which PMKSA to use oTLS Master secret (known asGroup Transient Key Security Association (GTKSA) The GTKSA is a uni-directional SA created based on theEAP-TLS Masterfour-way handshake or the group key handshake. A GTKSA consists of the following: - Direction vector (whether the GTK is used for transmit or receive) - Group cipher suite selector - Key (GTK) - Authenticator MAC addres - Via reference to PMKSA, orMK)copied here: oSA lifetime (ensuringAuthorization parameters o Reference to accounting context Aboba, et al. Informational [Page 35] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 3.4.2. Example: IKEv2/IPsec Note thatthe SAthis example is intended to be informative, and it does notstored forever)necessarily include all information stored. oIfIKEv2 SA - Protocol version - Identitities of theclient has multiple different credentials (certificates and corresponding private keys), a pointer to those credentials Whenparties - 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 theserver initiates EAP-TLS,authenticator, service authorization information received from theclient can lookbackend authentication server. When processing an incoming message, the correct SA is looked up based on theEAP-TLSSPIs. 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. 3.4.3. Sharing service SAs A single service may be provided by multiple logical or physical service elements. Each service is responsible for specifying how changing service elements is handled. Some approaches include: Transparent sharing If thecredentials it was goingservice parameters visible touse (certificate and private key), andtheexpected credentials (certificateother party (either peer orname) of the server. If an EAP-TLS SA exists, and it isauthenticator) do nottoo old, the client informschange, theserver aboutservice can be moved without requiring cooperation from theexistenceother party. Whether such a move should be supported or used depends on implementation and administrative considerations. For instance, an Aboba, et al. Informational [Page 36] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 administrator may decide to configure a group ofthis SA by including its Session-IdIKEv2/IPsec gateways in a cluster for high-availability purposes, if theTLS ClientHello message.implementation used supports this. Theserver then looks uppeer does not necessarily have any way of knowing when thecorrect SA based onchange occurs. No sharing If theSession-Id (or detects thatservice parameters require changing, some changes may require terminating the old service, and starting a new conversation from phase 0. This approach is used by all services for at least some parameters, and it doesn'tyet have one). 3.2.2 Example: EAP-AKA In EAP-AKA [I-D.arkko-pppext-eap-aka], after EAP authenticationrequire any protocol for transferring theclient and server can storeservice SA between thefollowing information: o Implicitly,service elements. The service may support keeping theEAP method this SA refersold service element active while the new conversation takes phase, to(EAP-AKA) o A re-authentication pseudonym o The client's permanent identity (IMSI) (server) o Replay protection counter o Authentication key (K_aut) o Encryption key (K_encr) o Original Master Key (MK) Aboba, et al. Expires April 26, 2004 [Page 24] Internet-Draft EAP Key Management Framework October 2003 o SA lifetime (ensuring thatdecrease theSAtime the service is notstored forever) When the server initiates EAP-AKA,available. Some sharing The service may allow changing some parameters by simply agreeing about theclient can look upnew values. This may involve a similar exchange as in phase 2, or perhaps a shorter conversation. This option usually requires some protocol for transferring theEAP-AKAservice SAbased onbetween thecredentials it was goingelements. An administrator may decide not touse (permanent identity). If an EAP-AKA SA exists,enable this feature at all, andittypically the sharing is restricted to some particular service elements (defined either by a service parameter, or simple administrative decision). If the old and new service element do nottoo old,support such "context transfer", this approach falls back to theclient informsprevious option (no transfer). Services supporting this feature should also consider what changes require new authorization from the backend authentication serverabout(see Section 1.7). Note that these considerations are not limited to service parameters related to theexistence of this SA by sending its re-authentication pseudonymauthenticator--they apply to peer's parameters asits identity in EAP Identity Response message, insteadwell. 3.5. SA Naming In order to support the correct processing ofits permanent identity. The server then looks upphase 2 security associations, the Secure Association (phase 2) protocol supports the naming of phase 2 security associations and associated transient session keys, so that the correctSA based on this identity. 3.3 EAP-key SA This is an SAset of transient session keys can be identified for processing a given packet. Explicit creation and deletion operations are also typically supported so that establishment and re-establishment of transient session keys can be synchronized between thepeer andparties. Aboba, et al. Informational [Page 37] INTERNET-DRAFT EAPserver, which is usedKey Management Framework 26 June 2004 In order tostore the keying material exported bysecurely bind theEAP method. Current EAP server implementations do not retain thisAAA SAafter(phase 1b) to its child phase 2 security associations, the phase 2 Secure Association Protocol allows the EAPconversation completes, but future implementations could use this SA for pre-emptive key distribution. Contents: o Name/identifier for this SA o Identitiespeer and authenticator to mutually prove possession of theparties o MSK and EMSK 3.4 AAA SA(s) (authenticator - backend auth. server)AAA-Key. In orderfor the authenticator and backend authentication server to authenticate each other, they needtostore some information. In caseavoid confusion in 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.4.1 Example: RADIUS In RADIUS,case whereshared secret authenticationan EAP peer has more than one AAA-Key (phase 1b) applicable to establishment of a phase 2 security association, it isused, the client and server store each other's IP address andnecessary for theshared secret, which is usedsecure Association Protocol (phase 2) tocalculatesupport key selection, so that theResponse Authenticator [RFC2865] and Message-Authenticator [RFC3579] values, andappropriate phase 1b keying material can be utilized by both parties in the Secure Association Protocol exchange. For example, a peer might be pre-configured with policy indicating the ciphersuite toencrypt some attributes (such asbe used in communicating with a given authenticator. Within PPP, theAAA-Key [RFC2548]). Where IPsecciphersuite isused to protect RADIUS [RFC3579] and IKEnegotiated within the Encryption Control Protocol (ECP), after EAP authentication isused for key management,completed. Within [IEEE80211i], the AP ciphersuites are advertised in theparties store information necessary to authenticateBeacon andauthorize the other party (e.g. certificates, trust anchorsProbe Responses, andnames). The IKEare securely verified during a 4-way exchangeresults in IKE Phase 1 and Phase 2 SAs containing information used to protect the conversation (session keys, selected ciphersuite, etc.) Aboba, et al. Expires April 26, 2004 [Page 25] Internet-Draftafter EAPKey Management Framework October 2003 3.4.2 Example: Diameter with TLS When using Diameter protected by TLS,authentication has completed. As part of theparties store informationSecure Association Protocol (phase 2), it is necessary toauthenticate and authorizebind theother party (e.g. certificates, trust anchors and names). The TLS handshake resultsTransient Session Keys (TSKs) to the keying material provided ina short-term TLS SAthe AAA-Token. This ensures thatcontains information usedthe EAP peer and authenticator are both clear about what key toprotectuse to provide mutual proof of possession. Keys within theactual communications (session keys, selected TLS ciphersuite, etc.). 3.5 Unicast Secure AssociationEAP key hierarchy are named as follows: EAP SA name Theunicast secureEAP security associationSA existsis negotiated between the EAP peer andauthenticator. It includes: theEAP server, and is uniquely named as follows <EAP peerport identifier (Calling-Station-Id) the NAS port identifier (Called-Station-Id) the unicast Transient Session Keys (TSKs) the unicast secure associationname, EAP server name, EAP Method Type, EAP peernonce the unicast secure association authenticator noncenonce, EAP server nonce>. Here thenegotiated unicast capabilitiesEAP peer name andunicast ciphersuite. DuringEAP server name are thephase 2a exchange,identifiers securely exchanged within the EAP method. Since multiple EAP SAs may exist between an EAP peer and EAP server, the EAP peer nonce andauthenticator demonstrate mutual possessionEAP server nonce allow EAP SAs to be differentiated. The inclusion of theAAA-Key derived and transportedMethod Type inphase 1; securely negotiatethesession capabilities (including unicast ciphersuites), and derive fresh unicast transient session keys.EAP SA name ensures that each EAP method has a distinct EAP SA space. AAA-Key Name The AAA-KeySA (phase 1b)istherefore used to createnamed by theunicast secure associationconcatenation of the EAP SA(phase 2a),name, "AAA- Key" andintheprocessauthenticator name, since thephase 2a unicast secure association SAAAA-Key is bound toportsa particular authenticator. For the purpose of identification, the NAS-Identifier attribute is recommended. In order to ensure that all parties can agree on the NAS name this requires the NAS to advertise its name (typically using a media-specific mechanism, such as the 802.11 Beacon/Probe Response)." Aboba, et al. Informational [Page 38] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 4. Security considerations 4.1. Security Terminology Cryptographic binding The demonstration of the EAP peer to the EAP server that a single entity has acted as the EAP peerand authenticator. However in orderfor all methods executed within aphase 2a security associationtunnel method. Binding MAY also imply that the EAP server demonstrates tobe established, it is not necessarythe peer that a single entity has acted as the EAP server for all methods executed within a tunnel method. If executed correctly, binding serves to mitigate man-in-the-middle vulnerabilities. Cryptographic separation Two keys (x and y) are "cryptographically separate" if an adversary that knows all messages exchanged in the protocol cannot compute x from y or y from x without "breaking" some cryptographic assumption. In particular, this definition allows that thephase 1a exchange to be rerun each time. This enablesadversary has theEAP exchange to be bypassed when fast handoff support is desired. Since both peer and authenticatorknowledge of all noncesaresent in cleartext as well as all predictable counter values used in thecreationprotocol. Breaking a cryptographic assumption would typically require inverting a one- way function or predicting the outcome of a cryptographic pseudo- random number generator without knowledge of theunicast secure association SA,secret state. In other words, if thetransient sessionkeys(TSKs)areguaranteed to be fresh, even if the AAA-Keycryptographically separate, there isnot. As a result oneno shortcut to compute x from y ormore unicast secure association SAs (phase 2a) may be derivedy froma single AAA-Key SA (phase 1b). The phase 2a security associations may utilizex, but thesame security parameters (e.g. mode, ciphersuite, etc.) or they may utilize different parameters. A unicast secure association SA (phase 2a) may not persist longer thanwork an adversary must do to perform this computation is equivalent to performing exhaustive search for themaximum lifetime of its parent AAA-Key SA (if known). However,secret state value. Key strength If thedeletioneffective key strength is N bits, the best currently known methods to recover the key (with non-negligible probability) require on average an effort comparable to 2^(N-1) operations of aparenttypical block cipher. Mutual authentication This refers to an EAPor AAA-Key SA does not necessarily imply deletion ofmethod in which, within an interlocked exchange, thecorresponding unicast secure association SA. Similarly,authenticator authenticates thedeletion of a unicast secure association protocol SA does not implypeer and thedeletion ofpeer authenticates theparent AAA-key SA orauthenticator. Two independent one-way methods, running in opposite directions do not provide mutual authentication as defined here. 4.2. Threat Model The EAPSA. Failurethreat model is described in [RFC3748], Section 7.1. In order tomutually prove possession of the AAA-Key duringaddress these threats, EAP relies on theunicast secure association protocol exchangesecurity properties of EAP methods (known as "security claims", described in [RFC3784], Section 7.2.1). EAP method requirements for application such as Wireless LAN authentication are described in [WLANREQ]. Aboba, et al.Expires April 26, 2004Informational [Page26] Internet-Draft39] INTERNET-DRAFT EAP Key Management FrameworkOctober 2003 (phase 2a) need not be grounds26 June 2004 The RADIUS threat model is described in [RFC3579] Section 4.1, and responses to these threats are described in [RFC3579] Sections 4.2 and 4.3. Among other things, [RFC3579] Section 4.2 recommends the use of IPsec ESP with non-null transform to provide per-packet authentication and confidentiality, integrity and replay protection forremovalRADIUS/EAP. Given the existing documentation ofa AAA-Key SA by both parties; rate-limiting unicast secure association exchanges should sufficeEAP and AAA threat models and responses, there is no need toprevent a brute force attack.duplicate that material here. However, there are many other system-level threats no covered in these document which have not been described or analyzed elsewhere. These include: [1] AnEAP peerattacker maybe abletry tonegotiate multiple phase 2a SAs with a singlemodify 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-band mechanisms (such as via a AAA or lower layer protocol). This includes impersonating another authenticator, or providing inconsistent information to the peer and EAP server. [3] An attacker maybe ableattempt tomaintain multiple phase 2a SAs with multiple authenticators, basedperform downgrading attacks ona single EAP SA derivedthe ciphersuite negotiation within the Secure Association Protocol inphase 1a. For example, duringorder to ensure that are-key of the secure association protocol SA, itweaker ciphersuite ispossible for two phase 2a SAsused toexist during the period between whenprotect data. Depending on thenew phase 2a SA parameters (such aslower layer, these attacks may be carried out without requiring physical proximity. In order to address these threats, [Housley56] describes theTSKs) are calculated and when theymandatory system security properties: Algorithm independence Wherever cryptographic algorithms areinstalled. Except where explicitly specified bychosen, thesemantics of the unicast secure association protocol, it should notalgorithms must beassumed that the installationnegotiable, in order to provide resilient against compromise of anew phase 2a SA necessarily implies deletionparticular algorithm. Algorithm independence must be demonstrated within all aspects of theold phase 2a SA. On some media (e.g. 802.11) a port on an EAP peer may only establish phase 2a and 2b SAs with a single port of an authenticatorsystem, including withina given Local Area Network (LAN). This implies that the successful negotiation of phase 2a and/or 2b SAs between an EAP peer portEAP, AAA anda new authentiator port within a given LAN impliesthedeletionSecure Association Protocol. However, for interoperability, at least one suite ofexisting phase 2a and 2b SAs with authenticators offering accessalgorithms MUST be implemented. Strong, fresh session keys Session keys must be demonstrated tothat Local Area Network (LAN). However, since a given IEEE 802.11 SSID maybecomprised of multiple LANs, this does not imply an implicit binding of phase 2astrong and2b SAs to an SSID. 3.6 Multicastfresh in all circumstances, while at the same time retaining algorithm independence. Replay protection All protocol exchanges must be replay protected. This includes Aboba, et al. Informational [Page 40] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 exchanges within EAP, AAA, and the Secure AssociationSAProtocol. Authentication All parties need to be authenticated. Themulticast secure association SA includes:confidentiality of themulticast Transientauthenticator must be maintained. No plaintext passwords are allowed. Authorization EAP peer and authenticator authorization must be performed. SessionKeys the direction vector (for a uni-directional SA)keys Confidentiality of session keys must be maintained. Ciphersuite negotiation The selection of thenegotiated multicast capabilities and multicast"best" ciphersuiteIt is possible for more than one multicast secure association SA tomust bederived fromsecurely confirmed. Unique naming Session keys must be uniquely named. Domino effect Compromise of a singleunicast secure association SA. However, a multicast secure association SA isauthenticator cannot compromise any other part of the system, including session keys and long-term secrets. Key binding The key must be bound toa singlethe appropriate context. 4.3. Security Analysis Figure 6 illustrates the relationship between the peer, authenticator and backend authentication server. EAPSApeer /\ / \ 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 anda single AAA-Key SA. During a re-keyauth. server The peer and EAP server communicate using EAP [RFC3748]. The Aboba, et al. Informational [Page 41] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 security properties of this communication are largely determined by themulticast secure association protocol SA, it is possiblechosen 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. At a minimum, methods claiming to support key derivation must also support mutual authentication. As noted in [RFC3748] Section 7.10: EAP Methods deriving keys MUST provide fortwo phase 2b SAs to exist during the periodmutual authentication betweenwhen the new phase 2b SA parameters (such asthemulticast TSKs) are calculatedEAP peer andwhen they are installed. Except where explicitly specified bythesemantics of the multicast secure association protocol, it should notEAP Server. Ciphersuite independence is also required: Keying material exported by EAP methods MUST beassumed thatindependent of theinstallationciphersuite negotiated to protect data. In terms ofa new phase 2b SA necessarily implies deletionkey strength and freshness, [RFC3748] Section 10 says: EAP methods SHOULD ensure the freshness of theold phase 2b SA. A multicast secure association SA (phase 2b)MSK and EMSK even in cases where one party may notpersist longer thanhave a high quality random number generator.... In order to preserve algorithm independence, EAP methods deriving keys SHOULD support (and document) themaximum lifetimeprotected negotiation ofits parent AAA-Key or unicast secure Aboba, et al. Expires April 26, 2004 [Page 27] Internet-Draftthe ciphersuite used to protect the EAPKey Management Framework October 2003 association SA. However,conversation between thedeletionpeer and server... In order to enable deployments requiring strong keys, EAP methods supporting key derivation SHOULD be capable 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 aparent EAP, AAA-KeyAAA protocol such as RADIUS [RFC3579] orunicast secure association SA does not necessarily imply deletion of the corresponding multicast secure association SA.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 and confidentiality. Replay protection must be supported. Forexample, a unicast secure association SA mayRADIUS, [RFC3579] Section 4.2 recommends that RADIUS berekeyed without implying a rekey of the multicast secure association SA. Similarly, the deletion ofprotected by IPsec ESP with amulticast secure association protocol SA does not imply the deletion ofnon-null transform, and where IPsec is implemented replay protection must be supported. The peer and authenticator communicate using theparent EAP, AAA-Key or unicast secure association SA. Failure to mutually prove possession ofSecure Association Protocol. As noted in theAAA-Key duringfigure, each party in theunicast secure association protocolexchange(phase 2a) need not be grounds for removalmutually authenticates with each of theAAA-Key, unicast secure associationother parties, andmulticast secure association SAs; rate-limiting unicast secure association exchanges should suffice to preventderives abrute force attack. 3.7 Key Naming In order to supportunique key. All parties in thecorrect processing of phase 2 security associations,diagram have access to thesecure association (phase 2) protocol supportsAAA-Key. The EAP peer and backend authentication server mutually authenticate Aboba, et al. Informational [Page 42] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 via thenaming of phase 2 security associationsEAP method, andassociated transient session keys, so thatderive thecorrect set of transient session keys can be identified for processing a given packet. Explicit creationTEKs anddeletion operationsEMSK which arealso typically supported so that establishment and re-establishmentknown only to them. The TEKs are used to protect some or all oftransient session keys can be synchronizedthe EAP conversation between theparties. In orderpeer and authenticator, so as tosecurely bindguard against modification or insertion of EAP packets by an attacker. The degree of protection afforded by theAAA SA (phase 1b) to its child phase 2 security associations,TEKs is determined by thephase 2 secure association protocol allowsEAP method; some methods may protect the entire EAPpeer and authenticator to mutually prove possessionpacket, including the EAP header, while other methods may only protect the contents of theAAA-Key. In order to avoid confusionType-Data field, defined in [RFC3748]. Since EAP is spoken only between thecase where anEAP peerhas more than one AAA-Key (phase 1b) applicable to establishment ofand server, if aphase 2 security association, itbackend authentication server isnecessary forpresent then thesecure association protocol (phase 2) to support key selection, so thatEAP conversation does not provide mutual authentication between theappropriate phase 1b keying material can be utilized by both parties inpeer and authenticator, only between thesecure association protocol exchange. For example,EAP peer and EAP server (backend authentication server). As a result, mutual authentication between the peermight be pre-configured with policy indicatingand authenticator only occurs where a Secure Association protocol is used, such theciphersuite to be usedunicast and group key derivation handshake supported incommunicating with[IEEE80211i]. This means that absent use of agiven authenticator. Within PPP,secure Association Protocol, from theciphersuite is negotiated withinpoint of view of theEncryption Control Protocol (ECP), afterpeer, EAP mutual authentication only proves that the authenticator iscompleted. Within [IEEE80211i],trusted by theAP ciphersuites are advertised inbackend authentication server; theBeaconidentity of the authenticator 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 provide per-packet integrity andProbe Responses,replay protection, authentication andare securely verified during a 4-way exchange after EAPconfidentiality. The AAA-Key is distributed by the backend authenticationhas completed. Asserver to the authenticator over this channel, bound to attributes constraining its usage, as part of thesecure association protocol (phase 2), it is necessaryAAA-Token. The binding of attributes tobindtheTransient Session Keys (TSKs) toAAA-Key within a protected package is important so the authenticator receiving the AAA-Token can determine that it has not been compromised, and that the keying materialprovidedhas not been replayed, or mis-directed inthe AAA-Token. This ensures thatsome way. The security properties of the EAPpeer and authenticatorexchange areboth clear about what key to use to provide mutual Aboba, et al. Expires April 26, 2004 [Page 28] Internet-Draft EAP Key Management Framework October 2003 proofdependent on each leg ofpossession. Keys withintheEAP key hierarchy are named as follows: EAP SA name The EAP security association is negotiated betweentriangle: the selected EAPpeermethod, AAA protocol andEAP server,the Secure Association Protocol. Assuming that the AAA protocol 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 isuniquely namedwrapped appropriately, it can be assumed to be immune to compromise by a snooping attacker. Where an untrusted AAA intermediary is present, the AAA-Token must not be provided to the intermediary so asfollows <EAP peer name, EAP server name, EAP Method Type, EAP peer nonce, EAP server nonce>. Hereto avoid compromise of the AAA-Token. This can be avoided by use of re-direct as defined in [RFC3588]. Aboba, et al. Informational [Page 43] INTERNET-DRAFT EAPpeer name andKey Management Framework 26 June 2004 When EAPserver name areis used for authentication on PPP or wired IEEE 802 networks, it is typically assumed that theidentifiers securely exchanged withinlink is physically secure, so that an attacker cannot gain access to the link, or insert a rogue device. EAPmethod. Since multiple EAP SAs may exist between anmethods defined in [RFC3748] reflect this usage model. These include EAPpeerMD5, as well as One-Time Password (OTP) andEAP server, theGeneric Token Card. These methods support one-way authentication (from EAP peernonce and EAP server nonce allow EAP SAstobe differentiated. The inclusion ofauthenticator) but not mutual authentication or key derivation. As a result, these methods do not bind theMethod Type ininitial authentication and subsequent data traffic, even when theEAP SA name ensures that each EAP method hasthe ciphersuite used to protect data supports per-packet authentication and integrity protection. As adistinct EAP SA space. MK Name Theresult, EAPMaster Key, if supportedmethods not 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 access the wireless medium, or act as anEAP method, is namedaccess point. As a 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 by methods such as EAP-TLS [RFC2716] are required [IEEE80211i], so as to address theconcatenationthreat of rogue devices, and provide keying material to bind the initial authentication to subsequent data traffic. If the selected EAPSA name and a method-specific session-id. AAA-Key Name The AAA-Key is named bymethod does not support mutual authentication, then theconcatenation ofpeer will be vulnerable to attack by rogue authenticators and backend authentication servers. If the EAPSA name, "AAA-Key"method does not derive keys, then TSKs will not be available for use with a negotiated ciphersuite, and there will be no binding between theauthenticator name, sinceinitial EAP authentication and subsequent data traffic, leaving theAAA-Key is boundsession vulnerable toa particular authenticator. Forhijack. If thepurposebackend authentication server does not protect against authenticator masquerade, or provide the proper binding ofidentification,theNAS-Identifier attribute is recommended. In orderAAA- Key toensure that all parties can agree ontheNAS name this requiressession within theNASAAA-Token, then one or more AAA-Keys may be sent to an unauthorized party, and an attacker may be able to gain access toadvertise its name (typically using a media-specific mechanism, such as the 802.11 Beacon/Probe Response)." 4. Threat Model 4.1 Security Assumptions Figure 5 illustratestherelationship betweennetwork. If thepeer, authenticator and backend authentication server. As noted inAAA-Token is provided to an untrusted AAA intermediary, then that intermediary may be able to modify thefigure, each party inAAA-Key, or theexchange mutually authenticatesattributes associated witheach of the other parties, and derives a unique key. All partiesit, as described in [RFC2607]. If the Secure Association Protocol does not provide mutual proof of possession of thediagramAAA-Key material, then the peer will not haveaccessassurance that it is connected to theAAA-Key.correct authenticator, only that the authenticator and backend authentication server share a trust relationship (since AAA protocols support mutual authentication). This distinction can become important when multiple Aboba, et al.Expires April 26, 2004Informational [Page29] Internet-Draft44] INTERNET-DRAFT EAP Key Management FrameworkOctober 2003 EAP peer /\\ / \\ Protocol: EAP / \\ Protocol: Secure Association Auth: Mutual / \\ Auth: Mutual Unique keys: MK, / \\ Unique keys: TSKs TEKs,EMSK / \\ / \\ Auth. server +--------------+ Authenticator Protocol: AAA Auth: Mutual Unique key: AAA session key Figure 5: Three-party EAP key distribution The EAP peer and26 June 2004 authenticators receive AAA-Keys from the backend authenticationserver mutually authenticate via the EAP method, and deriveserver, such as where fast handoff is supported. If theMK, TEKsTSK derivation does not provide for protected ciphersuite andEMSK whichcapabilities negotiation, then downgrade attacks areknown onlypossible. 4.4. Man-in-the-middle Attacks As described in [I-D.puthenkulam-eap-binding], EAP method sequences and compound authentication mechanisms may be subject tothem. The TEKsman-in-the- middle attacks. When such attacks areused to protect some or all ofsuccessfully carried out, theEAP conversationattacker acts as an intermediary betweenthe peera victim and a legitimate authenticator. This allows the attacker to authenticate successfully to the authenticator,soas well as toguard against modification or insertion of EAP packets by an attacker. The degree of protection afforded by the TEKs is determined by the EAP method; some methods may protect the entire EAP packet, including the EAP header, while other methods may only protectobtain access to thecontentsnetwork. In order to prevent these attacks, [I-D.puthenkulam-eap-binding] recommends derivation ofthe Type-Data field, defined in [I-D.ietf-eap-rfc2284bis]. Since EAP is spoken only betweena compound key by which the EAP peer andserver, if a backend authenticationserveris present thencan prove that they have participated in the entire EAPconversation does not provide mutual authentication betweenexchange. Since thepeer andcompound key must not be known to an attacker posing as an authenticator,only between the EAP peerand yet must be derived from quantities that are exported by EAPserver (backend authentication server). As a result, mutual authentication betweenmethods, it may be desirable to derive thepeer and authenticator only occurs wherecompound key from asecure association protocol is used, suchportion of theunicast and groupEMSK. In order to provide proper keyderivation handshake supported in [IEEE80211i]. This meanshygiene, it is recommended thatabsent use of a secure association protocol,the compound key used for man-in- the-middle protection be cryptographically separate from other keys derived from thepointEMSK, such as fast handoff keys, discussed in Appendix E. 4.5. Denial ofviewService Attacks The caching ofthe peer,security associations may result in vulnerability to denial of service attacks. Since an EAPmutual authentication only proves that the authenticator is trusted by the backend authentication server; the identitypeer may derive multiple EAP SAs with a given EAP server, and creation ofthe authenticator isa new EAP SA does notconfirmed. Utilizing the AAA protocol,implicitly delete a previous EAP SA, EAP methods that result in creation of persistent state may be vulnerable to denial of service attacks by a rogue EAP peer. As a result, EAP methods creating persistent state may wish to limit theauthenticator and backend authenticationnumber of cached EAP SAs (Phase 1a) corresponding to an EAP peer. For example, an EAP servermutually authenticate and derive session keys knownmay choose to only retain a few EAP SAs for each peer. This prevents a rogue peer from denying access tothem, usedother peers. Similarly, an authenticator may have multiple AAA-Key SAs corresponding toprovide per-packet integrity and replay protection, authentication and confidentiality. The MSK is distributed by the backend authentication servera given EAP peer; totheconserve resources an authenticatorover this channel, boundmay choose toattributes constraining its usage, as part oflimit theAAA-Token. The bindingnumber ofattributes tocached AAA-Key (Phase 1 b) SAs for each peer. Depending on theMSK withinmedia, creation of aprotected package is important so the authenticator receiving the AAA-Token can determine that it has not been compromised, and that the keying material has not been replayed,new unicast Secure Association SA may ormis-directed in somemay not imply deletion of a previous unicast secure Aboba, et al.Expires April 26, 2004Informational [Page30] Internet-Draft45] INTERNET-DRAFT EAP Key Management FrameworkOctober 2003 way. The security properties of26 June 2004 association SA. Where there is no implied deletion, theEAP exchange are dependent onauthenticator may choose to limit Phase 2 (unicast and multicast) Secure Association SAs for eachleg ofpeer. 4.6. Impersonation Both thetriangle:RADIUS and Diameter protocols are potentially vulnerable to impersonation by a rogue authenticator. While AAA protocols such as RADIUS [RFC2865] or Diameter [RFC3588] support mutual authentication between the authenticator (known as theselected EAP method,AAAprotocolclient) and thesecure association protocol. Assuming thatbackend authentication server (known as the AAAprotocol provides protection against rogue authenticators forging their identity, thenserver), theAAA-Token can be assumed to be sentsecurity mechanisms vary according to thecorrect authenticator, and where it is wrapped appropriately, it can be assumed to be immune to compromise by a snooping attacker. Where an untrustedAAAintermediary is present,protocol. In RADIUS, theAAA-Token must not be provided toshared secret used for authentication is determined by theintermediary so as to avoid compromisesource address of theAAA-Token. This can be avoided by use of re-direct as definedRADIUS packet. As noted in[RFC3588]. When EAP is used for authentication on PPP or wired IEEE 802 networks,[RFC3579] Section 4.3.7, it istypically assumedhighly desirable that thelink is physically secure,source address be checked against one or more NAS identification attributes sothat an attacker cannot gain accessas to detect and prevent impersonation attacks. When RADIUS requests are forwarded by a proxy, thelink,NAS-IP-Address orinsert a rogue device. EAP methods defined in [I-D.ietf-eap-rfc2284bis] 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 peerNAS-IPv6-Address attributes may not correspond toauthenticator) butthe source address. Since the NAS-Identifier attribute need notmutual authentication or key derivation. As a result, these methods docontain an FQDN, it also may notbindcorrespond to theinitial authentication and subsequent data traffic,source address, evenwhenindirectly. [RFC2865] Section 3 states: A RADIUS server MUST use the source IP address of theciphersuite usedRADIUS UDP packet to decide which shared secret toprotect data supports per-packet authentication and integrity protection. Asuse, so that RADIUS requests can be proxied. This implies that it is possible for aresult, EAP methods not supporting mutual authentication are vulnerable to session hijacking as well as attacks byroguedevices. On wireless networks such as IEEE 802.11 [IEEE80211], these attacks become easyauthenticator tomount, since any attackerforge NAS-IP-Address, NAS-IPv6-Address or NAS-Identifier attributes withinrangea RADIUS Access-Request in order to impersonate another authenticator. Among other things, this canaccessresult in messages (and MSKs) being sent to thewireless medium,wrong authenticator. Since the rogue authenticator is authenticated by the RADIUS proxy oract as an access point. As a result, new ciphersuites have been proposed for use with wireless LANs [IEEE80211i] which provide per-packet authentication, integrity and replay protection.server purely based on the source address, other mechanisms are required to detect the forgery. In addition,mutual authentication and key derivation, provided by methodsit is possible for attributes such asEAP-TLS [RFC2716] are required [IEEE80211i], so as to addressthethreat of rogue devices,Called-Station-Id andprovide keying material to bind the initial authenticationCalling-Station-Id tosubsequent data traffic. If the selected EAP method does not support mutual authentication, then the peer willbevulnerable to attackforged as well. As recommended in [RFC3579], this vulnerability can be mitigated byrogue authenticators and backend authentication servers. Ifhaving RADIUS proxies check authenticator identification attributes against theEAP method does not derive keys, then TSKs will not be available for use with a negotiated ciphersuite,source address. To allow verification of session parameters such as the Called- Station- Id andthere willCalling-Station-Id, these can beno binding betweensent by theinitialEAPauthentication and subsequent data traffic, leavingpeer to thesessionserver, protected by the TEKs. The RADIUS server can then check the parameters sent by the EAP peer against those claimed by Aboba, et al.Expires April 26, 2004Informational [Page31] Internet-Draft46] INTERNET-DRAFT EAP Key Management FrameworkOctober 200326 June 2004 the authenticator. If a discrepancy is found, an error can be logged. While [RFC3588] requires use of the Route-Record AVP, this utilizes FQDNs, so that impersonation detection requires DNS A/AAAA and PTR RRs to be properly configured. As a result, it appears that Diameter is as vulnerable tohijack. Ifthis attack as RADIUS, if not more so. To address this vulnerability, it is necessary to allow the backend authentication serverdoes not protect against authenticator masquerade, or provide the proper binding of the AAA-Keyto communicate with thesession withinauthenticator directly, such as via theAAA-Token, then oneredirect functionality supported in [RFC3588]. 4.7. Channel binding It is possible for a compromised ormore AAA-Keys may be sent to an unauthorized party, and an attacker may be ablepoorly implemented EAP authenticator togain accesscommunicate incorrect information to thenetwork. If the AAA-Token is provided to an untrusted AAA intermediary, then that intermediaryEAP peer and/or server. This maybe ableenable an authenticator tomodify the AAA-Key,impersonate another authenticator orthe attributes associated with it,communicate incorrect information via out- of-band mechanisms (such asdescribedvia a AAA or lower layer protocol). Where EAP is used in[RFC2607]. If the secure association protocol does not provide mutual proof of possession of the AAA-Key material, thenpass-through mode, the EAP peerwilltypically does nothave assurance that it is connected toverify thecorrectidentity of the pass-through authenticator, it only verifies that the pass-through authenticatorand backend authentication server share a trust relationship (since AAA protocols support mutual authentication). This distinction can become important when multiple authenticators receive AAA-Keys from the backend authentication server, such as where fast handoffissupported. Iftrusted by theTSK derivation does not provide for protected ciphersuite and capabilities negotiation, then downgrade attacks are possible. 4.2 Security RequirementsEAP server. Thissection describes thecreates a potential securityrequirements forvulnerability, described in Section 7.15 of [RFC2284bis]. Section 4.3.7 of [RFC3579] describes how an EAPmethods,pass-through authenticator acting as a AAAprotocols, secure association protocols and Ciphersuites. These requirements MUSTclient can bemetdetected if it attempts to impersonate another authenticator (such byspecifications requesting publication as an RFC. Based on these requirements,sending incorrect NAS- Identifier [RFC2865], NAS-IP-Address [RFC2865] or NAS-IPv6-Address [RFC3162] attributes via thesecurity properties of EAP exchanges are analyzed. 4.2.1 EAP method requirements ItAAA protocol). However, it is possible forthe peer and EAP server to mutually authenticate and derive keys. In order to provide keying material for use inasubsequently negotiated ciphersuite, an EAP method supporting key derivation MUST exportpass-through authenticator acting as aMaster Session Key (MSK) of at least 64 octets, and an Extended Master Session Key (EMSK) of at least 64 octets. EAP Methods deriving keys MUSTAAA client to providefor mutual authentication betweencorrect information to theEAP peer andAAA server while communicating misleading information to the EAPServer. The MSK and EMSK MUST NOT be used directly to protect data; however, they are of sufficient size to enable derivation ofpeer via a lower layer protocol. For example, it is possible for aAAA-Key subsequently usedcompromised authenticator toderive Transient Session Keys (TSKs) for useutilize another authenticator's Called-Station-Id or NAS-Identifier in communicating with theselected ciphersuite. Each ciphersuite is responsibleEAP peer via a lower layer protocol, or forspecifying howa pass-through authenticator acting as a AAA client to provide an incorrect peer Calling-Station-Id [RFC2865][RFC3580] toderive the TSKs fromtheAAA-Key. The AAA-Key is derived fromAAA server via thekeying material exportedAAA protocol. As noted in Section 7.15 of [RFC3748] this vulnerability can be addressed bytheuse of EAPmethod (MSKmethods that support a protected exchange of channel properties such as endpoint identifiers, including (but not limited to): Called-Station-Id [RFC2865][RFC3580], Calling-Station-Id [RFC2865][RFC3580], NAS-Identifier [RFC2865], NAS-IP-Address [RFC2865], andEMSK). This derivation occurs on the AAA server. InNAS-IPv6-Address [RFC3162]. Aboba, et al.Expires April 26, 2004Informational [Page32] Internet-Draft47] INTERNET-DRAFT EAP Key Management FrameworkOctober 2003 many existing protocols that use EAP, the AAA-Key and MSK are equivalent, but more complicated mechanisms are possible (see Appendix E for details). EAP methods SHOULD ensure the freshness of the MSK and EMSK even in cases where one party may not have26 June 2004 Using such ahigh quality random number generator. A RECOMMENDED methodprotected exchange, it isfor each partypossible toprovide a nonce of at least 128 bits, used inmatch thederivation ofchannel properties provided by theMSK and EMSK. EAP methods exportauthenticator via out-of-band mechanisms against those exchanged within theMSK and EMSK and not Transient Session Keys so as to allowEAPmethodsmethod. 4.8. Key Strength In order tobe ciphersuite and media independent. Keying material exported byguard against brute force attacks, EAP methodsMUSTderiving keys need to beindependentcapable ofthe ciphersuite negotiatedgenerating keys with an appropriate effective symmetric key strength. In order toprotect data. Depending on the lower layer, EAP methods may run before or after ciphersuite negotiation, soensure thatthe selected ciphersuite maykey generation is notbe known totheEAP method. By providing keying material usable with any ciphersuite,weakest link, it is necessary for EAP methodscan used withutilizing public key cryptography to choose awide range of ciphersuites and media. It is RECOMMENDEDpublic key thatmethods providing integrity protection of EAP packets include coverage of allhas a cryptographic strength meeting theEAP header fields, includingsymmetric key strength requirement. As noted in Section 5 of [RFC3766], this results in theCode, Identifier, Length, Typefollowing required RSA or DH module andType-Data fields. In order to preserve algorithm independence, EAP methods deriving keys SHOULD support (and document) the protected negotiationDSA subgroup size in bits, for a given 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.9. Key Wrap As described in [RFC3579], Section 4.3, known problems exist in theciphersuite used to protectkey wrap specified in [RFC2548]. Where the same RADIUS shared secret is used by a PAP authenticator and an EAPconversation betweenauthenticator, there is a vulnerability to known plaintext attack. Since RADIUS uses thepeer and server. Thisshared secret for multiple purposes, including per-packet authentication, attribute hiding, considerable information isdistinct fromexposed about theciphersuite negotiated betweenshared secret with each packet. This exposes thepeer and authenticator, usedshared secret toprotect data. The strength of Transient Session Keys (TSKs)dictionary attacks. MD5 is used both toprotect data is ultimately dependent on the strength of keys generated by the EAP method. If an EAP method cannot produce keying material of sufficient strength, thencompute theTSKs may be subject to brute force attack. In order to enable deployments requiring strong keys, EAP methods supporting key derivation SHOULD be capable of generating an MSKRADIUS Response Authenticator andEMSK, each with an effective key strength of at least 128 bits. Methods supporting key derivation MUST demonstrate cryptographic separation betweentheMSKMessage-Authenticator attribute, andEMSK branches of the EAP key hierarchy. Without violating a fundamental cryptographic assumption (such assome concerns exist relating to thenon-invertibilitysecurity ofa one-way function) an attacker recovering the MSK or EMSK MUST NOT be able to recoverthis hash [MD5Attack]. As discussed in [RFC3579], Section 4.3, theother quantity with a levelsecurity vulnerabilities ofeffort less than brute force. Non-overlapping substringsRADIUS are extensive, and therefore development of an alternative key wrap technique based on theMSK MUST be cryptographically separate from each other. That is, knowledge of one substring MUSTRADIUS shared secret would not substantially improve security. As a result, [RFC3759], Section 4.2 Aboba, et al.Expires April 26, 2004Informational [Page33] Internet-Draft48] INTERNET-DRAFT EAP Key Management FrameworkOctober 2003 NOT help in recovering some other substring without breaking some hard cryptographic assumption. This26 June 2004 recommends running RADIUS over IPsec. The same approach isrequired because some existing ciphersuites form TSKstaken in Diameter EAP [I-D.ietf-aaa-eap], which defines cleartext key attributes, to be protected bysimply splittingIPsec or TLS. Where an untrusted AAA intermediary is present (such as a RADIUS proxy or a Diameter agent), and data object security is not used, the AAA-Keyto pieces of appropriate length. Likewise, non-overlapping substringsmay be recovered by an attacker in control of theEMSK MUST be cryptographically separate from each other, and from substringsuntrusted intermediary. Possession of theMSK. The EMSK MUST remain onAAA-Key enables decryption of data traffic sent between theEAPpeer andEAP servera specific authenticator; however whereitkey separation isderived; it MUST NOT be transported to, or shared with, additional parties, or used to derive any other keys. Since EAPimplemented, compromise of the AAA-Key does notprovide for explicit key lifetime negotiation, EAP peers, authenticators and authentication servers MUST be prepared for situations in which oneenable an attacker to impersonate the peer to another authenticator, since that requires possession of theparties discards key stateMK or EMSK, whichremains valid on another party. The development and validationare not transported by the AAA protocol. This vulnerability may be mitigated by implementation ofkey derivation algorithms is difficult, and as a result EAP methods SHOULD reuse well established and analyzed mechanisms for key derivation (suchredirect functionality, asthose specifiedprovided inIKE [RFC2409] or TLS [RFC2246]), rather than inventing new ones. EAP methods SHOULD also utilize well established and analyzed mechanisms for MSK and EMSK derivation. 4.2.2 AAA Protocol[RFC3588]. 5. Security RequirementsAAA protocols suitable for use in transporting EAP MUST provideThis section summarizes thefollowing facilities: Security services AAA protocols used for transport ofsecurity requirements that must be met by EAPkeying material MUST implement and SHOULD use per-packet integrity and authentication, replay protectionmethods, AAA protocols, Secure Association Protocols andconfidentiality.Ciphersuites in order to address the security threats described in this document. These requirementsareMUST be met byDiameter EAP [I-D.ietf-aaa-eap], as wellspecifications requesting publication asRADIUS over IPsec [RFC3579]. Session Keys AAA protocols used for transportan RFC. Each requirement provides a pointer to the sections of this document describing the threat that it mitigates. 5.1. EAPkeying material MUST implementMethod Requirements It is possible for the peer andSHOULD use dynamic key management in orderEAP server to mutually authenticate and derivefresh session keys, askeys. In order to provide keying material for use inDiametera subsequently negotiated ciphersuite, an EAP[I-D.ietf-aaa-eap] and RADIUS over IPsec [RFC3579], rather than usingmethod supporting key derivation MUST export astatic key, as originally defined in RADIUS [RFC2865]. Mutual authentication AAA protocols used for transportMaster Session Key (MSK) of at least 64 octets, and an Extended Master Session Key (EMSK) of at least 64 octets. EAPkeying materialMethods deriving keys MUST provide for mutual authentication between theauthenticatorEAP peer and the EAP Server. The MSK and EMSK MUST NOT be used directly to protect data; however, they are of sufficient size to enable derivation of a AAA-Key subsequently used to derive Transient Session Keys (TSKs) for use with the selected ciphersuite. Each ciphersuite is responsible for specifying how to derive the TSKs from the AAA-Key. The AAA-Key is derived from the keying material exported by the EAP method (MSK and EMSK). This derivation occurs on the AAA server. In many existing protocols that use EAP, the AAA-Key andbackend authentication server. These requirementsMSK aremet by Diameter EAP [I-D.ietf-aaa-eap] as well as by RADIUS EAP [RFC3579].equivalent, but more complicated mechanisms are possible (see Appendix E for details). Aboba, et al.Expires April 26, 2004Informational [Page34] Internet-Draft49] INTERNET-DRAFT EAP Key Management FrameworkOctober 2003 Authorization AAA protocols used for transport of26 June 2004 EAPkeying materialmethods SHOULDprovide protection against rogue authenticators masquerading as other authenticators. This can be accomplished, for example, by requiring that AAA agents checkensure thesource addressfreshness ofpackets againsttheorigin attributes (Origin-Host AVPMSK and EMSK even inDiameter, NAS-IP-Address, NAS-IPv6-Address, NAS-Identifiercases where one party may not have a high quality random number generator. A RECOMMENDED method is for each party to provide a nonce of at least 128 bits, used inRADIUS). For details, see Section 4.3.7the derivation of[RFC3579]. Key transport Sincethe MSK and EMSK. EAP methodsdo notexport the MSK and EMSK and not Transient Session Keys(TSKs) in orderso as tomaintain mediaallow EAP methods to be ciphersuite and media independent. Keying material exported by EAP methods MUST be independent of the ciphersuiteindependence,negotiated to protect data. Depending on theAAA server MUST NOT transport TSKs fromlower layer, EAP methods may run before or after ciphersuite negotiation, so that thebackend authentication serverselected ciphersuite may not be known toauthenticator. Key transport specificationthe EAP method. By providing keying material usable with any ciphersuite, EAP methods can used with a wide range of ciphersuites and media. It is RECOMMENDED that methods providing integrity protection of EAP packets include coverage of all the EAP header fields, including the Code, Identifier, Length, Type and Type-Data fields. In order toenable backend authentication servers to provide keying material to the authenticator in a well defined format, AAA protocols suitable for use withpreserve algorithm independence, EAPMUST definemethods deriving keys SHOULD support (and document) theformat and wrappingprotected negotiation of theAAA-Token. EMSK transport Since the EMSK is a secret known onlyciphersuite used to protect thebackend authentication server and peer, the AAA-Token MUST NOT transportEAP conversation between theEMSKpeer and server. This is distinct from thebackend authentication server to the authenticator. AAA-Token protection To ensure against compromise,ciphersuite negotiated between theAAA-Token MUST be integrity protected, authenticated, replay protectedpeer andencrypted in transit, using well-established cryptographic algorithms.authenticator, used to protect data. The strength of Transient Session KeysThe AAA-Token SHOULD be protected with session keys as in Diameter [RFC3588] or RADIUS over IPsec [RFC3579] rather than static keys, as in [RFC2548]. Key naming In order(TSKs) used toensure against confusion betweenprotect data is ultimately dependent on theappropriatestrength of keys generated by the EAP method. If an EAP method cannot produce keying materialto be used in a given secure association protocol exchange,of sufficient strength, then theAAA-TokenTSKs may be subject to brute force attack. In order to enable deployments requiring strong keys, EAP methods supporting key derivation SHOULDinclude explicitbe capable of generating an MSK and EMSK, each with an effective keynamesstrength of at least 128 bits. Methods supporting key derivation MUST demonstrate cryptographic separation between the MSK andcontext appropriate for informingEMSK branches of theauthenticator howEAP key hierarchy. Without violating a fundamental cryptographic assumption (such as thekeying material is to be used. Key Compromise Where untrusted intermediaries are present,non-invertibility of a one-way function) an attacker recovering theAAA-Token SHOULDMSK or EMSK MUST NOT beprovidedable to recover theintermediaries. In Diameter, handlingother quantity with a level ofkeys by intermediaries caneffort less than brute force. Non-overlapping substrings of the MSK MUST beavoided using Redirect functionalitycryptographically separate from each other. That is, knowledge of one substring MUST NOT help in recovering some other 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 Aboba, et al.Expires April 26, 2004Informational [Page35] Internet-Draft50] INTERNET-DRAFT EAP Key Management FrameworkOctober 2003 [RFC3588]. 4.2.3 Secure Association Protocol Requirements The Secure Association Protocol supports the following: Mutual proof of possession The peer and authenticator MUST each demonstrate possession26 June 2004 of thekeying material transported between the AAA server and authenticator (AAA-Key). Key Naming The Secure Association ProtocolEMSK MUSTexplicitly name the keys used in the proof of possession exchange, so as to prevent confusion when more than one set of keying material could potentiallybeused as the basis for the exchange. Creationcryptographically separate from each other, andDeletion In order to support the correct processingfrom substrings ofphase 2 security associations,thesecure association (phase 2) protocolMSK. The EMSK MUSTsupportremain on thenaming of phase 2 security associationsEAP peer andassociated transient session keys, so that the correct set of transient session keys canEAP server where it is derived; it MUST NOT beidentifiedtransported to, or shared with, additional parties, or used to derive any other keys. Since EAP does not provide forprocessing a given packet. The phase 2 secure association protocol also MUST support transient sessionexplicit keyactivation and SHOULD support deletion, so that establishmentlifetime negotiation, EAP peers, authenticators andre-establishment of transient session keys canauthentication servers MUST besynchronized betweenprepared for situations in which one of theparties. Integrity and Replay Protectionparties discards key state which remains valid on another party. TheSecure Association Protocol MUST support integritydevelopment andreplay protectionvalidation ofall messages. Direct operation Since the phase 2 secure association protocolkey derivation algorithms isconcerned with the establishment of security associations between thedifficult, and as a result EAPpeermethods SHOULD reuse well established andauthenticator, including theanalyzed mechanisms for key derivationof transient session keys, only(such as thoseparties have "a needspecified in IKE [RFC2409] or TLS [RFC2246]), rather than inventing new ones. EAP methods SHOULD also utilize well established and analyzed mechanisms for MSK and EMSK derivation. 5.1.1. Requirements for EAP methods In order for an EAP method toknow"meet thetransient session keys.guidelines for EMSK usage it must meet the following requirements: o It must specify how to derive the EMSK o Thesecure association protocolkey material used for the EMSK MUSToperate directly betweenbe computationally independent of thepeer and authenticator,MSK and TEKs. o The EMSK MUST NOT bepassed-throughused for any other purpose than the key derivation described in this document. o The EMSK MUST be secret and not known to someone observing thebackendauthenticationserver, or include additional parties. Derivation of transient session keys The secure associationmechanism protocolnegotiationexchange. o The EMSK MUSTsupport derivation of unicast and multicast transient sessionbe maintained within the EAP server. Only keyssuitable(AMSKs) derived according to this specification may be exported from the EAP server. o The EMSK MUST be unique foruse witheach session. o The EAP mechanism SHOULD provide a way of naming thenegotiated ciphersuite.EMSK. Implementations of EAP frameworks on the EAP-Peer and EAP-Server SHOULD provide an interface to obtain AMSKs. The implementation MAY restrict which callers can obtain which keys. Aboba, et al.Expires April 26, 2004Informational [Page36] Internet-Draft51] INTERNET-DRAFT EAP Key Management FrameworkOctober 2003 TSK freshness26 June 2004 5.1.2. Requirements for EAP applications In order for an application to meet the guidelines for EMSK usage it must meet the following requirements: o Thesecure association (phase 2) protocolapplication MAY use the MSK transmitted to the NAS in any way it chooses. This is required for backward compatibility. New applications following this specification SHOULD NOT use the MSK. If more than one application uses the MSK, then the cryptographic separation is not achieved. Implementations SHOULD prevent such combinations. o The application MUSTsupportNOT use the EMSK in any other way except to derive Application Master Session Keys (AMSK) using the key derivation specified in this document. It MUST NOT use the EMSK directly for cryptographic protection offresh unicast and multicast transient session keys, even whendata. o Applications MUST define distinct key labels, application specific data, length of derived key material used in the key derivation described in section 2.4.3. o Applications MUST define how they use their AMSK to derive TSKs for their use. 5.2. AAA Protocol Requirements AAA protocols suitable for use in transporting EAP MUST provide the following facilities: Security services AAA protocols used for transport of EAP keying materialprovidedMUST implement and SHOULD use per-packet integrity and authentication, replay protection and confidentiality. These requirements are met bytheDiameter EAP [I-D.ietf-aaa-eap], as well as RADIUS over IPsec [RFC3579]. Session Keys AAAserver is not fresh. This is typically supported by including an exchange of nonces within the secure association protocol. Bi-directional operation While some ciphersuites only require a single set of transient session keys to protect traffic in both directions, other ciphersuites require a unique set of transient session keys in each direction. The phase 2 secure association protocol SHOULD provideprotocols used forthe derivationtransport ofunicastEAP keying material MUST implement andmulticast keys in each direction, so as not to require two separate phase 2 exchangesSHOULD use dynamic key management in order tocreate a bi-directional phase 2 security association. Secure capabilities negotiation The Secure Association Protocol MUST support secure capabilities negotiation. This includes security parameters suchderive fresh session keys, asthe security association identifier (SAID)in Diameter EAP [I-D.ietf-aaa-eap] andciphersuites. It also includes confirmationRADIUS over IPsec [RFC3579], rather than using a static key, as originally defined in RADIUS [RFC2865]. Mutual authentication AAA protocols used for transport of EAP keying material MUST provide for mutual authentication between thecapabilities discovered during the discovery phase (phase 0), soauthenticator and backend authentication server. These requirements are met by Diameter EAP [I-D.ietf-aaa-eap] asto ensure that the announced capabilities have not been forged. 4.2.4 Ciphersuite Requirements Ciphersuites suitablewell as by RADIUS EAP [RFC3579]. Aboba, et al. Informational [Page 52] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 Authorization AAA protocols used for transport of EAP keying material SHOULD provide protection against rogue authenticators masquerading as other authenticators. This can be accomplished, for example, by requiring that AAA agents check the source address of packets against the origin attributes (Origin-Host AVP in Diameter, NAS-IP- Address, NAS-IPv6-Address, NAS-Identifier in RADIUS). For details, see Section 4.3.7 of [RFC3579]. Key transport Since EAP methods do not export Transient Session Keys (TSKs) in order to maintain media and ciphersuite independence, the AAA server MUSTprovideNOT transport TSKs from thefollowing facilities: TSK derivationbackend authentication server to authenticator. Key transport specification In order toallow a ciphersuiteenable backend authentication servers tobe usable within the EAPprovide keyingframework,material to the authenticator in aspecification MUST be provided describing how transient session keyswell defined format, AAA protocols suitable for use withthe ciphersuite are derived from the AAA-Key.EAPmethod independence Algorithms for deriving transient session keys from the AAA-KeyMUSTNOT depend ondefine theEAP method. However, algorithms for deriving TEKs MAY be specificformat and wrapping of the AAA-Token. EMSK transport Since the EMSK is a secret known only to theEAP method. Cryptographic separation The TSKs derived frombackend authentication server and peer, theAAA-Key MUST be cryptographically separate from each other. Similarly, TEKsAAA-Token MUSTbe cryptographically separate from each other. In addition,NOT transport theTSKs MUST be cryptographically separateEMSK fromthe TEKs. Aboba, et al. Expires April 26, 2004 [Page 37] Internet-Draft EAP Key Management Framework October 2003 5. IANA Considerations This specification does not create any new registries, or define any new EAP codes or types. 6. Security Considerations 6.1 Key Strength In orderthe backend authentication server toguardthe authenticator. AAA-Token protection To ensure againstbrute force attacks, EAP methods deriving keys need tocompromise, the AAA-Token MUST becapable of generating keysintegrity protected, authenticated, replay protected and encrypted in transit, using well-established cryptographic algorithms. Session Keys The AAA-Token SHOULD be protected withan appropriate effective symmetric key strength.session keys as in Diameter [RFC3588] or RADIUS over IPsec [RFC3579] rather than static keys, as in [RFC2548]. Key naming In order to ensurethat key generation is notagainst confusion between theweakest link, it is necessary for EAP methods utilizing public key cryptographyappropriate keying material tochoose a public key that has a cryptographic strength meeting the symmetric key strength requirement. As noted in Section 5 of [I-D.orman-public-key-lengths], this results in the following required RSA or DH module and DSA subgroup sizebe used inbits, fora givenlevel 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 6.2 Key Wrap As described in [RFC3579], Section 4.3, known problems exist inSecure Association Protocol exchange, the AAA-Token SHOULD include explicit keywrap specified in [RFC2548]. Where the same RADIUS shared secret is used by a PAP authenticatornames andan EAP authenticator, there is a vulnerability to known plaintext attack. Since RADIUS uses the shared secret for multiple purposes, including per-packet authentication, attribute hiding, considerable information is exposed about the shared secret with each packet. This exposescontext appropriate for informing theshared secret to dictionary attacks. MD5authenticator how the keying material isused bothtocompute the RADIUS Response Authenticator andbe used. Key Compromise Where untrusted intermediaries are present, theMessage-Authenticator attribute, and some concerns exist relatingAAA-Token SHOULD NOT be provided to thesecurityintermediaries. In Diameter, handling ofthis hash [MD5Attack]. As discussed in [RFC3579], Section 4.2, these and other RADIUS vulnerabilities may be addressedkeys byrunning RADIUS over IPsec.intermediaries can be avoided using Redirect functionality [RFC3588]. Aboba, et al.Expires April 26, 2004Informational [Page38] Internet-Draft53] INTERNET-DRAFT EAP Key Management FrameworkOctober 2003 Where an untrusted AAA intermediary is present (such as a RADIUS proxy or a Diameter agent), and data object security is not used, the AAA-Key may be recovered by an attacker in control of the untrusted intermediary. Possession of the AAA-Key enables decryption of data traffic sent between26 June 2004 5.3. Secure Association Protocol Requirements The Secure Association Protocol supports the following: Entity Naming The peer and authenticator SHOULD identify themselves in aspecific authenticator; however where key separationmanner that isimplemented, compromiseindependent ofthe AAA-Key does not enable an attacker to impersonate thetheir attached ports. Mutual proof of possession The peerto another authenticator, since that requiresand authenticator MUST each demonstrate possession of theMK or EMSK, which are notkeying material transportedbybetween theAAA protocol. This vulnerability may be mitigated by implementation of redirect functionality, as provided in[RFC3588]. 6.3 Man-in-the-middle Attacks As described in [I-D.puthenkulam-eap-binding], EAP method sequences and compoundbackend authenticationmechanisms may be subject to man-in-the-middle attacks. When such attacks are successfully carried out, the attacker acts as an intermediary between a victimserver anda legitimate authenticator. This allowsauthenticator (AAA-Key). Key Naming The Secure Association Protocol MUST explicitly name theattacker to authenticate successfully tokeys used in theauthenticator, as wellproof of possession exchange, so as toobtain access to the network. In order topreventthese attacks, [I-D.puthenkulam-eap-binding] recommends derivationconfusion when more than one set ofa compound key by whichkeying material could potentially be used as theEAP peer and server can prove that they have participated inbasis for theentire EAPexchange.Since the compound key must not be known to an attacker posing as an authenticator,Creation andyet must be derived from quantities that are exported by EAP methods, it may be desirableDeletion In order toderivesupport thecompound key from a portioncorrect processing of phase 2 security associations, theEMSK. In order to provide proper key hygiene, it is recommendedSecure Association (phase 2) protocol MUST support the naming of phase 2 security associations and associated transient session keys, so that thecompound key used for man-in-the-middle protectioncorrect set of transient session keys can becryptographically separate from otheridentified for processing a given packet. The phase 2 Secure Association Protocol also MUST support transient session key activation and SHOULD support deletion, so that establishment and re-establishment of transient session keysderived from the EMSK, such as fast handoff keys, discussed in Appendix E. 6.4 Impersonation Bothcan be synchronized between theRADIUSparties. Integrity andDiameter protocols are potentially vulnerable to impersonation by a rogue authenticator. When RADIUS requests are forwarded by a proxy,Replay Protection The Secure Association Protocol MUST support integrity and replay protection of all messages. Direct operation Since theNAS-IP-Address or NAS-IPv6-Address attributes may not correspond tophase 2 Secure Association Protocol is concerned with thesource address. Sinceestablishment of security associations between theNAS-Identifier attributeEAP peer and authenticator, including the derivation of transient session keys, only those parties have "a neednot contain an FQDN, it also may not correspondto know" thesource address, even indirectly. [RFC2865] Section 3 states: A RADIUS servertransient session keys. The Secure Association Protocol MUSTuseoperate directly between thesource IP addresspeer and authenticator, and MUST NOT be passed-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 theRADIUS UDP packet to decide which shared secret to use, so that RADIUS requests can be proxied.negotiated ciphersuite. Aboba, et al.Expires April 26, 2004Informational [Page39] Internet-Draft54] INTERNET-DRAFT EAP Key Management FrameworkOctober 200326 June 2004 TSK freshness The Secure Association (phase 2) Protocol MUST support the derivation of fresh unicast and multicast transient session keys, even when the keying material provided by the backend authentication server is not fresh. Thisimplies that itispossible fortypically supported by including an exchange of nonces within the Secure Association Protocol. Bi-directional operation While some ciphersuites only require arogue authenticatorsingle set of transient session keys toforge NAS-IP-Address, NAS-IPv6-Address or NAS-Identifier attributes withinprotect traffic in both directions, other ciphersuites require aRADIUS Access-Requestunique set of transient session keys inordereach direction. The phase 2 Secure Association Protocol SHOULD provide for the derivation of unicast and multicast keys in each direction, so as not toimpersonate another authenticator. Among other things, this can resultrequire two separate phase 2 exchanges inmessages (and MSKs) being sentorder to create 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 thewrong authenticator. Sincesecurity association identifier (SAID) and ciphersuites, as well as negotiation of therogue authenticator is authenticated bylifetime of theRADIUS proxy or server purely based onTSKs, AAA-Key and exported EAP keys. Secure capabilities negotiation also includes confirmation of thesource address, other mechanisms are required to detectcapabilities discovered during theforgery. In addition, it is possible for attributes suchdiscovery phase (phase 0), so asthe Called-Station-Id and Calling-Station-Idtobe forged as well. As recommended in [RFC3579], this vulnerability can be mitigated by having RADIUS proxies check authenticator identification attributes againstensure that thesource address. To allow verificationannounced capabilities have not been forged. Key Scoping The Secure Association Protocol MUST ensure the synchronization ofsession parameters such askey scope between theCalled-Station- Idpeer andCalling-Station-Id, these can be sentauthenticator. This includes negotiation of restrictions on key usage. 5.4. Ciphersuite Requirements Ciphersuites suitable for keying bytheEAPpeermethods MUST provide the following facilities: TSK derivation In order to allow a ciphersuite to be usable within theserver, protected byEAP keying framework, a specification MUST be provided describing how transient session keys suitable for use with theTEKs. The RADIUS server can then checkciphersuite are derived from the AAA-Key. EAP method independence Algorithms for deriving transient session keys from the AAA-Key MUST NOT depend on theparameters sent byEAP method. However, algorithms for deriving TEKs MAY be specific to the EAPpeer against those claimed bymethod. Aboba, et al. Informational [Page 55] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 Cryptographic separation The TSKs derived from theauthenticator. If a discrepancy is found, an error canAAA-Key MUST belogged. While [RFC3588] requires use ofcryptographically separate from each other. Similarly, TEKs MUST be cryptographically separate from each other. In addition, theRoute-Record AVP, this utilizes FQDNs, so that impersonation detection requires DNS A/AAAA and PTR RRs toTSKs MUST beproperly configured. As a result, it appears that Diameter is as vulnerable to this attack as RADIUS, if not more so. To address this vulnerability, it is necessarycryptographically separate from the TEKs. 6. IANA Considerations This section provides guidance toallowthebackend authentication serverInternet Assigned Numbers Authority (IANA) regarding registration of values related tocommunicateEAP key management, in accordance with BCP 26, [RFC2434]. The following terms are used here with theauthenticator directly, such as via the redirect functionality supportedmeanings defined in[RFC3588]. 6.5 Denial of Service AttacksBCP 26: "name space", "assigned value", "registration". Thecaching of security associations may result in vulnerability to denial of service attacks. Since an EAP peer may derive multiple EAP SAsfollowing policies are used here witha given EAP server, and creation of a new EAP SA does not implicitly delete a previous EAP SA, EAP methods that resultthe meanings defined increation of persistant state may be vulnerable to denial of service attacks by a rogue EAP peer. AsBCP 26: "Private Use", "First Come First Served", "Expert Review", "Specification Required", "IETF Consensus", "Standards Action". For registration requests where aresult, EAP methods creating persistent state may wishDesignated 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 tolimitallow for thenumberallocation ofcached EAP SAs (Phase 1a) corresponding to an EAP peer. For example, an EAP server may choosevalues prior toonly retain a few EAP SAsthe RFC being approved foreach peer. This prevents a rogue peer from denying access to other peers. Similarly,publication, the Designated Expert can approve allocations once it seems clear that anauthenticator may have multiple AAA-Key SAs corresponding toRFC will be published. The Designated expert will post agiven EAP peer; to conserve resources an authenticator may chooserequest tolimitthenumber of cached AAA-Key (Phase 1 b) SAs for each peer. Aboba, et al. Expires April 26, 2004 [Page 40] Internet-DraftEAPKey Management Framework October 2003 Depending onWG mailing list (or a successor designated by themedia, creation ofArea Director) for comment and review, including an Internet-Draft. Before anew unicast secure association SA may or may not imply deletionperiod of 30 days has passed, the Designated Expert will either approve or deny the registration request and publish aprevious unicast secure association SA. Where therenotice 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 isno implied deletion,possible, concrete suggestions on how theauthenticator may chooserequest can be modified so as tolimit Phase 2 (unicast and multicast) secure association SAs for each peer.become acceptable. 7.Acknowledgements Thanks to Arun Ayyagari, Ashwin Palekar, and Tim Moore of Microsoft, Dorothy Stanley of Agere, Bob Moskowitz of TruSecure, and Russ Housley of Vigil Security for useful feedback.References 7.1. Normative References[RFC1661] Simpson, W., "The Point-to-Point Protocol (PPP)", STD 51, RFC 1661, July 1994.[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 1998.[I-D.ietf-eap-rfc2284bis]Aboba, et al. Informational [Page 56] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 [RFC3748] Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J. and H. Lefkowetz, "Extensible Authentication Protocol (EAP)",draft-ietf-eap-rfc2284bis-06 (work in progress), September 2003. [IEEE802] Institute of Electrical and Electronics Engineers, "IEEE Standards for Local and Metropolitan Area Networks: Overview and Architecture", ANSI/IEEE Standard 802, 1990.RFC 3748, June 2004. 7.2. Informative References [RFC0793] Postel, J., "Transmission Control Protocol", STD 7, RFC 793, September 1981.[RFC1321] Rivest, R.,[RFC1661] Simpson, W., "TheMD5 Message-Digest Algorithm",Point-to-Point Protocol (PPP)", STD 51, RFC1321, April 1992.1661, July 1994. [RFC1968] Meyer, G. and K. Fox, "The PPP Encryption Control Protocol (ECP)", RFC 1968, June 1996. [RFC2104] Krawczyk, H., Bellare, M. and R. Canetti, "HMAC: Keyed-Hashing for Message Authentication", RFC 2104, February 1997.Aboba, et al. Expires April 26, 2004 [Page 41] Internet-Draft EAP Key Management Framework October 2003[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.[RFC2855] Fujisawa, K., "DHCP for IEEE 1394", RFC 2855,Aboba, et al. Informational [Page 57] INTERNET-DRAFT EAP Key Management Framework 26 June2000.2004 [RFC2865] Rigney, C., Willens, S., Rubens, A. and W. Simpson, "Remote Authentication Dial In User Service (RADIUS)", RFC 2865, June 2000.[RFC2960] Stewart, R., Xie, Q., Morneault, K., Sharp, C., Schwarzbauer, H., Taylor, T., Rytina, I., Kalla, M., Zhang, L. and V. Paxson, "Stream Control Transmission Protocol", RFC 2960, October 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.[RFC3394] Schaad, J. and R. Housley, "Advanced Encryption Standard (AES) Key Wrap Algorithm", RFC 3394, September 2002.[RFC3579] Aboba, B. and P. Calhoun, "RADIUS (Remote Authentication Dial In User Service) Support For ExtensibleAboba, et al. Expires April 26, 2004 [Page 42] Internet-Draft EAP Key Management Framework October 2003Authentication Protocol (EAP)", RFC 3579, September 2003. [RFC3580] Congdon, P., Aboba, B., Smith, A., Zorn, G. and J. Roese, "IEEE 802.1X Remote Authentication Dial In User Service (RADIUS) Usage Guidelines", RFC 3580, September 2003. [RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G. and J. Arkko, "Diameter Base Protocol", RFC 3588, September 2003. [RFC3766] Orman, H. and P. Hoffman, "Determining Strengths For Public Keys Used For Exchanging Symmetric Keys", 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>.[FIPS197] National[IEEE802] Institute ofStandardsElectrical andTechnology, "Advanced Encryption Standard (AES)", FIPS PUB 197, November 2001. [FIPS.180-1.1995] National Institute ofElectronics Engineers, "IEEE Standards for Local andTechnology, "Secure Hash Standard", FIPS PUB 180-1, April 1995, <http:// www.itl.nist.gov/fipspubs/fip180-1.htm>.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-1997, 1997.802.11-1999, 1999. [IEEE8021X] Institute of Electrical and Electronics Engineers, "Local and Metropolitan Area Networks: Port-Based Network Access Aboba, et al. Informational [Page 58] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 Control", IEEE Standard802.1X-2001, June 2002.802.1X-2004, September 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][IEEE80211F] Institute of Electrical and Electronics Engineers, "Recommended Practice for Multi-Vendor Access PointAboba, et al. Expires April 26, 2004 [Page 43] Internet-Draft EAP Key Management Framework October 2003Interoperability via an Inter-Access Point Protocol Across Distribution Systems Supporting IEEE 802.11 Operation", IEEE 802.11F, July 2003. [IEEE80211i] Institute of Electrical and Electronics Engineers, "Draft 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", IEEE Draft 802.11I/D6.1, August 2003.D8, February 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.[EAPAPI] Microsoft Developer Network, "Windows 2000 EAP API", http://msdn.microsoft.com/library/default.asp?url=/ library/en-us/eap/eapport_0fj9.asp, August 2000.[I-D.ietf-roamops-cert] Aboba, B., "Certificate-Based Roaming",draft-ietf-roamops-cert-02draft-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-02 (work in progress), July 2003. [I-D.irtf-aaaarch-handoff] Arbaugh, W. and B. Aboba, "Experimental Handoff Extension to RADIUS", draft-irtf-aaaarch-handoff-03 (work in progress), October 2003.draft-ietf-aaa- Aboba, et al.Expires April 26, 2004Informational [Page44] Internet-Draft59] INTERNET-DRAFT EAP Key Management FrameworkOctober 2003 [I-D.orman-public-key-lengths] Orman, H.26 June 2004 eap-08 (work in progress), June 2004. [I-D.irtf-aaaarch-handoff] Arbaugh, W. andP. Hoffman, "Determining Strengths For Public Keys Used For Exchanging Symmetric Keys", draft-orman-public-key-lengths-05B. Aboba, "Handoff Extension to RADIUS", draft-irtf-aaaarch-handoff-04 (work in progress),January 2002.October 2003. [I-D.puthenkulam-eap-binding] Puthenkulam, J., "The Compound Authentication Binding Problem",draft-puthenkulam-eap-binding-03draft-puthenkulam-eap-binding-04 (work in progress),JulyOctober 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), October 2003. [I-D.arkko-pppext-eap-aka] Arkko, J. and H. Haverinen, "EAP AKA Authentication",draft-arkko-pppext-eap-aka-10draft- arkko-pppext-eap-aka-11 (work in progress),JuneOctober 2003. [IKEv2] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol", draft- ietf-ipsec-ikev2-12 (work in progress), March 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.Authors'[WLANREQ] Stanley, D., Walker, J. and B. Aboba, "EAP Method Requirements for Wireless LANs", draft-walker-ieee802-req-02.txt (work in progress), July 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, and Russ Aboba, et al. Informational [Page 60] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 Housley of Vigil Security for useful feedback. Author Addresses Bernard Aboba Microsoft Corporation One Microsoft Way Redmond, WA 98052USAEMail: bernarda@microsoft.com Phone: +1 425 706 6605 Fax: +1 425 9366605 EMail: bernarda@microsoft.com Aboba, et al. Expires April 26, 2004 [Page 45] Internet-Draft EAP Key Management Framework October 20037329 Dan Simon Microsoft Research Microsoft Corporation One Microsoft Way Redmond, WA 98052USAEMail: dansimon@microsoft.com Phone: +1 425 706 6711 Fax: +1 425 936 7329EMail: dansimon@microsoft.comJari 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. Informational [Page 61] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 AppendixA.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 theECP[ECP] negotiationphase [RFC1968]."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 inAboba, et al. Expires April 26, 2004 [Page 46] Internet-Draft EAP Key Management Framework October 2003each 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 a 128-bit authentication key (used in both directions); AES CCMP, which requires a single 128-bit key (used in both directions) in order to authenticate and encrypt data; and WRAP, which requires a single 128-bit key (used in both directions). As with WEP, authentication and encryption keys are also required to wrap the multicast encryption (and possibly, authentication) keys. Aboba, et al. Informational [Page 62] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 AppendixB.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:Aboba, et al. Expires April 26, 2004 [Page 47] Internet-Draft EAP Key Management Framework October 2003TLS-PRF-X = TLS pseudo-random function defined in [RFC2246], computed to X octets. master_secret = TLS term for the MK. | | | | | pre_master_secret | server| | | client Random| V | Random |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | | | | | | +---->| master_secret |<------+ | | (MK) | | | | | | |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | | | | | | | 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. Informational [Page 63] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 AppendixC. MSK and EMSKC - EAP Key Hierarchy In EAP-TLS [RFC2716], the MSK is divided into two halves, corresponding to the "Peer to Authenticator Encryption Key"(Enc-RECV-Key,(Enc- RECV-Key, 32 octets, also known as the PMK) and "Authenticator to Peer Encryption Key" (Enc-SEND-Key, 32 octets). In [RFC2548], the Enc-RECV-Key (the PMK) is transported in the MS-MPPE-Recv-Key attribute, and the Enc-SEND-Key is transported in theMS-MPPE-Send-KeyMS-MPPE-Send- Key attribute. The EMSK is also divided into two halves, corresponding to the "PeerAboba, et al. Expires April 26, 2004 [Page 48] Internet-Draft EAP Key Management Framework October 2003to Authenticator Authentication Key" (Auth-RECV-Key, 32 octets) 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-31 are known as the "Peer to Authenticator IV" or RECV-IV, and Octets 32-63 are known as the "Authenticator to Peer IV", or SEND-IV. In EAP-TLS, the MSK, EMSK and IV are derived from the MK via aone-wayone- way function. This ensures that the MK 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 MK, if the MK is compromised then the MSK is also compromised. As described in [RFC2716], the formula for the derivation of the MSK, EMSK and IV from the MK is as follows: MSK = TLS-PRF-64(MK, "client EAP encryption", client.random || server.random) EMSK = second 64 octets of: TLS-PRF-128(MK, "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 in [RFC2548]). Also known as the PMK.AAA-Key(32,63) =AAA-Key(32,63)= Authenticator to Peer Encryption Key (Enc-SEND-Key) (MS-MPPE-Send-Key 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. Expires April 26, 2004 [Page 49] Internet-Draft EAP Key Management Framework October 2003(RECV-IV) IV(32,63) = Authenticator to Peer Initialization vector (SEND-IV) Where: AAA-Key(W,Z) = Octets W through Zinclusiveincludes of the AAA-Key. Aboba, et al. Informational [Page 64] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 IV(W,Z) = Octets W through Z inclusive of the IV. MSK(W,Z) = Octets W through Z inclusive of the MSK. EMSK(W,Z) = Octets W through Z inclusive of the EMSK. MK = TLS master_secret TLS-PRF-X = TLS PRF function[RFC2246],defined in [RFC2246] computed to X 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 MK. Note that in [RFC2716], the MK is referred to as the "TLS Master Secret".Aboba, et al. Expires April 26, 2004 [Page 50] Internet-Draft EAP Key Management Framework October 2003---+ | ^ | TLS Master Secret (MK) | | | V |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | EAP | | Master Session Key (MSK) | Method | | Derivation | | | | V+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ EAP ---+ | | | API ^ | MSK | EMSK | IVEAP| | |API| | V V V v+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ | | | | | | |AAAbackend authentication server | | | | | | | V+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ | | ^ | AAA-Key(0,31) | AAA-Key(32,63) | | (PMK) | Transported | | | via AAA | | | | V V V+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ | | ^ | Ciphersuite-Specific Transient Session |Auth.Auth.| | Key Derivation | | | | V+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ Figure C-1 - EAP TLS [RFC2716] Key hierarchy Aboba, et al. Informational [Page 65] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 AppendixD.D - Transient Session Key (TSK) Derivation Within IEEE 802.11 RSN, the Pairwise Transient Key (PTK), a transient session key used to protect unicast traffic, is derived from the PMK (octets 0-31 of the MSK), known in [RFC2716] as the Peer to Authenticator Encryption Key. In [IEEE80211i], the PTK is derived from the PMK via the following formula:Aboba, et al. Expires April 26, 2004 [Page 51] Internet-Draft EAP Key Management Framework October 2003PTK = 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) is used to provide data origin authenticity in the TSK derivation. It utilizes the first 128 bits (bits 0-127) of the PTK. The EAPOL-Key Encryption Key (KEK) provides confidentiality in the TSK derivation. It utilizes bits 128-255 of the PTK. Bits 256-383 of the PTK are used by Temporal Key 1, and Bits 384-511 are used by Temporal Key 2. Usage of TK1 and TK2 is ciphersuite specific. Details are available in [IEEE80211i]. Aboba, et al. Informational [Page 66] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 AppendixE.E - AAA-Key Derivation Where a AAA-Key is generated as the result of a successful EAP authentication, the AAA-Key is set to 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 betweenIEEE 802.11authenticators. Where the backend authentication server provides keying material to multiple authenticators in order tofascilitatefacilitate fast handoff, it is highly desirable for the keying material used on different authenticators to be cryptographically separate, so that if one authenticator is compromised, it does not lead to the compromise of other authenticators. Where keying material is provided by the backend authentication server, a key hierarchy derived from the EMSK,as suggested in [IEEE-03-155]can be used to provide cryptographically separate keying material for use in fast handoff: AAA-Key-A = MSK(0,63)Aboba, et al. Expires April 26, 2004 [Page 52] Internet-Draft EAP Key Management Framework October 2003AAA-Key-B =PRF(EMSK(0,63),AAA-Key-A, B-Called-Station-Id,Calling-Station-Id)PRF(EMSK(0,63),"EAP AAA-Key derivation for multiple attachments", AAA-Key-A,B-Called-Station-Id, Calling-Station-Id,length) AAA-Key-E =PRF(EMSK(0,63),AAA-Key-A, E-Called-Station-Id,Calling-Station-Id)PRF(EMSK(0,63),"EAP AAA-Key derivation for multiple attachments",AAA-Key-A,E-Called-Station-Id, Calling-Station-Id, length) Where: Calling-Station-Id = STA MAC address B-Called-Station-Id = AP B MAC address E-Called-Station-Id = AP E MAC address length = length of derived key material Here AAA-Key-A is the AAA-Key derived during the initial EAP authentication between the peer and authenticator A. Based on this initial EAP authentication, the EMSK is also derived, which can be used to derive AAA-Keys for fast authentication between the EAP peer and authenticators B and E. Since the EMSK is cryptographically separate from the MSK, each of these AAA-Keys is cryptographically separate from each other, and are guaranteed to be unique between the EAP peer (also known as the STA) and the authenticator (also known as the AP).Appendix F. Open issues (This section should be removed by the RFC editor before publication) Open issues relating to this specification are tracked on the following web site: http://www.drizzle.com/~aboba/EAP/eapissues.html The current working documents for this draft are available at this web site: http://www.levkowetz.com/pub/ietf/drafts/eap/keying/Aboba, et al.Expires April 26, 2004Informational [Page53] Internet-Draft67] INTERNET-DRAFT EAP Key Management FrameworkOctober 200326 June 2004 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 andstandards-relatedstandards- 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 rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director. Full Copyright Statement Copyright (C) The Internet Society(2003).(2004). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors orassignees.assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATIONAboba, et al. Expires April 26, 2004 [Page 54] Internet-Draft EAP Key Management Framework October 2003HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULARPURPOSE. Acknowledgment Funding forPURPOSE." Aboba, et al. Informational [Page 68] INTERNET-DRAFT EAP Key Management Framework 26 June 2004 Open Issues Open issues relating to this specification are tracked on theRFC Editor functionfollowing web site: http://www.drizzle.com/~aboba/EAP/eapissues.html Expiration Date This memo iscurrently provided by the Internet Society.filed as <draft-ietf-eap-keying-02.txt>, and expires December 22, 2004. Aboba, et al.Expires April 26, 2004Informational [Page55]69] ----