Extensible Authentication Protocol
Fonction | Authentification |
---|---|
Sigle | EAP |
Date de création | 1998 |
RFC |
1998 : RFC 2284 2004 : RFC 3748 2008 : RFC 5247 |
Extensible Authentication Protocol ou EAP est un protocole de communication réseau embarquant de multiples méthodes d'authentification, pouvant être utilisé sur les liaisons point à point (RFC 2284[1]), les réseaux filaires et les réseaux sans fil (RFC 3748[2], RFC 5247[3]) tels que les réseaux Wi-Fi.
Plusieurs méthodes d'authentification sont prédéfinies (MD5, OTP, Generic Token Card, etc.) mais il est possible d'en rajouter sans qu'il soit nécessaire de changer ou de créer un nouveau protocole réseau.
Le protocole EAP
[modifier | modifier le code]Le protocole EAP est :
- Un protocole de communication réseau : il est constitué d'un échange de trames dans un format spécifique à EAP pour réaliser l'authentification d'un partenaire[RFC 1]
- Un protocole extensible : quelques méthodes d'authentification sont prédéfinies (MD5, OTP, Generic Token Card, etc.) mais d'autres peuvent être ajoutées sans qu'il soit nécessaire de changer le protocole réseau ou d'en définir un nouveau[RFC 2]
Le protocole EAP a été proposé en mars 1998 dans la RFC 2284[4] et proposé comme standard Internet auprès de l'IETF.
Il est conçu pour fournir un mécanisme d'authentification pour les liaisons PPP (couche 2 du modèle OSI) afin d'autoriser ou interdire l'établissement de la couche réseau (couche 3 du modèle OSI)[RFC 1]. Ce protocole ne s'appuie donc pas sur le protocole IP (couche 3 du modèle OSI)[RFC 3].
La liaison PPP est définie entre un peer[note 1] et un authenticator[note 2],[RFC 1].
L'authenticator peut envoyer une requête au peer pour connaître son identité ou alors de déterminer son identité par l'interface de communication (Liaisons louées, Ligne dédiée, etc.)[RFC 1].
Cette identification est suivie d'une ou plusieurs requêtes envoyées par l'authenticator (obligatoire) avec un paramètre contenant la méthode d'authentification souhaitée[RFC 1] :
Le peer doit répondre à ce challenge et aura en fonction du résultat, un message envoyé par l'authenticator contenant un code[RFC 4] :
- Code 3 : Succès (Établissement de la couche réseau)
- Code 4 : Échec (Impossible d'établir la couche réseau)
Cette authentification peut être réalisée par l'authenticator lui-même ou déléguée à un service tiers (authentication server)[RFC 5].
L'authentification peut être demandée par chaque extrémité[réf. nécessaire]
En juin 2004, la RFC 3748[5] vient étendre le fonctionnement du protocole EAP aux réseaux définis dans le standard IEEE 802 rendant obsolète la RFC 2284[4][RFC 6] :
- Les réseaux filaires : Standard IEEE 802.1X
- Les réseaux sans fil : Standard IEEE 802.11i
Le protocole EAP sur ces réseaux est aussi connu sous le nom EAPOL[note 3],[RFC 7].
Bien que le protocole EAP possède un mécanisme de suppression de requêtes dupliquées et de retransmission de requêtes, il reste tributaire de la couche de liaison de données[RFC 8]. Par conséquent, des erreurs sur cette couche peuvent entraîner des erreurs d'authentification EAP[RFC 9].
Le protocole EAP ne supporte pas nativement la fragmentation des paquets réseau[RFC 10] mais ce comportement peut être modifié avec certaines méthodes :
Quand le protocole EAP est utilisé en conjonction avec un point d'accès réseau compatible 802.1X (sans-fil ou filaire), certaines méthodes EAP permettent de négocier une clé PMK (Pair-wise Master Key) entre le client et le point d'accès. Cette clé PMK peut ensuite être utilisée pour chiffrer les sessions TKIP ou CCMP.
Les standards WPA et WPA2 ont adopté 5 types d’EAP comme mécanismes officiels d’identification[réf. nécessaire] :
Mais EAP ne se limite pas à ces méthodes d'authentification. On présente ci-dessous des informations sur les EAP les plus connus.
Méthodes
[modifier | modifier le code]LEAP
[modifier | modifier le code]Lightweight Extensible Authentication Protocol (LEAP) est une implémentation propriétaire de EAP conçue par Cisco Systems.
Cisco a fait beaucoup d'efforts pour promouvoir ce protocole. Il a permis à d'autres fabricants de réaliser des produits « LEAP Compatible » au travers du programme CCX (Cisco Certified Extensions). Ce protocole n'est pas présent nativement sous Windows. Il était connu pour être vulnérable aux attaques par dictionnaire comme EAP-MD5. Mais il ne l'est plus depuis la version ASLEAP (2003) de Joshua Wright. Cisco continue de soutenir que LEAP est une solution sécurisée si l'on utilise des mots de passe suffisamment complexes. Mais tout le monde sait bien que dans la réalité, les mots de passe complexes sont rarement utilisés[non neutre]. De nouveaux protocoles comme EAP-TTLS ou PEAP ne rencontrent pas ce type de fragilité car ils créent un tunnel TLS pour sécuriser l'identification. De plus ces nouveaux protocoles étant plus ouverts, ils peuvent être utilisés sur des points d'accès de marque Cisco ou non.
EAP-TLS
[modifier | modifier le code]EAP-TLS est un standard ouvert IETF. On le retrouve utilisé chez de nombreux fabricants de matériel sans fil. C’est le seul protocole EAP qui doit obligatoirement être implanté sur un matériel pour que ce dernier puisse porter le logo WPA ou WPA2.
Il offre une bonne sécurité. En effet il utilise deux certificats pour la création d'un tunnel sécurisé qui permet ensuite l'identification : un côté serveur et un côté client. Cela signifie que même si le mot de passe est découvert, il ne sera d'aucune utilité sans le certificat client. Bien que EAP-TLS fournisse une excellente sécurité, l'obligation de disposer d'un certificat client est peut-être son talon d'Achille. En effet lorsque l'on dispose d'un grand parc de machines, il peut s'avérer difficile et coûteux de gérer un certificat par machine. C'est pour se passer du certificat client que les protocoles PEAP et EAP-TTLS ont été créés.
TLS est considéré comme le successeur du standard SSL. Il utilise une Infrastructure à clés publiques pour sécuriser les communications d'identification entre les clients et le serveur RADIUS.
Il existe des implémentations client ou serveur pour : Microsoft, Cisco, Apple, Linux... EAP-TLS est présent nativement dans MAC OS 10.3 et supérieur, Windows 2000 SP4, Windows XP, Windows Mobile 2003 et supérieur, et Windows CE 4.2.
EAP-MD5
[modifier | modifier le code]EAP-MD5 est un autre standard ouvert IETF, mais il offre un niveau de sécurité faible. La fonction de hachage MD5 utilisée est vulnérable aux attaques par dictionnaire, et elle ne supporte pas les clefs WEP dynamiques.
EAP-TTLS
[modifier | modifier le code]EAP-Tunneled Transport Layer Security, a été codéveloppé par Funk Software et Certicom ; c'est également un standard ouvert IETF. Il est supporté sur de nombreuses plates-formes, et offre un très bon niveau de sécurité. Il utilise des certificats X-509 uniquement sur le serveur d'identification. Le certificat est optionnel du côté client.
Le défaut de EAP-TTLS par rapport à PEAP est de ne pas être présent nativement sur les systèmes Microsoft et Cisco. En revanche, il est légèrement plus sécurisé que PEAP car il ne diffuse pas le nom de l'utilisateur en clair.
EAP-FAST
[modifier | modifier le code]EAP-Flexible Authentication via Secure Tunneling est une proposition de Cisco Systems pour pallier les faiblesses de LEAP. L'utilisation de certificats serveur est optionnelle dans EAP-FAST. Il utilise Protected Access Credential (PAC). EAP-FAST dispose de trois phases.
- Phase 0 : Elle est optionnelle et permet de renseigner dynamiquement PAC. PAC peut être complété manuellement, auquel cas il n'y aura pas de phase 0.
- Phase 1 : Le client et le serveur AAA (Authentication Authorization Accounting) utilisent PAC pour établir un tunnel TLS.
- Phase 2 : Le client envoie les informations utilisateur à travers le tunnel.
EAP-FAST est défini dans un brouillon Internet IETF « draft-com-winget-eap-fast-03 ».
Actuellement il est proposé comme RFC 4851[6].
EAP-SIM
[modifier | modifier le code]EAP-SIM est une méthode EAP pour les clients des réseaux Wi-Fi et des réseaux de téléphonie mobile GSM, UMTS et LTE. Il est utilisé pour l'identification et la distribution de clefs au travers des réseaux ; SIM signifie « Subscriber Identity Module ». EAP-SIM est décrit dans la RFC 4186[7].
Free Mobile a été le premier opérateur français à mettre en service ce protocole d'authentification en pour ses clients détenteurs du forfait illimité[8]. Cela permet aux abonnés d'accéder au réseau Free Wifi. SFR a activé mi-, sur l'ensemble de son réseau, ce service déployé depuis , d'abord en phase d’expérimentation limitée [9], sous le nom « Auto-connect ».
EAP-AKA
[modifier | modifier le code]EAP-AKA (Authentication and Key Agreement) est une méthode EAP pour les clients des réseaux de téléphonie mobile de 3e génération (UMTS et CDMA2000). Elle est décrite dans la RFC 4187[10].
Contrairement à EAP-SIM, EAP-AKA permet de réaliser une authentification mutuelle de l'équipement utilisateur et du réseau. La longueur de la clé générée par accord mutuel est plus longue (128 bits) qu'avec EAP-SIM (64 bits)[11].
Ce protocole est principalement employé dans les cadres suivants[12]:
- Authentification lors de l'attachement à un réseau de téléphonie mobile de 3e génération.
- Réutilisation des éléments d'authentification du réseau mobile lors de l'attachement à un réseau sans fil [Wifi] qui appartient à l'opérateur.
EAP-AKA'
[modifier | modifier le code]Encapsulation
[modifier | modifier le code]PEAP
[modifier | modifier le code]Protected Extensible Authentication Protocol, Protected EAP, ou plus simplement PEAP, est une méthode de transfert sécurisée d'informations d'identification, pour les réseaux filaires et sans fil. Ce protocole a été développé conjointement par Microsoft, RSA Security et Cisco Systems. C’est un standard ouvert de l'IETF (Internet Engineering Task Force). PEAP n'est pas une méthode de chiffrement, c'est une procédure pour identifier un client sur un réseau.
PEAP est très similaire à une autre méthode EAP : EAP-TTLS. Protected EAP a été créé pour contrer EAP-TTLS qui était jusque-là la seule méthode EAP à utiliser une Infrastructure à clés publiques (Public Key Infrastructure, PKI) que du côté serveur, pour la création d'un tunnel TLS protégeant l'identification. Dans ces deux standards, l'utilisation d'une clef publique côté client est optionnelle.
Il existe deux versions de PEAP certifiées WPA (mise à jour) et WPA2 :
- PEAPv0/EAP-MS-CHAPv2
- PEAPv1/EAP-GTC
PEAP se déroule en deux phases :
- La phase 1 permet l'identification du serveur grâce à une Infrastructure à clés publiques. Une fois le serveur identifié, il y a la création d'un tunnel sécurisé qui permettra à la phase 2 d'être chiffrée.
- La phase 2 permet l'identification du client au travers du tunnel chiffré.
Radius
[modifier | modifier le code]Diameter
[modifier | modifier le code]Sécurité
[modifier | modifier le code]Notes et références
[modifier | modifier le code]Notes
[modifier | modifier le code]- que l'on pourrait traduire par : Pair.
- que l'on pourrait traduire par : Authentificateur .
- Extensible Authentication Protocol Over LAN
Références
[modifier | modifier le code]RFC
[modifier | modifier le code]Autres
[modifier | modifier le code]- (en) L. Blunk et J. Vollbrecht, « PPP Extensible Authentication Protocol (EAP) », Request for comments no 2284,
- (en) B. Aboba, L. Blunk, J. Vollbrecht, J. Carlson, H. Levkowetz, Ed., « Extensible Authentication Protocol (EAP) », Request for comments no 3748,
- (en) B. Aboba, D. Simon, P. Eronen, « Extensible Authentication Protocol (EAP) Key Management Framework », Request for comments no 5247,
- (en) Request for comments no 2284
- (en) Request for comments no 3748
- (en) Request for comments no 4851
- (en) Request for comments no 4186
- « Article d'annonce de l'activation de l'EAP-SIM chez Free » (consulté le )
- « EAP-SIM : SFR était là avant Free Mobile, et veut le faire savoir ! » (consulté le )
- (en) Request for comments no 4187
- « Authentication, Authorization, Accounting (AAA) » [archive du ] (consulté le ), diapositives 29 à 32. Consulté le 16 mai 2013.
- RFC 4187, §1: Introduction and Motivation. Consulté le 16 mai 2013.
Bibliographie
[modifier | modifier le code]Articles
[modifier | modifier le code]Ouvrages
[modifier | modifier le code]Voir aussi
[modifier | modifier le code]Articles connexes
[modifier | modifier le code]- IEEE 802.1X
- IEEE 802.11i
- Authentification
- Serveur d'authentification
- Protected Extensible Authentication Protocol
- Protocole AAA
- Remote Authentication Dial-In User Service
- FreeRADIUS
- Diameter
- Wi-Fi Protected Access
- wpa_supplicant
Liens externes
[modifier | modifier le code]- (en) RFC 2284 : (Obsolète) PPP Extensible Authentication Protocol (EAP)
- (en) RFC 3748 : Extensible Authentication Protocol (EAP)
- (en) RFC 3579 : RADIUS (Remote Authentication Dial In User Service) Support For Extensible Authentication Protocol (EAP)
- (en) RFC 4017 : EAP Method Requirements for Wireless LANs
- (en) « protocol/EAP », sur freeradius.org (consulté le )
- (en) « Configure RADIUS for secure 802.1x wireless LAN », sur techrepublic.com
- (en) « How to self-sign a RADIUS server for secure PEAP or EAP-TTLS authentication », sur techrepublic.com
- (en) « Extensible Authentication Protocol », sur technet.microsoft.com
- (en) « WIRE1x », sur wire.cs.nctu.edu.tw
- (en) « IETF EAP Method Update (emu) Working Group », sur ietf.org