Vous êtes sur la page 1sur 39

Pierre-Emmanuel Périllon Master SIR-APP

10200712 promotion 2007-08

L'authentification avec 802.1x

Travail de Recherche Bibliographique

mots clés:
802.1x, Supplicant, Authenticator, Contrôle d'accès,
Authentification, EAP, Radius, Wifi, Ethernet

L'authentification avec 802.1x page 1 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

Table des matières

1. Définitions................................................................................................................. 4
1.1. Qu'est que l'authentification ?........................................................................................ 4
1.2. Qu'est ce qu'une authentification forte?........................................................................ 4
1.3. Plusieurs types d'authentification.................................................................................. 4
1.4. Quel sont les protocoles d'authentification?................................................................. 5

2. Le protocole Radius..................................................................................................6
2.1. Introduction.................................................................................................................. 6
2.2. Principe de base........................................................................................................... 6
2.2.1. Identification Radius MAC...............................................................................................7
2.2.2. Authentification Radius 802.1x........................................................................................7
2.3. Paquets Radius.............................................................................................................. 7
2.3.1. Présentation générale ........................................................................................................7
2.3.2. Le champs Attribut............................................................................................................8
2.4. Messages Radius........................................................................................................... 9
2.5. Les limites du protocole Radius.................................................................................. 11

3. Le protocole 802.1X................................................................................................ 12
3.1. Introduction................................................................................................................ 12
3.2. Description du protocole............................................................................................. 12
3.2.1. Trois entités.....................................................................................................................12
3.2.2. Le contrôle de port ........................................................................................................ 13
3.2.3. Mécanismes de 802.1x.................................................................................................... 14
3.2.4. Extensible Authentification Protocole (EAP)................................................................ 17
3.2.5. Vue d'ensemble...............................................................................................................18
3.3. Sécurité apportée par le protocole 802.1x.................................................................. 19
3.3.1. Diversité des algorithmes d'authentification....................................................................19
3.3.2. Spécificités du Wifi........................................................................................................21
3.4. Limites du 802.1x........................................................................................................ 21

4. Conclusion.............................................................................................................. 22

L'authentification avec 802.1x page 2 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

5. Bibliographie ......................................................................................................... 23
5.1. Radius ........................................................................................................................ 23
5.2. 802.1x......................................................................................................................... 23

6. Annexe: Configurer 802.1X.....................................................................................25


6.1. First: 802.1x supplicant (the user PC), ....................................................................... 25
6.2. Second: 802.1x authentication server (the Windows domain controller) ................. 27
6.2.1. Set up the RADIUS client............................................................................................... 29
6.2.2. Configure a Remote Access Policy using IAS. ............................................................. 31
6.3. Third: 802.1x authenticator (the Cisco Catalyst 2950 switch)................................... 36

L'authentification avec 802.1x page 3 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

1. Définitions

1.1.Qu'est que l'authentification ?


L'authentification consiste en l'identification et la vérification de l'identité. Dans le contexte des
réseaux informatique, authentifier une entité va permettre de s'assurer que l'entité est bien celle
qu'elle prétant être.

L'authentification sous-entend qu'il y ait deux entités distinctes. L'authentification doit être mutuelle
pour que la sécurité soit assurée et pour être sur que l'on n'est pas victime d'une attaque par homme
du milieu.
L'exemple suivant permet de bien faire la distinction entre authentification et identification. Un
numéro de carte bancaire identifie de façon unique le compte du client à débiter. Cependant, ce n'est
qu'avec le code secret de la carte bleu qu'on a l'assurance que le porteur de la carte est son
propriétaire. On a donc identifier le compte à débiter mais aussi authentifier le donneur d'ordre.

1.2.Qu'est ce qu'une authentification forte?


Le Comité américain sur les Système de Sécurité Nationaux sur les définit l'authentification forte
comme une authentification s'appuyant sur plusieurs éléments authentifiant:
Layered authentication approach relying on two or more authenticators to establish the
identity of an originator or receiver of information.

Le but d'une authentification forte est donc de rendre plus complexe pour un pirate de réussir à
s'introduire dans un système ou à réussir une usurpation d'identité.

1.3.Plusieurs types d'authentification.


L'authentification garantie l'identité de l'entité en lui réclamant une preuve ce celle ci. Les
mécanismes de preuve sont divers et reposent sur le secret de:
● Ce qu'elle sait ( mot de passe, code PIN )
● Ce qu'elle possède ( carte à puce, certificat, Token OTP, Carte OTP, Téléphone portable..).

L'authentification avec 802.1x page 4 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

● Ce qu'elle est (caractéristique physique, voir biométrique).


● Ce qu'elle sait faire (geste, signature)

L'autre aspect que doit garantir l'authentification est le secret entre les entité. Les échanges entre les
deux entités doivent être protégées pour éviter le vol d'identité. On utilise généralement EAP (RFC
3748) comme protocole de cryptage. Celui ci a l'avantage d'être utilisable sur tous type de réseaux et
en utilisant des méthodes cryptanalitique variées. On compte ainsi plus de dix variantes du
protocoles ( EAP-IKEv2, PEAPv0/EAP-MSCHAPv2 ... ).

1.4.Quel sont les protocoles d'authentification?


On rappelle l'existence de plusieurs protocoles utilisant des mécanismes d'authentification.

