the new makeinfo sets the FLOAT_NAME by default.
[gnutls.git] / doc / protocol / draft-nir-tls-eap-03.txt
blob54151346105b97c33e645fcac5003b6b021db647
4 TLS Working Group                                                 Y. Nir
5 Internet-Draft                                                Y. Sheffer
6 Intended status: Standards Track                             Check Point
7 Expires: October 6, 2008                                   H. Tschofenig
8                                                                      NSN
9                                                               P. Gutmann
10                                                   University of Auckland
11                                                            April 4, 2008
14                       TLS using EAP Authentication
15                         draft-nir-tls-eap-03.txt
17 Status of this Memo
19    By submitting this Internet-Draft, each author represents that any
20    applicable patent or other IPR claims of which he or she is aware
21    have been or will be disclosed, and any of which he or she becomes
22    aware will be disclosed, in accordance with Section 6 of BCP 79.
24    Internet-Drafts are working documents of the Internet Engineering
25    Task Force (IETF), its areas, and its working groups.  Note that
26    other groups may also distribute working documents as Internet-
27    Drafts.
29    Internet-Drafts are draft documents valid for a maximum of six months
30    and may be updated, replaced, or obsoleted by other documents at any
31    time.  It is inappropriate to use Internet-Drafts as reference
32    material or to cite them other than as "work in progress."
34    The list of current Internet-Drafts can be accessed at
35    http://www.ietf.org/ietf/1id-abstracts.txt.
37    The list of Internet-Draft Shadow Directories can be accessed at
38    http://www.ietf.org/shadow.html.
40    This Internet-Draft will expire on October 6, 2008.
42 Copyright Notice
44    Copyright (C) The IETF Trust (2008).
55 Nir, et al.              Expires October 6, 2008                [Page 1]
57 Internet-Draft                 EAP-in-TLS                     April 2008
60 Abstract
62    This document describes an extension to the TLS protocol to allow TLS
63    clients to authenticate with legacy credentials using the Extensible
64    Authentication Protocol (EAP).
66    This work follows the example of IKEv2, where EAP has been added to
67    the IKEv2 protocol to allow clients to use different credentials such
68    as passwords, token cards, and shared secrets.
70    When TLS is used with EAP, additional records are sent after the
71    ChangeCipherSpec protocol message and before the Finished message,
72    effectively creating an extended handshake before the application
73    layer data can be sent.  Each EapMsg handshake record contains
74    exactly one EAP message.  Using EAP for client authentication allows
75    TLS to be used with various AAA back-end servers such as RADIUS or
76    Diameter.
78    TLS with EAP may be used for securing a data connection such as HTTP
79    or POP3.  We believe it has three main benefits:
80    o  The ability of EAP to work with backend servers can remove that
81       burden from the application layer.
82    o  Moving the user authentication into the TLS handshake protects the
83       presumably less secure application layer from attacks by
84       unauthenticated parties.
85    o  Using mutual authentication methods within EAP can help thwart
86       certain classes of phishing attacks.
111 Nir, et al.              Expires October 6, 2008                [Page 2]
113 Internet-Draft                 EAP-in-TLS                     April 2008
116 Table of Contents
118    1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
119      1.1.  EAP Applicability  . . . . . . . . . . . . . . . . . . . .  5
120      1.2.  Comparison with Design Alternatives  . . . . . . . . . . .  5
121      1.3.  Conventions Used in This Document  . . . . . . . . . . . .  5
122    2.  Operating Environment  . . . . . . . . . . . . . . . . . . . .  6
123    3.  Protocol Overview  . . . . . . . . . . . . . . . . . . . . . .  7
124      3.1.  The tee_supported Extension  . . . . . . . . . . . . . . .  8
125      3.2.  The InterimAuth Handshake Message  . . . . . . . . . . . .  8
126      3.3.  The EapMsg Handshake Message . . . . . . . . . . . . . . .  8
127      3.4.  Calculating the Finished message . . . . . . . . . . . . .  9
128    4.  Security Considerations  . . . . . . . . . . . . . . . . . . . 10
129      4.1.  InterimAuth vs. Finished . . . . . . . . . . . . . . . . . 10
130      4.2.  Identity Protection  . . . . . . . . . . . . . . . . . . . 10
131      4.3.  Mutual Authentication  . . . . . . . . . . . . . . . . . . 11
132    5.  Performance Considerations . . . . . . . . . . . . . . . . . . 12
133    6.  Operational Considerations . . . . . . . . . . . . . . . . . . 13
134    7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 14
135    8.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 15
136    9.  Changes from Previous Versions . . . . . . . . . . . . . . . . 16
137      9.1.  Changes in version -02 . . . . . . . . . . . . . . . . . . 16
138      9.2.  Changes in version -01 . . . . . . . . . . . . . . . . . . 16
139      9.3.  Changes from the protocol model draft  . . . . . . . . . . 16
140    10. Open Issues  . . . . . . . . . . . . . . . . . . . . . . . . . 17
141    11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 18
142      11.1. Normative References . . . . . . . . . . . . . . . . . . . 18
143      11.2. Informative References . . . . . . . . . . . . . . . . . . 18
144    Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 20
145    Intellectual Property and Copyright Statements . . . . . . . . . . 21
167 Nir, et al.              Expires October 6, 2008                [Page 3]
169 Internet-Draft                 EAP-in-TLS                     April 2008
172 1.  Introduction
174    This document describes a new extension to [TLS].  This extension
175    allows a TLS client to authenticate using [EAP] instead of performing
176    the authentication at the application level.  The extension follows
177    [TLS-EXT].  For the remainder of this document we will refer to this
178    extension as TEE (TLS with EAP Extension).
180    TEE extends the TLS handshake beyond the regular setup, to allow the
181    EAP protocol to run between the TLS server (called an "authenticator"
182    in EAP) and the TLS client (called a "supplicant").  This allows the
183    TLS architecture to handle client authentication before exposing the
184    server application software to an unauthenticated client.  In doing
185    this, we follow the approach taken for IKEv2 in [RFC4306].  However,
186    similar to regular TLS, we protect the user identity by only sending
187    the client identity after the server has authenticated.  In this our
188    solution differs from that of IKEv2.
190    Currently used applications that rely on non-certificate user
191    credentials use TLS to authenticate the server only.  After that, the
192    application takes over, and presents a login screen where the user is
193    expected to present their credentials.
195    This creates several problems.  It allows a client to access the
196    application before authentication, thus creating a potential for
197    anonymous attacks on non-hardened applications.  Additionally, web
198    pages are not particularly well suited for long shared secrets and
199    for interfacing with certain devices such as USB tokens.
201    TEE allows full mutual authentication to occur for all these
202    applications within the TLS exchange.  The application receives
203    control only when the user is identified and authenticated.  The
204    authentication can be built into the server infrastructure by
205    connecting to an AAA server.  The client side can be integrated into
206    client software such as web browsers and mail clients.  An EAP
207    infrastructure is already built into some operating systems providing
208    a user interface for each authentication method within EAP.
210    We intend TEE to be used for various protocols that use TLS such as
211    HTTPS, in cases where certificate based client authentication is not
212    practical.  This includes web-based mail services, online banking,
213    premium content websites and mail clients.
215    Another class of applications that may see benefit from TEE are TLS
216    based VPN clients used as part of so-called "SSL VPN" products.  No
217    such client protocols have so far been standardized.
223 Nir, et al.              Expires October 6, 2008                [Page 4]
225 Internet-Draft                 EAP-in-TLS                     April 2008
228 1.1.  EAP Applicability
230    Section 1.3 of [EAP] states that EAP is only applicable for network
231    access authentication, rather than for "bulk data transfer".  It then
232    goes on to explain why the transport properties of EAP indeed make it
233    unsuitable for bulk data transfer, e.g. for large file transport.
234    Our proposed use of EAP falls squarely within the applicability as
235    defined, since we make no further use of EAP beyond access
236    authentication.
238 1.2.  Comparison with Design Alternatives
240    It has been suggested to implement EAP authentication as part of the
241    protected application, rather than as part of the TLS handshake.  A
242    BCP document could be used to describe a secure way of doing this.
243    The drawbacks we see in such an approach are listed below:
244    o  EAP does not have a pre-defined transport method.  Application
245       designers would need to specify an EAP transport for each
246       application.  Making this a part of TLS has the benefit of a
247       single specification for all protected applications.
248    o  The integration of EAP and TLS is security-sensitive and should be
249       standardized and interoperable.  We do not believe that it should
250       be left to application designers to do this in a secure manner.
251       Specifically on the server-side, integration with AAA servers adds
252       complexity and is more naturally part of the underlying
253       infrastrcture.
254    o  Our current proposal provides channel binding between TLS and EAP,
255       to counter the MITM attacks described in [MITM].  TLS does not
256       provide any standard way of extracting cryptographic material from
257       the TLS state, and in most implementations, the TLS state is not
258       exposed to the protected application.  Because of this, it is
259       difficult for application designers to bind the user
260       authentication to the protected channel provided by TLS.
262 1.3.  Conventions Used in This Document
264    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
265    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
266    document are to be interpreted as described in [RFC2119].
279 Nir, et al.              Expires October 6, 2008                [Page 5]
281 Internet-Draft                 EAP-in-TLS                     April 2008
284 2.  Operating Environment
286    TEE will work between a client application and a server application,
287    performing either client authentication or mutual authentication
288    within the TLS exchange.
291         Client                         Server
292     +-------------------------+     +------------------------+
293     |  |GUI| | Client | |TLS+-+-----+-+TLS|   |Server      | |
294     |  +-^-+ |Software| +-^-+ |     +-+-^-+   |Application | |
295     |    |   +--------+   |   |     |   |     |Software    | |
296     |    |                |   |     |   |     +------------+ |
297     |  +-v----------------v-+ |     |   |                    |
298     |  |   EAP              | |     +---|--------------------+
299     |  |  Infrastructure    | |         |
300     |  +--------------------+ |         |    +--------+
301     +-------------------------+         |    | AAA    |
302                                         |    | Server |
303                                         +-----        |
304                                              +--------+
306    The above diagram shows the typical deployment.  The client has
307    software that either includes a UI for some EAP methods, or else is
308    able to invoke some operating system EAP infrastructure that takes
309    care of the user interaction.  The server is configured with the
310    address and protocol of the AAA server.  Typically the AAA server
311    communicates using the RADIUS protocol with EAP ([RADIUS] and
312    [RAD-EAP]), or the Diameter protocol ([Diameter] and [Dia-EAP]).
314    As stated in the introduction, we expect TEE to be used in both
315    browsers and applications.  Further uses may be authentication and
316    key generation for other protocols, and tunneling clients, which so
317    far have not been standardized.
335 Nir, et al.              Expires October 6, 2008                [Page 6]
337 Internet-Draft                 EAP-in-TLS                     April 2008
340 3.  Protocol Overview
342    The TEE extension defines the following:
343    o  A new extension type called tee_supported, used to indicate that
344       the communicating application (either client or server) supports
345       this extension.
346    o  A new message type for the handshake protocol, called InterimAuth,
347       which is used to sign previous messages.
348    o  A new message type for the handshake protocol, called EapMsg,
349       which is used to carry a single EAP message.
351    The diagram below outlines the protocol structure.  For illustration
352    purposes only, we use the GPSK EAP method [EAP-GPSK].
354          Client                                               Server
355          ------                                               ------
357          ClientHello(*)             -------->
358                                                       ServerHello(*)
359                                                        (Certificate)
360                                                    ServerKeyExchange
361                                             EapMsg(Identity-Request)
362                                      <--------       ServerHelloDone
363          ClientKeyExchange
364          (CertificateVerify)
365          ChangeCipherSpec
366          InterimAuth
367          EapMsg(Identity-Reply)     -------->
368                                                     ChangeCipherSpec
369                                                          InterimAuth
370                                                 EapMsg(GPSK-Request)
371                                     <--------
372          EapMsg(GPSK-Reply)         -------->
373                                                 EapMsg(GPSK-Request)
374                                     <--------
375          EapMsg(GPSK-Reply)         -------->
376                                                      EapMsg(Success)
377                                     <--------               Finished
378          Finished                   -------->
380        (*) The ClientHello and ServerHello include the tee_supported
381            extension to indicate support for TEE
384    The client indicates in the first message its support for TEE.  The
385    server sends an EAP identity request in the reply.  The client sends
386    the identity reply after the handshake completion.  The EAP request-
387    response sequence continues until the client is either authenticated
391 Nir, et al.              Expires October 6, 2008                [Page 7]
393 Internet-Draft                 EAP-in-TLS                     April 2008
396    or rejected.
398 3.1.  The tee_supported Extension
400    The tee_supported extension is a ClientHello and ServerHello
401    extension as defined in section 2.3 of [TLS-EXT].  The extension_type
402    field is TBA by IANA.  The extension_data is zero-length.
404 3.2.  The InterimAuth Handshake Message
406    The InterimAuth message is identical in syntax to the Finished
407    message described in section 7.4.9 of [TLS].  It is calculated in
408    exactly the same way.
410    The semantics, however, are somewhat different.  The "Finished"
411    message indicates that application data may now be sent.  The
412    "InterimAuth" message does not indicate this.  Instead, further
413    handshake messages are needed.
415    The HandshakeType value for the InterimAuth handshake message is TBA
416    by IANA.
418 3.3.  The EapMsg Handshake Message
420    The EapMsg handshake message carries exactly one EAP message as
421    defined in [EAP].
423    The HandshakeType value for the EapMsg handshake message is TBA by
424    IANA.
426    The EapMsg message is used to tunnel EAP messages between the
427    authentication server, which may be co-located with the TLS server,
428    or else may be a separate AAA server, and the supplicant, which is
429    co-located with the TLS client.  TLS on either side receives the EAP
430    data from the EAP infrastructure, and treats it as opaque.  TLS does
431    not make any changes to the EAP payload or make any decisions based
432    on the contents of an EapMsg handshake message.
434    Note that it is expected that the authentication server notifies the
435    TLS server about authentication success or failure, and so TLS need
436    not inspect the eap_payload within the EapMsg to detect success or
437    failure.
447 Nir, et al.              Expires October 6, 2008                [Page 8]
449 Internet-Draft                 EAP-in-TLS                     April 2008
452          struct {
453              opaque eap_payload[4..65535];
454          } EapMsg;
456          eap_payload is defined in section 4 of RFC 3748. It includes
457          the Code, Identifier, Length and Data fields of the EAP
458          packet.
460 3.4.  Calculating the Finished message
462    If the EAP method is key-generating (see [I-D.ietf-eap-keying]), the
463    Finished message is calculated as follows:
465          struct {
466              opaque verify_data[12];
467          } Finished;
469          verify_data
470              PRF(MSK, finished_label, MD5(handshake_messages) +
471              SHA-1(handshake_messages)) [0..11];
473    The finished_label and the PRF are as defined in section 7.4.9 of
474    [TLS].
476    The handshake_messages field, unlike regular TLS, does not sign all
477    the data in the handshake.  Instead it signs all the data that has
478    not been signed by the previous InterimAuth message.  The
479    handshake_messages field includes all of the octets beginning with
480    and including the InterimAuth message, up to but not including this
481    Finished message.  This is the concatenation of all the Handshake
482    structures exchanged thus far, and not yet signed, as defined in
483    section 7.4 of [TLS]and in this document.
485    The Master Session Key (MSK) is derived by the AAA server and by the
486    client if the EAP method is key-generating.  On the server-side, it
487    is typically received from the AAA server over the RADIUS or Diameter
488    protocol.  On the client-side, it is passed to TLS by some other
489    method.
491    If the EAP method is not key-generating, then the master_secret is
492    used to sign the messages instead of the MSK.  For a discussion on
493    the use of such methods, see Section 4.1.
503 Nir, et al.              Expires October 6, 2008                [Page 9]
505 Internet-Draft                 EAP-in-TLS                     April 2008
508 4.  Security Considerations
510 4.1.  InterimAuth vs. Finished
512    In regular TLS, the Finished message provides two functions: it signs
513    all preceding messages, and it signals that application data can now
514    be sent.  In TEE, it only signs those messages that have not yet been
515    signed.
517    Some EAP methods, such as EAP-TLS, EAP-IKEv2 and EAP-SIM generate
518    keys in addition to authenticating clients.  Such methods are said to
519    be resistant to man-in-the-middle (MITM) attacks as discussed in
520    [MITM].  Such methods are called key-generating methods.
522    To realize the benefit of such methods, we need to verify the key
523    that was generated within the EAP method.  This is referred to as the
524    MSK in EAP.  In TEE, the InterimAuth message signs all previous
525    messages with the master_secret, just like the Finished message in
526    regular TLS.  The Finished message signs the rest of the messages
527    using the MSK if such exists.  If not, then the messages are signed
528    with the master_secret as in regular TLS.
530    The need for signing twice arises from the fact that we need to use
531    both the master_secret and the MSK.  It was possible to use just one
532    Finished record and blend the MSK into the master_secret.  However,
533    this would needlessly complicate the protocol and make security
534    analysis more difficult.  Instead, we have decided to follow the
535    example of IKEv2, where two AUTH payloads are exchanged.
537    It should be noted that using non-key-generating methods may expose
538    the client to a MITM attack if the same method and credentials are
539    used in some other situation, in which the EAP is done outside of a
540    protected tunnel with an authenticated server.  Unless it can be
541    determined that the EAP method is never used in such a situation,
542    non-key-generating methods SHOULD NOT be used.  This issue is
543    discussed extensively in [Compound-Authentication].
545 4.2.  Identity Protection
547    Unlike [TLS-PSK], TEE provides identity protection for the client.
548    The client's identity is hidden from a passive eavesdropper using TLS
549    encryption.  Active attacks are discussed in Section 4.3.
551    We could save one round-trip by having the client send its identity
552    within the Client Hello message.  This is similar to TLS-PSK.
553    However, we believe that identity protection is a worthy enough goal,
554    so as to justify the extra round-trip.
559 Nir, et al.              Expires October 6, 2008               [Page 10]
561 Internet-Draft                 EAP-in-TLS                     April 2008
564 4.3.  Mutual Authentication
566    In order to achieve our security goals, we need to have both the
567    server and the client authenticate.  Client authentication is
568    obviously done using the EAP method.  The server authentication can
569    be done in either of two ways:
570    1.  The client can verify the server certificate.  This may work well
571        depending on the scenario, but implies that the client or its
572        user can recognize the right DN or alternate name, and
573        distinguish it from plausible alternatives.  The introduction to
574        [I.D.Webauth-phishing] shows that at least in HTTPS, this is not
575        always the case.
576    2.  The client can use a mutually authenticated (MA) EAP method such
577        as GPSK.  In this case, server certificate verification does not
578        matter, and the TLS handshake may as well be anonymous.  Note
579        that in this case, the client identity is sent to the server
580        before server authentication.
582    To summarize:
583    o  Clients MUST NOT propose anonymous ciphersuites, unless they
584       support MA EAP methods.
585    o  Clients MUST NOT accept non-MA methods if the ciphersuite is
586       anonymous.
587    o  Clients MUST NOT accept non-MA methods if they are not able to
588       verify the server credentials.  Note that this document does not
589       define what verification involves.  If the server DN is known and
590       stored on the client, verifying certificate signature and checking
591       revocation may be enough.  For web browsers, the case is not as
592       clear cut, and MA methods SHOULD be used.
615 Nir, et al.              Expires October 6, 2008               [Page 11]
617 Internet-Draft                 EAP-in-TLS                     April 2008
620 5.  Performance Considerations
622    Regular TLS adds two round-trips to a TCP connection.  However,
623    because of the stream nature of TCP, the client does not really need
624    to wait for the server's Finished message, and can begin sending
625    application data immediately after its own Finished message.  In
626    practice, many clients do so, and TLS only adds one round-trip of
627    delay.
629    TEE adds as many round-trips as the EAP method requires.  For
630    example, EAP-MD5 requires 1 round-trip, while EAP-GPSK requires 2
631    round-trips.  Additionally, the client MUST wait for the EAP-Success
632    message before sending its own Finished message, so we need at least
633    3 round-trips for the entire handshake.  The best a client can do is
634    two round-trips plus however many round-trips the EAP method
635    requires.
637    It should be noted, though, that these extra round-trips save
638    processing time at the application level.  Two extra round-trips take
639    a lot less time than presenting a log-in web page and processing the
640    user's input.
642    It should also be noted, that TEE reverses the order of the Finished
643    messages.  In regular TLS the client sends the Finished message
644    first.  In TEE it is the server that sends the Finished message
645    first.  This should not affect performance, and it is clear that the
646    client may send application data immediately after the Finished
647    message.
671 Nir, et al.              Expires October 6, 2008               [Page 12]
673 Internet-Draft                 EAP-in-TLS                     April 2008
676 6.  Operational Considerations
678    Section 4.3 defines a dependency between the TLS state and the EAP
679    state in that it mandates that certain EAP methods should not be used
680    with certain TLS ciphersuites.  To avoid such dependencies, there are
681    two approaches that implementations can take.  They can either not
682    use any anonymous ciphersuites, or else they can use only MA EAP
683    methods.
685    Where certificate validation is problematic, such as in browser-based
686    HTTPS, we recommend the latter approach.
688    In cases where the use of EAP within TLS is not known before opening
689    the connection, it is necessary to consider the implications of
690    requiring the user to type in credentials after the connection has
691    already started.  TCP sessions may time out, because of security
692    considerations, and this may lead to session setup failure.
727 Nir, et al.              Expires October 6, 2008               [Page 13]
729 Internet-Draft                 EAP-in-TLS                     April 2008
732 7.  IANA Considerations
734    IANA is asked to assign an extension type value from the
735    "ExtensionType Values" registry for the tee_supported extension.
737    IANA is asked to assign two handshake message types from the "TLS
738    HandshakeType Registry", one for "EapMsg" and one for "InterimAuth".
783 Nir, et al.              Expires October 6, 2008               [Page 14]
785 Internet-Draft                 EAP-in-TLS                     April 2008
788 8.  Acknowledgments
790    The authors would like to thank Josh Howlett for his comments.
792    The TLS Inner Application Extension work ([TLS/IA]) has inspired the
793    authors to create this simplified work.  TLS/IA provides a somewhat
794    different approach to integrating non-certificate credentials into
795    the TLS protocol, in addition to several other features available
796    from the RADIUS namespace.
798    The authors would also like to thank the various contributors to
799    [RFC4306] whose work inspired this one.
839 Nir, et al.              Expires October 6, 2008               [Page 15]
841 Internet-Draft                 EAP-in-TLS                     April 2008
844 9.  Changes from Previous Versions
846 9.1.  Changes in version -02
848    o  Added discussion of alternative designs.
850 9.2.  Changes in version -01
852    o  Changed the construction of the Finished message
853    o  Replaced MS-CHAPv2 with GPSK in examples.
854    o  Added open issues section.
855    o  Added reference to [Compound-Authentication]
856    o  Fixed reference to MITM attack
858 9.3.  Changes from the protocol model draft
860    o  Added diagram for EapMsg
861    o  Added discussion of EAP applicability
862    o  Added discussion of mutually-authenticated EAP methods vs other
863       methods in the security considerations.
864    o  Added operational considerations.
865    o  Other minor nits.
895 Nir, et al.              Expires October 6, 2008               [Page 16]
897 Internet-Draft                 EAP-in-TLS                     April 2008
900 10.  Open Issues
902    Some have suggested that since the protocol is identical to regular
903    TLS up to the InterimAuth message, we should call that the Finished
904    message, and call the last message in the extended handshake
905    something like "EapFinished".  This has the advantage that the
906    construction of Finished is already well defined and will not change.
907    However, the Finished message has a specific meaning as indicated by
908    its name.  It means that the handshake is over and that application
909    data can now be sent.  This is not true of what is in this draft
910    called InterimAuth.  We'd like the opinions of reviewrs about this
911    issue.
913    The MSK from the EAP exchange is only used to sign the Finished
914    message.  It is not used again in the data encryption.  In this we
915    followed the example of IKEv2.  The reason is that TLS already has
916    perfectly good ways of exchanging keys, and we do not need this
917    capability from EAP methods.  Also, using the MSK in keys would
918    require an additional ChangeCipherSpec and would complicate the
919    protocol.  We'd like the opinions of reviewrs about this issue.
921    Another response we got was that we should have a MUST requirement
922    that only mutually authenticated and key-generating methods be used
923    in TEE.  This would simplify the security considerations section.
924    While we agree that this is a good idea, most EAP methods in common
925    use are not compliant.  Additionally, such requirements assume that
926    EAP packets are visible to a passive attacker.  As EAP is used in
927    protected tunnels such as in L2TP, in IKEv2 and here, this assumption
928    may not be required.  If we consider the server authenticated by its
929    certificate, it may be acceptable to use a non-MA method.
931    It has been suggested that identity protection is not important
932    enough to add a roundtrip, and so we should have the client send the
933    username in the ClientHello.  We are not sure about how others feel
934    about this, and would like to solicit the reviewers opinion.  Note
935    that if this is done, the client sends the user name before ever
936    receiving any indication that the server actually supports TEE.  This
937    might be acceptable in an email client, where the server is
938    preconfigured, but it may be unacceptable in other uses, such as web
939    browsers.
951 Nir, et al.              Expires October 6, 2008               [Page 17]
953 Internet-Draft                 EAP-in-TLS                     April 2008
956 11.  References
958 11.1.  Normative References
960    [EAP]      Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and H.
961               Levkowetz, "Extensible Authentication Protocol (EAP)",
962               RFC 3748, June 2004.
964    [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
965               Requirement Levels", BCP 14, RFC 2119, March 1997.
967    [TLS]      Dierks, T. and E. Rescorla, "The Transport Layer Security
968               (TLS) Protocol Version 1.1", RFC 4346, April 2006.
970    [TLS-EXT]  Blake-Wilson, S., Nystrom, M., Hopwood, D., Mikkelsen, J.,
971               and T. Wright, "Transport Layer Security (TLS)
972               Extensions", RFC 4366, April 2006.
974 11.2.  Informative References
976    [Compound-Authentication]
977               Puthenkulam, J., Lortz, V., Palekar, A., and D. Simon,
978               "The Compound Authentication Binding Problem",
979               draft-puthenkulam-eap-binding-04 (work in progress),
980               October 2003.
982    [Dia-EAP]  Eronen, P., Hiller, T., and G. Zorn, "Diameter Extensible
983               Authentication Protocol (EAP) Application", RFC 4072,
984               August 2005.
986    [Diameter]
987               Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J.
988               Arkko, "Diameter Base Protocol", RFC 3588, September 2003.
990    [EAP-GPSK]
991               Clancy, T. and H. Tschofenig, "EAP Generalized Pre-Shared
992               Key (EAP-GPSK)", draft-ietf-emu-eap-gpsk-05 (work in
993               progress), April 2007.
995    [I-D.ietf-eap-keying]
996               Aboba, B., "Extensible Authentication Protocol (EAP) Key
997               Management Framework", draft-ietf-eap-keying-18 (work in
998               progress), February 2007.
1000    [I.D.Webauth-phishing]
1001               Hartman, S., "Requirements for Web Authentication
1002               Resistant to Phishing", draft-hartman-webauth-phishing-03
1003               (work in progress), March 2007.
1007 Nir, et al.              Expires October 6, 2008               [Page 18]
1009 Internet-Draft                 EAP-in-TLS                     April 2008
1012    [MITM]     Asokan, N., Niemi, V., and K. Nyberg, "Man-in-the-Middle
1013               in Tunneled Authentication Protocols", IACR ePrint
1014               Archive , October 2002.
1016    [RAD-EAP]  Aboba, B. and P. Calhoun, "RADIUS (Remote Authentication
1017               Dial In User Service) Support For Extensible
1018               Authentication Protocol (EAP)", RFC 3579, September 2003.
1020    [RADIUS]   Rigney, C., Willens, S., Rubens, A., and W. Simpson,
1021               "Remote Authentication Dial In User Service (RADIUS)",
1022               RFC 2865, June 2000.
1024    [RFC4306]  Kaufman, C., "Internet Key Exchange (IKEv2) Protocol",
1025               RFC 4306, December 2005.
1027    [TLS-PSK]  Eronen, P. and H. Tschofenig, "Pre-Shared Key Ciphersuites
1028               for Transport Layer Security (TLS)", RFC 4279,
1029               December 2005.
1031    [TLS/IA]   Funk, P., Blake-Wilson, S., Smith, H., Tschofenig, N., and
1032               T. Hardjono, "TLS Inner Application Extension (TLS/IA)",
1033               draft-funk-tls-inner-application-extension-03 (work in
1034               progress), June 2006.
1063 Nir, et al.              Expires October 6, 2008               [Page 19]
1065 Internet-Draft                 EAP-in-TLS                     April 2008
1068 Authors' Addresses
1070    Yoav Nir
1071    Check Point Software Technologies Ltd.
1072    5 Hasolelim st.
1073    Tel Aviv  67897
1074    Israel
1076    Email: ynir@checkpoint.com
1079    Yaron Sheffer
1080    Check Point Software Technologies Ltd.
1081    5 Hasolelim st.
1082    Tel Aviv  67897
1083    Israel
1085    Email: yaronf at checkpoint dot com
1088    Hannes Tschofenig
1089    Nokia Siemens Networks
1090    Otto-Hahn-Ring 6
1091    Munich, Bavaria  81739
1092    Germany
1094    Email: Hannes.Tschofenig@siemens.com
1095    URI:   http://www.tschofenig.com
1098    Peter Gutmann
1099    University of Auckland
1100    Department of Computer Science
1101    New Zealand
1103    Email: pgut001@cs.auckland.ac.nz
1119 Nir, et al.              Expires October 6, 2008               [Page 20]
1121 Internet-Draft                 EAP-in-TLS                     April 2008
1124 Full Copyright Statement
1126    Copyright (C) The IETF Trust (2008).
1128    This document is subject to the rights, licenses and restrictions
1129    contained in BCP 78, and except as set forth therein, the authors
1130    retain all their rights.
1132    This document and the information contained herein are provided on an
1133    "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
1134    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
1135    THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
1136    OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
1137    THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
1138    WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
1141 Intellectual Property
1143    The IETF takes no position regarding the validity or scope of any
1144    Intellectual Property Rights or other rights that might be claimed to
1145    pertain to the implementation or use of the technology described in
1146    this document or the extent to which any license under such rights
1147    might or might not be available; nor does it represent that it has
1148    made any independent effort to identify any such rights.  Information
1149    on the procedures with respect to rights in RFC documents can be
1150    found in BCP 78 and BCP 79.
1152    Copies of IPR disclosures made to the IETF Secretariat and any
1153    assurances of licenses to be made available, or the result of an
1154    attempt made to obtain a general license or permission for the use of
1155    such proprietary rights by implementers or users of this
1156    specification can be obtained from the IETF on-line IPR repository at
1157    http://www.ietf.org/ipr.
1159    The IETF invites any interested party to bring to its attention any
1160    copyrights, patents or patent applications, or other proprietary
1161    rights that may cover technology that may be required to implement
1162    this standard.  Please address the information to the IETF at
1163    ietf-ipr@ietf.org.
1166 Acknowledgment
1168    Funding for the RFC Editor function is provided by the IETF
1169    Administrative Support Activity (IASA).
1175 Nir, et al.              Expires October 6, 2008               [Page 21]