view Side-By-Side changes
PPPEXT Working Group Bernard Aboba INTERNET-DRAFT Dan Simon Category: Informational Microsoft<draft-aboba-pppext-key-problem-00.txt> 4 November 2001<draft-aboba-pppext-key-problem-01.txt> 13 February 2002 The EAPSession KeyKeying Problem 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 as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Copyright Notice Copyright (C) The Internet Society(2001).(2002). All Rights Reserved. Abstract This documentmakes the case for standardizing the algorithms used to derive authentication and encryption transient session keys fromdescribes themaster keying material derivedissues involved in key derivation by EAPmethods. As EAPmethodsproliferate, allowing each EAP method to define its own ciphersuite- specific key derivation algorithms will compromise the securityandgenerality thatprovides guidelines for generation and usage of EAPwas intended to provide.keys. Aboba & Simon Informational [Page 1] INTERNET-DRAFT The EAPSession KeyKeying Problem4 November 200113 February 2002 Table of Contents 1. Introduction .......................................... 3 1.1 Requirements language ........................... 3 1.2 Terminology .....................................3 1.3 EAP overview .................................... 3 1.4 Problem overview ................................4 2.ProposedEAP architecture................................ 6overview ............................. 4 2.1Solution requirements ........................... 8Implications of the architecture ................ 7 3. EAP Keying Requirements ............................... 8 4. Security considerations ...............................10 4. References ............................................ 1012 5. Normative references .................................. 13 6. Informative references ................................ 13 Acknowledgments ..............................................1314 Author's Addresses ...........................................1415 Intellectual Property Statement ..............................1415 Full Copyright Statement .....................................1415 Aboba & Simon Informational [Page 2] INTERNET-DRAFT The EAPSession KeyKeying Problem4 November 200113 February 2002 1. Introduction1.1. Requirements languageThekey 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 [18]. 1.2. Terminology This document frequently uses the following terms: Authentication Server An Authentication Server is an entity that provides anExtensible AuthenticationServiceProtocol (EAP), defined in [RFC2284], was developed toan NAS. This service verifies from the credentials provided by the peer, the claimprovide extensible authentication for use with PPP [RFC1661]. Since then, new applications ofidentity made by the peer. Master key The session key derived between the EAP client and EAP server during theEAP have emerged, including IEEE 802.1X network port authenticationprocess. Master session key The keys derived from[IEEE8021X], and PIC [PIC]. Although themaster key that are subsequently used in generationinitial focus ofthe transient session keys forEAP was authentication,encryption, and IV-generation. So that the master sessionit can also provide keysare to be usable with any ciphersuite, they are longer than is necessary, and are truncated to fit. Transient session keys The chosen ciphersuites uses transient session keys for authentication and encryption as well as IVs (if required). The transient session keys are derived from the master session keys, and are of the appropriate sizefor use withthe chosena ciphersuite.1.3.EAPoverview The Extensible Authentication Protocol (EAP),methods defined inRFC 2284 [9], was developed to provide extensible authentication for use with PPP [1]. Since then, new applications of[RFC2284] include EAPhave emerged, including IEEE 802.1X network port authentication, defined in [21],MD5, as well as One-Time Password (OTP) andprovisioning of certificates basedGeneric Token Card methods. Each oflegacy authenticationthese methodsvia PIC, defined in [38]. EAP was developed in part to enable deployment of newsupports one-way authenticationmethods without requiring deployment of new code on the NAS. As a result, the NAS acts as a "passthrough", and doesonly but notneed to understand Aboba & Simon Informational [Page 3] INTERNET-DRAFT The EAP Session Key Problem 4 November 2001 specifickey derivation. However, subsequent EAPmethods. Among other things, this implies that a NAS cannot be assumed to contain code specific to anymethod specifications such as EAPmethod. Instead of requiring new code to be installed on the NAS in order to support a newTLS [RFC2716], EAPmethod,SRP [EAPSRP], EAPmethod support is added to the clientGSS [EAPGSS] andbackend authentication server.EAPmethod support is typicallyAKA [EAPAKA] have providedvia an EAP API, suchfor mutual authentication, asthat describedwell as key derivation. The ciphersuites for which EAP may provide keying material have also grown in[42]. In order to allow the clientnumber. PPP ciphersuites include DESEbis [RFC2419], 3DES [RFC2420], andbackend server to install new EAP methods without requiring an operating system upgrade, operating systems isolate EAP method- specific code within the installed EAP methods, and thus also operate as "passthrough" entities with respect to EAP. Since the client and NAS will need to contain code to implement any particular ciphersuite, it is reasonable to assume that ciphersuite- specific code exists on these entities. However, just as the NAS should not need to be updated to support a new EAP method, the backend authentication server should not need to be updated to support a new ciphersuite on the NAS. Since the backend authentication serverMPPE [RFC3078]. The DES algorithm isnot involveddescribed inthe protection of data traffic, there is no intrinsic reason that it should need to implement ciphersuite-specific code. These restrictions, when put together, imply that including ciphersuite- specific code within an EAP method is inappropriate,[FIPSDES], and DES modes (such asis including code specific to an EAP-method within the NAS. Moreover, since operating systems provide EAP APIsCBC, used inorder to remain "EAP-Method Agnostic", EAP method-specific code is best kept out of the EAP APIs as well. 1.4. Problem overviewRFC2284 defined the EAP-MD5, as well as One-Time Password (OTP) and Generic Token Card methods. Since then, the development of additional EAP methods has accelerated. These include EAP-TLS [32], EAP-SRP [37], EAP-GSS [39]2419 andEAP-AKA [40]. Each of these methods is capable of deriving keys, as well as providing for mutual authentication. The ciphersuites for which EAP may provide keying material have also grownDES- EDE3-CBC, used innumber. Within PPP, ciphersuites include DESEbis [16], 3DES [17], and MPPE [36].RFC 2420) are described in [DESMODES]. For PPP DESEbis, a single 56-bit encryption key isrequiredrequired, used ineach direction;both directions; for PPP 3DES, a 168-bit encryption key isneededneeded, used ineach direction;both directions. As described in [RFC2419] and [RFC2420] forMPPE, 40-bit, 56-bit or 128-bit encryption keysboth protocols, the IV, which is different in each direction, is "deduced from an explicit 64-bit nonce, which is exchanged in the clear during the negotiation phase." For MPPE, 40-bit, 56-bit or 128-bit encryption keys can be required in each direction, as described in[35],[36].[RFC3078]. Since MPPE is based on the RC4 algorithm, no initialization vector is required. While these PPP ciphersuites provide encryption, they do not provide a per-packet keyed message integrity check (MIC). Thus, an authentication key is not required in either direction. Within 802.11, ciphersuites include WEP-40, described in[24],[IEEE80211], which requires a 40-bit encryption key,which isthe same in either direction; and WEP-128, which requires a 104-bit encryption key, the same in either direction. These ciphersuites also do not include a keyed MIC.Aboba & Simon Informational [Page 4] INTERNET-DRAFT The EAP Session Key Problem 4 November 2001Recently, new ciphersuites have been proposed for use with 802.11 that do provide per-packet authentication as well asencryption.encryption [IEEE80211Tgi]. Thesemethods, described in [41], requireciphersuites use either 104-bit or 128-bitauthentication and encryption keys in each direction, and are based on AES [43]-[46].keys. With the increase in the number of EAP methods and applicable ciphersuites, there is agrowingneed forsupplying algorithms to derivedefining how transient session keys are derived from the masterkeyssecrets produced by EAP methods.To date, this need has been filled on a piece-meal basis, with EAP methods such as EAP SRP [37], defining transient session key derivation mechanisms for each ciphersuite. There are significant drawbacks to allowingAllowing each EAP method tospecify sessionhandle this in its own way is likely to produce Aboba & Simon Informational [Page 3] INTERNET-DRAFT The EAP Keying Problem 13 February 2002 unacceptable results. This document reviews the issues involved in EAP key derivationmechanismsand provides guidelines forindividual ciphersuites. These include: Document Revision If an EAP method specifies how to derive transient sessionthe generation of keyson a per-ciphersuite basis, thenby EAP methods. 1.1. Requirements language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this documentwill needare to berevised each time a new ciphersuite comes out.interpreted as described in BCP 14 [RFC2119]. 1.2. Terminology Thiswould also imply thatdocument frequently uses the following terms: Authentication Server An Authentication Server is anauthentication server supportingentity that provides anEAP method might not be usable with a NAS supporting EAP, dueAuthentication Service tolack of support for a ciphersuite implemented on thean NAS. Thisis antithetical to the EAP architecture, which conceives ofservice verifies from theNAS as a "pass through" device that does not need to understand EAP, and which therefore can work with any EAP method supportedcredentials provided by theauthentication server. EAP method complexity Forcingpeer, theEAP method to include ciphersuite-specific code for transient sessionclaim of identity made by the peer. Master keyderivation increasesThe key derived between thecomplexity ofEAPmethod development, as well asclient andauthentication server implementations. Knowledge assymmetry In practice, anEAPmethod may not have knowledge of the ciphersuite that has been negotiated. In PPP, negotiation ofserver during theciphersuite is accomplished viaEAP authentication process. Master session key Master session keys are derived from theEncryption Control Protocol (ECP), describedmaster key, and are subsequently used in[10]. Since ECP negotiation occurs aftergeneration of transient session keys for authentication,unless an EAP method is utilized that supports ciphersuite negotiation (such as EAP-TLS [32]), the client, NASencryption andbackend authentication server may not be able to anticipateIV-generation. Since theciphersuite that willtransient session keys may beuseddifferent in each direction, master session keys are also required in each direction, and are thereforethis information cannot be provided to the EAP method. Aboba & Simon Informational [Page 5] INTERNET-DRAFT The EAP Session Key Problem 4 November 2001 Similarly, it is also desirablereferred toavoid proliferation of EAP method- specific master session key derivation algorithms. Aside from the duplication of effort this would imply, the deployment of many algorithms,asopposed to a single well-analyzed one, is more likely to create security vulnerabilities. 2. Proposed architecture This document proposes an architecture"asymmetrical". So thatavoidstheproliferation of EAP method-specificmaster sessionkey algorithms, as well as ciphersuite-specifickeys are to be usable with any ciphersuite, they are longer than is necessary, and are truncated to fit. Transient session keys The chosen ciphersuite uses transient sessionkey algorithms. In the most general case,keys for authentication and encryptionkeysas well asinitialization vectors must be derived for each direction from the master key K derived by the EAP method. This is accomplished by the adoption of two standard algorithms: [1] An algorithm for the derivation of "master session keys" from the negotiated master key.IVs (if required). The"mastertransient sessionkeys"keys are derived from the masterkey derived by the EAP method, but are never directly used by ciphersuites; they are only used in the derivation of transient session keys. These "mastersessionkeys" are derived on the clientkeys, andthe backend authentication server. The backend authentication server then transmits the "master session keys" to the NAS. [2] An algorithm for the derivationare of"transient session keys" fromthe"master session keys". The "transient session keys" are usedappropriate size forencryption, authentication and IV-generation in each direction, and are derived by the NAS and client, based onuse with thenegotiatedchosen ciphersuite. Depending on thenegotiatedciphersuite,not all ofthe"transienttransient sessionkeys" willkeys may berequired; for example 802.11 WEP does not provide a keyed message integrity check, and typically uses only a single encryption keydifferent inboth directions.each direction. Aboba & Simon Informational [Page 4] INTERNET-DRAFT Thealgorithm for deriving the "master session keys" fromEAP Keying Problem 13 February 2002 2. EAP architecture overview One of the"master key"goals of EAP isdesigned to be ciphersuite-independent, andtoapply across a wide rangeenable development ofEAP methods. This enablesnew authentication methods without requiring deployment of new code on thesecurity community to carefully analyzeNAS. As a result, theproposed algorithm. Such an analysis would be difficult were multiple algorithms to proliferate. The specification ofNAS acts as auniversal algorithm for master session key derivation also enables development of libraries that can be called by"passthrough", and need not understand specific EAPmethod developers, who otherwise would have tomethods. Among other things, this implies that a NAS need not contain codealgorithms independently withinspecific to each EAP method.This also avoids having to upgrade AAA servers andEAPmethods every time aInstead of requiring newciphersuite is developed, Aboba & Simon Informational [Page 6] INTERNET-DRAFT The EAP Session Key Problem 4 November 2001 By standardizingcode on themaster session key derivation withinNAS, EAP methodsandare installed on theAAAclient and backend authentication server, typically interfacing with theNAS can be assured of obtaining master session keys in a well-defined format. Since it is assumedoperating system via an EAP API, such as that described in [EAPAPI]. In order to allow the client and backendauthenticationserverwill performto install new EAP methods without requiring an operating system upgrade, operating systems isolate EAP method-specific code within therequired calculationsinstalled EAP methods, andwill supply the NASthus largely operate as "passthrough" entities with respect to EAP. Figure 1 describes themaster session keys,relationship between thealgorithm need not be implemented onEAP peer, NAS and AAA server. As described in theNAS. Rather,figure, the EAP conversation "passes through" the NASwill only need code foron its way between thesecond algorithm, namely forclient and thederivationAAA server As a result, the NAS does not have knowledge ofciphersuite-specific "transient session keys" from "master session keys". AlthoughtheNAS needskeys that are derived between the AAA server and the client, and these keys need to beupgraded to support additional ciphersuites, it is best if the code for generation of "transient session keys"transmitted from"master session keys" is as ciphersuite- independent as possible, so asthe AAA server toavoid requiring constant maintenance ofthealgorithm. The derivation of ciphersuite-specific "transient session keys" from "master session keys" occurs afterNAS. EAP methods are installed on theciphersuite has been determined, and provides for authenticationthe client andencryption keys as well as IV- generation. Withintheproposed architecture, this conversion is also carried out according to a standardized algorithm. The algorithm for deriving "transient session keys" fromAAA server, typically communicating via an EAP API, so that the"master session keys" is designedmain client and AAA server code does not need to beEAP-method independent, andmodified toapply across a wide range of ciphersuites. This enables its security alsoadd new methods. Among the results that are passed back by EAP methods via the APIs are the keys to bethoroughly analyzed and forcommunicated from thecodeAAA server to the NAS. Ciphersuites are installed on the NAS and the client. While EAP methods which derive keys can bereused withinused to provide automated keying for a ciphersuite, this does not imply that the EAP method need contain ciphersuite-specific code. Since the client and NASwhere itneed to implement a given ciphersuite, ciphersuite-specific code is expected toreside. Note thatexist on themaster keyclient and NAS. However, since the backend authentication server is not involved in the protection of data traffic, and may not even bedirectly available within all EAP methods. For security reasons,aware of theTLS master key is typically not directly available via TLS APIs. As a result, RFC 2716 [32] derives master session keys from the TLS master key, and uses those master session keysnegotiated ciphersuite, it cannot be assumed toderiveimplement ciphersuite-specific code, and therequired session keys. Since RFC 2716 doesbackend authentication server will notassumenecessarily have knowledge of thenegotiated ciphersuite, it provides keys large enough for use with any ciphersuite, assuming that these will be truncated for use withinciphersuites available on theclientNAS and client. Aboba & Simon Informational [Page 5] INTERNET-DRAFT The EAP Keying Problem 13 February 2002 +-+-+-+-+-+ +-+-+-+-+-+ | | | | | | | | | Cipher- | | Cipher- | | Suite | | Suite | | | | | +-+-+-+-+-+ +-+-+-+-+-+ ^ ^ | | | | | | V V +-+-+-+-+-+ +-+-+-+-+-+ +-+-+-+-+-+ | | EAP | | | | | | Conversation | | | | | |<================================>| AAA | | Client | | NAS | | Server | | | | |<=======| | | | | | Keys | | | | | | | | +-+-+-+-+-+ +-+-+-+-+-+ +-+-+-+-+-+ ^ ^ | | | EAP API | EAP API | | V V +-+-+-+-+-+ +-+-+-+-+-+ | | | | | | | | | EAP | | EAP | | Method | | Method | | | | | +-+-+-+-+-+ +-+-+-+-+-+ Figure 1 - Relationship between EAP client, AAA server and NAS. Aboba & Simon Informational [Page 6] INTERNET-DRAFT The EAP Keying Problem 13 February 2002 2.1. Implications of the architecture Since theraw master key is typicallybackend authentication server may notavailable in to EAP-TLS implementations, whenhave knowledge of the ciphersuite that has been negotiated, it may not be possible for this information to be passed to the EAP methodis used,via theTLS PRF function is needed to derive keying material from it. OtherEAPmethods may also encounter similar issues. For example,APIs. As a result, inclusion of ciphersuite-specific code within an EAPGSS implementations will typicallymethod is inappropriate. Similarly, because the NAS is assumed to not have knowledge of individual EAP methods, it cannot beableassumed toaccessinclude code specific to an EAP method. Moreover, since operating systems provide EAP APIs in order to remain "EAP-Method Agnostic", EAP method- specific code is best kept out of themaster keys directly, but can call GSS_Wrap()EAP APIs as well. Drawbacks toencrypted tokens and GSS_GetMIC()allowing EAP methods togeneratespecify session key derivation mechanisms for individual ciphersuites include: Document Revision If an EAP method specifies how to derive transient session keys on a per-ciphersuite basis, then this document will need to be revised each time a new ciphersuite comes out. This would also imply that an authenticationtokens basedserver supporting an EAP method might not be usable with a NAS supporting EAP, due to lack of support for a ciphersuite implemented on themaster key.NAS. This is antithetical to the EAPGSS implementations will thereforearchitecture, which conceives of the NAS as a "pass through" device that does not need touse GSS-API callsunderstand EAP, and which therefore can work with any EAP method supported by the authentication server. EAP method complexity Forcing the EAP method toderive masterinclude ciphersuite-specific code for transient session key derivation increases the complexity of EAP method development, as well as client and authentication server implementations. Knowledge asymmetry In practice, an EAP method may not have knowledge of the ciphersuite that has been negotiated. In PPP, negotiation of the ciphersuite is accomplished via the Encryption Control Protocol (ECP), described in [RFC1968]. Since ECP negotiation occurs after authentication, unless an EAP method is utilized that supports ciphersuite negotiation (such as EAP-TLS [RFC2716]), the client, NAS and backend authentication server may not be able to anticipate the ciphersuite that will be used and therefore this information cannot be provided to the EAP method. Aboba & Simon Informational [Page 7] INTERNET-DRAFT The EAP Keying Problem 13 February 2002 3. EAP keying requirements In the most general case, authentication and encryption keys as well as initialization vectors must be derived for each direction from the master secret K derived by the EAP method. This can accomplished via the specification of two classes of algorithms: [1] Algorithms for the derivation of "master session keys" from the negotiated master key. The "master session keys" are derived from the master key derived by the EAP method, but are never directly used by ciphersuites; they are only used in the derivation of transient session keys. These "master session keys" are derived on the client and the backend authentication server. The backend authentication server then transmits the "master session keys" to the NAS. [2] Algorithms for the derivation of "transient session keys" from the "master session keys". The "transient session keys" are used for encryption, authentication and IV-generation in each direction, and are derived by the NAS and client, based on the negotiated ciphersuite. Depending on the negotiated ciphersuite, not all of the "transient session keys" will be required; for example 802.11 WEP does not provide a keyed message integrity check, and typically uses only a single encryption key in both directions. The algorithm for deriving the "master session keys" from the "master key" is designed to be ciphersuite-independent, and is specific to the EAP method. The goal of this algorithm is to provide master session keys in a well defined format, suitable for passage between the AAA server and the NAS. Examples of master session key derivation algorithms are provided in Section 3.5 of EAP TLS [RFC2716], based on the Pseudo-Random Function (PRF) defined in TLS [RFC2246]. Equivalent algorithms are provided in IKE [RFC2409] for the derivation of SKEYID_d, SKEYID_a and SKEYID_e from the master key SKEYID. Examples of AAA master session key attributes are provided in [RFC2548]. Note that because the derivation and validation of these algorithms is difficult, it is highly desirable to reuse existing algorithms if at all possible. This enables the security community to carefully analyze the proposed algorithm. Such an analysis would be difficult were multiple algorithms to proliferate. However, since each EAP method is different, it is also true that existing algorithms may not fit all situations. Aboba & Simon Informational [Page 8] INTERNET-DRAFT The EAP Keying Problem 13 February 2002 For example, the master key may not be directly available within all EAP methods. For security reasons, the TLS master secret is typically not directly available via TLS APIs. As a result, [RFC2716] derives master session keys from the TLS master secret, and uses those master session keys to derive the required session keys. Since EAP TLS [RFC2716] does not assume knowledge of the negotiated ciphersuite, it provides keys large enough for use with any ciphersuite, assuming that these will be truncated for use within the client and NAS. Since the raw master secret is typically not available in to EAP-TLS implementations, when this EAP method is used, the TLS PRF function is needed to derive keying material from it. Other EAP methods may also encounter similar issues. For example, EAP GSS implementations will typically not be able to access the master keys directly, but can call GSS_Wrap() to encrypted tokens and GSS_GetMIC() to generate authentication tokens based on the master secret. EAP GSS implementations will therefore need to use GSS-API calls to derive master session keys from the master key, rather than operating on the master key directly. By specifying the algorithm by which master session keys are derived within each EAP method, as well as the format by which the master session keys are transmitted from the AAA server to the NAS, the NAS can be assured of obtaining master session keys for each EAP method, in a well-defined format. Since it is assumed that the backend authentication server will perform the required calculations and will supply the NAS with the master session keys, the master session key algorithm need not be implemented on the NAS. Rather, the NAS will only need code for the second algorithm, namely for the derivation of ciphersuite-specific "transient session keys" from "master session keys". The derivation of ciphersuite-specific "transient session keys" from "master session keys" occurs after the ciphersuite has been determined, and provides for authentication and encryption keys as well as IV- generation. The algorithm for deriving "transient session keys" from the "master session keys" is designed to be EAP-method independent. Since each ciphersuite will have different needs, the algorithms for transient session key derivation will vary from ciphersuite to ciphersuite. Nevertheless, as with master session key derivation algorithms, it is desirable if commonalities can be found, so that the correctness and security of the algorithms can be more easily analyzed. Figure 2 on the next page describes the overall logic of how master session keys and transient session keys are derived from the master key negotiated within an EAP method. Aboba & Simon Informational [Page 9] INTERNET-DRAFT The EAP Keying Problem 13 February 2002 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+--- | | | | ^ | Is a raw master key | | Can a pseudo-master key | | | available or can | | be derived from | | | the PRF operate on it? | | the master key? | | | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | | K | K' | | | | V V | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | EAP | | Master Session Key | Method | | Derivation | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | | Master Session Key Outputs | | | | | V V | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | | Key and IV Derivation | | | Derivation | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | P->A | A->P | P->A | A->P | P->A | A->P EAP V | Enc. | Enc. | Auth. | Auth. | IV | IV API ---+--- | Key | Key | Key | Key | | ^ | | | | | | AAA | | | | | | | Keys V V V V V V V ---+--- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ^ | | | | Ciphersuite-Specific Truncation & | NAS | | Key utilization | | | | V +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+--- Figure 2 - Architecture for derivation of session keys from themaster key, rather than operating on theEAP method master keydirectly.K. Aboba & Simon Informational [Page7]10] INTERNET-DRAFT The EAPSession KeyKeying Problem4 November 2001 While method-specific algorithms may be required in some methods, for other methods, the master key is directly available, and so the algorithm used to derive master sesion keys from it can be designed in complete freedom. However, even where such freedom is available, the proliferation of EAP method-specific key derivation algorithms is undesirable. Figure 1 on the next page describes the overall logic of how master session keys and transient session keys are derived from the master key negotiated with an EAP method.13 February 2002 The master key K may be of varying length, and as described earlier, may not be directly available to the EAP method. Where the master key K is not exportable, an intermediate step is required to generate a "Pseudo- Master Key" from the master key. For example, in EAP GSS, as described in[39],[EAPGSS], a "Pseudo-Master Key", K' is derived via GSS-API calls, and is used instead.2.1. Solution requirementsIn order to enable interoperability between backend authentication servers, NASen and EAP clients implementing EAP methods that derive keys, the following is required: Key hierarchy In order to enable the keys derived within EAP methods to be used within any ciphersuite, EAP methods deriving keys need to specify the algorithms for master session key derivation. If possible, it is desirable to reuse existing key derivation techniques, rather than inventing new ones. Ciphersuite keys In order to use the master session keys provided by EAP methods, ciphersuites keyed via EAP need to define how ciphersuite-specific keys are derived from the master session keys provided by EAP methods. Keying AVPs In order to enable backend authentication servers to provide keying material to the NAS in a well defined format, it is necessary to standardize the attributes uses to transmit keys from the backend authentication server to the NAS. The algorithms for derivation of "master session keys" from the master key, and for derivation of "transient session keys" from the "master session keys" are not specified in this document. Rather, the purpose of this document is to lay out a framework within which algorithms can be discussed and evaluated. For a proposed "master session key" derivation algorithm to be satisfactory, it needs to fulfill several requirements: Ciphersuite-independence A satisfactory "master session key" derivation algorithm MUST NOT require ciphersuite-specific code to be implemented within an EAP method. In practice, this implies that the master session keysneed toMUST enable derivation of authentication and encryption keys and IVs in both directions. Generality A satisfactory "master session key" derivation algorithm MUSTprovide master session keys appropriate for use with a wide range of ciphersuites. Among other things, this implies that the master session keys must contain sufficient entropy to be usable with existing and future ciphersuites. Direct and Indirect Access A satisfactory "master session key" derivation algorithm MUST be applicable to EAP methods where the master key is not directly accessible. These include TLS and GSS-API methods.Aboba & Simon Informational [Page8]11] INTERNET-DRAFT The EAPSession KeyKeying Problem4 November 2001 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | | Is raw master key | | Can a pseudo-master key | | available or can | | be derived from | | the PRF operate on it? | | the13 February 2002 provide masterkey? | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | K | K' | | V V +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Master Session Key | | Derivation | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Master Session Key Outputs | | | V V +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Key and IV Derivation | | Derivation | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | P->A | A->P | P->A | A->P | P->A | A->P | Enc. | Enc. | Auth. | Auth. | IV | IV | Key | Key | Key | Key | | | | | | | | | | | | | | V V V V V V +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Ciphersuite-Specific Truncation & | | Key utilization | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1 - Architecturesession keys appropriate forderivationuse with a wide range of ciphersuites. Among other things, this implies that the master session keysfrom theMUST contain sufficient entropy to be usable with existing and future ciphersuites. At a minimum, master session keys SHOULD be at least 256 octets in length. Direct and Indirect Access Satisfactory "master session key" derivation algorithm MUST be applicable to EAPmethodmethods where the master keyK. Aboba & Simon Informational [Page 9] INTERNET-DRAFT Theis not directly accessible. These include TLS and GSS-API methods. Generality It is likely that each EAPSession Key Problem 4 November 2001 The algorithmmethod will handle the derivation of "master session keys" from "master keys" in a different manner. However, wherever possible, well known algorithms SHOULD be reused, and customized to fit, rather than developing entirely new algorithms. Algorithms for "transient session key" derivation also needs to fulfill several requirements: EAP method independenceThe algorithmAlgorithms for deriving "transient session keys" from "master session keys" MUST NOT depend on the EAP method. Derivation of "transient session keys" is expected to occur on the NAS, which acts as a "passthrough" for EAP. Therefore the NAS cannot be expected to have knowledge of the EAP method that has been negotiated. GeneralityThe algorithmMore than one algorithm(s) for derivation of "transient session keys" from "master session keys"MUSTMAY besuitable for use with a widerequired, in order to cover the full range ofciphersuites. In practice, this means that the algorithm mustciphersuites, but algorithms SHOULD beusable with existing and future ciphersuites. 3.reused where possible, so that they do not proliferate unnecessarily. 4. Security considerations The strength of the session keys is dependent upon the security of the EAP method providing the master keying material. If the chosen EAP method has security vulnerabilities, or does not produce a key of sufficient entropy then it is possible that weak session keys may be produced.4.Aboba & Simon Informational [Page 12] INTERNET-DRAFT The EAP Keying Problem 13 February 2002 5. Normative References[1][RFC1661] Simpson, W., Editor, "The Point-to-Point Protocol (PPP)", STD 51, RFC 1661, July 1994.[2] Sklower, K., Lloyd, B., McGregor, G., Carr, D., and T. Coradetti, "The PPP Multilink Protocol (MP)", RFC 1990, August 1996. [3] Simpson, W., Editor, "PPP LCP Extensions", RFC 1570, January 1994. [4] Lloyd, B., Simpson, W., "PPP Authentication Protocols," RFC 1334, October 1992. [5] Simpson, W., "PPP Challenge Handshake Authentication Protocol (CHAP)," RFC 1994, August 1996. [6] Zorn, G., Cobb,[RFC2119] Bradner, S.,"Microsoft PPP CHAP Extensions," RFC 2433, October 1998. [7] Zorn, G., "Microsoft PPP CHAP Extensions, Version 2,""Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC2759, January 2000. Aboba & Simon Informational [Page 10] INTERNET-DRAFT The EAP Session Key Problem 4 November 2001 [8] Rivest, R., Dusse, S.,2119, March 1997. [RFC2246] Dierks, T. and Allen, C. "TheMD5 Message-Digest Algorithm",TLS Protocol Version 1.0", RFC1321, April 1992. [9]2246, November 1998. [RFC2284] Blunk, L., Vollbrecht, J., "PPP Extensible Authentication Protocol (EAP)", RFC 2284, March 1998.[10][RFC2409] Harkins, D., Carrel, D., "The Internet Key Exchange (IKE)", RFC 2409, November 1998. [IEEE8021X] IEEE Standards for Local and Metropolitan Area Networks: Port based Network Access Control, IEEE Std 802.1X-2001, June 2001. 6. Informative References [RFC1968] Meyer, G., "The PPP Encryption Protocol (ECP)", RFC 1968, June 1996.[11] National Bureau of Standards, "Data Encryption Standard", FIPS PUB 46 (January 1977). [12] National Bureau of Standards, "DES Modes of Operation", FIPS PUB 81 (December 1980). [13] National Institute of Standards and Technology (NIST), "Announcing the Secure Hash Standard," FIPS 180-1, U.S. Department of Commerce, 04/1995 [14] Daemen, Joan and Vincent Rijmen, "AES Proposal: Rijndael", September 1999, <http://www.esat.kuleuven.ac.be/~rijmen/rijndael/>. [15] National Institute of Standards and Technology, "Rijndael: NIST's Selection for the AES", December 2000, <http://csrc.nist.gov/encryption/aes/rijndael/Rijndael.pdf>. [16][RFC2419] Sklower, K., Meyer, G., "The PPP DES Encryption Protocol, Version 2 (DESE-bis)", RFC 2419, September 1998.[17][RFC2420] Hummert, K., "The PPP Triple-DES Encryption Protocol (3DESE)",RFC 2420, September 1998. [18] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [19] D. Rand. "The PPP Compression Control Protocol", RFC 1962, Novell, June 1996. [20] IEEE Standards for Local and Metropolitan Area Networks: Overview and Architecture, ANSI/IEEE Std 802, 1990. [21] IEEE Standards for Local and Metropolitan Area Networks: Port based Network Access Control, IEEE Std 802.1X-2001, June 2001. [22] Alvestrand, H. and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998. Aboba & Simon Informational [Page 11] INTERNET-DRAFT The EAP Session Key Problem 4 November 2001 [23] Dobbertin, H., "The Status of MD5 After a Recent Attack." CryptoBytes Vol.2 No.2, Summer 1996. [24] 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 Std. 802.11-1997, 1997. [25] Wu, T., "The Secure Remote Password Protocol", in Proceedings of the 1998 Internet Society Symposium on Network and Distributed Systems Security, San Diego, CA, pp. 97-111 [26] Wu, T., "The Secure Remote Password Protocol", March 1998, <http://srp.stanford.edu/srp/ndss.html>. [27] Wu, T., "The SRP Authentication and Key Exchange System," RFC 2945, September 2000. [28] Wu, T., "SRP: The Open Source Password Authentication Standard", March 1998, <http://srp.stanford.edu/srp/>. [29] Hopwood, D., "Standard Cryptographic Algorithm Naming", June 2000, <http://www.eskimo.com/~weidai/scan-mirror/>. [30] Menezes, A.J., van Oorschot, P.C. and S.A. Vanstone, "Handbook of Applied Cryptography", CRC Press, Inc., ISBN 0-8493-8523-7, 1997, <http://www.cacr.math.uwaterloo.ca/hac/about/chap7.ps>. [31] Krawczyk,RFC 2420, September 1998. [RFC2434] Alvestrand, H.et al, "HMAC: Keyed-Hashingand T. Narten, "Guidelines forMessage Authentication",Writing an IANA Considerations Section in RFCs", BCP 26, RFC2104, February 1997. [32]2434, October 1998. [RFC2716] Aboba, B., Simon, D.,"PPP EAP TLS Authentication Protocol", RFC 2716, October 1999.[33] Dierks, T.[RFC3078] Pall, G. andAllen, C. "The TLS Protocol Version 1.0", RFC 2246, November 1998. [34] Orman, H., "The Oakley Key Determination Protocol",Zorn, G. "Microsoft Point-to-Point Encryption (MPPE) RFC2412, November 1998. [35]3078, March 2001. [RFC3079] Zorn, G. "Deriving Keys for use with Microsoft Point-to-Point Encryption (MPPE)," RFC 3079, March 2001.[36] Pall, G. and Zorn, G. "Microsoft Point-to-Point Encryption (MPPE) RFC 3078, March 2001.[EAPGSS] Aboba, B., "EAP GSS Authentication Protocol", Internet draft (work in progress), draft-aboba-pppext-eapgss-11.txt, February 2002. Aboba & Simon Informational [Page12]13] INTERNET-DRAFT The EAPSession KeyKeying Problem413 February 2002 [EAPAKA] Arkko, J., Haverinen, H., "EAP AKA Authentication", Internet draft (work in progress), draft-arkko-pppext-eap-aka-01.txt, November2001 [37]2001. [EAPSRP] Carlson, J., Aboba, B., Haverinen, H., "PPP EAP SRP-SHA1 Authentication Protocol", Internet-draft (work in progress),draft- ietf-pppext-eap-srp-03.txt,draft-ietf-pppext-eap-srp-03.txt, July 2001.[38][FIPSDES] National Bureau of Standards, "Data Encryption Standard", FIPS PUB 46 (January 1977). [PIC] Sheffer, Y., Krawczyk, H., Aboba, B., "PIC, A Pre-IKE Credential Provisioning Protocol", Internet draft (work in progress),draft- ietf-ipsra-pic-03.txt, July 2001. [39] Aboba, B., "EAP GSS Authentication Protocol", Internet draft (work in progress), draft-aboba-pppext-eapgss-08.txt, October 2001. [40] Arkko, J., Haverinen, H., "EAP AKA Authentication", Internet draft (work in progress), draft-arkko-pppext-eap-aka-00.txt, December 2001. [41]draft-ietf-ipsra-pic-05.txt, February 2002. [DESMODES] National Bureau of Standards, "DES Modes of Operation", FIPS PUB 81 (December 1980). [SHA] National Institute of Standards and Technology (NIST), "Announcing the Secure Hash Standard," FIPS 180-1, U.S. Department of Commerce, 04/1995 [IEEE80211Tgi] IEEE Draft 802.11i/D2, "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", July 2001.[42][IEEE80211] 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 Std. 802.11-1997, 1997. [EAPAPI] Microsoft Developer Network, "Windows 2000 EAP API", August 2000,http://msdn.microsoft.com/library/default.asp?url=/library/en- us/eap/eapport_0fj9.asp [43] Daemen, J., Rijman, V., "AES Proposal: Rijndael," NIST AES Proposal, June 1998. http://csrc.nist.gov/encryption/aes/round2/ AESAlgs/Rijndael/Rijndael.pdf [44] Draft FIPS Publication ZZZZ, "Advanced Encryption Standard (AES)", U.S. DoC/NIST, summer 2001. [45] "Symmetric Key Block Cipher Modes of Operation," http://www.nist.gov/modes. [46] "Recommendation for Block Cipher Modes of Operation", National Institute of Standards and Technology (NIST) Special Publication 800-XX, CODEN: NSPUE2, U.S. Government Printing Office, Washington, DC, July 2001.http://msdn.microsoft.com/library/ default.asp?url=/library/en-us/eap/eapport_0fj9.asp Acknowledgments Thanks to Arun Ayyagari, Ashwin Palekar, and Tim Moore ofMicrosoftMicrosoft, Dorothy Stanley of Agerem and Russ Housley of RSA Security for useful feedback. Aboba & Simon Informational [Page13]14] INTERNET-DRAFT The EAPSession KeyKeying Problem4 November 200113 February 2002 Author Addresses Bernard Aboba Microsoft Corporation One Microsoft Way Redmond, WA 98052 EMail: bernarda@microsoft.com Phone: +1 425 706 6605 Fax: +1 425 706 7329 Dan Simon Microsoft Research Microsoft Corporation One Microsoft Way Redmond, WA 98052 EMail: dansimon@microsoft.com Phone: +1 425 706 6711 Fax: +1 425 706 7329 Intellectual Property Statement The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards- related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary 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(2001).(2002). 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 Aboba & Simon Informational [Page14]15] INTERNET-DRAFT The EAPSession KeyKeying Problem4 November 200113 February 2002 assist in its implmentation 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 inthe 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 or 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 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE." Expiration Date This memo is filed as<draft-aboba-pppext-key-problem-00.txt>,<draft-aboba-pppext-key-problem-01.txt>, and expiresMayAugust 22, 2002. Aboba & Simon Informational [Page15]16] ----