WEP/TKIP pour le chiffrement

Comme nous l'avons vu précédemment, la difficulté de déduire une clé de cryptage n'est pas le seul critère entrant en compte quand l'on parle de confidentialité. En effet, il n'est pas nécessaire d'avoir une clé incassable si celle-ci est changée régulièrement car dans ce cas, la clé, une fois découverte n'a déjà plus d'utilité pour décrypter le reste du trafic.

Ainsi, par un souci de compatibilité, il a été choisi de conserver le moteur de chiffrage WEP en modifiant la méthode de gestion des clés par l'utilisation du Temporal Key Integrity Protocol (TKIP).

L'authentification et l'association faites, nous possédons notre clé privée que l'on appellera aussi clé maîtresse : la PMK. Cette clé servira de point de départ au mécanisme de génération des clés nécessaires pendant toute la session. Cette clé maîtresse nous, permettra à chaque session, de générer trois clés Temporal Keys.

Tout commence par un échange appelé 4-Way Handshake, au cours duquel les deux équipements s'échangent leurs adresses MAC et une clé aléatoire sur 48 bits. Cet échange se fait par des paquets EAPOL, ce qui permet à la connexion de ne pas s'ouvrir plus que nécessaire (cf. FIG.[*]).

Figure: Les échanges EAPOL du 4-way-handshake
\includegraphics[width=10cm,angle=0]{img/wpa-4wayhandshake.eps}

Une fois que chaque équipement a récupéré l'adresse MAC et la clé aléatoire de l'autre équipement, chacun fait passer son PMK, son adresse MAC, l'adresse MAC de l' autre équipement et les deux clés aléatoires dans une fonction de hachage qui rend en sortie une clé de 512 bits appelée Parwise Transcient Key (PTK) qui, après découpage (cf. FIG.[*]) fournira :

Figure: La génération de la Parwise Transcient Key (PTK)
\includegraphics[width=14cm,angle=0]{img/wpa-generation-PTK.eps}

La clé Group Transcient Key (GTK) est la même pour tout le réseau. C'est une clé de groupe qui sert à chiffrer tous les trafics multicast (et donc broadcast). Cette clé est individuellement envoyée chiffrée à chaque équipement, grâce à la clé KEK générée comme on l'a vu précédemment.

C'est la clé de session qui sert à générer la clé WEP. Pour le WPA, la clé WEP est générée par un double hashage : d'abord la clé de session, l'adresse MAC de l'émetteur et les 16 premiers bits du Vecteur d'Initialisation Étendu (celui-ci est sur 48 bits et remplace l'ancien IV). On obtient une clé intermédiaire sur 128 bits qui est hashée avec les 32 bits restant du IV étendu (E-IV). On obtient alors la traditionnelle clé de chiffrement sur 128 bits utilisable par le WEP (24 bits d'IV et 104 bits de clé privée). Cette clé est appelée Per Packet Key (PPK) (cf. FIG.[*]).

Figure: La génération de la clé WEP
\includegraphics[width=14cm,angle=0]{img/wpa-gen-clewep.eps}

Ensuite, comme l'interface dispose d'une clé WEP et d'un IV, tout se passe comme avec WEP.

2004-08-25