Vous êtes sur la page 1sur 6

802.

1X et la scurisation de laccs au rseau local


Luc Saccavini
Direction des Rseaux et Systmes dInformation, INRIA
Luc.Saccavini@inria.fr
Date : 15 octobre 2003

Rsum
Cet article prsente en dtail le protocole 802.1X, dont lobjectif est dautoriser laccs physique un rseau
local aprs une phase dauthentification. Ce protocole sappuie sur lencapsulation EAP pour mettre en relation
le serveur dauthentification et le systme authentifier. Le protocole EAP spcifi par le RFC2283 est dcrit
succinctement. Enfin, les faiblesses et limites dusage de 802.1X sont analyses, ainsi que les dernires
volutions du standard actuellement en cours dlaboration.

Mots clefs
802.1X, Ethernet, EAP, Scurit, Radius, Authentification, Accs, Rseau

Pourquoi le protocole 802.1X ?

Ce standard [1], mis au point par l'IEEE en juin 2001, a comme objectif de raliser une authentification de
l'accs au rseau au moment de la connexion physique ce dernier. Cette authentification intervient avant tout
mcanisme d'autoconfiguration (ex. DHCP, PXE...). Dans la plupart des cas, le service autoris en cas de succs
est le service Ethernet. Lobjectif de ce standard est donc uniquement de valider un droit daccs physique au
rseau, indpendamment du support de transmission utilis, et en sappuyant sur des mcanismes
dauthentification existants.

Le modle et les concepts du standard IEEE

Dans le fonctionnement du protocole, les trois entits qui interagissent (Figure 1) sont le systme authentifier
(supplicant), le systme authentificateur (authenticator system) et un serveur dauthentification (authentication
server). Le systme authentificateur contrle une ressource disponible via le point daccs physique au rseau,
nomm PAE (Port Access Entity). Le systme authentifier souhaite accder cette ressource, il doit donc pour
cela sauthentifier.
Dans cette phase dauthentification 802.1X, le systme authentificateur se comporte comme un mandataire
(proxy) entre le systme authentifier et le serveur dauthentification ; si lauthentification russit, le systme
authentificateur donne laccs la ressource quil contrle. Le serveur dauthentification va grer
lauthentification proprement dite, en dialoguant avec le systme authentifier en fonction du protocole
dauthentification utilis.

Figure 1 : les trois entits qui interagissent dans 802.1X

Cest au niveau du PAE que porte lessentiel des modifications introduites par le protocole 802.1X.
Dans la plupart des implmentations actuelles, le systme authentificateur est un quipement rseau (par
exemple un commutateur Ethernet, une borne daccs sans fil, ou un commutateur/routeur IP), le service dont il

contrle laccs est le service Ethernet (ou le routage des datagrammes IP). Le systme authentifier est un poste
de travail ou un serveur. Le serveur dauthentification est typiquement un serveur Radius, ou tout autre
quipement capable de faire de lauthentification.

Le point daccs au rseau (PAE)

La principale innovation amene par le standard 802.1X consiste scinder le port daccs physique au rseau en
deux ports logiques, qui sont connects en parallle sur le port physique. Le premier port logique est dit
contrl , et peut prendre deux tats ouvert ou ferm . Le deuxime port logique est, lui, toujours
accessible mais il ne gre que les trames spcifiques 802.1X.

Figure 2 : le PAE
On notera que ce modle ne fait pas intervenir la nature physique de la connexion. Elle peut tre matrialise par
une prise RJ45 (cas dun support de transmission cuivre), des connecteurs SC, MT-RJ (cas dun support de
transmission en fibre optique) ou par laccrochage logique au rseau (cas dun support de transmission hertzien
en 802.11{a,b,g}).

4
4.1

Fonctionnement gnral du protocole


La circulation des paquets dauthentification

