SÉCURITÉ WEB, MD5

cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015 - 28 févr. 2005 à 14:26
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 - 1 sept. 2007 à 20:42
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/29834-securite-web-md5

ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 1
1 sept. 2007 à 20:42
@ benozor77
Le MD5 est IRREVERSIBLE ...
Ton site c'est simplement une liste de MD5 & de mots.
benozor77 Messages postés 35 Date d'inscription samedi 29 mai 2004 Statut Membre Dernière intervention 25 mars 2007
21 mai 2006 à 11:04
Le MD5 n'est pas crackable mais il est reversible.
La preuve:
Online MD5 Reverser | Hash Cracker
http://ice.breaker.free.fr/
Ce site doit bien entendu être pris comme un site à but éducatif.

Bonne journée/soirée à tous,
benozor77.
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
7 nov. 2005 à 08:46
Comme je l'ai précisé, le md5 est un système de hashage : il perd de l'information.
N'importe quel document de n'importe quelle longueur est traduit en une chaîne de 128 bits.
Tout son interêt est de ne pas être reversible !!! Seule une recherche exhaustive permet de récupérer le mot de passe.
C'est pour cette raison qu'en cas de perte de mot de passe, la plupart des sites web te propose d'en regénérer un.

PS: j'ai entendu parler d'une fonction inverse MD5 qui permettrait de générer un document compatible avec une clef (un document incohérent). Je n'ai jamais mis la main dessus. Je n'ai pas le niveau en math nécessaire pour le retrouver tout seul.
cs_Jackboy Messages postés 757 Date d'inscription vendredi 7 septembre 2001 Statut Membre Dernière intervention 19 juin 2008
5 nov. 2005 à 17:20
J'aimerai juste pourvoir faire la récupération du mot de passe si l'usagé a perdu ce mot de passe, y a t'il une methode inverse md5
_Thy_ Messages postés 33 Date d'inscription mardi 24 août 2004 Statut Membre Dernière intervention 19 septembre 2005
7 avril 2005 à 09:47
Le but de ce source n'est pas de faire de la haute sécurité et protéger des données sensibles comme des transactions bancaires.
Il donne juste à ASP la fonction md5 et rien que pour ça je dis bravo, même si l'auteur reconnait ne pas l'être (l'auteur) :) Il a le mérite de le mattre à dispositions de tous.

Je maintiens donc mon bravo :)
cs_Warning Messages postés 516 Date d'inscription samedi 3 février 2001 Statut Membre Dernière intervention 24 octobre 2006 2
1 mars 2005 à 19:08
Attention je crois que Warny ne parlais que d'application quand il parle d'interception md5 et de sa réutilisation. Mais coté web ça ne se passe pas comme ça puisque le hashage se fait coté serveur. Le hashage md5 ne sert pas à securisé le transfert de donnée et l'identification de l'usager mais plutot de proteger contre les pirates qui auraient pu se procurer la base de donnée par exemple(et lire les mots de passe). Dans ce cas c'est le password et non le md5 qui sera intercepté par le proxy ou le "man in the middle" comme l'explique lord mathuis ^^. Donc personne n'a tord...
Utilisateur anonyme
1 mars 2005 à 14:36
de toute maniere puisque les donnée sont envoyer en claire au serveur qui va juste hasher puis comparé le resultat avec ce qu'il a dans sa base. cela revient au meme que si la base n'etait pas crypté.
j'explique.
comme tu dit warny il est facile d'ecouter la ligne entre le client et le serveur. mais il ne faut pas oublier que le client envoie au serveur sont mot de passe en claire et que le serveur va le crypter puis le comparer au resultat qu'il a deja dans sa base.
donc la seul utilité en securité de tel methode de cryptage et que l'admin et un slamers ne puisse lire les mots de passe de la base.
le seul moyen de rendre cette mettode de cryptage "fialble" et qu'il faille faire appel a un formulaire en HTTPS car a ce moment la le mot de passe sera crypter pour etre envoyer au server.

