~ . . Initialisation de la clé
Deux longueurs de clé WEP peuvent être choisies
sur les équipements
Wi-Fi :
40 bits, soit 5 octets ;
104 bits, soit 13 octets.
Parfois, les constructeurs ont mis en place des tailles de
clé supérieures. Ces valeurs n'étant pas
normalisées, il faut veiller a l'interopérabilité des
équipements.15
La clé K est concaténée a l'IV en
position de poids faible généralement. On trouve parfois
l'inverse. On notera par la suite : || l'opérateur de
concaténation. On obtient alors une clé de 64 bits (8 octets) ou
128 bits (16 octets) que l'on appelle graine, germe, plaintext ou encore seed :
IV || K
NB : Les constructeurs parlent souvent de clés de 64
bits ou de 128 bits. En réalité, la taille effective de la
clé est, comme nous l'avons vu, de 40 bits ou 104 bits. Un
mécanisme utilisant des clés WEP de 232 bits est parfois
disponible.
Une table de 256 octets (généralement) est
formée. Elle est initialisée en reportant la graine autant de
fois que nécessaire. A partir de la même clé, on obtient
donc la même table a l'issue de la phase d'initialisation. On appellera
ce tableau S (comme seed) par la suite.
Par permutation et autres manipulations, les cellules sont
ensuite mélangées. On initialise une table d'états T (qui
sera le masque appliqué sur le texte clair) avec T*i+=i pour 0 = i =
longueur(T)-1. Ce procédé porte le nom de Key Scheduling
Algorithm (KSA) ou encore module de mise à la clé. A son issue,
tous les éléments de la table auront été
permutés.
Une fois la table T mélangée, on peut fabriquer
des PRNs ou « Pseudo Random Numbers ~ a l'aide d'un
générateur PRGA ou « Pseudo Random Generator Algorithm
» qui fonctionne sur le même principe que le module KSA mais sans
faire appel à la clé K.
. . . LES FAILLES DU WEP
Il existe mille manières d'aborder les failles du WEP, on
a tenté ici de privilégier une approche à la fois
historique et technique tout en essayant de
15 Alexandre CHAUVIN-HAMEAU, op.cit. page 7
rester le plus cohérent possible. On a ainsi
répertorié de nombreuses méthodes pour mettre à mal
le protocole WEP.
. 3.4. 1. Premier aperçu des failles
Un intrus qui dispose du SSID (identifiant réseau) et
qui usurpe une des adresses MAC autorisées, ne pourra pas se connecter
au réseau tant qu'il ne disposera pas de la clé WEP. Le pirate
pourra la récupérer soit par Ingénierie Sociale
(Social-Engineering) soit par cryptanalyse.
L'Ingénierie Sociale consiste a obtenir l'information
par un membre quelconque de l'organisation, qui partage le secret. Elle peut
également être volée... Nous ne nous étalerons pas
davantage sur le sujet. Ce qui nous intéresse dans le cadre de ce
travail, ce sont les faiblesses du point de vue cryptographique du protocole
WEP.
Il y eut un temps où le protocole WEP fut
considéré comme sûr. La diffusion dans le domaine public de
l'algorithme RC4 a complètement modifié la donne.
En 1995, Wagner met en évidence les
vulnérabilités du protocole RC4 sur le news group sci.crypt. Il
fallait alors 10 millions de paquets pour trouver la clé. Cela mettait
beaucoup de temps a l'époque. En l'an 2000, plusieurs publications
démontrent la faiblesse des clés WEP.
En 2005, une équipe du FBI des États-Unis
d'Amérique fit la démonstration qu'il est possible de
pénétrer un réseau protégé par du WEP en 3
minutes en utilisant des outils disponibles publiquement.
Depuis le 1er avril 2007, elles peuvent être
retrouvées en une minute. Leur utilisation en entreprise est donc
formellement déconseillée.
Le fait que le WLAN ne soit pas borné
``géographiquement'' rend aisé l'intrusion d'une station. On
appelle intrusion, l'insertion d'un noeud non autorisé au sein d'un
réseau.
Les principales failles du WEP sont essentiellement les
suivantes :
Les algorithmes de vérification d'intégrité
et d'authentification sont très facilement contournables.
Possibilité de construire des dictionnaires fournissant en
fonction d'un IV, le keystream.
L'algorithme de chiffrement RC4 présente des clés
faibles et l'espace disponible pour les IV est trop petit.
Une même clé est utilisée pour tout le
réseau et les clés de chiffrement sont statiques.
Clés courtes 40 bits (5 caractères !!!) ou 104 bits
et/ou trop simples (attaque par dictionnaire)
|