4.6 KiB
title | date | tags | categories | matjax | |||||
---|---|---|---|---|---|---|---|---|---|
Sécurité des réseaux : les réseaux Wifi | 2022-11-15 |
|
|
true |
Contrairement à un réseau filaire, tout le monde (avec une carte réseau Wifi) peut observer le trafic réseau. Il faut donc chiffrer les communication c'est le rôle des différents protocoles: WEP, WPA, WPA2 etc.
La contrainte énergétique est importante et guide les chois techniques.
WEP -- Wired Equivalent Privacy
(Non! Non! ce n'est pas une blague)
Les clients et la borne partagent une clé statique de 64 ou 128 bits. Le chiffrement est basé sur RC4 et la détection d'erreur sur CRC. C'est un protocole cassé depuis longtemps
Au niveau de l'émetteur:
- Calculer la somme de contrôle du paquet et les ajouter à ce dernier
- Calculer un nouvel Initialisation Vector et l'ajouter à la clé pour former une clé
- Utiliser l'algorithme RC4 pour former une clé de flux donc la longueur est égale à celle de la trame (données + CRC)
- obtenir la trame chiffrée : \(trame \xor cle_flux \)
- Ajouter l'IV dans l'entête de la trame chiffrée.
Le récepteur récupère l'IV de l'entête pour reconstituer la clé de flux puis réalise les opération de l'émetteur dans le sens inverse.
La seule variable ici est l'IV d'une taille de 24 bits seulement. Un attaquant peut alors récupérer des trames et tester des collisions pour faire baisser l'entropie (attaque passive).
WPA
Le changement est simple : on passe d'un IV statique à un IV dynamique et un meilleur algorithme de somme de contrôle (pour l'intégrité). Ce protocole est dérivé de la norme 802.1x.
Deux modes existes :
- personnel: la même clé est utilisé pour tous les protagoniste;
- entreprise: établissement d'une connexion TLS puis identification.
Poignée de main
Dans le cadre d'une connexion par phrase de passe, celle-ci est transformée en PSK (Pre-Shared Key). Ensuite le système génère une clé temporelle: la PTK :
\(PTK = PSK, @MAC_{client}, @MAC_{borne}, N_{client}, N_{borne}\)
L'IV est remplacé par le TSC, un compteur sur 128 bits
\( keystream = f(TSC, PTK)\)
PTK est renégociée lorsque TSC est au bout ou presque.
Pour garantir l'intégrité des messages, WPA utilise MIC don l'implémentation (*MIChael) est dérivée de HMAC-SHA1. Le MIC est calculé sur le paquet avant fragmentation.
WPA2
C'est le même protocole que WPA mais avec des algorithme de cryptographie à
jour: AES
et SHA-256
.
Les attaques sur WPA 1/2
Le rejeu est casi-impossible à cause de TSC. Cependant en 2014, Chop-Chop
est adaptée à WPA.
Avec l'arrivée des bornes multi-canaux, les constructeurs ont implémentés un TSC par compteur. Il est donc possible de rejouer un paquet provenant d'un canal avec un gros TSC sur un canal avec un TSC plus petit. Il suffit de choisir un petit paquet pour éviter la fragmentation et observer ensuite ce qui se passe.
KRACK!
Ici l'attaquant se position en MitM sur un canal de la borne. Il commence à rejouer les paquets tel quel entre la borne et le client. Lors de l'installation de la PTK puis son envoi, l'attaquant de transmet pas les paquets au client.
Le serveur va redemander les paquets au client qu'il va lui envoyer en clair. L'attaquant dispose alors d'une version chiffrée et en clair d'un même paquet. Il est possible *d'en déduire la keystream.
WPA3
C'est globalement la même base que WPA2' mis à part la poignée de main.
Dans WPA2 nous avons \(PSK \to PMK \to PTK\), la PMK est commune à tous les clients (la PTK est propre à chacun d'eux). Dans WPA3 nous voulons que la PMK soit différente pour chaque client et aussi se débarrasser de la phrase de passe dans la poignée de main. Un peu la manière de Kerberos.
poignée de main
3 modes de fonctionnement:
- ouvert (chiffrement opportuniste);
- personnel SAE (dragonfly)
- entreprise
Avant le dq'ebut de la poignée de main, il y a un échange de clé Diffie -Hellman. Puis vien ensuite la poigné de main du type 4 way hanhshake
Pour générer \(g_{client}\) et \(g_{borne}\) on applique fonction pour dériver la phrase de passe. La poignée de main est maintenant chiffrée.
L'inconvénient est la puissance de calcul nécessaire pour mettre en place le canal sécurisé est importante, surtout pour du matériel emparqué. Un attaque possible serait de bonbarder la borne de demande de poignée de main pour la saturer: une attaque par déni de service.
WPA3 reste tout de même compatible avec WPA2, une attaque par downgrade est donc possible.