4.14 Cryptage WiFi : flux aléatoires
-
Découverte par connaissance du texte :
-
on intuite un texte P en clair (e.g. requête ARP) :
LLC |
SNAP |
ARP header |
ARP opcode |
ARP MAC source |
0xAAAA03 |
0x0000000806 |
0x000108000604 |
0x0001 |
0x010203040506 |
ARP IP source |
ARP MAC cible |
ARP IP cible |
... |
... |
... |
- ou on récupère le texte par sniffage (e.g. commande ping) ;
- on obtient une fraction de flux aléatoire ;
- cela s'écrit : F = C (+) P.
- Utilisation de la fragmentation :
-
possibilité d'envoyer 16 fragments ;
- le point d'accès défragmente les diffusions ;
- grand paquet crypté dont le texte en clair est connu.
- Attaque chopchop :
-
capturer un paquet encrypté C = F (+) (D || ICV) ;
- retirer le dernier octet de données Dn ;
- le nouveau paquet encrypté est F[0..n+3] (+) (D[0..n-1] || ICV') ;
- les premiers octets sont inchangés F[0..n-1] (+) D[0..n-1] ;
- les autres F[n..n+3] (+) ICV' sont déductibles ...
- ... d'un octet X et de F[n+1,n+4] (+) ICV ;
- le point d'accès est utilisé 256 fois comme oracle ;
- ICV3, lui aussi, ne dépend que de ce X ;
- on en déduit Fn+4 = ICV3 (+) Cn+4.