Question:
Pourquoi les gens utilisent / recommandent-ils toujours MD5 s'il a été craqué depuis 1996?
Marek Sebera
2012-06-07 20:18:45 UTC
view on stackexchange narkive permalink

C'est encore une manière couramment recommandée de hacher les mots de passe, même si son insécurité avait été prouvée en 1996:

Par conséquent, nous suggérons qu'à l'avenir MD5 ne soit plus implémenté dans des applications comme signa- schémas, où une fonction de hachage résistante aux collisions est requise. D'après nos connaissances actuelles, les meilleures recommandations d'alternatives à MD5 sont SHA-1 et RIPEMD-160.

(Le statut de MD5 après une attaque récente, CryptoBytes, RSA Laboratories, VOLUME 2, NUMBER 2 - SUMMER 1996)

Même après cette étude, et tous les articles à venir sur ses défauts, il a été recommandé comme fonction de hachage de mot de passe dans les applications Web, depuis .

Il est même utilisé dans la signature numérique de certaines autorités de certification (selon http://rmhrisk.wpengine.com/?p=60)

Quelle est la raison pour laquelle cet algorithme de résumé de message n'est pas encore interdit pour des raisons de sécurité?


Liens, il m'a fallu quelques minutes pour les trouver

Cette question semble très proche d'être une diatribe, de mon point de vue. Pouvez-vous le reformuler en une question factuelle? Veuillez vous assurer de documenter tous vos locaux / hypothèses.
@Ramhound Si vous google par exemple. guide de démarrage pour sécuriser les applications Web PHP, 80 à 95% utiliseront MD5 sans avertir que cette méthode n'est pas sécurisée.
@MarekSebera - Je n'utilise pas de sources aléatoires pour apprendre à écrire du bon code «sécurisé». J'utilise des sources que je connais pour utiliser de bons concepts de programmation. J'ai fait une recherche sur «guide de démarrage pour sécuriser les applications web PHP» le premier article ne suggérait pas MD5.
@Ramhound Le texte cité ne dit rien sur les mots de passe. Il n'y a aucune vulnérabilité connue dans MD5 qui empêcherait son utilisation ** pour le hachage de mot de passe **.
Huit réponses:
Thomas Pornin
2013-03-03 23:14:44 UTC
view on stackexchange narkive permalink

Pour compléter la bonne réponse de @DW: pour le hachage de mot de passe, MD5 n'est pas plus cassé que toute autre fonction de hachage (mais ne l'utilisez pas quand même) .


Vue d'ensemble: MD5 est une fonction de hachage cryptographique qui, en tant que telle, devrait remplir trois caractéristiques:

  • Résistance aux pré-images: étant donné x , il est impossible de trouver m tel que MD5 (m) = x .
  • Résistance aux secondes pré-images: étant donné m , il est impossible de trouver m ' distinct de m et tels que MD5 (m) = MD5 (m ') .
  • Résistance aux collisions: il est impossible de trouver m et m ', distincts l'un de l'autre, et tels que MD5 (m) = MD5 (m') .

MD5 est complètement cassé en ce qui concerne les collisions , mais pas pour les pré-images ou les secondes pré-images. De plus, l'attaque de 1996 (par Dobbertin) n'a pas du tout cassé MD5; c'était une "collision sur la fonction de compression", c'est-à-dire une attaque sur l'un des éléments internes de MD5, mais pas sur la fonction complète. Les cryptographes l'ont pris comme un drapeau d'avertissement, et ils avaient raison parce que l'attaque de collision réelle qui a été publiée en 2004 (par Wang) a été construite à partir des découvertes de Dobbertin. Mais MD5 n'a été cassé qu'en 2004, pas en 1996, et c'était une attaque par collision .