Le standard 802.1X ne cre pas un nouveau protocole d'authentification, mais s'appuie sur les standards
existants. Le dialogue entre le systme authentificateur et le systme authentifier se fait en utilisant le protocole
EAP [2] (PPP Extensible Authentication Protocol) dfini par le RFC2284[2]. Les paquets EAP sont transports
dans des trames Ethernet spcifiques EAPOL (EAP Over Lan) qui sont marques avec le numro de type
(Ethertype) gal 88FE, ce qui permet une encapsulation directe de EAP dans Ethernet. Le dialogue entre le
systme authentificateur et serveur dauthentification se fait par une simple r-encapsulation des paquets
EAP dans un format qui convient au serveur dauthentification, sans modification du contenu du paquet par le
systme authentificateur (voir Figure 3). Ce dernier effectue cependant une lecture des informations contenues
dans les paquets EAPOL afin deffectuer les actions ncessaires sur le port contrl (blocage ou dblocage).
Ainsi, le systme authentificateur dbloquera le port contrl en cas dauthentification russie, ou il le bloquera
sil y a une demande explicite en ce sens du systme authentifier comme on le verra un peu plus loin.

Figure 3 : 802.1X et serveur dauthentification

4.2

Les paquets EAP et EAPOL

Le RFC2284 dfinit les quatre types suivants de paquets EAP (champ code, sur un octet)

Request : le systme authentificateur met une requte dinformation,

Response : rponse du systme authentifier un paquet Request,

Success : le systme authentificateur indique une authentification russie,

Failure : le systme authentificateur indique un chec de lauthentification.


Le paquet EAP contient aussi un champ identifier (sur un octet) pour identifier une session dauthentification.
Dans le cas de paquets de type request ou response, un champ (type) dfinit la nature des informations qui sont
contenues dans le paquet. Par exemple :

Identity : chane de caractres identifiant lutilisateur (par exemple une adresse mail, un nom de login, etc.),

Notification : chane de caractres envoye lutilisateur final,

Nak : refus dun type dauthentification et proposition dun autre,

MD5-Challenge : dfi (challenge) ou rponse (idem authentification Chap),

One-Time-Password : dfi ou rponse,

Generic Token Ring Card : dfi ou rponse,

Lencapsulation EAPOL est dfinie pour les trois types de rseaux suivants : 802.3/Ethernet MAC, 802.5/Token
Ring et FDDI/MAC. Dans le cas dEthernet, les paquets EAP tels que dfinis prcdemment sont insrs dans
une trame dont le champ type la valeur 88-8E. Ces trames EAPOL peuvent tre des quatre types suivants :

EAP-Packet : paquet de dialogue EAP,

EAP-Start : authentification explicitement demande par le systme qui sauthentifie,

EAP-Logoff : fermeture du port contrl explicitement demande par le systme qui sauthentifie,

EAPOL-Key : si chiffrement disponible (ex 802.11),

EAPOL-Encapsulated-ASF-Alert.

4.3

Exemple de session 802.1X/EAP

Avant la connexion du systme authentifier au port physique du PAE du systme authentificateur, le port
contrl de ce dernier est bloqu, et seul le port non contrl est accessible. Lorsque le systme authentifier se
connecte au port physique du systme authentificateur, il reoit un paquet EAP l'invitant s'authentifier. Sa
rponse est reue sur le port non contrl du systme authentificateur, puis est retransmise au serveur
d'authentification par ce dernier. Par la suite, un dialogue s'tablit entre le serveur d'authentification (voir
Figure 4) et le systme authentifier par le biais du relais offert par le port non contrl du PAE du systme
authentificateur.
Systme authentifier
Accs physique ou logique

Authentificateur
(point daccs)

Serveur dauthentification
(ex Radius)

EAPOL Req /Identity


EAPOL Resp /Identity
RAD Acc Req (EAP, Identity)
RAD Acc Chal (EAP, Req 1)
EAPOL Req 1
EAPOL Resp 1
RAD Acc Req (EAP, Resp 1)

