Question:
Les mauvais mots de passe produisent-ils de mauvais hachages salés?
Crizly
2014-10-28 02:14:41 UTC
view on stackexchange narkive permalink

Lorsque vous avez un mot de passe stocké dans une base de données qui a été fortement hachée et salée, est-ce vraiment important si le mot de passe utilisateur sous-jacent est faible?

Si vous configurez des fonctionnalités telles que la limitation des devinettes de connexion et utilisez des captchas pour arrêter les devinettes automatiques pouvez-vous compenser efficacement un mot de passe faible tel que " mot de passe "?

Ma question est de savoir si l'utilisation d'un mot de passe comme "password" rend le hachage salé plus faible que d'utiliser un mot de passe plus long tel que " fish& * n0d1cTionaRYatt @ ck "? - Tous les hachages salés sont-ils également aussi sécurisés ou dépend-il du mot de passe qui est bon?

Je pense que vous confondez les modèles de menace.
@schroeder Je suppose que votre argument est que les captchas et les sels sont utilisés pour se protéger contre deux scénarios de menace complètement distincts.
Les mots de passe faibles seront les premiers qu'un attaquant utilisera lorsqu'il tentera de deviner votre mot de passe ... Salt / hash n'a pas d'importance ici.
Nous mettons de côté le fait que si "fish & * [email protected]" est un mot de passe * plus long *, il est sans doute aussi mauvais ou pire que "password" je le prends?
Eh bien - ils sont * presque * orthogonaux, mais pas tout à fait: les mots de passe faibles sont plus susceptibles d'être trouvés dans les tables arc-en-ciel incorporant les valeurs de sel.
Sept réponses:
#1
+86
Xander
2014-10-28 02:23:16 UTC
view on stackexchange narkive permalink

Les hachages salés sont conçus pour empêcher les attaquants d'attaquer plusieurs hachages simultanément ou de créer des tableaux arc-en-ciel de valeurs de hachage précalculées. C'est tout. Ils ne font rien pour améliorer la force sous-jacente du mot de passe lui-même, faible ou fort.