● IPsec
● SSL: Sécure Socket Layer
● 802.1x
● EAP

Tous ses protocoles ne s'exécutent pas au même niveau de la pile OSI. Nous avons choisi de traiter
l'authentification vu par 802.1x, c'est à dire au plus bas niveau. Celui-ci à l'avantage de protéger le
réseau depuis les couches inférieures, ce qui rend en théorie, impossible l'utilisation d'un matériel
non autorisé sur celui-ci.

Ceci est très pratique lorsque la sécurité des couches supérieures est faible ou inexistante. 802.1x
peut être utiliser pour empêcher un ordinateur inconnu ou ne respectant pas les normes de sécurité
d'utiliser le réseau alors même que les machines sont adressées via un serveur DHCP.

802.1x permet en plus de réserver de la bande passante pour un type de flux, car cette norme
requière une gestion fine des ports d'accès au réseau.

Les commutateurs pouvant mettre en oeuvre 802.1x sont généralement des matériels professionnel,
ils sont aussi plus cher.

L'authentification avec 802.1x page 5 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

2. Le protocole Radius

2.1. Introduction
Radius a été conçu pour répondre aux problème d'authentification pour les accès distants par liaison
téléphonique. La première version date de 1997.
Radius signifie Remote Access Dial In User Service. Ce protocole est décrit dans la RCF 2865 de
l'IETF.
Radius est un protocole répondant au modèle AAA, c'est à dire qu'il permet de contrôler ses
paramètres:
1. Authentication: c'est à dire authentifier d'entité
2. Authorization: c'est à dire accorder des droits à l'utilisateur
3. Accounting: c'est à dire enregistrer les données de comptabilité de l'usage du réseau par
l'entité.
Notre étude se penche surtout sur les aspects Authentication et Authorization.
On distingue deux sortes d'authentifications RADIUS. La première est basée sur l'adresse MAC de
la carte Ethernet. La seconde est basée sur le protocole 802.1x.

2.2. Principe de base


Le principe de base du protocole RADIUS est de fournir un modèle d'échange d'information de
l'authentification. C'est lui qui permet le transport des données d'authentification MAC ou EAP.

Le protocole Radius va être utilisé entre deux acteurs


1. le serveur Radius qui délivre ou non une autorisation au client Radius.
2. le client Radius (NAS: Network Autorisation System) qui est le commutateur qui demande
s'il doit, ou non autoriser l'entité distante a se connecter au réseau.

L'entité qui se connecte sur le réseau n'a pas a connaître le protocole Radius. De même le serveur
Radius peut identifier les entités grâces à la une base d'utilisateur dans un annuaire LDAP.

L'authentification avec 802.1x page 6 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

2.2.1. Identification Radius MAC


On peut se contenter d'authentifier les entités au niveau de la couche d'accès au réseau en se fondant
sur l'adresse de la carte Ethernet de l'entité. Celle-ci étant unique, il est possible d'identifier celle-ci.

Cependant, il est facile de spoofer une adresse MAC, installer une authentification Radius pour faire
simplement un filtrage d'addresse MAC semble disproportionné.

Cependant cette possibilité est intéressante lorsqu'elle permet de connecter au réseau des appareils
incapables de réaliser une authentification 802.1x .

Pour des raisons de sécurités, il est préférable d'éviter cette solution, surtout dans le cadre d'un point
d'accès sans fil.

2.2.2. Authentification Radius 802.1x


Dans le cas d'un authentification Radius avec 802.1x, l'entité qui se connecte doit fournir plus
d'informations au commutateur. Ces informations seront fournie par le protocole EAP. Le dialogue
qui s'instaure entre l'entité et le serveur se fait indirectement par l'intermédiaire du commutateur
(NAS) via le protocole Radius.
Cela implique l'utilisation d'un logiciel spécifique sur le client qui saura parler 802.1x.

2.3.Paquets Radius

2.3.1.Présentation générale
Radius est basé sur des échanges requêtes, réponses avec l'entité a authentifier. Le protocole défini
quatres type de paquets pour assurer les transactions d'authentification, mis a part les paquets de
comptabilisation.
Un paquet Radius comporte 5 champs explicités dans le tableau ci dessous:

L'authentification avec 802.1x page 7 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

champs taille usage note


(en octet)
Code 1 type de paquet, 255 types définis défini par la
● Acces-Request RFC 3575
● Access-Accept
● Access-Reject
● Access-Chalenge

ID 1 id de session pour associer les requêtes et les


réponses
Longueur 16 longueur totale du paquet
Authentificateur 16 signature du paquet, elle est utilisée par le serveur.
Elle est calculé par une fonction MD5 entre les
autres champs et un secret partagé.
Attribut variable variables et leurs valeurs échangées par
l'intermédiaire du protocole

2.3.2.Le champs Attribut


Le champs Attribut porte la charge utile du protocole. Ce champs est en fait une concaténation de
valeurs appelées « Attributes Values Pair » qui sont en fait un triplet:
1. code de l'attribut, interprété via un dictionnaire.
2. longueur total de l'attribut
3. valeur de l'attribut

Quelques valeurs remarquables sont citées dans le tableau suivant. Le site


http://www.freeradius.org/rfc/attributes.html référence l'ensemble des attributs.

L'authentification avec 802.1x page 8 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