sinon la seul methode a utiliser pour rendre ceci fiable et que faire un cryptage coter client avec une fonction javascript de cryptage ( je dit pas lequel car on peut choisir )
de plus il ne faut pas oublier que MD5 n'est pas inviolable, il est juste irreversible car qui fait que en moins de 3 semaine avec les dernier ordi avec hyper threading on peut faire un force brut sur 90 % des mot passe qui existe en general.
mais sinon au moins ce code a l'avantage de donnée une methode de cryptage MD5 similaire a PHP et qui est absente de ASP
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
1 mars 2005 à 11:11
Le md5 est effectivement impossible à cracker, mais il est possible à écouter.

Si tu testes que l'application cliente a envoyé le bon md5. N'importe quelle personne qui écoute pourra se faire passer pour l'application en renvoyant l'identifiant qu'elle aura écouté sans même avoir besoin de le casser.
tmcuh Messages postés 458 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 18 avril 2009
1 mars 2005 à 09:37
bon je reconnais que c'est pas un forum... mais vu la sécurité que tu emploie, tu te contredit car tu dis plus haut que le md5 est impossible à "cracker" donc j'ai beau transmettre la donnée hasher alors que "céline" écoute, elle ne pourra tout de meme rien en faire non? Pour ma part j'utilise en asp.net le hashage md5 pour comparer les mots de passe et du fait que celà se passe sur le serveur, il y a encore moins de problème.

Amicalement tmcuh
cs_Warning Messages postés 516 Date d'inscription samedi 3 février 2001 Statut Membre Dernière intervention 24 octobre 2006 2
28 févr. 2005 à 15:13
Oki ça m'eclaire un peu plus ;)
Merci
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
28 févr. 2005 à 15:04
Bob veut vérifier que Alice connait son mot de passe. Céline écoute la ligne.
Si tu transmet un code de vérification avec un cryptage symétrique ou un hashage, Céline n'aura qu'à le répeter pour faire croire qu'elle connait le mot de passe.

Si Alice, à partir de son hashage, produit un calcule non réversible avec deux paramètres aléatoires demandée par Bob, Céline aura beau écouter toutes les réponses possibles elle ne pourra jamais répondre à une nouvelle demande de Bob. Ainsi tu peux vérifier que Alice connait son code sans jamais le transmettre (ni le code crypté, ni le hashage direct) sur le réseau.
cs_Warning Messages postés 516 Date d'inscription samedi 3 février 2001 Statut Membre Dernière intervention 24 octobre 2006 2
28 févr. 2005 à 14:52
Salut, merci de reagir (c drole Warny qui réagit a Warning ;)). Ta réaction m'interesse, peux tu préciser pourquoi la sécurité n'est pas au rendez-vous ? Et peux tu donner des exemples plus concrets ou des sources a propos du zero-knowledge verification. Le md5 n'en fait donc pas partie ? Il me semblait etant donner qu'on verifie avec un hash qu'il n'est pas possible de verifier. Si tu parles d'application je crois comprendre ce que tu veux dire.
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
28 févr. 2005 à 14:26
Précision : Le MD5 sert non à crypter mais à hasher un document. Le hashage est une technique qui consiste à perdre de l'information pour représenter un document.
Le but du système est d'avoir un calcul assez complexe pour qu'il soit extrement difficile de recréer un document en connaissant la clef de hashage.

Si D1 est un document et H ma clef de hashage, j'ai une chance sur 2^128 d'avoir un document D2 pour lequel H est aussi ma clef de hashage. Il est infiniment improbable de retrouver un document cohérent ayant la même clef de hashage.

Pour les mots de passe, si le cryptage est en md5 et qu'il est suffisant de le valider en comparaison sur une page web, la sécurité n'est tout de même pas au rendez-vous.
Pour valider un mot de passe dans une application normallement constituée, on utilise des algorithmes de vérification sans échange de connaissance (zero-knowledge verification). C'est ce que fait votre navigateur lorsque vous utilisez l'autentification Windows.
Rejoignez-nous