moi411
Messages postés179Date d'inscriptionsamedi 22 novembre 2003StatutMembreDernière intervention25 juin 2017
-
5 déc. 2009 à 11:22
moi411
Messages postés179Date d'inscriptionsamedi 22 novembre 2003StatutMembreDernière intervention25 juin 2017
-
8 déc. 2009 à 23:34
Bonjour à tous,
Je voudrais comprendre l'utilité du hachage (MD5 par exemple).
Je m'explique:
On me dit qu'envoyer un mot de passe en clair sur un réseau (internet) est dangereux puisqu'il peut-être intercepté et utilisé à mon insu...
On emploi alors une fonction de hachage pour rendre illisible le mot de passe; et la personne à qui j'envoie le mot de passe illisible compare de son côté, son hachage de mon mot de passe, avec le hachage que j'envoie! C'est ce qui m'a été expliqué.
Là où je ne comprends plus, c'est que la personne qui intercepte mon mot de passe interceptera de la même manière un hachage et pourra de tout façon l'utiliser à mon insu?!? Il ne connaîtra pas le mot de passe, d'accord, mais puisqu'on ne compare plus que des hachages, le mot de passe finalement on s'en fou!!! Au lieu d'envoyer mon mot de passe, il envoie mon hachage!!!
De mon côté le résultat sera le même on m'aura eu...
Je pense n'avoir pas tout compris ou oublié un détail quelque part, alors si quelqu'un pouvait m'aider je serai ravi!!!
cs_coq
Messages postés6350Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 5 déc. 2009 à 15:25
Bonjour,
L'emploi d'un hash (empreinte) au lieu d'un mot de passe en clair n'empêchera effectivement pas un éventuel attaquant d'émettre une demande contenant cette empreinte du mot de passe à partir du moment où il est capable de se placer entre le système effectuant le calcul de cette empreinte et celui qui en est destinataire.
Sur une authentification forms sur un site on ne calcule pas le hash côté client, ce hash est calculé côté serveur et comparé au hash stocké.
C'est pour cela qu'une connexion cryptée doit être utilisée afin de ne pas faire transiter ce genre d'information en clair sur le réseau, vu qu'il suffirait de les réémettre.
L'intérêt de l'utilisation d'une empreinte du mot de passe au lieu de texte clair est principalement (à mon sens) au niveau du stockage.
Il s'agit surtout d'une mesure de respect de la confidentialité du mot de passe : si le mot de passe stocké n'a pas besoin d'être émis vers un autre système, il n'a pas à être lisible.
De plus en cas de fuite de données, ce hash ne peut pas servir directement en entrée de l'application pour s'authentifier. Dans le cas d'un mot de passe en clair l'attaquant pourra utiliser le système de la même manière que l'aurais fait l'utilisateur légitime.
L'emploi d'un salt permettra en supplément de ne pas pouvoir détecter des mots de passes identiques (et permettra de déjouer des tentatives de découverte du mot de passe réel au moyen de tables de hashes, connues notamment sous le nom de "rainbow table").
Ainsi si une fuite de données a eu lieu et qu'un compte est compromis (l'attaquant connait le mot de passe de l'utilisateur), il n'aura pas accès aux autres comptes utilisant éventuellement le même mot de passe car le salt (différent à chaque fois) aura rendu les empreintes du même mot de passe totalement différentes.