code Nom usage fournisseur


de la
valeur
1 User-Name identifiant utilisateur dans le serveur d'authentification Entité
2 User-Password mot de passe utilisateur dans le serveur d'authentification Entité
4 Nas-IP-Address Adresse IP du NAS (commutateur) qui communique avec NAS
le serveur Radius.
5 Nas-Port Numéro du port du NAS sur lequel est connecté l'entité NAS
26 Vendor-Specific méta attribut permettant une extension propriétaire du -
protocole.
30 Called-Station-ID Adresse MAC du NAS (localisation de l'entité) NAS
31 Calling-Station-ID Adresse MAC de l'entité NAS
32 NAS-Identifier Identifiant du NAS NAS
79 EAP-Message Permet d'encapsuler un message EAP sans comprendre le Entité
protocole EAP

2.4.Messages Radius.
Le protocole Radius est conçu pour des scénaris de fonctionnement basé sur les quatre messages
Access-Request, Access-Accept, Access-Reject, Access-Challenge.

Les paquets Radius utilisent les ports UDP 1812 (autorisation, authentification) et 1813
( comptabilité). Les ports 1645 et 1646 sont maintenant obsolètes.

Le diagramme si dessous présente l'usage des différents messages du protocole Radius.

L'authentification avec 802.1x page 9 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

connexion d'un hôte

NAS

Emet

Access-Request
contient l'attribut User-Name et aussi:
Calling-Station-id, NAS-identifier, NAS-IP-
Address, ...

Réponse aux sollicitations du serveur Radius

Serveur
Emet, ou Radius Emet

Emet, ou

Access-Challenge
Access-Accept Access-Reject
Le serveur Radius ordonne
Le serveur Radius Le serveur Radius ne
la réalisation d'un challenge.
valide l'identité de valide pas l'identité de
l'entité l'entité
Toujours utilisé avec EAP.

port NAS port NAS


ouvert bloquant

L'authentification avec 802.1x page 10 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

2.5.Les limites du protocole Radius.


Le   protocole   RADIUS   possède   ainsi   plusieurs   failles   de   conception   se   trouvant   à   l'origine   de 
problèmes de sécurité:
 La technique de protection "User­Password" ne devrait pas utiliser la fonction MD5 comme 
primitive de chiffrement qui est plutôt réservé pour des opération de signature. 
 La génération du champ "Response Authenticator" présente des faiblesses. 
 Le paquet "Access­Request" n'est pas authentifié. 
 De   nombreuses   implémentations   clientes   ne   créent   pas   des   requêtes   d'authentification 
"Request Authenticator" suffisament aléatoires. 
 Beaucoup   d'administrateurs   choisissent   des   "secrets   partagés"   identiques   pour   différents 
clients.   De   nombreuses   implémentations   clientes   limitent   artificiellement   le   nombre   de 
caractères possibles du secret partagé.

Pour répondre à ses critiques, le projet DIAMETER a été créé pour succéder à Radius, mais sont
déploiement est moindre. Cependant , il faut garder a l'esprit que le protocole Radius circule sur une
partie en théorie sécurisée du réseau: Il est inutile de mettre en place une solution 802.1x si on peut
accéder aux installations réseaux sans autorisation.

L'authentification avec 802.1x page 11 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

3. Le protocole 802.1X

3.1. Introduction
Le protocole 802.1x est un protocole issu des travaux de l'IEEE ( Institute of Electrical and
Electronics Engineers). C'est un protocole qui a pour but de contrôler l'accès au réseau via le
contrôle de port du commutateur d'accès. Ce standard n'est pas incompatible avec les VLAN
(802.1Q) et au contraire lui ajoute une couche de sécurité.

3.2.Description du protocole

3.2.1. Trois entités


Le protocole 802.1x défini le vocabulaire pour désigner les trois entités interagissant lors de
l'exécution du protocole.
1. le supplicant est l'entité qui demande l'accès au réseau via la supplique. C'est le système à
authentifier.
2. l'authenticator est le commutateur qui donne accès au réseau. On utilisait Network Access
Server dans la terminologie Radius. Certaine documentation font la différence entre
l'authenticator et le PAE (Port Access Entity). C'est souvent le même matériel qui joue les
deux rôles.
3. L'authentication server c'est le serveur fournissant l'autorisation d'accès. Il s'agit du
serveur Radius dans notre contexte. Une autre solution serait un serveur TACAC+. 802.1x
spécifie un rôle dans ce cas et non le protocole.

L'authentification avec 802.1x page 12 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

3.2.2. Le contrôle de port


Le contrôle de port est l'innovation apportée par 802.1x. Un port de commutateur contrôlé par
802.1x est divisé en deux ports logiques.
Le premier port logique est le port « non controlé ». Il est toujours ouvert mais uniquement pour le
trafic EAP d'authentification. Le second port logique est le port « controlé ». Celui ci ne s'ouvre
qu'après la réussite de l'authentification, en revanche il accorde l'accès à toutes les ressources du
réseau.

La norme 802.1x ne prévoie pas le support physique du port. Ainsi il est possible que le port soit un
connecteur RJ45 éthernet, une fibre optique ou un point d'accès sans fil.

La figure si dessous décrit les états logiques des ports.

L'authentification avec 802.1x page 13 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

3.2.3.Mécanismes de 802.1x

