RC4 est une primitive de chiffrement par flot qui consiste à réaliser un XOR entre le flot de données en clair et un flot de données pseudo-aléatoire dépendant de la clé de chiffrement. Ce flot de données pseudo-aléatoire, pouvant être considéré comme la clé d’un chiffrement par simple XOR, est appelé " keystream ".
Dans le cas de WEP, la clé fournie à RC4 est la concaténation d’un vecteur d’initialisation (IV) aléatoire et de la clé WEP. Cette dernière étant fixe, la valeur du keystream ne dépend, au sein d’un réseau WEP en opération, que de la valeur de l’IV. Celle-ci apparaissant en clair dans l’en-tête de la trame, la récupération d’un keystream pour un IV donné permet donc de chiffrer des contenus arbitraires par simple XOR, sans pour autant connaître la valeur de la clé WEP.
La récupération de keystream (Keystream Harvesting) est une technique permettant d’injecter rapidement des trames arbitraires dans un réseau protégé par WEP, sans pour autant aller jusqu’à en récupérer la clé. Ces keystream sont extraits de trafic soit passivement, en jouant sur des situations de clair connu, typiquement la phase d’authentification de type Shared Key, ou activement avec une attaque par fragmentation [7]http://www.aircrack-ng.org/doku.php?id=fragmentation ou Chopchop [8]http://www.aircrack-ng.org/doku.php?id=korek_chopchop.
Ces injections de trames peuvent se suffire à elles-mêmes dans le cadre d’attaques très spécifiques. Elles peuvent également être utilisées pour déclencher la génération du volume de trafic nécessaire au cassage de la clé WEP.