📄 draft-josefsson-pppext-eap-tls-eap-05.txt
字号:
Andersson et al. Standards Track [Page 23]INTERNET-DRAFT PEAP September 20024.2. TLS session cache handlingIn cases where a TLS session has been successfully resumed, in somecircumstances, it is possible for the EAP server to skip the PEAP Part2 conversation entirely, and immediately send an EAP-Success messagewithin the TLS channel established via session resumption.PEAP "fast reconnect" is desirable in applications such as wirelessroaming, since it minimizes interruptions in connectivity. It is alsodesirable when the "inner" EAP mechanism used is such that it requiresuser interaction. The user should not be required to re-authenticateherself, using biometrics, token cards or similar, every time the radioconnectivity is handed over between access points in wirelessenvironments.However, there are issues that need to be understood in order to avoidintroducing security vulnerabilities.Since PEAP Part 1 may not provide client authentication, establishmentof a TLS session (and an entry in the TLS session cache) does not byitself provide an indication of the peer's authenticity. The peer'sauthenticity is only proven by successful completion of the PEAP Part 2authentication.Some PEAP implementations may not be capable of removing TLS sessioncache entries established in PEAP Part 1 after an unsuccessful PEAP Part2 authentication. In such implementations, the existence of a TLSsession cache entry provides no indication that the peer has previouslybeen authenticated. As a result, implementations that do not remove TLSsession cache entries after a failed PEAP Part 2 authentication MUST useother means than successful TLS resumption as the indicator of whetherthe client is authenticated or not. Failing to do this would enable apeer to gain access by completing PEAP Part 1, tearing down theconnection and re-connect and resume PEAP Part 1 thereby proving herselfauthenticated. Thus, TLS resumption MUST only be used as an indicatorof whether the client is authenticated or not if the implementationsupports TLS session cache removal.If an EAP server implementing PEAP removes TLS session cache entries ofpeers failing PEAP Part 2 authentication, then it SHOULD skip the PEAPPart 2 conversation entirely after a successful session resumption,immediately sending an EAP-Success message within the TLS channel.4.3. Certificate revocationSince the EAP server is on the Internet during the EAP conversation, theserver is capable of following a certificate chain or verifying whetherthe peer's certificate has been revoked. In contrast, the peer may orAndersson et al. Standards Track [Page 24]INTERNET-DRAFT PEAP September 2002may not have Internet connectivity, and thus while it can validate theEAP server's certificate based on a pre-configured set of CAs, it maynot be able to follow a certificate chain or verify whether the EAPserver's certificate has been revoked.In the case where the peer is initiating a voluntary Layer 2 tunnelusing PPTP or L2TP, the peer will typically already have Internetconnectivity established at the time of tunnel initiation. As a result,during the EAP conversation it is capable of checking for certificaterevocation.As part of the TLS negotiation, the server presents a certificate to thepeer. The peer SHOULD verify the validity of the EAP servercertificate, and SHOULD also examine the EAP server name presented inthe certificate, in order to determine whether the EAP server can betrusted. Please note that in the case where the EAP authentication isremoted, the EAP server will not reside on the same machine as theauthenticator, and therefore the name in the EAP server's certificatecannot be expected to match that of the intended destination. In thiscase, a more appropriate test might be whether the EAP server'scertificate is signed by a CA controlling the intended destination andwhether the EAP server exists within a target sub-domain.In the case where the peer is attempting to obtain network access, itwill not have Internet connectivity. The TLS Extensions [TLSEXT] supportpiggybacking of an Online Certificate Status Protocol (OCSP) responsewithin TLS, therefore can be utilized by the peer in order to verify thevalidity of server certificate. However, since all TLS implementationsdo not implement the TLS extensions, it may be necessary for the peer towait to check for certificate revocation until after Internet access hasbeen obtained. In this case, the peer SHOULD conduct the certificatestatus check immediately upon going online and SHOULD NOT send datauntil it has received a positive response to the status request. If theserver certificate is found to be invalid, then the peer SHOULDdisconnect.4.4. Separation of the EAP server and the authenticatorAs a result of a complete PEAP Part 1 and Part 2 conversation, the EAPendpoints will mutually authenticate, and derive a session key forsubsequent use in link layer security. Since the peer and EAP clientreside on the same machine, it is necessary for the EAP client module topass the session key to the link layer encryption module.The situation may be more complex on the Authenticator, which may or maynot reside on the same machine as the EAP server. In the case where theEAP server and the Authenticator reside on different machines, there areseveral implications for security. Firstly, the mutual authenticationAndersson et al. Standards Track [Page 25]INTERNET-DRAFT PEAP September 2002defined in PEAP will occur between the peer and the EAP server, notbetween the peer and the authenticator. This means that as a result ofthe PEAP conversation, it is not possible for the peer to validate theidentity of the NAS or tunnel server that it is speaking to.The second issue is that the session key negotiated between the peer andEAP server will need to be transmitted to the authenticator. Thereforea mechanism needs to be provided to transmit the session key from theEAP server to the authenticator or tunnel server that needs to use thekey. The specification of this transit mechanism is outside the scope ofthis document.4.5. Separation of PEAP Part 1 and Part 2 ServersThe EAP server involved in PEAP Part 2 need not necessarily be the sameas the EAP server involved in PEAP Part 1. For example, a localauthentication server or proxy might serve as the endpoint for the Part1 conversation, establishing the TLS channel. Subsequently, once theEAP-Response/Identity has been received within the TLS channel, it canbe decrypted and forwarded in cleartext to the destination realm EAPserver. The rest of the conversation will therefore occur between thedestination realm EAP server and the peer, with the local authenticationserver or proxy acting as an encrypting/decrypting gateway. This permitsa non-TLS capable EAP server to participate in the PEAP conversation.Note however that such an approach introduces security vulnerabilities.Since the EAP Response/Identity is sent in the clear between the proxyand the EAP server, this enables an attacker to snoop the user'sidentity. It also enables a remote environments, which may be publichot spots or Internet coffee shops, to gain knowledge of the identity oftheir users. Since one of the potential benefits of PEAP is identityprotection, this is undesirable.If the EAP method negotiated during PEAP Part 2 does not support mutualauthentication, then if the Part 2 conversation is proxied to anotherdestination, the PEAP peer will not have the opportunity to verify thesecondary EAP server's identity. Only the initial EAP server's identitywill have been verified as Part of TLS session establishment.Similarly, if the EAP method negotiated during PEAP Part 2 is vulnerableto dictionary attack, then an attacker capturing the cleartext exchangewill be able to mount an offline dictionary attack on the password.Finally, when a Part 2 conversation is terminated at a differentlocation than the Part 1 conversation, the Part 2 destination is unawarethat the EAP client has negotiated PEAP. As a result, it is unable toenforce policies requiring PEAP. Since some EAP methods require PEAP inorder to generate keys or lessen security vulnerabilities, where suchAndersson et al. Standards Track [Page 26]INTERNET-DRAFT PEAP September 2002methods are in use, such a configuration may be unacceptable.In summary, PEAP encrypting/decrypting gateway configurations arevulnerable to attack and SHOULD NOT be used. Instead, the entire PEAPconnection SHOULD be proxied to the final destination, and thesubsequently derived master session keys need to be transmitted back.This provides end to end protection of PEAP. The specification of thistransit mechanism is outside the scope of this document, but mechanismssimilar to [RFC2548] can be used. These steps protects the client fromrevealing her identity to the remote environment.In order to find the proper PEAP destination, the EAP client SHOULDplace a Network Access Identifier (NAI) conforming to [RFC2486] in theIdentity Response.There may be cases where a natural trust relationship exists between the(foreign) authentication server and final EAP server, such as on acampus or between two offices within the same company, where there is nodanger in revealing the identity of the station to the authenticationserver. In these cases, using a proxy solution without end to endprotection of PEAP MAY be used. The PEAP encrypting/decrypting gatewaySHOULD provide support for IPsec protection of RADIUS in order toprovide confidentiality for the portion of the conversation between thegateway and the EAP server, as described in [RFC3162].4.6. Identity verificationSince the TLS session has not yet been negotiated, the initial Identityrequest/response occurs in the clear without integrity protection orauthentication. It is therefore subject to snooping and packetmodification.In configurations where all users are required to authenticate with PEAPand the first portion of the PEAP conversation is terminated at a localbackend authentication server, without routing by proxies, the initialcleartext Identity Request/Response exchange is not needed in order todetermine the required authentication method(s) or route theauthentication conversation to its destination. As a result, the initialIdentity and Request/Response exchange MAY NOT be present, and asubsequent Identity Request/Response exchange MAY occur after the TLSsession is established.If the initial cleartext Identity Request/Response has been tamperedwith, after the TLS session is established, it is conceivable that theEAP Server will discover that it cannot verify the peer's claim ofidentity. For example, the peer's userID may not be valid or may not bewithin a realm handled by the EAP server. Rather than attempting toproxy the authentication to the server within the correct realm, the EAPAndersson et al. Standards Track [Page 27]INTERNET-DRAFT PEAP September 2002server SHOULD terminate the conversation.The PEAP peer can present the server with multiple identities. Thisincludes the claim of identity within the initial EAP-Response/Identity(MyID) packet, which is typically used to route the EAP conversation tothe appropriate home backend authentication server. There may also besubsequent EAP-Response/Identity packets sent by the peer once the TLStunnel has been established.Note that since the PEAP peer may not present a certificate, it is notalways possible to check the initial EAP-Response/Identity against theidentity presented in the certificate, as is done in [RFC2716].Moreover, it cannot be assumed that the peer identities presented withinmultiple EAP-Response/Identity packets will be the same. For example,the initial EAP-Response/Identity might correspond to a machineidentity, while subsequent identities might be those of the user. Thus,PEAP implementations SHOULD NOT abort the authentication just becausethe identities do not match. However, since the initial EAP-Response/Identity will determine the EAP server handling theauthentication, if this or any other identity is inappropriate for usewith the destination EAP server, there is no alternative but toterminate the PEAP conversation.The protected identity or identities presented by the peer within PEAPPart 2 may not be identical to the cleartext identity presented in PEAPPart 1, for legitimate reasons. In order to shield the userID fromsnooping, the cleartext Identity may only provide enough information toenable routing of the authentication request to the correct realm. Forexample, the peer may initially claim the identity of "nouser@bigco.com"in order to route the authentication request to the bigco.com EAPserver. Subsequently, once the TLS session has been negotiated, in PEAPPart 2, the peer may claim the identity of "fred@bigco.com". Thus, PEAPcan provide protection for the user's identity, though not necessarilythe destination realm, unless the PEAP Part 1 conversation terminates atthe local authentication server.As a result, PEAP implementations SHOULD NOT attempt to compare theIdentities claimed with Parts 1 and 2 of the PEAP conversation.Similarly, if multiple Identities are claimed within PEAP Part 2, theseSHOULD NOT be compared. An EAP conversation may involve more than oneEAP authentication method, and the identities claimed for each of theseauthentications could be different (e.g. a machine authentication,followed by a user authentication).5. Normative references[RFC1321] Rivest, R., Dusse, S., "The MD5 Message-Digest Algorithm", RFC 1321, April 1992.Andersson et al. Standards Track [Page 28]INTERNET-DRAFT PEAP September 2002[RFC1570] Simpson, W., Editor, "PPP LCP Extensions", RFC 1570, January 1994.[RFC1661] Simpson, W., Editor, "The Point-to-Point Protocol (PPP)", STD 51, RFC 1661, July 1994.[RFC1962] D. Rand. "The PPP Compression Control Protocol", RFC 1962, Novell, June 1996.[RFC1968] Meyer, G., "The PPP Encryption Protocol (ECP)", RFC 1968, June 1996.[RFC1990] Sklower, K., Lloyd, B., McGregor, G., Carr, D., and T. Coradetti, "The PPP Multilink Protocol (MP)", RFC 1990, August 1996.[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.[RFC2246] Dierks, T., Allen, C., "The TLS Protocol Version 1.0", RFC 2246, November 1998.[RFC2284] Blunk, L., Vollbrecht, J., "PPP Extensible Authentication Protocol (EAP)", RFC 2284, March 1998.[RFC2486] Aboba, B., Beadles, M., "The Network Access Identifier", RFC 2486, January 1999.[TLSEXT] Blake-Wilson, S., et al. "TLS Extensions", Internet draft (work in progress), draft-ietf-tls-extensions-02.txt,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -