Presentation on theme: "PEAP & EAP-TTLS 1.EAP-TLS Drawbacks 2.PEAP 3.EAP-TTLS 4.EAP-TTLS – Full Example 5.Security Issues 6.PEAP vs. EAP-TTLS 7.Other EAP methods 8.Summary."— Presentation transcript:
PEAP & EAP-TTLS 1.EAP-TLS Drawbacks 2.PEAP 3.EAP-TTLS 4.EAP-TTLS – Full Example 5.Security Issues 6.PEAP vs. EAP-TTLS 7.Other EAP methods 8.Summary
2 So far… EAP was introduced, it doesn’t provide enough security for wireless environments. EAP-TLS provides protection from most attacks
3 EAP-TLS Drawbacks Lack of user identity protection –Passed in the EAP/Identity and in the certificate Needs client certificate in order to authenticate client –Generate and distribute the certificates –Revoke keys –Users login from different computers (Coffe shop…) –Users are more familiar with the idea of passwords. Certificates may require some training.
4 EAP-TLS Extensions Two quite similar protocols are developed in order to improve the weaker points of EAP-TLS. In both, the main idea is to establish a TLS channel and then using the TLS tunnel in order to pass the identity of the user and perform the authentication protocol.
5 PEAP – Protected EAP Developed by Microsoft, Cisco and RSA Security Current status: Internet draft (draft- josefsson-pppext-eap-tls-eap-06.txt at ieft.org) Provides: Mutual authentication, client identity protection and key generation.
6 PEAP – The Participants Client NAS Backend Server Perform PEAP (NAS uses as pass-through) Trust Can be the same machine or separated The NAS doesn’t have to know PEAP Some Link Layer Secured Link
7 PEAP – The Protocol Two phases: 1.Perform TLS handshake in which the server is being authenticated to the client by using a certificate. Optionally, the user can be authenticated as well with a certificate. 2.If the user was not authenticated with a certificate, perform EAP in the generated TLS channel in order to authenticate the client.
8 PEAP Packet Format Code Type Identifier Flags Length TLS Message Length… …TLS Message LengthTLS Data…. (EAP packets) Ver Code: 1- Request 2- Response Identifier – Used to match response to request Type- 25 (PEAP) Flags: Length included, More fragments, Start flag
10 PEAP – Phase 2 PEAP Server Client EAP-Request / Identity EAP-Response / Identity [My ID] EAP-Request / Type = X (MD5, OTP, etc) Establish EAP method and Perform authentication EAP-Success / EAP-Failure Transfer of the generated key from the PEAP server to the NAS if on different machines
11 EAP-TTLS Developed by Funk Software. Internet draft: draft-ieft-pppext-eap-ttls- 02.txt on ietf.org Provides: mutual authentication, key generation, client identity privacy and data cipher suite negotiation
12 EAP-TTLS – The Protocol Again, two phases: 1.Establish TLS Channel, authenticate server (Optionally authenticate user too) 2.If the user wasn’t authenticated, use the TLS channel to authenticate user using an authentication protocol (not only EAP)
13 EAP-TTLS – The Participants Client NAS (EAP,AAA) TTLS Server (TLS,AAA) AAA Server EAP-TTLS conversation, TLS Channel Authenticate (EAP, PAP, CHAP, etc) Some Link Layer (PPP, 802.11) Authentication Protocol (Radius) Authentication, Authorizing and/or Accounting protocol (such as Radius )
14 EAP-TTLS Layers Link Layer/AAA layer – PPP, Radius, etc EAP EAP-TTLS User Authentication- PAP/CHAP/EAP etc TLS
15 EAP-TTLS Packet Format Code Type Identifier Flags Length TLS Message Length… …TLS Message LengthTLS Data…. Ver Code: 1- Request 2- Response Identifier – Used to match response to request Type- 21 (EAP-TTLS) Flags: Length included, More fragments, Start flag Contains AVPs, which encapsulates authentication information (PAP/CHAP/...)
16 AVPs In PEAP the data exchanged between the client and the server over the TLS channel is EAP packets. In EAP-TTLS, AVPs – attribute-values pairs are exchanged. Encrypted by TLS and encapsulated in EAP-TTLS packets. The AVPs format of EAP-TTLS is compatible with the Diameter & Radius AVP format. This allows easy translation of AVP packets by the EAP-TTLS server between the client and the AAA server (using Radius for example).
17 EAP-TTLS AVP Format AVP Code AVP Length Vendor-ID (optional) Data… V M r r r r r r AVP Code + Vendor ID : Used to identify attributes V: Does Vendor-ID appear M: 0- This AVP can be ignored if not supported 1- If this AVP isnt supported, fail the negotation
19 EAP-TTLS – Phase 2 ClientTTLS Server AAA Server Exchange AVPs over the TLS Channel, encapsulated in EAP- TTLS AVPs (extracted from the TTLS records) EAP-Success/ EAP-Failure Success/Failure Radius Message Exchange TTLS Message Exchange NAS as a pass-through
20 EAP-TTLS – Key Distribution EAP-TTLS Enables key distribution to the client and to the access point. The key is used for the communication between the AP and the client. Supports exchange of: –Data cipher suite (cryptographic algorithm, key length) not the same as the suite used in the TLS phase –Keying Material (from which the used keys will be generated) Supported by PEAP as well.
21 EAP-TTLS – Key Distribution (2) The client and the AP send their data cipher suite preferences to the TTLS server which select a cipher suite supported by both and sends it to both. (we’ll see when exactly in the following example) If the client and/or the AP do not send their preferences, other means of negotiation should be used. (link layer…) The client and TTLS server generate their keying material (as in EAP-TLS) and the TTLS sends the keying material to the AP
22 EAP-TTLS – Full Example LAN Client Access Point TTLS Server AAA Radius Usage of CHAP in order to authenticate the client Establishment of data cipher suite and keying material
23 EAP-TTLS – Full Example (1) Client Access Point TTLS Server AAA Radius EAP-Request/Identity EAP-Response/Identity Radius Access Request: Data-Cipher-Suite+ EAP-Response/Identity Radius Access Challenge: EAP-Request/TTLS-Start EAP-Request/TTLS-Start EAP-Response/TTLS: client_hello RAR: EAP-Response/TTLS: client_hello RAC: EAP-Request/TTLS (server_hello,certificate, server_key_exchange,server_hello_done)
25 EAP-TTLS – Full Example (3) Client Access Point TTLS Server AAA Radius Radius Access-Accept [RAA] RAC: EAP-Request/TTLS (Data-Cipher-Suite) EAP-Request/TTLS (Data-Cipher-Suite) EAP-Response (No data) RAR: EAP-Response (No data) RAA: Data-Cipher-Suite, Data-Keying-Material, EAP-Success EAP-Success Mutual Authentication done Data cipher suite and key established
26 PEAP & EAP-TTLS Security Issues Based on TLS which is well tested. Using TLS grants protection from: –Man in the middle attacks –Snooping user ID & password –Session hijacking Usage of tunneling: –Enables using existing protocols over a protected layer –Provides client identity protection: Identity passed over the TLS channel If the client is to be authenticated using a certificate, can be done after the TLS channel was established
27 Open Security Problems Relies on the security between the AAA, TTLS/PEAP server and AP. Injection of EAP-Success / EAP-Failure packets –Possible solution: Other EAP message? inside the channel?
28 Compare PEAP, EAP-TTLS, EAP-TLS EAP-TLSEAP-TTLSPEAP certificate Server Authentication certificateAny Authentication method Any EAP method Client Authentication NoYes, TLS User identity protection NoYesNoCipher-Session Negotiation Protected (TLS) Protected (TLS) Protected (TLS) EAP Attacks: Session hijacking, Man-in the middle, Dictionary attack
29 Additional Issues In addition to the security issues we introduced about PEAP & EAP-TTLS, they have some additional features: Same as in EAP-TLS: Support for fragmentation of long messages Support for fast re-connection to the network (using TLS resumption abilities) Exchange of information between the client and the authentication server. (EAP-TTLS: AVPs, PEAP: Latest draft defines something similar – TLVs) Example for such information: language settings for notifications
30 Other EAP Methods EAP-MD5 –Only user authentication –Uses user id and password –Vulnerable to Dictionary attack, man in the middle, session hijack –Easy implementation EAP-SRP (Secure Remote Password) –Usage of DH in order to authenticate both sides. (The DH exchange is protected via usage of hash and salt) –Does not use certificates at all –Mutual authentication –Uses user id and password
31 EAP Methods (2) EAP-LEAP (Light Extensible Authentication Protocol) –Developed by Cisco as a proprietary protocol, can only be supported by Cisco NASes –Usage of challenge and response –Mutual authentication –Uses user id and password (no certificates) –Vulnerable to dictionary attack EAP-SIM –Used for cellular communication, based on challenge- response which is done according to a key stored in the SIM card of a GSM cell phone. –Mutual Authentication –Vulnerable to spoofing
32 EAP Methods (3) EAP-SecurID –Usage of one time password in order to authenticated client. –No authentication of the server (solution: use tunneling) –Vulnerable to Man in the middle attack, session hijack
33 Summary (1) EAP enables usage of diverse methods in order to perform authentication. It defines the exchange of message until authentication process is done. EAP-TLS makes use of the existing TLS protocol in order to provide safe mutual authentication. PEAP and EAP-TTLS use TLS to authenticate server and offer tunneling of other methods in order to authenticate the client.
35 Summary (3) What to use? A few examples: On a wired network EAP-MD5 is probably enough for most uses. Can be tunneled through PEAP/EAP-TTLS for extended security and server authentication If a certificate system is existing EAP-TLS can be used to provide a high level of security. If an existing non-EAP authentication system exists- EAP- TTLS is the only option to enable its usage in a secure way. EAP-SecurID can be used tunneled if OTPs are to be used. LEAP can be used if the NAS is from cisco. Many more methods are being developed.