Si j'utilise SSL entre 2 machines qui ne se connaisse pas (https par exemple), si quelqu'un écoute l'échange entre les 2 machines, il ne pourra pas extraire d'info, c'est le but du cryptage.
Le seul moyen que l'espion a est de se mettre au milieu de l'échange et faire une attaque man-in-the-middle. Il est actif.
Comment faire pour éviter cela ? On est obligé de passer par un tier pour obtenir un certificat ? Est-ce que ce certificat ne pourrait pas être modifié en cours de route ? La mise en place de certificat est quelques choses de très lourd, non ?
# Re: Petit problème de sécurité réseaux
Posté par astennu . Évalué à 4.
Il y a un article passionnant dans MISC N°4, qui décrit en détail la technique de l'homme du milieu.
Lors d'échanges cryptés, la faiblesse se trouve au moment des échanges de clé (normalement, la toute première connexion, puisque l'on prend la précaution de mémoriser les clefs). C'est à ce moment que Pirate se fait passer pour Client aux yeux de Serveur, et pour Serveur aux yeux de Client, il fait routeur entre les deux (d'ou "l'homme du milieu").
Client <====> Pirate <====> Serveur
Sachant que Pirate detient les clefs il peut décrypter ce qu'il retransmet.
>Est-ce que ce certificat ne pourrait pas être modifié en cours de route?
Normalement, non puisqu'il est envoyé au début de la connexion et va servir à décrypter le reste. Si le certificat change Client s'en rend compte tout de suite puisqu'il ne pourra plus décrypter les infos envoyés par Serveur (dans la logique https; en ssh les deux doivent s'en rendre compte immédiatement, je pense que les deux partis vont automatiquement couper la communication). Par contre, si Pirate est habile, il peut effectivement changer le certificat de façon transparente lors des échanges de clef. Mais cela ne présente pas d'interêt, puisqu'à partir du moment ou Pirate prend possession du certificat (ou clefs) toute la communication est à sa portée. Il va préferer déformer les communications à son avantage :
NicoNico est Client.
mandrake.com est serveur.
Astennu est Pirate.
NicoNico veut commander un PowerPack en ligne. Il se connecte donc en https sur mandrakestore.
Astennu est devenu l'homme du milieu en faisant routeur entre les deux (voir misc 4 pour la technique en détail) dès les premieres transactions (chance de cocu, il devrait peut-être surveiller sa femme celui-là ... :P)
NicoNico <====> Astennu <====> Mandrake.com
A noter que si Astennu s'y prend trop tard, c'est foutu : il faut être capable d'être routeur AVANT l'échange des clefs. Autant dire qu'il faut savoir à l'avance qu'une connexion NicoNico <====> Mandrake.com va avoir lieue.
NicoNico appelle la page commander_un_powerpack.php. Astennu transmet la comm sans broncher.
NicoNico renseigne ses coordonnées bancaires et postales sur la page. Il clique sur "Commander" ce qui envoie les données saisies dans le formulaire au script valider_commande.php. ET LA, c'est interressant : Astennu intercepte les données, change les coordonnées postales (pour recevoir le powerpack chez lui), puis les transmet à mandrake.com. mandrake.com enregistre la commande (avec les coordonnées bancaires de NicoNico et les coordonnées postales d'Astennu) puis renvoie une page de confirmation récapitulative de la commande (Ou toutes les coordonnées seront affichées). Pour éviter que NicoNico se doute de quelque chose, Astennu prend le soin de modifier cette page avec les coordonnées postales de NicoNico.
==> Merci Nico pour le PowerPack, il est bien arrivé ce matin! :P
En théorie c'est bien beau mais en pratique :
-il faut être au milieu au bon moment (surveille ta femme)
-il faut réussir à transformer les données "intelligemment" puis les crypter avant de les renvoyer, sans que le délai soit choquant.
En gros amuse toi !
[^] # Re: Petit problème de sécurité réseaux
Posté par Nicolas Boulay (site web personnel) . Évalué à 1.
Comment marche les certificats ? Le but est d'avoir un hash de la clef public par un moyen autre ? Mais le FAI la voit passé. Les certifications doivent donc être signé par une clef en laquelle on fait confiance mais on doit l'avoir avant.
Pas simple.
"La première sécurité est la liberté"
[^] # Re: Petit problème de sécurité réseaux
Posté par curlydemoniak . Évalué à 1.
Comment l'homme du milieu pourrait décrypter cette dernière clé ? En se faisant passer pour le serveur vis à vis du client. Mais son certificat ne sera pas signé par un organisme de certification, ce qui va faire biper le navigateur.
Quelqu'un pourrait m'éclairer ?
[^] # Re: Petit problème de sécurité réseaux
Posté par Nicolas Boulay (site web personnel) . Évalué à 2.
Mais que faire quand il n'est pas possible d'avoir un certificat de ce type ? (l'hote n'a pas de certificat) Je ne pense pas qu'il y est de solutions.
"La première sécurité est la liberté"
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.