Cela signifie également qu'ils ne sont pas conçus pour se défendre contre les attaques en ligne, ils n'ont donc aucun impact sur la capacité des attaquants à manipuler votre formulaire de connexion, où le sel n'est pas pertinent, car un attaquant n'informe pas hashes directement, mais en entrant les mots de passe des candidats sous une forme qui peut être (comme vous l'avez dit) limitée ou protégée par un captcha.

Les mots de passe faibles le sont. Les mots de passe forts sont forts. Les sels n'affectent en aucun cas cette équation.

#2
+38
Alexander
2014-10-28 13:00:07 UTC
view on stackexchange narkive permalink

Vous devez prendre en compte deux vecteurs d'attaque:

  • Attaque en ligne
  • Attaque hors ligne

Limiter les devinettes de connexion aide contre les attaques en ligne.
Disons que c'est trois fois, cela signifie qu'un attaquant peut tester TOUS les comptes pour les trois mots de passe les plus courants qui correspondent à votre politique de mot de passe (que diriez-vous de "mot de passe", "12345678" et "12345 "?).

Le salage aide contre les attaques hors ligne
Les mêmes hachages non salés sont le même mot de passe en clair. Ainsi, chaque hachage doit être calculé une fois, pas une fois pour chaque sel. Même avec un sel, l'attaquant peut toujours tenter une attaque par dictionnaire, et personne (sauf sa limite de puissance de calcul) ne l'arrêtera, car votre règle des «trois coups» ne s'appliquera pas ici.

Les mots de passe faibles réduisent la sécurité dans les deux cas.
Attaque en ligne : si vous autorisez les mots de passe courants (comme "mot de passe" ou "12345"), les attaquants pourront s'introduire dans 5 % de vos comptes en trois hypothèses.
Attaque hors ligne : Ici, ils essaieront également les mots de passe les plus courants en premier, bien sûr. Donc s'ils calculent 3 hachages par utilisateur, ils ont déjà cassé 5% des comptes ...

"ils essaieront également les mots de passe les plus courants en premier" +1 cela compte beaucoup, surtout si le sel n'est pas par utilisateur
#3
+7
Abe Miessler
2014-10-28 02:23:34 UTC
view on stackexchange narkive permalink

Le salage / hachage est excellent si votre base de données est volée, mais cela n'a rien à voir avec les attaques de dictionnaire qui pourraient avoir lieu via la procédure de connexion normale.

Comme vous l'avez mentionné, limiter le nombre de tentatives de connexion et utiliser CAPTCHA peut rendre inefficaces les attaques de dictionnaire qui ont lieu via la procédure de connexion normale, mais le salage (ou non) n'aura aucun effet sur ce type d'attaque.

Même avec les tentatives de connexion limitées et CAPTCHA en place, autoriser des mots de passe super faibles n'est pas une bonne idée, et si un utilisateur malveillant est suffisamment déterminé ou voit suffisamment de valeur, il peut trouver des moyens d'exploiter cette faiblesse.

#4
+4
DavidF
2014-10-28 02:22:57 UTC
view on stackexchange narkive permalink

Non, un point de hachage salé est d'obtenir un bon caractère aléatoire dans le hachage quel que soit le matériau de départ.

Cependant, cela ne nous libère pas d'utiliser de mauvais mots de passe. Un bon hachage ne protège que contre un seul vecteur d'attaque: celui où l'intrus vole le fichier avec les hachages. Il existe tellement d'autres vecteurs d'attaque sur les mots de passe ... le surf sur les épaules, le forçage brutal, le forçage brutal modifié (avec des suppositions de départ intelligentes, etc.) ... que les bons mots de passe sont toujours importants.

Le hachage salé protégera bons mots de passe mais ne vous sauveront pas des mauvais.

#5
+1
user3799089
2014-10-28 02:27:53 UTC
view on stackexchange narkive permalink

En général, le plus important est la longueur du mot de passe. Mais il est vrai qu'un mot de passe simple peut être décomposé plus facilement qu'un mot de passe aléatoire. Par exemple, lorsque vous essayez de deviner un hachage à l'aide de tables arc-en-ciel. S'il s'agit d'un mot normalement utilisé comme "chat", il est plus probable que vous puissiez l'avoir dans ce tableau que "07OFmy3HOY3l9e1gCNww7nNpd5lQ8I9an"; D

#6
+1
djechlin
2014-10-28 04:56:06 UTC
view on stackexchange narkive permalink

En théorie:

Si l'attaquant n'a pas construit de table arc-en-ciel, si un mot de passe d'une certaine force peut être piraté en 1 unité de temps, alors N mots de passe de cette force peuvent être piratés en O ( 1) temps sans sel et temps O (N) avec sel. C'est ce que fait le sel. Aucun avantage sur un mot de passe fixe; montre un avantage sur plusieurs mots de passe.

Si l'attaquant a une table arc-en-ciel, sans sel, un mot de passe faible - dans ce cas "faible" signifie "déjà dans la table arc-en-ciel" - est aussi bon que nu. Avec du sel, il devra encore être craqué en quelques secondes.

En pratique: la force du mot de passe est bien plus importante que tout cela. Parfois, les tables arc-en-ciel sont une simple commodité; si vous avez un million de mots de passe aussi faibles, ils sont perméables même salés.

#7
+1
gnasher729
2014-10-28 17:45:34 UTC
view on stackexchange narkive permalink

Si vous avez choisi l'un des trois mots de passe faibles "amour", "chien" et "vache" et qu'une base de données de mots de passe a été perdue: sans sels, je peux essayer ces trois mots de passe et trouver immédiatement tout le monde dans toute la base de données en utilisant ces trois mots de passe faibles. Avec le salage, je dois essayer l'amour + votre sel, votre chien + votre sel, votre vache + votre sel pour déchiffrer votre mot de passe s'il était ridiculement faible, puis répétez la même chose avec tout le monde dans la base de données.

Si un hacker vous attaque spécifiquement, le salage n'aide pas. Cela aide seulement en rendant impossible d'attaquer l'ensemble de la base de données, exigeant à la place une attaque contre chaque utilisateur individuel de la base de données.

-1 pour l'utilisation du mot "impossible" dans un contexte de sécurité / cryptographie.
C'est tout simplement faux. Si un hacker a déjà une table arc-en-ciel - ce qu'il fait probablement - votre mot de passe peut être une recherche de hachage pour casser non salé mais aussi fort que son entropie salée.


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...