Au niveau du supplicant
On va maintenant décrire le fonctionnement du supplicant à l'aide d'un automate simplifié. La
description des états est la suivante:

● LOGOFF : cet état est atteint quand l utilisateur du système quitte sa session.
● DÉCONNECTÉ : dans cet état, le port physique est actif.
● CONNEXION : le supplicant est en attente d'une requête EAP avec un type Identity .La
compatibilité avec le matériel qui ne supporte pas 802.1x se fait par le passage à l'état
AUTHENTIFIÉ après trois requêtes EAPOL-Start sans réponses.
● ACQUISITION : l automate du supplicant envoie son identité à l'authenticator, et passe dans
l état « AUTHENTIFICATION » dès réception du premier paquet EAP avec un type
différent de Identify.
● AUTHENTIFICATION : dans cet état, le supplicant répond au serveur d'authentification.
● AUTHENTIFIÉ : les services contrôlés par le port protégé sont accessibles.
● HELD : état de temporisation (60s par défaut) contre les attaques par force brute.

L'authentification avec 802.1x page 14 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

Le schéma ci dessous décrit le fonctionnement simplifié de l'automate à état fini du supplicant.

Au niveau de l'authentificator
On décrit de la même façon le fonctionnement de l'authenticator. Les états sont décrits à la suite.

● INITIALISATION : cet état est atteint quand le protocole 802.1X est activé ou quand le port
physique du PAE a été débranché, ou enfin lorsque l équipement est mis sous tension.
● DÉCONNECTÉ : dans cet état, le port physique est actif mais les services contrôlés par le
port protégé sont inaccessibles.
● CONNEXION : l authenticator envoie une requête EAP avec un type Identity au supplicant
puis il se met en attente d une réponse.
● AUTHENTIFICATION : l authenticator sert de proxy d'authentification. Il interprète
seulement (tout en les relayant) les réponses finales (Reject ou Accept) du serveur
d authentification pour passer dans l état correspondant.
● AUTHENTIFIÉ : les services contrôlés par le port protégé sont accessibles.
● HELD : état de temporisation contre les attaques de type « force brute ». Dans cet état, tous

L'authentification avec 802.1x page 15 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

les paquets sont ignorés.


● ABORT : la procédure d authentification est interrompue (demande de ré-authetification,
Logoff, Start...).

Le schéma ci dessous décrit le fonctionnement simplifié de l'automate à état fini de l'authenticator.

L'authentification avec 802.1x page 16 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

3.2.4. Extensible Authentification Protocole (EAP)


Le protocole EAP est le protocole qui assure le transport des données d'authentification.Il est défini
dans la RFC 3748. Celui ci se place trois couches au dessus de la couche liaison du modèle OSI.
Cette pile n'est pas détruite à la fin de l'authentification pour permettre la réauthentification ou la
gestion de clef Wifi.

Le supplicant intervient sur ce protocole. On peut voir sur le schéma ci-dessous comment EAP est
transporté par Radius.

Serveur Radius
Authenticator Server

EAP Method

EAP
Commutateur
Authenticator
Poste de travail (Authenticator, NAS)
EAP

EAP Method Radius Radius


SUPPLICANT

EAP
EAP Peer UDP UDP
Authenticator

EAP EAP IP IP

802 802 802 802


(liaison) (liaison) (liaison) (liaison)
port interface IP
non contrôlé

On observe que ce n'est pas qu'une mais trois couches qui sont ajoutées sur la pile.
1. la couche EAP sert d'intermédiaire entre la couche de liaison de données et la couche EAP
peep
2. la couche EAP peer ou la couche EAP Authenticator servent à interpréter différents types

L'authentification avec 802.1x page 17 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

de paquets ( Request, Response, Failure, Sucess) utilisés dans EAP et de les orienter vers la
méthode de chiffrage EAP utilisée.
3. la couche EAP method est le siège des opérations de cryptographie.

3.2.5. Vue d'ensemble


Le chronogramme ci-dessous résume les points abordée dans les parties précédantes. On a
représenté une authentification qui réussi. Note: beaucoup de protocole demanderons plusieurs
échanges entre le serveur d'authentification et le supplicant pour l'authentification.

L'authentification avec 802.1x page 18 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

3.3. Sécurité apportée par le protocole 802.1x


Le protocole permet d'apporter une sécurité effective sur le réseau par le biais de l'authentification
des utilisateurs et matériels connectés. En effet, le serveur d'authentification peut prendre une
grande variété de paramètres en compte, que ce soit une session Windows ou une adresse MAC.

Il faut toutefois prendre en compte deux points: la solution de cryptage n'est pas définit par la
norme, bien au contraire. C'est pourquoi on utilise le protocole EAP, ce qui permet entre autre de
négocier le protocole d'authentification entre le client et le serveur à chaque authentification.
Ensuite, interdire l'accès au réseau par le blocage de port est suffisant dans les réseaux filaires, pas
dans les technologies sans fils.

3.3.1.Diversité des algorithmes d'authentification


Il existe beaucoup de variations d'EAP pour assurer la fonction authentification entre le serveur
Radius ou le supplicant. Citons en deux.

