Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/07/2015, à 09:14

Nhadroj

Certificats et man-in-the-middle

Bonjour à tous,

Une question me turlupine depuis un certain temps et je n'ai toujours pas trouvé la solution à ma question malgré d'énormes recherches sur internet..

Pour établir une connexion sécurisée sur internet on utilise SSL/TLS qui utilise un chiffrement à clé privée et publique. Mais avec une attaque de type man-in-the-middle, l'attaquant peut très bien remplacer les clés des interlocuteurs par les siennes durant la session donc ==> Problème !
Les certificats sont donc là pour garantir que les deux partis ne sont pas victimes de ce type d'attaque.
Ce que je ne comprends pas, c'est que si le certificat est échangé non pas par clé usb ou de manière physique, il peut être intercepté par un attaquant en position de man-in-the-middle et peut donc être modifié. Les deux partis ne s'en rendent donc pas compte ?

Je pense que quelque chose m'échappe, si quelqu'un avait des précisions, cela m'aiderait grandement !

Merci d'avance,

Hors ligne

#2 Le 08/07/2015, à 14:17

Elzen

Re : Certificats et man-in-the-middle

Salut,

de base, du chiffrement ne permet que de s'assurer que seul le destinataire pourra lire le message, sans que des indélicats sur le trajet ne puissent accéder à l'info ; mais ça ne permet en effet pas de s'assurer qu'on parle bien à la bonne personne.

Pour apporter des garanties sur ce point, TLS, comme son prédécesseur SSL, utilise un système d'autorités de certification. Le principe est que le certificat est signé numériquement par une entité tierce, qui est chargée de vérifier que l'identité du destinataire soit bien la bonne. En gros, au lieu de « seulement » faire une requête vers ton destinataire pour avoir son certificat, tu le vérifies par rapport aux informations fournies par une autorité de certification.

Ça limite donc fortement les risques que quelqu'un se fasse passer pour lui, sans toutefois apporter une sécurité totale⁽*⁾. Se pose notamment la question de ta confiance envers les autorités de certification : un navigateur comme Firefox, par exemple, considère par défaut comme sûres un certain nombre d'autorités qui pourraient légitimement faire débat (plus de détails ici).

Après, la question est aussi de savoir de quel niveau d'assurance tu as besoin. Évidemment, pour des transferts bancaires, ou pour échanger des données sensibles (dossier médical…), il te faut un certificat solide et une autorité de certification digne de confiance. En revanche, pour la plupart des connexions (venir poster des messages sur ce forum, par exemple), un chiffrement simple, sans authentification, suffit amplement, le gain qu'apporterait une attaque type man-in-the-middle ayant toutes les chances d'être inférieur au coût de mise en place de celle-ci.

(Ouais, la sécurité, en informatique, ça se mesure essentiellement par le rapport gain/coût d'une attaque)


Edit, pour préciser :
(∗) Ton système, ou ton navigateur, possède en local les certificats racines d'un certain nombre d'autorités de certifications qu'il reconnaît. Il y a donc peu de risques, à moins d'un système vérolé, qu'un certificat repose sur une fausse autorité créée pour la circonstance (puisque, dans ce cas, ça te dirait de te référer à une autorité inconnue ou dont l'identité ne peut pas être vérifiée, et donc, ça se verrait).
En revanche, il est parfaitement possible qu'un attaquant produise un certificat qui soit validé par une autre que celle du véritable destinataire, mais néanmoins reconnue par ton système (un gouvernement, par exemple, en a généralement les moyens). La multiplicité des autorités de certifications peut donc poser problème, c'est l'objet de l'article de sebsauvage dont j'ai donné le lien.
Il est également possible que l'attaquant utilise un certificat révoqué par l'autorité de certification mais encore présent dans ton système. Auquel cas, s'il contrôle tes connexions sortantes, il peut potentiellement s'arranger pour t'éviter de te rendre compte que ledit certificat a été révoqué. C'est l'une des raisons pour lesquelles la question de la confiance envers son FAI est très importante.

Dernière modification par Elzen (Le 08/07/2015, à 14:41)

Hors ligne

#3 Le 09/07/2015, à 07:11

Nhadroj

Re : Certificats et man-in-the-middle

Hello,

Merci beaucoup d'avoir pris le temps de me répondre, et d'avoir si bien écris smile
Si je comprends bien, chaque certificat est signé par une CA, c'est cela qui garantie que le certificat n'a pas été modifié par un man-in-the-middle, sinon le certificat apparaitrait comme auto-signé.

Je vais peut être paraître pour un pinailleur ou autre mais j'aimerai vraiment comprendre dans les détails..
Admettons qu'un pirate en man-in-the-middle modifie seulement la pub key dans le certificat et regénère un hash sans modifier la signature de la CA, le certificat apparaitrait comme le vrai non ? A la différence près que la pub key est celle du pirate ? Ou bien lorsque je reçois un certificat, mon navigateur envoie une requête à une CA pour vérifier que la pub key est bien celle du certificat ?

C'est flou hmm

Hors ligne

#4 Le 11/07/2015, à 20:25

Nhadroj

Re : Certificats et man-in-the-middle

Personne pour m'eclairer ?

Dommage sad

Hors ligne