File - M2

publicité
Présentation du protocole WEP
Les réseaux sans-fil de type WLAN (Wireless Local Area Networks),
sont de plus en plus utilisés dans les entreprises en raison de leur facilité
de déploiement et de leur coût relativement faible.
Les caractéristiques des WLAN sont décrites dans la norme IEEE
802.11 (ISO/IEC 8802-11).
Cette norme définit le protocole WEP (Wired Equivalent Privacy)
comme protocole de sécurité pour les réseaux sans-fils. Comme son nom
l’indique, il est censé être aussi sécurisé qu’un réseau câblé. Il a été conçu
pour éviter l’écoute clandestine des données qui transitent sur un WLAN
par toute personne munie d'une carte Wi-Fi et située dans le périmètre de
réception des ondes émises par les autres équipements.
Le WEP repose sur un algorithme de chiffrement par flots à clé
symétrique : RC4.
Algorithme RC4
RC4 est un algorithme de génération de bits pseudo aléatoires. Il
permet, à partir d’une clé secrète d’obtenir une séquence binaire aléatoire
et unique de même longueur du texte clair. Ensuite, il procède à faire un
XOR bit par bit pour obtenir la forme chiffrée.
Le destinataire va faire un XOR entre la séquence reçue et la
séquence aléatoire originale pour retrouver le message en clair.
Propriétés d’une ou eXclusif (XOR) :
-facile à implémenter en hardware
-lorsqu’on applique XOR 2 fois, on obtient la valeur d’origine
Cryptage :
Clef ⊕ texte clair = > texte crypté
Décryptage : Clef ⊕ texte crypté = > texte clair
Problème : Transmettre la séquence aléatoire
 Solution : Utiliser une séquence de chiffrement pseudo
aléatoires (keystream).
RC4 peut produire des bits aléatoires en continu à partir d’une table
d’états donnée. Si le destinataire peut reconstruire la table d’états
donnée, il pourra régénérer la suite aléatoire et déchiffrer le message.
La table d’états (permutation) est construite par le KSA à partir de
la clé de chiffrement. La clé sert à configurer la table d’états et la table
d’états sert à générer un flux binaire pseudo-aléatoire (PRGA).
Key Scheduling Algorithm (KSA)
Algorithme d’initialisation de RC4 : K est une cle de longueur L. S est une
permutation des entiers de 0 à 255.
Initialisation de la permutation initiale
for i in 0 to 255 do
S[i] := i
end for
j := 0
Mélange de S dépendant de K
for i in 0 to 255 do
j := (j + S[i] + K[i % L]) % 256
swap(S[i], S[j])
end for
Une fois son état interne initialisé, RC4 peut générer un par un des octets
pseudo aléatoires.
Pseudo Random Generator Algorithm (PRGA)
i := i + 1
j := j + S[i]
swap(S[i], S[j])
octet := S[(S[i] + S[j]) mod 256]
retourner octet
Schéma de la génération d’un octet par RC4
Téléchargement