EAP/TLS
TLS permet l'authentification mutuelle du client et du serveur et le chiffrement. If est définit dans la
RFC 2716. Il est basé sur l'authentification par certificat du cient et du serveur. Il se déroule en 7
étapes:
1. Le serveur envoie au supplicant une requête de démarrage (TLS-start)
2. Le client répond TLS-hello qui contient la liste des algorithmes de chiffrement qu'il prend
en charge et un nomus.
3. Le serveur répond par un Server-Hello, qui désigne l'algorithme de chiffrement, contient un
autre nomus, son certificat, sa clef publique. Il demande aussi le certificat du supplicant
(Certificat_Request)
4. Le supplicant authentifie le certificat du serveur, envoie sa clef publique et son certificat. Il
génère une clé (Pre-Master Key) à partir des données échangées, elle est transmise cryptée
avec la clé publique du serveur. Enfin il calcule la clef principale de session appelée Master
Key. Le supplicant signale au serveur qu'il utilise maintenant la Master Key
5. Le serveur authentifie le certificat du supplicant. Il déchiffre la Pre-Master Key. Il est alors
capable de générer la Master Key à son tour. Le serveur signale au supplicant qu'il utilise

L'authentification avec 802.1x page 19 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

maintenant la Master Key.


6. Le serveur et le supplicant envoient chacun une requête vide pour montrer qu'ils sont arrivés
au bout du protocole.
7. Le serveur autorise l'authenticator à donner l'accès au réseau au supplicant ( Access
Accept ).

EAP/PEAP
C'est un protocole développé par Microsoft, Cisco et RSA Sécurity qui a l'avantage d'être
asymétriques: l'authentification est mutuelle mais le supplicant authentifie via une paire identifiant
mot de passe et le serveur s'authentifie via un certificat.
1. Le serveur envoie au supplicant une requête de démarrage (PEAP-start)
2. Le client répond PEAP-hello qui contient la liste des algorithmes de chiffrement qu'il prend
en charge.
3. Le serveur répond par son certificat et sa clef publique. Il désigne aussi l'algorithme de
chiffrement.
4. Le supplicant authentifie le certificat du serveur. Il génère une clé (Pre-Master Key) elle est
transmise cryptée avec la clé publique du serveur.
5. Le serveur et le supplicant calculent la Master Key et vont maintenant utiliser un tunnel
chiffré.
6. Le client envoie sont identifiant grâce à EAP-identity ( le port de l'authenticator est fermé
pour tout ce qui n'est pas EAP)
7. Le serveur envoie un nomus grâce à un Access-Challenge
8. Le supplicant répond au challenge
9. Le serveur vérifie le challenge
10. Le serveur et le supplicant envoient chacun une requête vide pour montrer qu'ils sont arrivés
au bout du protocole.
11. Le serveur autorise l'authenticator à donner l'accès au réseau au supplicant ( Access
Accept ).

L'authentification avec 802.1x page 20 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

3.3.2. Spécificités du Wifi


Pour palier à la faiblesse du chiffrement WEP, IEEE a développé un programme de standard
d'authentification et de chiffrement sur les réseaux sans fils. Le résultat a été le WAP2. Il s'agit du
WPA-Enterprise qui se fonde sur un serveur d'authentification et une clef de chiffrement unique
pour chaque utilisateur, et non le WAP Pre-Shared Key qui en est une version simplifée.

Ce qu'apporte 802.11i sur 802.1x est le chiffrement des données échangées. En effet, la diffusion
propre aux réseaux sans fils empêche d'interdire l'écoute des trames 802.11. Pour simplifier, les
auteurs indiquent que WPA2 = 802.1X + AES + TKIP.

Le problème est décomposé en trois partie:


● AES (Advenced Encryption Standard) pour la confidentialité,
● TKIP (Temporal Key Integrity Protocol) pour le renouvellement des clefs de cryptages,
● .802.1x pour l'authentification.

3.4.Limites du 802.1x
Le 802.1x a été mis en échec par du matériel comme un simple concentrateur réseau dans ses
premières versions, ou du spoofing. Maintenant, les constructeurs de switch 802.1x ont développé
des techniques permettant de détecter ce genre d'abus et la norme a évolué pour faire façe à ces
problèmes.

802.1x souffre aussi des faiblesses constatées sur le protocole Radius.

L'authentification avec 802.1x page 21 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

4. Conclusion
Le protocole 802.1x est un protocole robuste qui permet par l'intermédiaire de protocoles
préexistants d'assurer l'authentification: EAP et Radius.
Par le contrôle de port qu'il apporte, il permet d'empêcher des trames de source inconnue de circuler
sur le réseau. Si on l'emploie avec des VLAN 802.1q, alors il permet d'obtenir un réseau local
sécurisé à partir de la couche de liaison de données.
Ce protocole a été repris comme élément pour bâtir le standard en réseau Wifi, dans le domaine ou
il était le moins pertinent. Enfin, c'est un protocole récent et qui est mis à jour pour corriger les
problèmes qui peuvent apparaître.

L'authentification avec 802.1x page 22 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

5. Bibliographie

5.1. Radius
● Remote Authentication Dial In User Service (RADIUS), [RFC 2865],
http://tools.ietf.org/html/rfc2865

● IANA Considerations for RADIUS, [RFC 3575], http://tools.ietf.org/html/rfc3575 (vu le


11/11/2007)

● Authentification Réseau avec Radius, Serges Bordères, éditions Eyrolles, 209 p, ISBN
2-212-12007-9

