La façon dont l'insécurité est un salée SHA1 par rapport à un salée SHA512
SHA512 est plus complexe que SHA1, mais la sécurité de combien suis-je à perdre en le hachant un salée mot de passe avec SHA1 par rapport à hacher avec 512? en termes de temps il faudrait pour que quelqu'un qui a la db pour craquer un mot de passe unique. Je suis à l'aide d'un cadre qui ne me donne pas un accès facile à SHA512, je dois remplacer des trucs pour le faire fonctionner, donc je suis en train de penser à l'utiliser SHA1, bien que dans le passé, j'ai toujours utilisé SHA512.
tout est imaginable différence. la seule chose que vous devez vraiment prendre soin de est le sel.
Différence entre SHA512 et SHA1 est imaginable. Personne ne peut briser, soit encore (même md5 à mon avis). Donc, son négligeable dans la vie réelle. Alors que sans sel, c'est tout aussi vulnérables à la pré-calculé "arc-en-ciel" de la table (string=hash) de recherche. Donc, paresseux mot de passe seront récupérés en quelques secondes, pas question d'algorithme de hachage. Ainsi, le salage est bien plus important que l'algorithme de hachage particulier
Différence entre SHA512 et SHA1 est imaginable. Personne ne peut briser, soit encore (même md5 à mon avis). Donc, son négligeable dans la vie réelle. Alors que sans sel, c'est tout aussi vulnérables à la pré-calculé "arc-en-ciel" de la table (string=hash) de recherche. Donc, paresseux mot de passe seront récupérés en quelques secondes, pas question d'algorithme de hachage. Ainsi, le salage est bien plus important que l'algorithme de hachage particulier
OriginalL'auteur jblue | 2010-09-18
Vous devez vous connecter pour publier un commentaire.
Actuellement connus faiblesses sur SHA-1 n'ont pas d'impact sur la sécurité de ce que vous essayez de faire. Impossibilité de récupérer le mot de passe à partir de sa version cryptée s'appuie sur des "preimage de la résistance", qui est, autant que nous le savons, encore totalement infaisable avec l'algorithme SHA-1. Il est également totalement infaisable avec SHA-512, SHA-256, ou même MD4 et MD5. Un Sci-Fi orientée vers l'esprit peut imaginer des ordinateurs atteindre le pouvoir de trouver des préimages pour MD4 et MD5 autour de l'an 2050, il faudra beaucoup plus de temps pour SHA-1.
Il arrive que, même si il n'existe pas de raccourci pour le calcul de préimages sur SHA-1, il y a peu de preuve que ce soit. En termes mathématiques, si la fonction de compression de utilisés dans l'algorithme SHA-1 est impossible à distinguer d'un "oracle aléatoire", puis il est sécurisé contre les préimages. Mais les faiblesses connues sur SHA-1, qui (théoriquement) entraîne des collisions, montrent également que sa fonction de compression n'est pas un hasard oracle. Par conséquent, la sécurité de l'algorithme SHA-1 contre préimages n'est plus de la "il y a une bonne raison mathématique, pourquoi ne pas rompre" de la persuasion. C'est plus de la "meh, vous n'avez pas trouvé la façon de le casser encore" genre".
En plus terre à terre termes, si vous utilisez l'algorithme SHA-1, alors vous aurez probablement à justifier vous-mêmes. Même si vous ne faites rien de mal, votre choix de l'algorithme SHA-1 doit être remis en question. Alors que personne ne remettrait en question l'aide de l'algorithme SHA-256 ou SHA-512, même si cela implique une certaine développement frais généraux. En bref, SHA-1 est mauvais de relations publiques.
Noter que le salage est complètement orthogonale à cette question. Le salage est conçu pour empêcher de partage des coûts entre les attaques distinctes mot de passe instances. Des tables précalculées (y compris les soi-disant "rainbow tables") sont une sorte de partage (la table bâtiment est cher, mais peut être utilisé pour l'attaque 2, 10, 10000 mots de passe à moindres frais supplémentaires attaqué par mot de passe). Saler défaites de partage. Le salage est bon. Vaincre le partage est important, car attaquer un mot de passe est possible, non pas à cause de la fonction de hachage, mais à cause d'un mot de passe est quelque chose qui s'inscrit dans un cerveau humain, et, par conséquent, se prête à la force brute (une "attaque par dictionnaire"). Avec tout ce qui est lié à des mots de passe, vous n'aurez pas de problèmes en raison de faiblesses dans les fonctions de hachage, mais parce que vous utilisez des mots de passe, en premier lieu.
OriginalL'auteur Thomas Pornin
Il y a eu la preuve des failles de sécurité dans l'algorithme de SHA1, qui pourrait éventuellement conduire à une attaque. Je vous conseille d'utiliser une variante de SHA2 (SHA-256 ou SHA-512).
Aussi loin que combien de temps il faudrait quelqu'un pour faire craquer un mot de passe stocké dans la variable de tables de hachage, c'est difficile à dire sans connaître la puissance de traitement de l'attaquant, combien de temps les mots de passe sont, s'ils emploient des rainbow tables, de façon aléatoire, les sels, etc. Cependant, si il ya quelque chose de mal avec l'algorithme, il pourrait éventuellement conduire à un moyen beaucoup plus facile de trouver la valeur de hachage ou une valeur différente, ce qui équivaut à la même table de hachage (appelé une collision), comme c'est le cas de l'algorithme MD5.
(Source et plus d'informations: http://en.wikipedia.org/wiki/SHA-1)
OriginalL'auteur Dan D.
Si vous devez remplacer des trucs à obtenir autre chose qu'
SHA1
de travail, vous aurez à l'équilibre de la complexité de l'annulation de trucs (et le risque accru de bugs) à l'encontre de l'algorithme de force.Si vous décidez d'aller pour un autre algorithme de hachage, vous devriez jeter un oeil à un
BCrypt
. C'est un adaptable coût algorithme de hachage, conçus pour être "aussi lent que le besoin". Cela permettrait une plus grande augmentation nécessaire de craquage de temps queSHA512
.SHA512
est conçu comme un objectif général de hachage cryptographique, avec la vitesse que l'un des objectifs de la conception.Il y a des vulnérabilités connues dans
SHA1
, mais pas de preimage attaque a encore été trouvé. Donc, si le principal genre de choses est difficile, vous pourriez être mieux d'en générer de haute entropie aléatoire sels.Cela dit, il est bien sûr préférable d'utiliser le meilleur algorithme disponible.
crypt();
en utilisant le bon de sel format.OriginalL'auteur Jacco
SHA1 et SH512 sont des résumés de message, ils ont été jamais censé être un mot de passe de hachage (ou d'une clé de dérivation des fonctions. (Même si un résumé de message pourrait être utilisé un bloc de construction pour un KDF, comme dans PBKDF2 avec HMAC-SHA1.)
Un mot de passe fonction de hachage doit se défendre contre les attaques par dictionnaire et rainbow tables.
Actuellement, le seul standard (comme dans sanctionné par le NIST) mot de passe de hachage ou d'une clé de dérivation de fonction PBKDF2. Meilleur choix, si vous utilisez une norme n'est pas obligatoire, sont bcrypt et la plus récente scrypt. Wikipédia a des pages pour tous les trois fonctions:
La page à https://crackstation.net/hashing-security.htm contient une discussion approfondie de mot de passe de sécurité.
OriginalL'auteur Erwan Legrand