Cryptographie!

La sécurité des réseaux sans-fil Wifi

Un bref historique
  Il n'y a rien de plus facile que d'espionner les données échangées à travers un réseau sans fil! Pour les garder confidentielles, ou pour que votre voisin ne puisse pas utiliser librement votre box internet, il faut sécuriser ces réseaux, notamment en chiffrant les communications. Le premier protocole est proposé par l'IEEE (Institute of Electrical and Electronics Engineering, association à la base de nombreux standards en électronique) en 1997. Il porte le nom de WEP, pour Wired Equivalent Privacy, en français protection équivalente au cable. Le nom de Wifi (pour Wireless Fidelity) vient du consortium créé en 1999 par 6 compagnies de télécommunication pour promouvoir l'utilisation des normes de l'IEEE pour les réseaux sans fil.

  Le protocole WEP se révéla rapidement obsolète. Il fut remplacé provisoirement en 2004 par le protocole WPA (Wifi Protected Access), qui ne nécessitait pas de changer le matériel, puis par une nouvelle norme, WPA2, incompatible. A partir de 2006, un équipement ne pouvait se revendiquer "compatible wifi" sans supporter cette nouvelle norme.

  Dans la suite, nous allons décrire de façon succinte et simplifiée ces protocoles, en nous plaçant dans le cas de l'ordinateur qui souhaite échanger des données avec la box. La box est le point d'accès wifi. Elle possède un mot de passe (une clé) fixe qui est par exemple écrite au verso de la box (c'est le cas de la mienne!).
Fonctionnement du WEP
  Le protocole WEP chiffre les données à l'aide d'un algorithme de chiffrement par flots, appelé RC4. On commence par communiquer la clé de la box à l'ordinateur. Cette clé est une suite de 10 chiffres hexadécimaux (c'est-à-dire un chiffre de 0 à 9, ou les lettres A,B,C,D,E,F). Ceci constitue alors une clé de 40 bits. La box et l'ordinateur s'échangent ensuite (en clair) un vecteur d'initialisation.

  L'algorithme RC4 calcule alors, à partir de cette clé et du vecteur d'initialisation, une suite pseudo-aléatoire de 0 et de 1. Ces nombres sont alors ajoutés, par un ou exclusif, comme dans le chiffre de Vernam, aux lettres du message clair. Ceci constitue le texte chiffré.

  Ces algorithmes de chiffrement par flot ont un avantage : c'est leur rapidité. Mais ils ont aussi un défaut : il ne faut jamais que la même clé soit utilisée deux fois de suite. Or, ici, la suite pseudo-aléatoire semble construite à partir d'une clé de 64 bits, ce qui est assez correct. Mais en réalité, 40 bits de cette clé sont fixes : c'est la clé de la box. Seuls les 24 bits du vecteur d'initialisation changent, et une clé de 24 bits, cela n'est vraiment pas beaucoup (un peu plus de 16 millions de possibilités). Le paradoxe des anniversaires fait alors que, dès qu'on a envoyé environ 5000 paquets, on a plus d'une chance sur deux d'avoir utilisé la même clé!

  Très vite, dès 2001, des attaques contre le WEP utilisant cette faille se sont développées, rendant ce protocole obsolète. Remarquons ici que la longueur de la clé ne fait pas la sécurité d'un système de cryptographie. La clé à entrer pourrait être aussi longue que l'on veut, beaucoup plus longue que 40 bits, cela ne renforcerait pas du tout la sécurité du WEP. C'est la taille du vecteur d'initialisation qui est trop petite!
Protocoles améliorés : WPA et WPA2
  Devant ce constat d'échec, le consortium gérant le Wifi se devait de réagir rapidement. Il commença en proposant une solution intermédiaire en 2004, le WPA. En effet, il y avait une contrainte supplémentaire à respecter. Le nouveau protocole devait être compatible avec le matériel existant, modulo une mise à jour logicielle, car il était impossible de le renouveler entièrement en une fois. C'est pourquoi le nouveau protocole WPA utilisait encore RC4. Mais il dispose en plus du Temporal Key Integrity Protocol, qui lui permet de changer les clés utilisées à chaque paquet. Ainsi, l'attaque décrite précédemment ne pouvait plus avoir lieu.

  Cela dit, le WPA ne pouvait être qu'une solution temporaire, car certaines faiblesses structurelles du WEP, non décrites ici, n'étaient pas corrigées. Cela donna lieu au déploiement, à partir de 2006, du WPA2. Ce protocole utilise cette fois l'AES au lieu de RC4, et il ajoute aussi un réel contrôle de l'intégrité des données transmises. A la date où cette page est écrite (fin 2012), le WPA2 est toujours considéré comme sûr.

  Ce n'est pas le cas du WPS, Wifi Protected Setup, un autre standard qui était destiné à simplifier l'usage du WPA2 et les différentes configurations du réseau possibles. Ce protocole fut introduit en 2007, mais une faille majeure a été découverte en 2011, et il est très déconseillé de l'utiliser!