3 Chiffrement symétrique

  Après avoir réalisé l’étape précédente, il est impossible pour le serveur de connaître la véritable adresse IP du client. De plus, les log conservés par les fournisseurs d’accès devraient déjà ne plus posséder l’adresse IP du vrai serveur.

Cependant, toute personne écoutant la ligne au niveau du fournisseur d’accès (entre le contrôleur et le premier routeur) peut tout connaître de la connexion. Pour éviter cela, nous allons chiffrer les données.

Dans un premier temps, il faut ajouter une requête sur les routeurs :

CSYM : lorsque le routeur reçoit cette requête, il récupère la clé dans la partie données du paquet et l’utilisera pour déchiffrer les messages qui lui parviendront par la suite.

Plus précisément le paquet est : 0."CSYM".32."clé symmétrique"

Normalement, vous devriez posséder une fonction encapsule et une fonction desencapsule (ou decapsule pour les buveurs de bière) disponible par le contrôleur et sur les routeurs. Ces fonctions ajoutant ou supprimant les entêtes. Il suffit de modifier ces fonctions pour prendre en compte le chiffrement des données. Attention les données que renvoient les routeurs devront maintenant être chiffrées avec cette clé symmétrique.

Vous utiliserez l’algorithme AES 128 comme méthode de chiffrement. Même si c’est la méthode de chiffrement la plus lente, utilisez la méthode de chiffrement par flux plutôt que par blocs.

Si vous ne possédez pas de bibliothèque AES, utilisez le chiffrement XOR dans ce cas demandez l’autorisation à votre responsable de TP.

L’utilisation de librairies est vivement conseillée et préférée même si la programmation de cet algorithme peut-être un bon exercice pour sa culture personnelle. Si un message doit traverser n routeurs alors, celui-ci sera chiffré n fois par le contrôleur avant d’être envoyé.

Prenez gare à l’odre dans lequel vous chiffrez les données.

3.1. Vérifiez les messages circulant sur le réseau après avoir programmer cette étape.