● Faiblesses du protocole d'authentification Radius, Cert-IST, http://www.cert-


ist.com/fra/ressources/Publications_ArticlesBulletins/Environnementreseau/
Faiblesses_Radius/ (vu le 11/11/2007)

● Radius, Wikipedia http://en.wikipedia.org/wiki/RADIUS (vu le 11/11/2007)

● Radius_(informatique), Wikipedia http://fr.wikipedia.org/wiki/Radius_(informatique) (vu le


11/11/2007)

● Éditeur d'un serveur radius, http://www.freeradius.org/ (vu le 11/11/2007)

5.2. 802.1x
● Port-Based Network Access Control, IEEE 802.1x,
http://standards.ieee.org/getieee802/download/802.1X-2004.pdf (vu le 11/11/2007)

● 802.1X Port-Based Authentication HOWTO, Lars Strand, 18-08-2007,


http://tldp.org/HOWTO/html_single/8021X-HOWTO/#what8021x (vu le 11/11/2007)

● 802.1X et la sécurisation de l accès au réseau local, Luc Saccavini, 15/10/2003, 6 p,

L'authentification avec 802.1x page 23 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

http://2003.jres.org/actes/paper.111.pdf (vu le 11/11/2007)

● IEEE 802.1X, Wikipedia, http://en.wikipedia.org/wiki/IEEE_802.1X (vu le 11/11/2007)

● Wifi Déploiement et Sécurité 2e édition, Aurélien Géron, édition Dunod, 396 p, ISBN
2-10-050064-3

● Using 802.1x Port Authentication To Control Who Can Connect To Your Network, Colin
Weaver, 11p, http://www.itdojo.com/synner/pdf/synner2.pdf , version html (vu le
11/11/2007)

● An initial security analysis of the 802.1x standard, Mishra, A. & Arbaugh, W. (2002), 12p,
http://www.cs.umd.edu/~waa/1x.pdf (vu le 11/11/2007)

● Extensible Authentification Protocol, Wikipedia,


http://fr.wikipedia.org/wiki/Extensible_Authentication_Protocol (vu le 11/11/2007).

L'authentification avec 802.1x page 24 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

6. Annexe: Configurer 802.1X


Cette méthode est extraite de l'article http://www.itdojo.com/synner/html/synner2/synner2_p3.htm.

6.1.First: 802.1x supplicant (the user PC),


Follow all of these steps to make sure your client is configured correctly:

