8.16 Chiffrement 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 chiffré dont le texte en clair est connu.
- Attaque chopchop :
-
capturer un paquet chiffré C = F (+) (D || ICV) ;
- retirer le dernier octet de données Dn ;
- le nouveau paquet chiffré 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.