Les collisions ne sont pas pertinentes pour la sécurité de hachage de mot de passe. La plupart des utilisations d'une fonction de hachage pour le hachage de mot de passe dépendent soit de la résistance à la pré-image, soit d'autres propriétés (par exemple, le fonctionnement de la fonction de hachage lorsqu'elle est utilisée dans HMAC, ce qui ne peut être réduit à aucune des propriétés ci-dessus. ). MD5 a en fait été "affaibli" en ce qui concerne les pré-images, mais uniquement de manière théorique, car le coût d'attaque est encore des milliards de milliards de fois trop cher pour être vraiment essayé (donc MD5 n'est pas "vraiment" cassé en ce qui concerne les pré-images, pas de manière pratique).

Mais n'utilisez pas MD5 de toute façon . Pas à cause d'une faiblesse cryptographique, mais parce que MD5 est non salé et très rapide . C'est exactement ce que vous ne voulez pas dans une fonction de hachage de mot de passe. Les gens qui "recommandent MD5" pour le hachage de mots de passe ne savent tout simplement pas mieux, et ils témoignent d'une vérité que vous devez toujours garder à l'esprit: tout ce que vous trouvez sur Internet n'est pas correct et digne de confiance. De meilleures solutions de hachage de mots de passe sont connues et sont utilisées et déployées depuis plus d'une décennie maintenant. Consultez cette réponse pour plus de détails et des conseils.

Utiliser MD5 seul pour hacher les mots de passe n'est pas une bonne idée, car cela oblige les utilisateurs à choisir des mots de passe très forts pour être en sécurité. Cependant, une construction standard pour calculer un hachage de mot de passe salé à l'aide de MD5 existe, et à ma connaissance, elle n'est pas encore rompue.
Votre déclaration correcte au sujet de MD5 étant trop rapide et non salé de côté (parce que cela vaut aussi pour la famille SHA) Je resterais toujours à l'écart de MD5 pour une raison non technique: les relations publiques. C'est difficile d'avoir à convaincre votre patron ou client de ce que vous expliquez. Et des tonnes de techniciens (dont les opinions sont appréciées par les mêmes personnes que vous essayez de convaincre) sont également trompées. Après tout, il y a beaucoup de `` preuves '' sur Internet qui soutiennent leur conviction que MD5 ne devrait pas être utilisé parce qu'il a été cassé en 2004.
Concernant la résistance aux pré-images, je me demande pourquoi vous n'avez pas mentionné * [Yu Sasaki;Kazumaro Aoki (16 avril 2009)."Trouver des pré-images dans le plein MD5 plus rapide que la recherche exhaustive".Springer Berlin Heidelberg] (http://www.springerlink.com/content/d7pm142n58853467/) * ** et / ou ** [* Ming Mao et Shaohui Chen et Jin Xu (2009)."Construction de la structure initiale pour l'attaque de préimage de MD5".Conférence internationale sur l'intelligence et la sécurité informatiques.IEEE Computer Society] (http://ieeexplore.ieee.org/document/5376483/) * qui indiquent une rupture (théorique) de la résistance à la pré-image de MD5 en 2009.
@e-sushi Eh bien, c'est ce que j'entendais par «affaibli d'une manière théorique».
@ThomasPornin Dans ce cas, ignorez simplement mon commentaire et considérez-le comme un ajout de confirmation pour souligner vos déclarations.;)
D.W.
2012-06-07 23:10:48 UTC
view on stackexchange narkive permalink

Que voulez-vous dire par «interdit»? Qui «interdirait» l'utilisation de MD5? Ce n'est pas comme si nous avions des Crypto Cops internationaux qui vont arrêter les personnes qui utilisent ROT13 et d'autres systèmes de cryptographie non sécurisés.

Ou, pour être un peu plus sérieux: les cryptographes recommandent déjà que les nouveaux systèmes évitent MD5, et ils recommandent que les systèmes existants migrent hors de MD5. Je ne sais pas ce que vous pensez que les cryptographes peuvent faire de plus à ce sujet.

Vous prétendez que MD5 est un "moyen couramment recommandé de hacher les mots de passe", mais vous ne fournissez aucune preuve pour cette affirmation. Je ne pense pas que l'affirmation soit correcte. Cela n'a pas été mon expérience.

En fin de compte, la communauté cryptographique parle déjà assez clairement, d'une seule voix, sur ce sujet, et la plupart des gens sont migre déjà depuis MD5. Les cas où MD5 est toujours utilisé sont l'exception, pas la norme.

Edit (6/17): Je vois que vous avez ajouté quelques liens qui mentionnent l'utilisation de MD5 pour le hachage. Tout ce qu'ils prouvent, c'est que certaines personnes dont je n'ai jamais entendu parler sont confuses. Et alors? Vous devriez probablement être sceptique en prenant conseil auprès de personnes qui n'ont pas établi une réputation positive dans la communauté de la sécurité / cryptographie, de toute façon. Et je ne comprends pas comment vous pouvez critiquer la communauté de la sécurité / cryptographie sur le fait que certaines personnes qui ne font pas partie de la communauté sont confuses. Que devons-nous faire exactement? Nous faisons déjà tout ce que nous pouvons pour élargir nos connaissances sur la bonne façon de le faire. Je pense que vous blâmez vraiment les mauvaises personnes.

Quoi qu'il en soit, pour répondre à votre question sur les raisons pour lesquelles certaines personnes recommandent toujours MD5: eh bien, c'est probablement parce que ces gens ne savent pas mieux . Je ne sais pas ce que quiconque peut dire de plus sur le sujet, ni ce que vous attendez de quelqu'un de plus.

le mot «interdire» est probablement mal utilisé. Je veux dire plutôt mettre un grand écran d'avertissement autour de lui, et pointer les développeurs vers SHA ou Blowfish, car cela peut servir le même objectif. Et oui, il s'habitue à être moins utilisé, mais on peut encore trouver de nombreux articles sur MD5, où l'utilisation du hachage de mot de passe n'est pas rejetée. J'ai ajouté quelques liens au bas de la question, qui font référence à MD5 en tant qu'algorithme de hachage sécurisé, pour prouver mon affirmation.
@MarekSebera Dans le contexte du hachage de mot de passe, il n'y a pas d'attaque connue sur md5 qui ne s'applique pas à Sha1 / 2. Et blowfish n'est même pas une fonction de hachage.
Mon problème avec Blowfish, mais en termes d '"attaque par collision", le SHA2 est toujours sûr, et SHA1 n'est attaqué que théoriquement, jusqu'à présent, il n'y a pas d'algorithme de recherche rapide de collision, qui violerait la sécurité de SHA1 / 2. Si vous parlez de tables arc-en-ciel SHA ou d'attaque bruteforce, oui, ces fonctions ne sont pas sécurisées (mais quelle fonction de hachage est) contre elles
@MarekSebera Ce que je veux dire, c'est que les attaques par collision ne sont absolument pas pertinentes dans le contexte du hachage de mot de passe. Même une fonction de hachage qui permet la construction de collisions avec un stylo et du papier peut être complètement sécurisée pour le hachage de mot de passe, tant que les premières pré-images sont encore difficiles à trouver.
@CodesInChaos Pourquoi les collisions ne sont pas pertinentes avec le hachage de mot de passe? Un schéma de hachage de mot de passe dans lequel deux mots de passe sont hachés deux le même condensé ne viole pas la sécurité du schéma de hachage de mot de passe? Cela signifie qu'un autre utilisateur avec un mot de passe différent est autorisé à accéder
@curious Avec une vulnérabilité de collision, l'attaquant doit contrôler les deux chaînes. Peu importe si l'attaquant peut créer un compte pour lequel il connaît deux mots de passe différents, c'est son compte de toute façon. Une utilisation correcte du salage (HMAC ou préfixe au mot de passe) bloque les attaques de collision normales, de sorte que vous ne pourrez même pas trouver de collisions contre PBKDF2-HMAC-MD5.
Alors, pourquoi le concours de hachage de mot de passe? Puisque les schémas de hachage de mot de passe fonctionnent bien?
J'imagine que la raison pour laquelle il dit que MD5 est "couramment recommandé" est qu'il y a tellement de tutoriels vraiment anciens sur le Web qui n'ont pas été mis à jour depuis une décennie ou plus. Le problème est que, parce qu'ils existent depuis si longtemps, ils apparaissent souvent relativement haut dans les recherches, de sorte qu'ils obtiennent beaucoup plus de trafic qu'ils ne le méritent. StackOverflow reçoit constamment des questions naïves de la part de personnes faisant référence à des tutoriels anciens.
* "Ce n'est pas comme si nous avions des Crypto Cops internationaux qui vont arrêter les gens qui utilisent ROT13" * En fait, oui nous le faisons.On s'attend à ce que vous preniez des mesures raisonnables pour protéger les données des personnes conformément aux lois sur la confidentialité, au moins aux Pays-Bas ...
user185
2012-06-08 13:45:38 UTC
view on stackexchange narkive permalink

Je pense que ce que vous voyez est la longue traîne du Web. Je peux trouver des articles de 2006 recommandant MD5 pour le hachage de mot de passe (par exemple http://www.pixel2life.com/publish/tutorials/118/understanding_md5_password_encryption/) - encore 10 ans après votre date de référence.

Cependant, nous parlons du temps nécessaire pour obtenir quelque chose de la recherche de pointe dans les revues de cryptographie à comité de lecture pour recommander la pratique aux praticiens de tous les jours qui ne lisent pas les journaux de cryptographie et ne sont même pas des experts dans ce domaine . Ce qui s'est probablement passé, c'est que parce qu'en 1990 tout le monde "savait" que MD5 était bon pour les mots de passe, ils ont dit à tout le monde que MD5 était bon pour les mots de passe. Depuis la fin des années 1990, certaines personnes disaient que MD5 était mauvais pour les mots de passe, mais la plupart des gens «savaient» que c'était bon pour les mots de passe et c'était toujours ce qu'ils conseillaient aux autres.

De nos jours, il y en a assez groupe de personnes qui "savent" que bcrypt est bon pour les mots de passe que vous commencez à voir ces recommandations, mais les articles disant que MD5 est bon pour les mots de passe n'ont pas encore disparu des index des moteurs de recherche . Au fil du temps, ils le feront.

Ce qui signifie que dans une décennie, vous reviendrez ici et poserez la question "pourquoi les gens recommandent-ils encore d'utiliser un facteur de travail bcrypt de 10 quand ce journal dit que vous devriez en utiliser au moins 150? "...

Poul Henning-Kamp a initialement déplacé la fonction UNIX crypt () de DES vers MD5. Il explique ici que le fait que les gens utilisent MD5 démontre qu'il n'a pas réussi à décrire ce qu'il essayait de faire: rendre le hachage de mot de passe plus complexe, ne pas installer MD5 comme un shibboleth.

Je suis d'accord, longue traîne de changement d'avis de nombreux développeurs, qui se sont appuyés sur MD5 pendant longtemps. Et merci d'avoir mentionné le `bcrypt`, car c'est un bon algorithme hw-scalable, et je le recommande aussi. Ce serait peut-être bien de voir des articles sur la liste noire de Google recommandant MD5 à de telles fins: D
@MarekSebera Je ne suis pas sûr de vouloir voir les moteurs de recherche censurer n'importe quel contenu.
ouais, ce n'était pas une idée sérieuse, même si je parie, que ce n'est pas déjà fait.
Martin Trigaux
2012-06-08 12:46:07 UTC
view on stackexchange narkive permalink

Vous avez plusieurs utilisations de MD5

Vérification d'intégrité

Vérifier que le fichier que vous avez téléchargé ou reçu est l'original en vérifiant le hachage du fichier. Il a été démontré que vous pouvez facilement créer un fichier qui a la même somme de contrôle.

La collision dans MD5 est facile à produire. MD5 ne doit pas être utilisé à cette fin.

Les gens proposent toujours la somme de contrôle MD5 lors du téléchargement d'iso et d'autres choses, mais donnent souvent aussi la somme de contrôle SHA. Cela peut s'expliquer par le fait que MD5 est beaucoup plus rapide et généralement implémenté.

Vérification du mot de passe

Au lieu de stocker un mot de passe en texte clair, vous stockez le hachage du mot de passe. Certains sites Web utilisent encore MD5 pour ce faire. Le problème ici n'est pas de trouver une collision mais de vérifier une table arc-en-ciel ou une énorme base de données de somme de contrôle MD5.

Comme vous pouvez produire très rapidement des millions de sommes de contrôle MD5, vous pouvez forcer brutalement un mot de passe par vous-même PC. Vous ne devez pas utiliser MD5 pour hacher votre mot de passe pour cette raison, mais surtout, vous devez ajouter un sel.

Si vous avez un mot de passe très complexe (long avec des caractères spéciaux) et un sel complexe unique pour chaque mot de passe stocké, ce n'est pas un problème pour vous d'utiliser MD5. Je ne dis pas que vous devriez (vous ne devriez pas) mais ce n'est pas un gros problème de sécurité d'utiliser MD5 si le mot de passe est difficile à forcer et que l'utilisation de la table arc-en-ciel est empêchée par le sel. Bien sûr, sur votre site Web, il n'est pas facile (et apprécié) de forcer les utilisateurs à avoir un mot de passe complexe, donc si un utilisateur enregistre 12345, quelle que soit la fonction de hachage que vous utilisez, il sera cassé.

La raison pour laquelle les gens l'utilisent encore est peut-être à cause de cela est toujours la fonction de hachage la plus connue et était encore acceptable il y a quelques années. Les personnes n'ayant pas beaucoup de connaissances en cryptographie peuvent l'utiliser.

"_Si vous avez un mot de passe très complexe (long avec des caractères spéciaux) _", peu importe si vous avez "_un sel complexe unique pour chaque mot de passe stocké, _"
MD5 ne doit pas être utilisé pour la vérification du mot de passe à moins qu'il ne soit associé à un algorithme sécurisé. Un problème majeur avec MD5 est la petite longueur de la sortie.
@Ramhound Veuillez définir "algorithme sécurisé". "_Un problème majeur avec MD5 est la petite longueur de la sortie._" Hug?
@curiousguy oui, le sel est important car il empêche la création d'une table arc-en-ciel pouvant être utilisée pour n'importe quel mot de passe. Ici, vous devrez créer une table par mot de passe (et sel).
@Ramhound le problème avec la sortie de petite longueur pourrait être le risque de collision mais pour un mot de passe c'est de toute façon très faible, même avec "seulement" 128 bits
@MartinTrigaux Le sel est important lorsque votre mot de passe n'est pas trivial mais pas aussi fort que possible. Un mot de passe extrêmement fort n'a pas besoin de sel.
Je ne sais pas pourquoi cette réponse a été tellement critiquée. Il contient de bonnes informations utiles. Les points concernant les distinctions entre la vérification de l'intégrité et la vérification des mots de passe sont parfaitement valables; les deux applications ont des exigences de sécurité différentes. P.S. Une amélioration de la réponse est qu'il ne suffit pas de recommander l'utilisation d'un sel; vous devriez également recommander l'utilisation d'une fonction de hachage lente, comme scrypt, bcrypt ou PBKDF2.
Travis Pessetto
2012-06-07 23:14:22 UTC
view on stackexchange narkive permalink

Je ne pense pas que ce soit recommandé. Wikipedia indique que MD5 est considéré comme cassé et qu'il est recommandé de le remplacer par la famille SHA-2 ou SHA. Jetez également un œil à Devise, un joyau rubis qui gère les autorisations. Il a un type de crypteur différent.

Et je pense que, avec la suggestion d'une gemme rubis, c'est là que réside le hic. Les "personnes" qui implémentent MD5 le font non pas parce qu'elles essaient volontairement d'utiliser une fonction de hachage cassée, mais parce qu'elles utilisent des gemmes, des modules, des logiciels, etc. qui n'ont pas été mis à jour pour utiliser des méthodes plus sécurisées. Ils ne savent pas mieux et, apparemment, ils s'en moquent.
Eh bien, si cela aide, php.net lui-même recommande de ne pas l'utiliser pour les mots de passe "Il n'est pas recommandé d'utiliser cette fonction pour sécuriser les mots de passe, en raison de la nature rapide de cet algorithme de hachage." -Http: //php.net/manual/en /function.md5.php
De plus, il n'est pas nécessaire de stocker des informations, sauf si vous effectuez quelque chose comme le traitement des cartes de crédit exigeant que votre application Web soit conforme à la norme PCI.
Comment MD5 est-il "cassé" dans le but de masquer les mots de passe?
@curiousguy MD5 est cassé car il peut être facilement craqué par force brute. À peu près si vous mettez la main sur le hachage, vous pouvez déterminer quel était le mot de passe en peu de temps. Je ne sais pas exactement combien de temps, mais je pense que ce n'est que quelques minutes. Cela se fait en essayant simplement tout jusqu'à ce que les hachages soient les mêmes, et comme l'algorithme MD5 est rapide, il est facile de le faire rapidement.
@TravisPessetto "_MD5 est cassé car il peut être craqué facilement via brute-force._" lorsqu'un mot de passe faible est utilisé. "_ Je ne sais pas exactement combien de temps, mais je pense que ce n'est que quelques minutes au maximum._" parce que vous avez utilisé un mot de passe faible "_Cela se fait en essayant simplement tout jusqu'à ce que les hachages soient les mêmes, et comme l'algorithme MD5 est rapide, il est facile à faire rapidement._ "ce qui n'est possible que ** si vous pouvez énumérer chaque mot de passe, car votre mot de passe est faible **
@curiousguy Tiré de [PHP.net] (http://www.php.net/manual/en/faq.passwords.php#faq.passwords.fasthash) "Les algorithmes de hachage tels que MD5, SHA1 et SHA256 sont conçus pour être très rapide et efficace. Avec les techniques et les équipements informatiques modernes, il est devenu trivial de "forcer" la sortie de ces algorithmes, afin de déterminer l'entrée d'origine. En raison de la rapidité avec laquelle un ordinateur moderne peut "inverser" ces algorithmes de hachage, de nombreux les professionnels de la sécurité déconseillent fortement leur utilisation pour le hachage de mots de passe. "
@TravisPessetto Ce sont des conneries de PHP.net. Aucune de ces fonctions n'est inversible avec la technologie existante. Ces gars-là n'ont évidemment aucune compréhension de ce dont ils parlent et ** ne devrait jamais faire confiance **. (BTW, PHP est un langage tellement laid qu'il n'est pas surprenant que ces gars soient des crétins incompétents.)
@curiousguy, Je ne pense pas que ce soit des conneries. C'est un conseil parfaitement standard. Le conseil standard est d'utiliser un hachage lent, comme bcrypt, scrypt ou PBKDF2, et non un hachage rapide comme MD5, SHA1 ou SHA256, si vous avez besoin de hacher des mots de passe. (Lorsqu'elles font référence à la "force brute", elles signifient probablement des attaques par dictionnaire, qui énumèrent des mots de passe communs. Ces attaques sont très efficaces, car de nombreuses personnes choisissent des mots de passe avec une entropie pas très élevée.) Recherchez des "mots de passe" sur ce site pour apprendre encore plus.
curiousguy
2012-06-08 07:21:29 UTC
view on stackexchange narkive permalink

Même après cette étude, et tous les articles à venir sur ses défauts, il a été recommandé comme fonction de hachage de mot de passe dans les applications Web, depuis.

Oui, et?

Le hachage de mot de passe est juste une perte de temps.

MD5 ^ n (MD5 itéré n fois) est tout aussi bon que SHA1 ^ m (pour m comme temps (MD5 ^ n) > = temps (SHA1 ^ m) ) pour perte de temps .

Personne n'en a suggéré façon de calculer MD5 ^ n d'une manière qui est plus rapide que l'évident MD5 o MD5 ^ (n-1) . Il n'y a même pas le début d'une idée pour faire cela.

Rien n'est cassé ici.

Pour perdre du temps, vous devriez considérer scrypt .

"MD5 ^ n (MD5 itéré n fois) est aussi bon que SHA1 ^ m" - ** CECI est 100000000% faux ** Vous pouvez effectuer des temps infinis MD5 sur une chaîne et la sortie est connue. MD5 n'est pas sécurisé et NE DEVRAIT PAS ÊTRE UTILISÉ pour hacher les mots de passe par lui-même. SHA256 est sécurisé MD5 ne l'est PAS.
@Ramhound Je suis d'accord, si la fonction de hachage n'est pas sécurisée à la première itération, elle ne sera pas plus sécurisée sur plusieurs itérations. Mais d'un autre côté, si vous procédez au hachage 10 fois, cela signifie que pour l'attaquant, la génération de tables sera d'env. 10 fois plus lent, ce qui est peu de satisfaction
@MarekSebera "_Je suis d'accord_" vous êtes d'accord avec quoi? "_si la fonction de hachage n'est pas sécurisée lors de la première itération_" qu'entendez-vous par "sécurisé"?
@Ramhound "_THIS iS 100000000% false_" Pensez-vous qu'un algorithme plus lent qu'un autre n'est pas plus lent?
Je conviens que si la première itération de MD5 ne hache pas le mot de passe de cette manière, pour le rendre sécurisé (signifie aucune possibilité de fissure, jusqu'à ce que vous réalisiez ce qu'est le texte en clair, peu importe si dictionnaire, bruteforce ou autre), alors l'exécuter N fois ne peut pas augmenter sa sécurité.
@MarekSebera "_si la première itération de MD5 ne hache pas le mot de passe de cette manière, pour le rendre sécurisé_" Eh bien, MD5 ** fait ** le hachage de manière sécurisée.
@curiousguy et c'est là que vous vous trompez. si MD5 hachait le mot de passe de manière sécurisée, il n'aurait pas eu de collision et serait recommandé.
-1
@Ramhound, 100000000% faux - est-ce que cela tourne autour du mod 100, de sorte qu'il soit faux à 0%? Plus sérieusement, vous vous trompez et curiousguy a raison. Vos déclarations sont inutiles et semblent refléter une mauvaise compréhension de la situation. "X est sécurisé" n'est pas une déclaration utile; vous devez spécifier "sécurisé pour quoi?". Si vous faites cela, vous découvrirez que la réponse de curiousguy est parfaitement exacte. Les attaques de collision connues sur MD5 sont, eh bien, des attaques de collision, et elles ne mettent pas en danger l'utilisation de MD5 pour hacher les mots de passe.
Je trouve décevant de voir que plusieurs personnes ont rejeté cette réponse. On dirait qu'il y a un malentendu généralisé ou une confusion concernant les exigences de sécurité pour une fonction de hachage de mot de passe. En fait, la réponse de curiousguy est tout à fait exacte. Les commentaires ici d'@MarekSebera et Ramhound sont inexacts et un peu confus au sujet des exigences de sécurité pour le hachage de mot de passe.
Je n'utiliserais pas les mots «tout aussi bon» parce que je pense que la crypto-analyse réalisant des attaques pré-image contre md5 est plus susceptible d'arriver que contre SHA-1. Mais jusqu'à présent, il est exact que les attaques actuelles n'offrent aucun moyen de trouver les premières pré-images pour MD5 plus rapides que de simplement deviner le mot de passe.
@CodeInChaos "_Je pense que la crypto-analyse réalisant des attaques pré-image contre md5 est plus susceptible d'arriver que contre SHA-1_" Oui, mais je considère qu'il est extrêmement improbable qu'une telle attaque devienne jamais bon marché, ou moins chère que d'exécuter tout le dictionnaire (+ variantes triviales comme des majuscules ou des chiffres ajoutés) via MD5. OTOH, de telles attaques peuvent permettre de deviner plus facilement une clé à entropie élevée K, où MD5 (K) est connu, plutôt qu'en forçant brutalement l'espace clé.
user1652382
2013-05-04 17:24:46 UTC
view on stackexchange narkive permalink

Ceci est une information officielle sur MD5 - MD5 vulnérable aux attaques par collision Pour plus de sécurité, SHA-2 devrait être considéré. Personne n'empêche les utilisateurs d'utiliser MD5, mais pas pour les données que vous souhaitez garder privées.

Performances des algorithmes de hachage

Comme indiqué dans le diagramme " Performances des algorithmes de hachage ", SHA256 est bien plus rapide que MD5.

C'est une bonne ressource à considérer, l'auteur examine les mots de passe divulgués par LinkedIn - queue (.) Acm (.) Org / detail.cfm? Id = 2254400&ref = fullrss, montre également quelques moyens de sécuriser les mots de passe.

Mark Giblin
2014-02-25 18:25:11 UTC
view on stackexchange narkive permalink

Le problème du hachage des mots de passe et de l'utilisation des tables arc-en-ciel est lié à la sécurité d'un serveur Web exploité par une faiblesse sous-jacente.

Tout d'abord, tous ces sites Web prétendant offrir un test simple pour voyez si votre mot de passe est sécurisé ... Ummm voyons bien ces sites comme du phishing et toutes les personnes qui se dirigent vers ces sites le font alimenter une table arc-en-ciel. C'est une partie du problème.

Deuxièmement, les personnes qui utilisent des services d'hébergement Web où le but est de récolter de l'argent et d'oublier la sécurité du serveur Web, ces hôtes doivent être mis contre le mur et fusillés À mon humble avis, une partie de la sécurité de la connexion d'un utilisateur provient de la sécurité d'un serveur Web et des technologies sous-jacentes mises à jour pour empêcher l'utilisation d'exploits connus.

Troisièmement, une fois que les gens se connectent à leurs têtes épaisses qui, bien que MD5 ne soit pas résistant aux collisions ou que je préfère aussi robuste qu'il pourrait l'être, il est toujours difficile pour un compte d'utilisateur d'être piraté à moins que vous n'ayez un hébergeur exécutant un système exploitable, votre codage Web n'est pas robuste et vous vous exposez en utilisant un site prétendant vérifier la sécurité de votre mot de passe.

Pour la plupart des MD5 +, une valeur Salt est une sécurité adéquate pour la connexion d'un utilisateur sur un forum Web tant que le système et le logiciel mentionnés précédemment sont non exploitable. Une fois que vous avez un système qui a été exploité pour une faiblesse, exécuter une requête pour les valeurs de hachage connues qui n'utilisent pas de système de salage exposera une quatrième faiblesse ... l'utilisateur final.

Quatrièmement, l'utilisateur final, votre sécurité Web n'est finalement aussi forte que le lien le plus faible et pour beaucoup, ils verront l'utilisateur final comme cela et les administrateurs doivent se rappeler qu'ils sont des utilisateurs finaux d'un système et qu'ils sont également aussi vulnérable à la compromission de la sécurité d'un système en employant une programmation bâclée ou un logiciel facilement cassé, une sécurité de mot de passe médiocre et en ne modifiant pas cette connexion ADMIN ou en utilisant un logiciel qui, aujourd'hui, insiste encore pour avoir le nom de connexion de l'administrateur en tant qu'administrateur et en utilisant également des comptes de super utilisateur .

Donc ça va sans dire, donc je le dirai quand même, MD5 n'est pas cracké, il est rétro-ingénierie par des utilisateurs faibles, des logiciels faibles et l'incapacité des gens à comprendre une technologie. Si MD5 est fissuré, SHA et AES le sont aussi ...



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...