Cours Sécurité des réseaux sans-fil

A. Guermouche
Plan
1. WEP 2. WPA
A. Guermouche
Plan
1. WEP
2. WPA
WEP : Wired Equivalent Privacy
F Mécanisme simple de chiffrement de données du standard 802.11.
F Utilisation de l’algorithme de chiffrement RC4. F Utilisation de clés statiques de 64 ou 128 bits.
Au niveau de l’emetteur :
1. Calculer le code CRC des données et l’ajouter à la trame.
2. Calculer un nouvel IV (Initialisation Vector) et l’ajouter à la clé secrète pour former une clé pour ce paquet.
3. Utiliser RC4 pour générer une clé de flux dont la longueur est égale à la longueur des données à envoyer plus leur code CRC.
4. Utiliser la clé de flux pour chiffrer le contenu du message ainsi que le code CRC (en faisant un XOR).
5. Mettre l’IV dans un champs de l’en-tête de la trame.
6. Envoyer la trame.A. Guermouche
WEP : Wired Equivalent Privacy
F Mécanisme simple de chiffrement de données du standard 802.11.
F Utilisation de l’algorithme de chiffrement RC4. F Utilisation de clés statiques de 64 ou 128 bits.
Au niveau du récepteur :
1. Extraire l’IV à partir de l’en-tête de la trame.
2. Ajouter l’IV à la clé secrète pour générer la clé du paquet.
3. Utiliser RC4 et la clé de paquet pour générer une clé de flux.
4. Utiliser la clé de flux pour déchiffrer le trame.
5. Calculer un code CRC sur les données et le comparer au code CRC contenu dans la trame.
6. Si les deux codes correspondent, la trame est acceptée.
Problèmes de WEP
F L’IV a une longueur de 24 bits.
F WEP ajoute l’IV à la clé secréte pour former une famille de 224 clés distinctes.
Problèmes :
F Faiblesse de certaines clés RC4.
F Le principal problème est qu’une clé de flux ne peut pas être réutilisée.
F Théoriquement, une fois que les 224 clés possibilités ont été utilisées, il est nécessaire de changer de clé secrète.
F La norme ne spécifie pas de méthode précise de gestion de clés.
F En pratique, les clés secrètes ne sont quasiment jamais changées.
F Pour une borne avec un client avec une connexion de 11Mb/s et ayant une activité réseau normale, il suffit d’une heure pour couvrir tout l’espace des clés.
Stragégies de choix de l’IV
Stratégie séquentielle. La probabilité de collision est de 100% si le nombre de clients est supérieur à 1.
Stratégie Random. La probabilité de collision Pn que deux paquets aient le même IV après n paquets est :
(P2 = 1/224
Pn = Pn?1 +(n ? 1)(1 ? Pn?1))/224
50% de chances d’avoir une collision au bout de 4823 paquets (212).
Attaques contre WEP (1/2)
Attaque passive :
F Un attaquant écoute le trafic 802.11 et va appliquer un XOR entre des données chiffrées avec la même clé (même IV).
F Les données chiffrées correspondent à :
ci = pi ? ki,pour i = 1, 2,
ci,pour i = 1, 2,
où les ki correspondent aux bits de la la clé de flux.
F En faisant un XOR entre les ci et ci on obtient :
pi ? pi pour i = 1, 2,
F L’attaquant connaît alors le XOR des données initiales pi et pi .
F L’attaquant sait alors quels bits (pi,pi ) sont égaux (ou différents) dans les deux flux.
F Ainsi, pour chaque paire de bits, l’attaquant arrive à réduire la taille de son espace de recherche de 216 à 28.
F Avoir plus de trames d’informations permet de réduire l’espace de recherche pour la détermination de la clé.
Attaques contre WEP (2/2)
Attaques actives :
Forger un paquet. Vu que RC4 et CRC sont linéaires, il est possible de modifier certains bits du messages chiffrés d’une manière telle que le code CRC reste correcte et que le messages se décrypte en un autre qui peut être valide.
F Les adresses IP sont toujours au même endroit dans la trame.
F Il est possible de modifié l’adresse IP de destination d’un paquet en modifiant certains bits du message chiffré qui correspondent a l’adresse IP et au CRC.
F Il suffit de positionner l’adresse IP de destination à celle d’une machine que l’attaquant contrôle (une machine connectée à internet).
F En gardant, la version chiffrée du message, l’attaquant va recevoir la version en clair du message sur sa machine distante, il peut alors déduire la clé de flux.
Attaques contre WEP (2/2)
Attaques actives :
Rejouer un paquet. En retransmettant un paquet capturé, il est possible d’obtenir une réponse chiffré avec un autre IV. En répétant cette opération, on peut récupérer n fois le même paquet chiffré avec des clés de flux différentes.
F Possibilité de rejouer un message modifié :
1. prendre un message vide,
2. modifier certains bits,
3. calculer le code CRC,
4. faire un XOR entre le message obenu et un message capturé,
5. envoyer le message ainsi modifié.
Plan
1. WEP
2. WPA
WPA : Wi-Fi Access Protocol
F WPA a été proposé en Octobre 2002 en réponse aux failles mises à jour dans WEP.
Propriétés :
Authentification. Deux modes de fonctionnements :
F WPA est conçu pour fonctionner avec un serveur d’authentification 802.1X (un serveur radius en général) qui se charge de la distribution des clés à chaque utilisateur.
F WPA propose aussi un mode moins sécurisé (PSK) basé sur un secret partagé commun à tous les utilisateurs.
Gestion des clés. Utilisation d’un protocole (TKIP) pour pallier les failles de WEP (changement de clé de chiffrement de manière périodique).
Intégrité des messages. Utilisation d’un code de vérification d’intégrité (MIC) en remplacement de CRC.
802.1X
F Norme définissant des mécanismes d’authentification pour des hôtes dans un réseau local.
F L’authentification est généralement faite par un tiers (généralement un serveur radius).
Composants de 802.1X :
Demandeur (supplicant). Entité voulant accéder d’accéder aux ressources (donc ayant besoin de se faire authentifier).
Serveur d’accès (authenticator). switch, borne sans-fil, . . .
Serveur d’authentification (Authentication server). Entité avec laquelle le serveur d’accès dialogue pour authentifier le demandeur.
802.1X
F Norme définissant des mécanismes d’authentification pour des hôtes dans un réseau local.
F L’authentification est généralement faite par un tiers (généralement un serveur radius).
Notion de ports :
en fillaire commuté.
F Le port correspond au port du switch (le demandeur s’authentifie sur ce port).
en sans fil.
F Utilisation de ports logiques.
F La borne d’accès donne à chaque client qui s’est authentifié une clé de session qui lui est propre.
EAP : Extensive Authentication Protocol
Objectif :
F Permettre l’ajout de nouveaux protocoles d’authenitification.
Propriétés :
F EAP est un protocole de transport d’authentification.
F EAP n’est pas un protocole d’authentification.
F Les bornes d’accès ne servent que de relai entre le demandeur et le serveur d’authentification.
F La borne d’accès n’a pas besoin de connaître la méthode d’authentification utilisée (pratique pour l’évolutivité).
Types et hiérarchie des clés
Clé Pré-partagées (PSK).
F Positionnées sur le client mobile ainsi que sur la borne emettrice avec un mécanisme indépendant de WPA.
F La possession de la clé est à la base de l’authentification.
Clé fournies par un serveur d’authentification.
F Les clés sont générées par un protocole d’authentification de plus haut niveau.
F Le serveur d’authentification fournit à la borne la clé nécessaire à la protection d’une session (cette clé ayant une durée de vie prédeterminée).
F La PMK (Pairwise Master Key) est au sommet de la hiérarchie.
F Peut être fournie par un serveur d’authentification ou peut utiliser un secrèt partagé.
F Il y a une seule PMK par hôte mobile.
Création et acheminement de la PMK
F La génération de la PMK est basée sur une clé connue par le serveur d’authentification et le client.
F Pendant le processus d’authentification EAP, la méthode prouve que les deux parties connaissent le secret.
F Après l’authentification, une clé aléatoire est générée.
F Cette clé est utilisée pour générer la PMK.
F La PMK est ainsi connue par le serveur d’authentification et par le client.
F La PMK doit être alors transférée sur la borne (WPA recommande RADIUS pour cette opération).
Génération des clés “temporelles”
F WPA utilise des clés temporelles qui sont dérivées de la PMK. F Les clés temporelles ne sont utilisées que pour une session.
F Les clés temporelles sont recalculées dès qu’un client mobile veut s’associer à une borne.
F Quatre clés sont créées à cet effet : I Clé de chiffrement des données (128 bits).
I Clé d’intégrité (128 bits).
I Clé de chiffrement EAPOL (128 bits).
I Clé d’intégrité EAPOL (128 bits).
F Les deux premières sont utilisées pour protéger les données.
F Les deux dernières sont utilisées pour protéger la poignée de main initiale.
F Pour assurer qu’une clé temporelle est liée à une séssion, des nonces sont utilisés dans le calcul des clés.
F Chaque acteur génére un nonce et l’envoie à l’autre.
F Pour lier les clés à un périphérique, l’adresse MAC est utilisée dans le processus de génération.
Authentification à quatre étape
Objectif : Authentifier mutuellement la borne et le client.
1. authenticator ? supplicant
I Contient le nonce de A (celui de la borne).
I Le message est envoyé en clair.
I À la réception de ce message, le supplicant calcule les clés temporelles.
2. supplicant ? authenticator
I Contient le nonce de S (celui du client mobile).
I Contient un code MIC, généré à partir de la clé EAPOL d’intégrité, pour éviter l’altération du message.
I L’authenticator calcul sa clé PTK à partir du nonce de S.
I Il vérifie le message à l’aide du code MIC et de la clé PTK générée.
I Ce code MIC assure que le supplicant a la même PMK que borne.
Authentification à quatre étape
Objectif : Authentifier mutuellement la borne et le client.
3. authenticator ? supplicant
I Le Message indique que la borne est prête à commencer à utiliser l’ensemble des clés.
I Le message contient un MIC pour que le supplicant puisse vérifier que la borne a bien la bonne PMK.
I Le message contient aussi le numéro de séquence de la première trame chiffrée
4. supplicant ? authenticator
I Le message acquitte la poignée de main.
I Le message indique que le supplicant va utiliser les clés temporelles générées.
TKIP
F Utilisation de RC4 comme algorithme de chiffrement (pour des raisons économiques).
F Utilisation d’un algorithme de hachage cryptographique non-linéaire : MIC (Message Integrity Code) basé sur Michael.
F Impossibilité d’utiliser le même IV avec la même clé (l’IV joue maintenant le rôle d’un compteur appelé TSC (TKIP Sequence Counter)) et augmentation de la taille de l’IV à 48 bits.
F Utilisation de clé à 128 bits.
F Intégration de mécanisme de distribution et de changement des clé.
F Utilisation de clés différentes pour le chiffrement de chaque paquet.
MIC (dit Michael)
F Contrôle d’intégrité basé sur HMAC-SHA1 (clé de 64 bits) créé spécialement pour les besoins TKIP (contraintes processeur). F Authentifie l’emetteur et le récepteur.
F Calcul d’un code de hachage, puis chiffrement de ce dernier à l’aide d’une clé secrète.
F Plusieurs algorithme de cryptages peuvent être utilisés pour la dernière étape.
MIC (dit Michael)
En pratique :
F Les points d’accès ne peuvent pas faire des calculs intensifs.
F TKIP utilise une méthode de cacul appelée Michael.
F Michael utilises des opérations simples d’addition et de décalage en lieu et place des multiplications.
F Michael est utilisé sur les MSDU (au lieu des MPDU). (une MSDU peut correspondre à une série de MPDU).
I Le calcul du code peut être fait au niveau du pilote au lieu d’être fait sur la carte elle même.
I Réduction de coût vu que Michael n’est pas calculé pour chaque paquet de la couche physique (MPDU) envoyé. F Michael étant “simple”, il n’offre pas une forte sécurité.
F Pour palier les faiblesse, Michael offre un ensemble de contremesures :
I Arrêt des communications (désactivation des clés) pendant une minute lors de la detection d’une attaque sur une station.
Schéma TKIP
TKIP et envoi de trames
Pour chaque trame de la couche MAC (MSDU) :
1. Calculer le code MIC sur la trame en utilisant une clé MIC derivée de la clé principale.
2. Ajouter MIC à la trame.
3. Fragmenter la trame si besoin est au niveau de la couche physique (MPDU).
4. Générer un IV pour chaque MPDU.
5. Utiliser l’IV ainsi que la clé principale pour générer la clé de cryptage de paquet.
6. Ajouter l’IV à la MPDU.
7. Chiffrer le contenu de la MPDU.
8. Envoyer la MPDU.
TKIP et réception de trames
À L’arrivée d’une MPDU :
1. Étraire l’IV.
2. Vérifier le numéro de séquence. S’il n’est pas valide, alors la trame est rejetée.
3. Générer la clé de paquet à partir l’IV et de la clé principale.
4. Déchiffrer le paquet.
5. Rassembler les MPDU correpondant à une même MSDU (si le paquet reçu est la dernière MPDU).
6. Calculer le code MIC et le comparer à celui contenu dans le message. S’il le résultat est différent, rejeter toute la MSDU.
7. Faire remonter la MSDU aux couches supérieures.
CCMP (Counter mode-CBC MAC Protocol)
F Protocole de sécurité basé sur le chiffrement AES en mode CCM (clé et bloc de 128 bits).
F N’est pas un compromis comme TKIP.
F Repose sur une refonte des mécanismes de sécurité.
F CCM combine CTR pour la confidentialité et CBC-MAC pour l’authenticité et l’intégrité.
F Est la base de WPA2 qui est successeur de WPA.
Vulnérabilité de WPA
Attaque sur la PSK.
F Sécurité basée sur la qualité de la PSK.
F Solutions : choisir une PSK de plus de 20 caractères ou la générer directement en héxadécimal de manière aléatoire.
Attaque sur la poignée de main.
F Pas d’authentification sur le premier message.
F Le client se doit de conserver les données entre le premier et le troisième message (la signature contenue dans le troisième message lui permettant de déduire la bonne clé temporelle).
F Exploitation : inondation du client par des trames n? 1 spoofées.
F Conséquence : problème de mémoire sur le client.