EAPOL Resp N
RAD Acc Req (EAP, Resp N)
RAD Accept(EAP, Success)
EAPOL Success

Figure 4 : Squence dauthentification


Quand l'automate 802.1X du systme authentificateur voit passer un acquittement positif d'authentification (en
provenance du serveur), il dbloque son port contrl (interrupteur ferm), donnant ainsi au client authentifi
laccs au service.
partir de cet instant, le schma logique du PAE du systme authentificateur devient tel que dcrit ci-dessous
(voir Figure 5), et le trafic Ethernet est assur normalement.
Cependant, les automates implmentant le protocole 802.1X restent actifs et peuvent nouveau ractiver un
processus dauthentification en cas, par exemple, de demande explicite du client ou de dconnexion physique au
rseau.

Figure 5 : Exemple de situation aprs une authentification russie

Les automates tats finis du PAE

Pour bien comprendre le fonctionnement du protocole 802.1X, il est ncessaire de regarder en dtail les
diffrents automates tats finis qui rgissent son fonctionnement. titre indicatif une version simplifie des
deux principaux automates du standard 802.1X est donne ci-aprs. Les simplifications ont consist supprimer
une grande partie des variables dtat et certaines transitions temporelles de bouclage dun tat sur lui mme
pour ne laisser apparatre que la squence principale qui va de ltat INITIALISATION ltat
AUTHENTIFI .

5.1
5.1.1

PAE du systme authentificateur


Schma simplifi de lautomate tats finis

Figure 6 : Automate tats finis du systme authentificateur

5.1.2

Dfinition des tats de lautomate tats finis

INITIALISATION : cet tat est atteint quand le protocole 802.1X est activ (par exemple suite une opration
de gestion) ou quand le port physique du PAE a t dbranch, ou enfin lorsque lquipement est mis sous
tension.
DCONNECT : dans cet tat, le port physique est actif (par exemple si lquipement authentifier est
branch), mais les services contrls par le port protg sont inaccessibles.
CONNEXION : lautomate de lauthentificateur envoie une requte EAP avec un type Identify au systme
connect (quipement authentifier) physiquement sur son port physique, puis il se met en attente dune
rponse.
AUTHENTIFICATION : dans cet tat, lautomate de lauthentificateur sert de relais pour le dialogue entre le
systme authentifier et le serveur dauthentification. Il interprte seulement (tout en les relayant) les rponses
finales (Reject ou Accept) du serveur dauthentification pour passer dans ltat correspondant.
AUTHENTIFI : les services contrls par le port protg sont accessibles.
HELD : tat de temporisation (60s par dfaut) avant retour ltat CONNEXION. Cette attente est une parade
une attaque de type force brute . Dans cet tat, tous les paquets sont ignors.
ABORT : la procdure dauthentification est interrompue (demande de r-authetification, Logoff, Start).
Remarque : la notion de Transition Inconditionnelle (TI) qui apparat entre les tats INITIALISATION et
DCONNECT est considrer comme telle uniquement dans le contexte du protocole 802.1X. Cest en
effet une action extrieure (par exemple le branchement sur le port physique) qui fait passer de ltat
INITIALISATION ltat DCONNECT .

5.2
5.2.1

PAE du systme authentifier


Schma simplifi de lautomate tats finis

Figure 7 : automate tat finis du systme authentifier


5.2.2

Dfinition des tats de lautomate tats finis

LOGOFF : cet tat est atteint quand lutilisateur du systme quitte sa session. On remarquera que les concepteurs
du standard permettent, par cette fonctionnalit, de relier ltat du port contrl ltat de la session dun
utilisateur ( condition bien sr que la connexion physique soit toujours active).
DCONNECT : dans cet tat, le port physique est actif (par exemple, lquipement authentifier est branch).