• You ll need to have some rights to set up the PC. Administrator rights will do nicely.
• Make sure you have at least SP1 installed (XP Pro).
• If you re using Windows 2000 pre-SP3 you ll need to go here
(http://support.microsoft.com/kb/313664/EN-US/) and do some reading.
• Make sure your PC is a member of the domain.
• Open Network Connections and access the properties of your network card.
• Select the Authentication tab from the NIC Properties
• Verify that the Enable IEEE 802.1x authentication for this network check box is selected.
• From the EAP type: drop-down, select Protected EAP (PEAP).
• Verify that the Authenticate as computer when computer information is available is
selected.
• Leave the Authenticate as guest when user or computer information is unavailable
unselected.

Complete the following tasks while still on the Authentication tab of the Network Card properties:

L'authentification avec 802.1x page 25 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

• Underneath the EAP type: drop-down, click on the Properties button.


• In the Protected EAP Properties dialog window choose the following:
• Validate server certificate Selected
• Connect to these servers: Not Selected
• Trusted Root Certification Authorities Scroll down the list and look for the name of the
Certificate Authority that supports your domain name space. This assumes that you have a
root CA in your domain or that you have made arrangements with a third-part CA. For many
environments this is provided via Certificate Services on the Windows Server operating
system.
• From the Select Authentication Method drop-down choose Secured Password (EAP-
MSCHAP-v2). This is the simplest method for the client as it does not require each client to
have a certificate installed. We could get into a big long discussion about this& but we won t.
• Leave the Enable Fast Reconnect check box cleared.
• The Fast Reconnect options applies to roaming wireless users and their ability to not
have to re-authenticate when they roam from one AP to another (as long as both
AP s use the same RADIUS or TACACS+ server for authentication). We ll talk about
it another day.
• Click the Configure& button right next to the Select Authentication Method: drop-down. In
the window that opens verify that the Automatically use my Windows logon name and
password (and domain if any) check box is selected.
• Click OK.
• Keep clicking OK until all the windows go away.

L'authentification avec 802.1x page 26 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

That should do it. The client (supplicant) is configured. Are there other ways? Yup! But not today&

6.2.Second: 802.1x authentication server (the Windows domain controller)


There is a pretty big laundry list of things that you need to do in order to have your back-end set up to
support this scenario. In this article I am going to set up the network to authenticate the computer account as
it exists in an Active Directory domain. This means that a computer will only be able to get on to the network
if it belongs to the domain. Rogue computers won t work. Here is what I will assume you have up and
running:

• A functioning Active Directory domain (Windows 2000 or Windows Server 2003)


• A DHCP server with a valid scope for the network(s) on which you are working
• Certificate Services with auto-enrollment for servers configured
• Domain controllers enroll automatically. If your RADIUS server is also a domain controller,
you re cool. If not, you ve either got to enable auto-enrollment in Group Policy or you ve got to
manually enroll the server for a certificate. You need a computer certificate with Server

L'authentification avec 802.1x page 27 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

Authentication as a listed purpose.


• Internet Authentication Services (IAS) (Microsoft s version of RADIUS). Just make sure it s installed
at this point. We ll configure it in a little bit.
• A Global or Universal group that contains the computer account(s) you wish to authenticate.
• For this article I created a Global group name Global Authorized PCs and added the
computer account(s) in my domain to the group.
• Notice that I didn t do anything with user accounts, just the computer account. I m just
interested in keeping rogue devices off the network. We can worry about users later.

To summarize:

• The computer account (Futomaki, in this article) is a member of the Global group named Global
Authorized PCs
• The user account (Colin Weaver) is a member of Domain Users (a default membership for all
domain accounts).
• This is important because you will see in a moment that we set up authentication based on group
membership (Global Authorized PCs), not on user group membership.

Next we need to configure IAS (RADIUS) for authentication. The tasks are as follows:

L'authentification avec 802.1x page 28 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

6.2.1.Set up the RADIUS client


The RADIUS client is the switch (authenticator). Sometimes people get the terminology confused and think
that the RADIUS client is the user or computer being authenticated. It s not& so don t.

• To set up the RADIUS client, follow these steps:


• Open Internet Authentication Service
• Right-click on RADIUS Clients and select New RADIUS Client
• In the New RADIUS Client window, enter a Friendly Name and appropriate IP address for
the client. Click Next.
• The Friendly Name is just to help you know who the client is. Call it whatever you
want.
• The Client address (IP or DNS) is the actual IP address configured on the switch.
• For this article I am using Catalyst2950 as the friendly name and 172.16.44.140 as
the IP address.
• From the Client-Vendor drop-down, choose the correct vendor. If your vendor isn t listed,
leave the setting as the default (RADIUS Standard)
• In the Shared Secret field enter a secret value (this is just a unique password that will be
shared between the RADIUS server and the switch). Enter it again in the Confirm Shared
Secret field. Remember it. You ll need it when you configure the switch. Click Finish.
• The RADIUS Client is now configured. You should see the RADIUS client listed in the detail
window (see screen shots below).

L'authentification avec 802.1x page 29 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

L'authentification avec 802.1x page 30 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

6.2.2.Configure a Remote Access Policy using IAS.


The policy is what defines the AAA rules (Authentication, Authorization & Accounting). We want to create a
rule that reads something like this, If you are a computer that is a member of the Global Authorized PCs
global group in the phatcat.com domain and you are connected to an Ethernet port, you are allowed on to the
network. If you are anything else, you re denied access to the network.

• To set up the Remote Access Policy, follow these steps:


• From the Internet Authentication Service MMC snap-in, right-click on Remote Access
Policies and select New Remote Access Policy. The New Remote Access Policy Wizard
will begin. Click Next.
• Since I m using Windows Server 2003 I have the option of using a wizard to set up the policy.
This simplifies the process a bit. If you have the wizard option, select it and then enter a
name in the field below it. The name needs to be something meaningful to you. For this
article I am using Authenticate Domain PCs as my Policy Name. If you don t have the
wizard option (Windows 2000 IAS) all you need to do is select:
• NAS-Port-Type matches Ethernet and;
• Windows-Group matches Phatcat\Global Authorized PCs (or whatever your
group name is)
• Wizard users, click Next and select the Ethernet radio button. Click Next.
• On the Users or Group page, click the Group radio button and then click Add& . Enter the
name of your group(s) and then click OK.
• On the Authentication page, choose Protected EAP (PEAP) and then click the Configure&
button.
• In the certificate selection drop-down choose the certificate you want to use. If you don t see
a certificate here it means your RADIUS server doesn t have a certificate enabled for Server
Authentication installed. You ll need to remedy this before moving on.
• In the EAP Types window make sure Secured Password (EAP-MSCHAP v2) is listed.
Leave the Enable Fast Reconnect check box cleared. Click OK.

L'authentification avec 802.1x page 31 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

• Click Finish.

The Remote Access Policy is now configured. It should be at the top of the list on the detail pane. Order is
important on this list. More than anything be sure the policy you just created is not the last one on the list. It
won t work if it is. The safest bet is for it to be on the top of the list. You need to sort any other policies you
have in order to make sure you get the desired behavior (if you have others, that is).

L'authentification avec 802.1x page 32 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

L'authentification avec 802.1x page 33 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

L'authentification avec 802.1x page 34 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

• To verify your policy settings double-click on the policy in the detail pane of IAS. You should see a
settings tab. Make sure it contains the following Policy Conditions:
• NAS-Port-Type matches Ethernet and;
• Windows-Group matches Phatcat\Global Authorized PCs (or whatever your group
name is)
• At the bottom of the settings page make sure the Grand remote access permission is selected.
Click OK.

That should do it. The authentication server is configured. Are there other options and things to consider?
Yup! But not today&

L'authentification avec 802.1x page 35 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

6.3.Third: 802.1x authenticator (the Cisco Catalyst 2950 switch)


Damn! The only reason I started to write this article was to take about configuring a Cisco switch to do 802.1x
authentication; I had to go through all that other crap just to get to this point. Now, some cool stuff:

A Cisco switch configured for 802.1x authentication doesn t allow anything through until you authenticate.
Anything (e.g. it s allowed even without authentication) includes:

• Spanning-Tree Protocol (STP) traffic


• Switches talking to each other about how to avoid loops
• Cisco Discovery Protocol (CDP) traffic
• Cisco devices talking to each other about who they are
• EAP over LAN (EAPOL) traffic
• EAPOL traffic is the authentication traffic related to 802.1x and authentication

The one thing we can say for sure about all three of those message types: they are all Layer 2 messages.
Nothing that s Layer 3 is going anywhere until you ve authenticated. 802.1x isn t enabled by default. You ve
got to turn it on and you ve got to configure AAA on the switch. The basic steps you have to take are:

1. Enable 802.1x authentication

2. Configure the switch & RADIUS server to communicate

3. Tweak the configuration to your liking

From the switch Command-Line Interface (CLI) there are a few interface configuration commands that you
can use to control 802.1x. One of the most often used is the dot1x port-control command. There are three
modifiers to the command. They are:

• auto
• force-authorized
• force-unauthorized

• If you set the port to force-authorized it will allow traffic, effectively disabling the need for
authentication. This is the same as having no 802.1x port-authentication at all.
• If you set the port to force-unauthorized it will NOT allow traffic, effectively disabling the port. Even
legitimate hosts will not be able to authenticate

L'authentification avec 802.1x page 36 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

• If you set the port to auto it will cause the port to start its day in an unauthorized state. This is the
mode you want to use if you re going to do 802.1x port-authentication. As soon as a device connects
to the port the authentication process starts. Depending on the client that is connected it may be the
client (the PC) that begins the authentication process or it may be the switch. If the switch is set to
auto it will send an authentication request when it detects the link state change (e.g. the link has
come up). It is also possible that the link is already up and the client sends the authentication
request. While who starts it is important it doesn't change the end result; the client has got to
authenticate because the switch isn't letting anything through otherwise.

Keep in mind that the switch doesn't actually do the authentication. It's just a pass-through. He's the
gatekeeper but he doesn't decide if the device is allowed. That's the authentication server's job (RADIUS or
TACACS+). If the RADIUS server says SUCCESS the port becomes authorized. If the RADIUS server says
FAILURE the port stays in an unauthorized state (e.g. no frames are passed).

