Académique Documents
Professionnel Documents
Culture Documents
1X : Solution d'authentification scurise pour le futur rseau sans fil de l'Universit Louis Pasteur
Christophe Saillard
Centre Rseau Communication, Universit Louis Pasteur, Strasbourg Christophe.Saillard@crc.u-strasbg.fr
Rsum
L'ULP souhaite dployer rapidement un rseau Wifi sur l'ensemble de ses 80 btiments, soit environ 900 points d'accs, destination de diffrentes communauts d'utilisateurs : tudiants, enseignants et personnel. Il est donc impratif d'accompagner le dploiement physique des bornes (installation dans les btiments, configuration, intgration au rseau filaire) d'une infrastructure scurise, ralisant l'authentification des utilisateurs et assurant une confidentialit des changes de donnes appropries pour ce type de support. La solution retenue par l'ULP, pour accomplir cette tche, est base sur le protocole 802.1X. Cet article prsente tout d'abord une analyse dtaille de plusieurs mthodes d'authentification (base sur des certificats, mot de passe etc.) avec EAP (Extensible Authentication Protocol). La deuxime partie de cet article dresse un comparatif de diffrentes solutions 802.1X du march, notamment celle choisie par l'ULP.
Tant qu'il n'est pas authentifi, le client ne peut pas avoir accs au rseau, seuls les changes lis au processus d'authentification sont relays vers le serveur d'authentification par le point d'accs. Une fois authentifi, le point d'accs laisse passer le trafic li au client (figure 1).
Serveur d'authentification
Rseau
Trafi c autoris avant authe nti fi cati on (trafi c re l ay par l e poi nt d'acc s)
Point d'accs
Systme authentifier
P EA
ve
a rR
u di
Serveur d'authentification
Rseaux IP
N
EA
r ve
LA
Point d'accs
Systme authentifier
Comme le montre la figure 3, la premire tape est bien sr l'association physique avec le point d'accs (quivalent au branchement d'un cble reliant le port d'un commutateur l'quipement authentifier) qui doit tre ralise pralablement la phase d'authentification 802.1X. La processus d'authentification est ensuite initi par l'envoi d'une requte provenant du point d'accs vers le client (EAPOL). Le client rpond la requte en y joignant un premier identifiant (nom de la machine, login, etc). Cette rponse est retransmise au serveur Radius (EAP over Radius). partir de ce moment, les changes dpendent de la mthode d'authentification choisie (EAP-TLS, LEAP, etc.). Au terme de ces changes, le client est soit authentifi, auquel cas le point d'accs autorise le trafic du client sur le rseau, soit non-authentifi, et l'accs au rseau reste alors interdit.
Systme authentifier
Point d'accs
Serveur d'authentification
EAPO L
EAP : Re qu te (ide ntit ) EAP : R ponse (i de ntit) EAP : R ponse (identit) EAP : Requ. (authentificati on) EAP : R p. (authe ntification) EAP : R p. (authentification) EAP : Succe ss EAP : Succe ss EAP : Re qu. (authe ntification)
Certaines mthodes combinent plusieurs critres (certificats et login/mot de passe etc.) En plus de l'authentification, EAP gre la distribution dynamique des cls de chiffrement (WEP). Le reste de cet article dcrit plus en profondeur les mthodes suivantes :
EAP-TLS [2] : authentification mutuelle entre le client et le serveur Radius par le biais de certificats (ct client et ct
serveur) ;
EAP-TTLS [3] et EAP-PEAP [4] : authentification mutuelle du client et du serveur Radius par le biais d'un certificat
Client
Association (802.11)
Point d'accs
Serveur Radius
2 3 4 5 6
EAP : R p. TLS (Clie nt_He llo) EAP : Re qu. TLS (Se rver_Hello, Ce rt, Cl )
EAP : Re qu. TLS (Se rver_He llo, Ce rt, Cl ) EAP : R p. TLS (Ce rt, Cl ) EAP : Requ. TLS
EAP : R p. TLS (Cert, Cl) EAP : Requ. TLS (Change _ci pher_spe c, TLS_finished) EAP : Re qu. TLS (Change _cipher_spe c, TLS_finishe d) EAP : Rp. (no data) EAP : R p. Succs (C l de se ssion)
(Change _ciphe r_spe c, TLS_fi nished) EAP : Requ. TLS (Change_ciphe r_spe c, TLS_fi nished) EAP : R p. (no data)
8
EAP : Rp. Succ s
Gnration de la cl WEP
d'un nombre alatoire (dfi ou challenge) ; d'un identifiant de session (en fonction de celui propos par le client).
Le serveur choisit un algorithme de chiffrement parmi ceux qui lui ont t proposs par le client. 6) Le client vrifie le certificat du serveur et rpond avec son propre certificat et sa cl publique. 7) Le serveur et le client, chacun de son ct, dfinissent une cl de chiffrement principale utilise pour la session. Cette cl est drive des valeurs alatoires que se sont changes le client et le serveur. Les messages change_cipher_spec indiquent la prise en compte du changement de cl. Le message TLS_finished termine la phase d'authentification TLS (TLS handshake), dans le cas d'EAP-TLS la cl de session ne sert pas chiffrer les changes suivants. 8) Si le client a pu vrifier l'identit du serveur (avec le certificat et la cl publique), il renvoie une rponse EAP sans donne. Le serveur retourne une rponse EAP success. 9) La cl de session gnre en (8) est rutilise par le point d'accs pour crer une cl WEP qui est transmise au client, dans le cas o il s'agit d'une station Wifi. La cl de session est valide jusqu' ce que le client se dconnecte ou que son authentification expire, auquel cas il doit s'identifier nouveau. Le tunnel TLS cr lors de la cration de la cl de session n'est donc pas exploit. Seul le TLS Handshake est utilis, il permet l'authentification mutuelle des deux parties. EAP-TLS est une mthode d'authentification performante. Seul les problmes lis aux IGC peuvent dissuader de l'utilisation de cette mthode.
l'issue de la premire phase, le tunnel TLS chiffr s'tablit, garantissant une grande confidentialit des changes pour la phase 2 o le client transmet ses lments d'authentification (login/password) via CHAP, PAP, MS-CHAP ou MS-CHAPv2 pour EAP-TTLS et MS-CHAPv2, token-card ou certificat (similaire EAP-TLS) pour EAP-PEAP. La diffrence principale entre EAP-PEAP et EAP-TTLS vient de la manire d'encapsuler les changes lors de la deuxime phase. Pour EAP-PEAP, les donnes changes entre le client et le serveur au travers du tunnel TLS sont encapsules dans des paquets EAP. EAP-TTLS utilisent des AVP (Attribute-Values Pairs) encapsules dans des paquets EAP-TTLS, le format AVP d'EAP-TTLS est compatible avec le format AVP de Radius, ce qui simplifie les changes entre le serveur EAP-TTLS et le serveur Radius qui contient les informations relatives aux utilisateurs, dans le cas o les informations ne sont pas directement stockes sur le serveur EAP-TTLS. La mthode EAP-PEAP ne peut-tre utilise qu'avec un serveur Radius supportant EAP (figure 5). EAP-TTLS est plus souple, il est toujours ncessaire de dialoguer avec un serveur EAP, cependant ce serveur peut retransmettre directement la requte auprs d'un serveur Radius ne grant pas EAP (figure 6).
changes PEAP
Systme authentifier
Systme authentifier
PEAP est propos nativement dans Windows XP et Windows 2000, ce qui peut grandement faciliter son dploiement. Par ailleurs, l'implmentation de EAP-PEAP dans les clients d'authentification proposs par Cisco n'est pas compatible avec celle de Microsoft. Ainsi, on ne pourra pas s'authentifier avec EAP-PEAP depuis un client natif Windows sur un serveur Radius Cisco de type ACS. EAP-TTLS et PEAP s'adressent principalement aux sites ne disposant pas d'IGC. De plus, il est tout fait possible d'utiliser les informations stockes dans un annuaire LDAP reli au serveur RADIUS pour proposer un identifiant unique pour toutes les applications.
Client
Association (802.11)
Point d'accs
Serveur Radius
ou branchement filaire
2 3 4 5
EAP : R p. TTLS (Clie nt_He llo) EAP : R qu. TTLS (Se rver_He llo, Cert, Cl )
EAP : Re qu. TTLS (Se rver_Hel lo, C ert, Cl) EAP : Re qu. TTLS
EAP : Re qu. TTLS (Cl, Change _cipher_spec, TTLS_finishe d) EAP : Re qu. TTLS (Change_cipher_spe c, TTLS_finishe d)
8
EAP : R p. Succs
Gnration de la cl WEP
8 et 9) Similaires EAP-TLS EAP-TTLS et EAP-PEAP sont des mthodes trs proches et l'utilisation d'un tunnel TLS chiffr leur confre un bon niveau de confidentialit. EAP-PEAP prsente l'avantage d'tre support nativement par Windows XP et 2000. EAP-TTLS permet une meilleure interoprabilit avec les serveurs Radius ne supportant pas EAP.
2.2.3 EAP-MD5
EAP-MD5 ne propose pas d'authentification mutuelle, le client s'authentifie simplement en fournissant un couple login/mot de passe. Le problme majeur de cette mthode rside dans le fait que les changes ne sont pas chiffrs. En outre, EAP-MD5 ne gre pas la distribution dynamique des cls WEP. Le seul avantage de cette mthode est la simplicit : il est relativement facile de mettre en place une structure d'authentification base sur cette mthode. Celle-ci est d'ailleurs beaucoup utilis pour des rseaux filaires o la contrainte li au chiffrage des changes est moins forte que pour les rseaux Wifi.
Client
Association (802.11)
Point d'accs
Serveur Radius
EAPOL
EAP : Requ te (ide ntit ) EAP : Rponse (hostname ou login) EAP : Requ. MD5 (challenge) EAP : Rp. MD5
EAP : R ponse (hostname ou login) EAP : Re qu. MD5 (challe nge ) EAP : R p. MD5 (rponse au challenge) EAP : Rp. Succs
2 3 4
EAP : R p. Succ s
Par ailleurs, LEAP prsente quelques dfaillances. Tout d'abord, la cl utilise entre le client et le point d'accs est drive du login et du mot de passe stocks sur le serveur Radius. La mthode utilise dans ce cas est MS-CHAPv1, connue pour tre vulnrable. Ensuite, Les changes EAP ne sont pas chiffrs, le login passe en clair, seul le mot de passe est protg par le hachage MS-CHAPv1.
Re-Authentification automatique
NON
Mthode d'authentification
Login/Password
Remarques
EAP-MD5
EAP-PEAP
OUI
OUI
- Login/Password - Certificat
Facile implmenter Support par beaucoup de serveur Utilise les mots de passe en clair Pas d'authentification mutuelle Utilisation de certificats pour le serveur et les clients Solide mais plus compliqu grer cause des certificats Authentification mutuelle entre le serveur et le client Solution propritaire Cration d'un tunnel TLS sr Supporte PAP, CHAP, MS-CHAP, MS-CHAPv2 Certificat obligatoire ct serveur, optionnel ct client Authentification mutuelle Similaire EAP-TTLS Cration d'un tunnel TLS sr Authentification mutuelle
Nous avons pu voir que le choix de la mthode d'authentification a un fort impact sur la gestion du systme. Par exemple, l'utilisation d'EAP-TLS implique l'existence d'une infrastructure de gestion de cls. Le dploiement d'une telle infrastructure est en soi un projet d'ampleur qu'il ne faut pas ngliger. Si l'IGC existe, il faut l'utiliser ; dans le cas contraire, on prfrera une solution base sur EAP-PEAP ou EAP-TTLS, qui ncessite un seul certificat pour le serveur. Le client s'authentifiera par login /mot de passe stocks sur le serveur d'authentification (RADIUS). Il est possible d'utiliser les informations issues d'un annuaire de type LDAP en le connectant au serveur RADIUS. Pour utiliser les mthodes EAP dcrites dans cet article, il est absolument indispensable de mettre en place une architecture d'authentification. La partie suivante prsente plusieurs solutions d'architectures que l'on peut trouver actuellement sur le march.
En effet, la diversit des publics viss (tudiants, enseignants, personnels) implique que la solution doit prvoir un maximum de cas. Par ailleurs, il tait souhaitable que la solution propose le support d'un grand nombre de mthodes EAP. Enfin, l'homognt et la facilit de dploiement de la solution taient des points vrifier.
La premire solution, base sur les logiciels libres, a consist en l'installation de FreeRADIUS avec un module d'authentification EAP-TLS. Ct client, nous avons opt pour Xsupplicant sous Linux, et la prise en charge native d'EAPTLS sous Windows XP nous a permis de nous affranchir de l'installation d'un client pour ce systme. Cette solution donne satisfaction, mais l'tat d'avancement du serveur FreeRADIUS et du client Xsupplicant ne permet pas, l'heure actuelle, d'envisager un dploiement srieux bas sur cette architecture. D'autre part, dans un souci de cohrence, et pour faciliter l'exploitation, il est prfrable d'avoir un seul type de client d'authentification sur l'ensemble des plate-formes. Cette solution ne rpond donc pas cette attente. Par ailleurs, la version de FreeRADIUS teste ne permettait qu'une authentification EAP-TLS, ncessitant l'existance d'une infrastructure de gestion de cl. Pour les besoins du test, une mini IGC a t installe, mais l'ULP ne possde pas encore une telle infrastructure. Une prise en charge de PEAP aurait donc t aprciable.
ACS et ACU prennent en charge la plupart des mthodes EAP actuelles. Ces 2 logiciels sont assez simples configurer. Le serveur d'authentification ACS ne fonctionne malheureusement que sous Windows. De plus, son prix est relativement lev. ACU ne fonctionne qu'avec les cartes Cisco et sur un nombre limit de plate-formes (Windows 2000/XPet Linux avec un kernel 2.4).
Serveur Radius : Aegis Premium Server sous Linux Client d'authentification : Aegis Client sous Windows et sous Linux Cette solution est la plus pertinente pour les besoins de l'ULP :
Elle fonctionne sur la majorit des plate-formes actuelles avec un client universel (Windows NT 4.0 avec Service
Pack 6a, 98, 98SE, ME,CE.net, 2000, XP, MacOS 10.2.x, Linux avec kernel 2.4, Solaris 8, PocketPc 2002, Palm Tungsten), le serveur tourne sous Linux, Windows 2000 et Solaris 8.
Elle prend en charge la plupart des mthodes EAP existantes Elle permet de s'authentifier avec la mthode LEAP avec d'autres cartes que Cisco
L'ULP a donc retenu cette offre. Elle s'est dote d'une version du serveur Aegis Premium pour Linux et de 5000 licences pour le client Aegis.
Conclusion
Le choix d'une mthode et d'une structure d'authentification n'est pas ais devant la quantit de solutions offertes. Ce choix peut tre grandement influenc par les informations relatives aux utilisateurs pr existantes.(IGC, annuaire LDAP, etc.). En ayant connaissance des faiblesses de scurit des rseaux de type Wifi et au vu de l'essor important de ce type de matriel, il est probable que le march des serveurs d'authentification va prendre de l'importance. Ainsi, depuis les tests, certains produits ont dj beaucoup volu pour prendre en charge davantage de mthodes d'authentification et de plateformes (FreeRADIUS supporte dsormais EAP-TTLS et LEAP). Cependant, sur le segment de la scurit des rseaux Wifi, d'autres solutions restent envisageables notamment celles bases sur les VPN (Virtual Private Network). Le niveau de scurit propos par 802.1X est correct mais il ne permet pas de rsoudre les problmes lis aux faiblesses de WEP. Ainsi, pour proposer une architecture vraiment sre il faudra utiliser d'autres techniques de chiffrement comme WPA (Wifi Protected Access) et attendre les avances proposes par 802.11i (prvu pour fin 2003). La relative jeunesse de tous ces protocoles, et des rseaux Wifi en gnral, ne permettent pas encore de garantir une prnit de la solution retenue. Malgr tout, il est prfrable de prendre le risque d'opter pour une solution plutt que d'attendre et de laisser son rseau sans fil sans protection.
Rfrences
[1] RFC2284 EAP, http://www.ietf.org/rfc/rfc2284.txt [2] RFC2716 EAP-TLS, http://www.ietf.org/rfc/rfc2716.txt [3] Internet Draft sur EAP-PEAP, http://www.globecom.net/ietf/draft/draft-josefsson-pppext-eap-tls-eap-02.html [4] Internet Draft sur EAP-TTLS, http://www.ietf.org/internet-drafts/draft-ietf-pppext-eap-ttls-03.txt [5] Serveur RADIUS, http://www.freeradius.org [6] Client 802.1X libre, http://www.open1x.org