CONNEXION : lautomate du systme authentifier est en attente dune requte EAP avec un type Identify du
systme authentificateur du port o il est physiquement connect. Ds larrive dune telle requte, il passe dans
ltat ACQUISITION . Pour permettre la compatibilit avec des quipements ne supportant pas le protocole
802.1X, le systme authentifier met rgulirement des requtes EAP avec un type Start. Au bout de 3 (valeur
par dfaut) non rponses, il passe dans ltat AUTHENTIFI (considrant quil ny a pas de PAE
authentificateur sur ce port).
ACQUISITION : lautomate du systme authentifier envoie son identit au systme authentificateur, et passe
dans ltat AUTHENTIFICATION ds rception du premier paquet EAP avec un type diffrent de Identify.
AUTHENTIFICATION : dans cet tat, lautomate du systme authentifier rpond aux requtes du serveur
dauthentification qui lui sont transmises par la systme authentificateur.
AUTHENTIFI : les services contrls par le port protg sont accessibles.
HELD : tat de temporisation (60s par dfaut) avant passage ltat CONNEXION . Cette attente est une
parade une attaque de type force brute . Dans cet tat la rception dune requte EAP avec un type Identify
provoque un passage ltat ACQUISITION .

Les faiblesses de 802.1X

La principale faiblesse de 802.1X vient de ce quil a t conu au dpart dans un contexte de connexion physique
(type accs PPP sur RTC). Rien nempche en effet un utilisateur dinsrer un hub (transparent 802.1X) et de
faire bnficier dautres utilisateurs de louverture du port Ethernet dun commutateur. La plupart des
implmentations dquipementiers permettent de surmonter cette difficult en permettant de configurer un
blocage du port Ethernet si ladresse MAC du systme authentifi change. Les attaques par coute et rejeu sont
aussi possibles, ainsi que le vol de session. On pourra utilement consulter larticle [5] pour une analyse des
faiblesses de 802.1X. Les attaques sur 802.1X sont, de plus, facilites dans le cas de lEthernet sans fil.

Les volutions de 802.1X

La rvision du standard 802.1X se fait par l'addendum 802.1aa, dont le dernier draft (numro 5) a t publi en
fvrier 2003. Les principales modifications introduites concernent le non rejeu des changes, l'authentification
mutuelle, et la gestion des cls.
L'authentification mutuelle est une amlioration importante, car elle permet de rsoudre le cas o le client est luimme un fournisseur de service rseau, et a besoin d'tre sr qu'il s'adresse bien un port 802.1X de confiance.
Un exemple type concerne le cas du branchement d'un commutateur sur un autre commutateur. Cette
authentification mutuelle est faite par lenchanement de deux phases dauthentification, o les rles de chaque
entit connecte sont changs, chacune jouant successivement le rle d'authentifiant puis d'authentifi.

Conclusion

Le principal risque dans lusage de 802.1X, est de lutiliser hors de son champ dapplication. Il faut donc bien
avoir lesprit que son usage est simplement de contrler laccs physique un rseau local. Compare
labsence de contrle daccs, ou un contrle daccs uniquement bas sur la valeur de ladresse
MAC/Ethernet, lactivation de lauthentification 802.1X est un rel progrs. Ce progrs se mesure aussi par la
facilit dingnierie que procure le recours un serveur dauthentification externe. Compte-tenu de la prsence
quasi-systmatique de serveurs Radius sur un site, on peut considrer que lactivation de lauthentification
802.1X ne rajoute pas de complexit dans ladministration rseau dun site.

9
[1]
[2]
[3]
[4]
[5]

Bibliographie

IEEE Std 802.1X-2001, Part-Based network Access Control, 2001


RFC2284: PPP Extensible Authentication Protocol (EAP)
RFC2865 RFC2869 (Radius)
http://www.open1x.org : implmentation GPL dun client 802.1X
Mishra, A. & Arbaugh, W. (2002). An initial security analysis of the 802.1x standard.
http://www.cs.umd.edu/~waa/1x.pdf
[6] http://www.cartel-securite.fr/pbiondi/scapy.html : outil de manipulation de paquets permettant de tester un
port 802.1X