The dot1x port-control auto command by itself isn t enough. Check out this debugging taken after the
dot1x port-control auto command is entered on an interface (no other dot1x configuration has been done):

The error message about half-way through shows that the switch isn t able to communicate with the
Authenticator process so it fails, allowing the port to transition into an authorized state. There is a bunch of
configuration commands missing to make this work. Let s look at them.

In order to configure the switch for AAA and 802.1x, I configure the following:

L'authentification avec 802.1x page 37 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

That s it! Let s look at each of these commands in a little detail and check out what they re doing.

• aaa new-model Enables AAA on the switch. This command is a must if you re going to do
anything other than local passwords on the switch
• aaa authentication dot1x default group radius This command creates something called a
method list for 802.1x authentication. A method list is little more than a list of stuff to try in order to
authenticate. The default keyword specifies that this is the list to use for all situations not otherwise
specified. The group radius keyword specifies the order in which authentication methods should be
tried. First, try all the RADIUS servers. If they return an error (different from a FAILURE messages),
use whatever is listed next. In this case, there is nothing after RADIUS so it s important that it s
available and functioning. Interestingly enough, if you were to enter aaa authentication dot1x default
group radius none you might expect the switch to try RADIUS and then, if no response was received,
to accept none as the authentication method. My personal tests of this have not shown this to be
true. The documentation on Cisco s site specifically says, if an error is returned , the next
authentication method is attempted. I guess getting no response and getting an error message are
two different things to Cisco.
• switchport mode access the port has to be an access port for 802.1x to work. It can t be anything
else. Anything else includes a trunk port, a dynamic port, a SPAN port, etc. If you say, Hey Colin,
what about if it s configured as a & , No! The port needs to be an access port and it needs to have
one PC connected to it. No hubs, no other switches, no access points& just one PC plugged into
one switch port. There is a multi-host option but it s not likely that you ll want to use it. Trust me on
this. If you don t, look it up on Cisco s site.
• dot1x system-auth-control this command enables 802.1x globally on the switch
• radius-server host 172.16.44.200 auth-port 1812 key 1Td0j0Rawkz! this is what points the
switch to the radius server. The IP address is that of the RADIUS server. The auth-port is UDP port
1812, which is a default for RADIUS. 1813 is the default accounting port. You may also see ports
1645 & 1646 used by some apps. The key keyword is followed by the secret key the switch shares
with the RADIUS server. This is the same key you configured earlier when setting up the switch as a
RADIUS client on the Windows Server box.
• dot1x port-control auto I already talked about this one. This command enables 802.1x on an
interface.

Now that we have it all set up, let s test it and capture the packets on the RADIUS server to see what we get.
Guess what, it works like a champ. Here s a screen shot of the RADIUS capture:

L'authentification avec 802.1x page 38 sur 39.


Pierre-Emmanuel Périllon Master SIR-APP
10200712 promotion 2007-08

If you want to see the capture in ethereal, you can download it here
http://www.itdojo.com/synner/images/synner2images/radiussnag.cap

L'authentification avec 802.1x page 39 sur 39.