2009-03-30 10 views
0

re question non-random-salt-for-password-hashes M. Potato Head déclare que l'utilisation de md5 au lieu de SHA-512 facilite la création de tables arc-en-ciel? J'aurais pensé qu'une fois que votre table arc-en-ciel est générée, l'algorithme utilisé n'est pas pertinent? Cela ne ferait aucune différence à la façon dont vous utilisez la table arc-en-ciel pour vérifier les hashs connus? Et est-il possible de savoir quel algorithme de hachage a été utilisé?L'algorithme de hachage utilisé pour le hachage des mots de passe affecte-t-il la génération des tables arc-en-ciel?

Modifier la mise à jour:

Je pense que le hachage approprié de vos tables de mot de passe est nécessaire, non pas pour protéger votre application, mais pour protéger tout le monde où les utilisateurs réutilisera les mots de passe et identifiants.

Répondre

1

Enough With The Rainbow Tables: What You Need To Know About Secure Password Schemes aborde cela brièvement. Il commence par une mini-diatribe sur les gens qui comprennent mal les tables arc-en-ciel et le niveau réel de danger qu'ils présentent, mais se transforme ensuite en une bonne discussion sur les implications de la performance de l'algorithme de hachage par mot de passe. Sur votre dernière question, la réponse la plus directe est que, en examinant la sortie seule, vous pouvez seulement déterminer le nombre de bits dans la sortie de l'algorithme de hachage final. Selon l'algorithme, cela peut être unique ou non, mais si l'algorithme est bon, il n'y aura pas de modèles détectables qui l'identifieront exactement. (Je dis "final" parce que la sortie de MD5-only ressemblera au résultat final de SHA512-then-MD5, puisque la dernière étape est la même dans les deux cas.)

Plus pratique, cependant, n'importe qui qui peut voler votre base de données de mot de passe peut probablement voler votre code source, ainsi ils peuvent juste regarder votre source pour voir ce que votre algorithme est et le dupliquer pour leurs attaques sur votre base de données.

+0

merci pour cela. Cela correspond à ma compréhension des problèmes. – Martlark

3

He said that

Utilisation de SHA-512 va se révéler être plus d'une douleur pour quelqu'un générer une table arc-en-que MD5,

Il est tout simplement plus cher pour calculer une SHA-512 que de calculer un hachage MD5.

+0

Combien plus cher? Sûrement pas tant que ça? sha-512 est préféré à md5 car il est plus difficile de générer des collisions. – Martlark

+1

En utilisant Perl 5.10, je reçois la vitesse de 10 fois pour MD5 sur SHA512 – innaM

2

C'est purement un problème de performance. MD5 est plus simple que SHA-512, de sorte que vous pouvez générer plus d'entrées arc-en-ciel ou plus d'attaques en force brute dans un laps de temps donné.

1

En fait, le temps nécessaire pour générer les tables est tout à fait hors de propos puisque vous ne le faites qu'une seule fois.

Le temps de fissure est beaucoup plus pertinent. Les tableaux arc-en-ciel sont juste un moyen de réduire le nombre d'opérations de hachage nécessaires pour récupérer un mot de passe, mais vous aurez toujours besoin d'appliquer la fonction de hachage tout en craquant un mot de passe. Par exemple, une table arc-en-ciel peut réduire le nombre d'opérations de hachage d'un facteur de 10'000. Si vous avez un hachage plus lent (par exemple SHA-512), la fissuration sera plus lente.

Notez qu'une fonction de hachage bon mot de passe comprend non seulement du sel, mais elle applique également plusieurs milliers de fois la fonction de hachage. Le hachage sera toujours rapide à toutes fins pratiques, mais la fissuration (quelle que soit la méthode) sera des milliers de fois plus lente.

+0

L'heure de création de la table est tout aussi pertinente que l'heure de recherche dans la table.Supposons qu'un site utilise un tour de MD5 et que quelqu'un puisse générer des tables de 1 à 7 caractères en un jour. La plupart de leurs mots de passe courts sont craqués en un jour + quelques minutes. Supposons maintenant que mon site utilise 2113 tours de hachage (mais pour une raison étrange, j'ai choisi de ne pas saler), ce qui a pris des années pour générer une nouvelle table arc-en-ciel car l'attaquant n'avait pas une table ronde 2113 précalculée. Le hachage coûteux défend contre la force brute * et * les attaques par dictionnaire. – erickson