Introduction au Wi-Fi sécurisé 1
2 Introduction au Wi-Fi sécurisé Réunion VRRROUM 17/06/05 Marc Vesin
3 Réseaux sans-fil : rappels WLAN : wireless LAN, réseau local radioélectrique IEEE : organisme de standardisation 802.1, 802.11b, 802.11g, 802.11a sont des standards IEEE Wi-Fi alliance : consortium d industriels désirant garantir l interopérabilité des produits 802.11 Wi-Fi : marque déposée de la Wi-Fi alliance délivre des certifications à des produits ( Wi-Fi certified ) architecture 802.11 : Mode infrastructure ( AP et clients ), mode ad-hoc
4 Pourquoi sécuriser le Wi-Fi? Pourquoi sécuriser le Wi-Fi? les mêmes risques que sur un réseau filaire plus : un médium partagé ( souvenons nous des hubs ), plus : un médium accessible de partout. 802.11 : Open System authentication, aucune authentification
5 WEP ( Wired Equivalent Privacy ) mécanisme de sécurité optionnel de IEEE 802.11 ( 1999 ) un produit Wi-Fi ne supporte pas toujours WEP utilise le mode Shared Key authentication objectif : même niveau de sécurité qu un réseau filaire, chiffrement symétrique ( secret partagé ) entre la borne Wi-Fi et le poste client, algorithme de chiffrement RC4, pas de mécanisme de distribution des clefs, pas d authentification de l utilisateur, problèmes dans la conception et l implémentation. parfois utilisé pour une sécurité basique néanmoins.
6 IEEE 802.1X 802.1X est un standard IEEE ( 2001 ) révisé en 2004 ( 802.1X-2004, ex - 802.1aa ) fournit un service de contrôle d accès et d authentification par port au réseau utilise une authentification EAP, définit une encapsulation EAPOL. nécessite une connexion point à point, sur un réseau IEEE 802 initialement conçu pour le réseau ethernet filaire commuté, il a du être adapté pour les réseaux sans-fil 802.11 ( notion de point à point : une paire de ports par association 802.11 ; chiffrement ) quelques cas intéressants plusieurs machines connectées sur un port de switch ( hub )? déconnexion temporaire ( perte de connexion radio ou ethernet )? communication entre clients Wi-Fi d un même AP?
7 IEEE 802.1X 3 éléments dans l architecture 802.1X : supplicant Demande l accès au réseau et s authentifie ( ex : machine cliente ) authenticator Contrôle l accès au réseau et relaie/transcrit l authentification ( ex : switch réseau ; AP Wi-Fi ) authentication server Authentifie le supplicant sur requête de l authenticator ( ex : serveur d authentification RADIUS ; autre serveur d authentification ; AP Wi- Fi ) Supplicant et authenticator sont des LAN ports ou PaE
8 IEEE 802.1X 2 ports logiques 802.1X existent sur un port physique ( ou une association 802.11 ) : uncontrolled port Ne traite que le trafic 802.1X, Toujours actif. controlled port Traite les données autres que 802.1X, Initialement inactif ( open ), Activé ( closed ) après une séquence d authentification réussie, Jusqu à invalidation de l authentification ( Logoff utilisateur ; déconnexion physique ; ré-authentification échouée )
9 IEEE 802.1X supplicant ( 802.1X ) peer ( EAP ) authenticator authentication server EAPOL messages EAP in RADIUS messages Conversation EAP de bout en bout
10 EAP ( Extensible Authentication Protocol ) framework d authentification, défini par l IETF ( RFC 3748 ) peut fonctionner au dessus de la couche 2 ( PPP, IEEE 802 ) Intervient après la connexion ethernet en filaire, après l association avec un AP en Wi-Fi n implique pas de connexion au niveau 3 ( IP ), initialement conçu pour l authentification PPP, l encapsulation sur éthernet filaire est décrite dans 802.1X,
11 EAP ( Extensible Authentication Protocol ) Supporte de nombreuses méthodes d authentification : définies dans d autres RFC et drafts IETF ; méthodes propriétaires, provision pour ajout de méthodes supplémentaires, méthodes supplémentaires impactent le peer et le serveur d authentification ( pas l authenticator s il ne fait que du pass-through ). Mécanisme de négociation de la méthode d authentification ( messages EAP-response NAK et expanded NAK ) Le serveur d authentification peut supporter plusieurs modes d authentification simultanément Le peer peut supporter plusieurs modes d authentification simultanément
12 EAP ( Extensible Authentication Protocol ) Authentification EAP, le principe du dialogue : un dialogue entre serveur et peer par une séquence de : l authentication server émet un EAP request vers le peer, le peer répond par un EAP response vers l authentication server. le dialogue se conclut par un EAP success ou un EAP failure de l authentication server vers le peer
13 Exemple : 802.1X et EAP en Wi-Fi 802.11, puis EAPOL EAP in RADIUS 802.11 Beacon 802.11 OpenSys auth req/resp 802.11 Assoc auth req/resp EAPOL Start EAPOL Req : Identity EAPOL Resp : Identity RADIUS Access Req (EAP Resp : Identity )
14 Exemple : 802.1X et EAP en Wi-Fi EAPOL EAPOL Req : xxx EAPOL Resp : yyy.. EAPOL Success génération de clefs de session EAP in RADIUS RADIUS Access Chal (EAP Req : xxx ) RADIUS Access Req (EAP Resp : yyy ).. RADIUS Accept (EAP Success ) controlled port 802.1X actif
15 EAP ( Extensible Authentication Protocol ) Génération de clefs de chiffrement : si la méthode EAP choisie le supporte, matériel cryptographique par session utilisateur ( MSK ), La MSK est générée par le serveur d authentification, transmise indépendamment à l authenticator et au peer, La MSK est indépendante de la méthode de chiffrement choisie, La MSK n est pas utilisée pour protéger des données, La MSK sert à dériver des TSK, Les TSK sont utilisées pour protéger les données.
16 EAP ( Extensible Authentication Protocol ) Choix des méthodes EAP à supporter Des requis de sécurité raisonnables sont : Authentification mutuelle client-serveur Résistance aux attaques d un tiers pouvant écouter et/ou émettre des trames Wi-Fi Génération de matériel cryptographique ( Key Derivation ) Quelques exemples de méthodes EAP : EAP-TLS ( RFC 2716 ), famille EAP-PEAP, dont EAP-PEAP/MSCHAPv2, famille EAP-TTLS, dont EAP-TTLS/PAP et EAP-TTLS/EAP-MSCHAPv2
17 EAP ( Extensible Authentication Protocol ) EAP-TLS Authentification mutuelle du peer et du serveur par certificat, Réputé très sur, mais nécessite une PKI. EAP-PEAP et EAP-TTLS authentification du serveur par certificat et mise en place d un tunnel TLS, seconde authentification ( du client généralement ) encapsulée dans ce tunnel, les 2 sont techniquements proches mais EAP-PEAP utilise un second EAP encapsulé, alors que TTLS utilise des AV-pair RADIUS
18 EAP ( Extensible Authentication Protocol ) Exemples : EAP-PEAP/MSCHAPv2 et EAP-TTLS/EAP-MSCHAPv2 EAP-MSCHAPv2 dans EAP-{PEAP,TTLS} bon niveau de sécurité, une attaque connue qui exploite le lack of cryptographic binding corrigé en PEAPv2 et TTLSv1, mais ils sont encore peu implémentés implique une base d authentification au format Microsoft EAP-TTLS/PAP PAP dans EAP-TTLS sécurité assez équivalente à un login/password dans HTTPS avec les risques de phishing souple au niveau de la base d authentification ( intégration LDAP facile )
19 IEEE 802.1X le chiffrement est optionnel dans 802.1X-2001 en Wi-Fi, le chiffrement est obligatoire en 802.1X Utilise la génération et la distribution de de clefs ( MSK ) de EAP, génération et échange des clefs des TSK? dynamic WEP : 802.1X + distribution automatique de clef WEP
20 WPA ( Wi-Fi Protected Access ) spécification de la Wi-Fi alliance ( 2003 ), basée sur un sous-ensemble d un draft de IEEE 802.11i certification délivrée par la Wi-Fi alliance ( WPA certified product ) WPA enterprise et WPA personal objectifs : authentification de l utilisateur et contrôle d accès au réseau ; protection des données compatible avec toutes les couches radio 802.11 ( 802.11a, 802.11b 802.11g, multimodes ) ne nécessite pas de modification matérielle des équipements Wi-Fi nécessite une mise à jour logicielle des AP et les clients ( si cette mise à jour existe ) ; client : mise à jour du driver et du système, nécessite le déploiement d un serveur RADIUS pour WPA enterprise.
21 WPA ( Wi-Fi Protected Access ) WPA enterprise ~= 802.1X + EAP + TKIP + MIC Authentification de l utilisateur avec 802.1X + EAP Nécessite de déployer un serveur RADIUS Protection des données : Distribution dynamique de clef 802.1X Chiffrement TKIP ( Temporal Key Integrity Protocol ) Contrôle d intégrité des trames MIC ( Message Integrity Check ) dit Michael WPA personal : vise à remplacer WEP pour les SOHO PSK ( clef pré-partagée ), pas de serveur RADIUS La PSK sert de PMK, ensuite chiffrement identique a enterprise
22 WPA ( Wi-Fi Protected Access ) La gestion des clefs WPA complète les mécanismes de EAP une clef maître par utilisateur et par session (PMK) générée et distribuée par le serveur d authentification comme en EAP MSK en terminologie EAP 4-way handshake pour la dérivation des PTK unicast et GTK {multi,broad}cast échange de messages EAPOL-Key entre supplicant et authenticator, la PTK est dérivée de la PMK en commun par le supplicant et l authenticator, la GTK est générée par l authenticator et transmise chiffrée avec la PTK au supplicant, en chiffrement TKIP : pour le trafic unicast, la clef de chiffrement effective change à chaque trame.
23 WPA2 spécification technique de la Wi-Fi alliance basée sur le standard IEEE 802.11i ( 2004 ) proche de 802.11i, implémente les éléments obligatoires de 802.11i certification délivrée par la Wi-Fi alliance ( Wi-Fi CERTIFIED for WPA2 ) WPA2 enterprise et WPA2 personal ~ WPA + chiffrement AES + sécurisation du mode ad-hoc en mode enterprise optionnels : PMK caching + pré-authentification
24 WPA2 Compatibilite arrière WPA mode mixte WPA2/WPA possible, pas de mode mixte WPA2/802.1X+WEP (?) WPA2 implique : une mise à jour matérielle des supplicants et des authenticators ( support AES ), une mise à jour logicielle des supplicants, des authenticators et authentication server
Exemple : 1ère connexion WPA en Windows 25 Conditions de la connexion : Windows XP SP2, supplicant natif Microsoft, authentification EAP-PEAP/MSCHAPv2
Exemple : 1ère connexion WPA en Windows 26 Importer le certificat du serveur d authentification (1)
Exemple : 1ère connexion WPA en Windows 27 Importer le certificat du serveur d authentification (2)
Exemple : 1ère connexion WPA en Windows 802.11, puis EAPOL EAP in RADIUS 28 802.11 Beacon 802.11 OpenSys auth req/resp 802.11 Assoc auth req/resp
29 Exemple : 1ère connexion WPA en Windows 802.11, puis EAPOL EAP in RADIUS EAPOL Req : Identity EAPOL Resp : Identity.. EAPOL Req : xxx RADIUS Access Req (EAP Resp : Identity ).. RADIUS Access Chal (EAP Req : xxx ) EAPOL Resp : yyy RADIUS Access Req (EAP Resp : yyy )
30 Exemple : 1ère connexion WPA en Windows EAPOL EAP in RADIUS.. EAPOL Success 4-way handshake WPA DHCP, etc. controlled port 802.1X actif.. RADIUS Accept (EAP Success )
Exemple : 1ère connexion WPA en Windows 31 Connexions ultérieures sur le même réseau avec les mêmes droits : entièrement automatique, pas d intervention de l utilisateur
Exemple : 1ère connexion WPA en Windows 32 Caché dans l exemple... configuration PEAP ( évitable? )
Exemple : 1ère connexion WPA en Windows 33 Caché dans l exemple autre utilisateur que le compte Windows au moment du EAPOL Req : Identity
34 Déploiement de WPA : poste client Faire du WPA ( ou WPA2, ou 802.1X ) n est pas transparent pour le poste client! Poste client : support de WPA par la carte Wi-Fi ; support de WPA par les drivers ; présence d un supplicant 802.1X/WPA qui supporte les méthodes EAP souhaitées, Utilisateur : posséder un compte, et souvent s authentifier manuellement. rentable dans l optique d une authentification 802.1X généralisée au filaire et au sans-fil?
35 Déploiement de WPA : poste client Poste client Windows XP SP2 : Supplicant 802.1X/WPA natif Microsoft supportant EAP- PEAP/MSCHAPv2 et EAP-TLS hotfix pour le support WPA2 nécessite un driver WPA pour la carte Wi-Fi utilisée, possibilité d authentifier la machine ou l utilisateur, possibilité de dé-authentifier l utilisateur à la clôture de la session Windows, comportement du supplicant différent en filaire et en Wi-Fi. Possible d utiliser un supplicant tiers pour utiliser d autres méthodes EAP ( securew2, fabricant de la carte ) ou avoir un supplicant crossplatform ( MeetingHouse )
36 Déploiement de WPA : poste client Poste client Linux Fedora core 3 : le driver de la carte Wi-Fi est parfois à installer en plus du système ( madwifi ) Le supplicant est à installer en plus du système wpa_supplicant est couramment utilisé Supporte 802.1X/WPA/WPA2 et de très nombreuses méthodes EAP, à lancer manuellement ou par script en tant que root l authentification peut se faire automatiquement avec les données du fichier de configuration /etc/wpa_supplicant.conf, Implique un login/password en clair dans ce fichier pour de nombreuses méthodes l authentification peut se faire interactivement par wpa_cli en tant qu utilisateur ergonomie minimale
37 Déploiement de WPA : infrastructure La partie immergée de l iceberg : déploiement et configuration de bornes qui supportent WPA, déploiement d un serveur RADIUS qui supporte EAP/802.1X, déploiement d une base de compte à utiliser par le serveur RADIUS : locale ; LDAP ; active directory ; etc attention, il y a des contraintes selon la méthode EAP choisie. Choix de déploiement : veut-on authentifier des personnes, des machines ou un mélange des deux? veut-on donner la même @IP à une machine en filaire et en sans-fil?
38 Résumé WEP est peu sûr et la gestion est manuelle 802.1X apporte l authentification et la convergence filaire/sans-fil WPA et WPA 2 sont réputés apporter un bon niveau de sécurité suivant le mode EAP choisi si on n utilise pas le mode PSK on peut supporter plusieurs modes simultanément plusieurs modes EAP simultanés sur le poste client et le serveur RADIUS, mélange WPA et WPA2, ou 802.1X+WEP et WPA en Wi-Fi, 802.1X en filaire et 802.1X+WEP ou WPA ou WPA2 en Wi-Fi. Ou est le problème? Complexe à mettre en oeuvre, et jeune au niveau des implémentations.
39 Autres approches de la sécurisation Wi-Fi types de déploiements : SOHO, entreprise.. et hotspot méthodes non-spécifiques au Wi-Fi : serveur de VPN, portail captif, dans les deux cas : réseau clos, pas de sécurisation Wi-Fi. architecture Microsoft WPS ( Wireless Provisioning Services ) tendance sur les produits switches Wi-Fi : l hybridation : support de la sécurisation IEEE et d un portail captif, l intégration : serveur RADIUS intégré, etc.