Question:
Pourquoi les exigences de mot de passe statiques sont-elles si fréquemment utilisées?
HopefullyHelpful
2016-11-17 14:42:01 UTC
view on stackexchange narkive permalink

Ne serait-il pas plus intelligent de mesurer l'entropie du mot de passe et de rejeter les mots de passe à faible entropie?

Cela permettrait aux mots de passe courts utilisant l'ensemble du jeu de caractères de passer, ainsi que les mots de passe longs n'utilisant que des parties du jeu de caractères .

Le schéma ci-dessus est-il possible ou est-ce que les détails d'implémentation empêchent une telle opération?

Un site ou un programme intègre-t-il déjà de telles exigences de mot de passe?

Utiliser un formulaire de saisie de mot de passe comme celui-ci peut être un peu ennuyeux si tout ce qu'il me dit est "votre mot de passe n'est pas assez fort" sans me dire comment le rendre plus fort ("ajouter 27 bits d'entropie" n'est pas très utile).
Quelle est l'entropie de mon mot de passe aléatoire de 8 caractères basé sur tout l'espace de caractères imprimables / dactylographiés, qui ne contient d'ailleurs que de manière totalement aléatoire des caractères ASCII?
@ Matti 'Entropy' n'est pas une référence utile à l'utilisateur, mais la valeur pourrait être représentée sur la semaine habituelle à un curseur fort, tout en donnant les conseils habituels à l'utilisateur sur la façon de renforcer son mot de passe.Je pense que le point OP est de savoir pourquoi des exigences telles que `` doit contenir un caractère spécial '' obligeant les utilisateurs à faire certains choix de mot de passe lors de l'utilisation d'un mot de passe plus long sans caractères spéciaux pourraient être tout aussi forts qu'un plus court avec des caractères spéciaux.
Le problème est qu'il n'y a pas de moyen fiable de calculer l'entropie d'une chaîne ... il y aura toujours un mauvais mot de passe qui la rendra folle.En utilisant des limites statiques telles que "au moins 12 caractères, doivent contenir des lettres, des chiffres et des signes", vous avez au moins une garantie minimale ...
Stanford Univ a implémenté un système de politique de mot de passe adaptatif pour ses utilisateurs il y a quelques années: https://uit.stanford.edu/service/accounts/passwords/quickguide
Les mots de passe n'ont pas d'entropie.* Les méthodes de génération de mot de passe * ont une entropie.
@n00b Tout le monde sait que "correcthorsebatterystaple" est le mot de passe le plus fort, et qu'il est en fait incassable!Tout le monde devrait utiliser celui-ci!-END JOKE MODE- Le vrai problème est que les gens choisiront des mots de passe faibles presque à chaque fois.Ce dont vous avez besoin, c'est d'un système qui attribue automatiquement un mot de passe, où l'entropie est connue (et élevée).Les utilisateurs ne devraient pas pouvoir le changer "simplement parce qu'ils ne l'aiment pas" parce que cela réduit l'entropie.
@CJDennis alors vous avez des utilisateurs qui font * d'autres * pratiques dangereuses comme écrire leur PW sur une note autocollante à côté de leur moniteur au lieu d'avoir jamais la moindre chance de mémoriser `? _2Amd =, _} eZ <# j`.
@MattDMo Je ne suggérais pas d'attribuer des mots de passe non mémorisables.Je crois que la bande dessinée XKCD démontre que les mots de passe aléatoires peuvent être à la fois forts et faciles à mémoriser.Si l'on vous attribuait `correcthorsebatterystaple`, vous trouveriez-vous plus facile ou plus difficile à retenir que`? _2Amd =, _} eZ <# j`?
@CJDennis évidemment, celui basé sur les mots.Le problème est que la plupart des entreprises s'en tiennent toujours à l'idée "plus de caractères bizarres, mieux c'est", me forçant à prendre un mot de passe assez fort (selon ZXCVBN) et à mettre `@` pour `a`,` $ `pour` s`, etc., juste pour répondre à leurs critères de force.Malheureusement, j'ai dû réduire le nombre de caractères car il faut beaucoup plus de temps pour taper les majuscules et les symboles aléatoires (c'est * un bon producteur de canal carpien si vous deviez le taper 1000 fois de suite), alors que sic'était juste 4-6 mots aléatoires avec des espaces ou des traits de soulignement, il serait impossible de craquer.
L'entropie du mot de passe @Mark peut être définie comme la plus petite entropie suffisante pour la générer à l'aide d'une méthode de génération de mot de passe courante.C'est comme ça qu'il sera fissuré, de toute façon.
Onze réponses:
#1
+76
ChristianF
2016-11-17 17:52:29 UTC
view on stackexchange narkive permalink

Après la célèbre bande XKCD, quelques projets ont été lancés pour traiter exactement ce type de vérification d'entropie. L'un de ceux-ci était le vérificateur de mot de passe ZXCVBN, créé par un employé de Dropbox.

Il s'agit probablement du vérificateur de mot de passe le plus complet du genre. Il vérifie les modèles, les mots, etc., en ajoutant (ou en soustrayant) un score d'entropie en conséquence. Il est expliqué en détail sur leur blog.

Je pense que c'est la version Web: https://dl.dropbox.com/u/209/zxcvbn/test/index.html
Euh ... Je ne pense pas que je taperais un mot de passe dans un outil Web aléatoire ...
@IonoclastBrigham mais cet outil particulier ne semble pas faire d'appels derrière votre dos, non?
Il faut toujours se méfier de saisir le mot de passe réel dans un site Web.Mais, dans ce cas, il ne s'agit que d'une démonstration pour montrer comment ZXCVBN fonctionne, et en tant que tel, il est destiné à être utilisé avec des exemples de mots de passe.Ce n'est pas un remplacement pour l'implémenter vous-même sur votre site.
@s.m Vous avez oublié d'ajouter "au moment d'écrire ces lignes"
si vous êtes vraiment paranoïaque, vous pouvez désactiver votre adaptateur réseau en utilisant le formulaire.
Il semble que tout soit du JavaScript côté client de toute façon.Mais comment le vérifier facilement?
Si aucun * n'a * été fait, cela ne prouve pas qu'aucun * ne sera * fait.Combiner cela avec un proxy Web qui désactive temporairement les demandes, ou quelque chose de similaire, assurera au moins ce qui, une fois fait, échouera.
#2
+48
AviD
2016-11-17 14:55:34 UTC
view on stackexchange narkive permalink

C'est une excellente idée, en fait c'est le seul moyen approprié de mesurer la force du mot de passe.

Mais comment mesureriez-vous l'entropie du mot de passe?
L'entropie est un aspect du processus de génération, pas de la sortie.

Par exemple, quelle serait la sortie d'une telle mesure pour Tr0ub4dor&3 ? Par n'importe quelle mesure raisonnable d'entropie possible basée sur un mot de passe donné, ce serait plutôt décent - plus de 70 bits d'entropie. Ou peut-être, en tenant compte d'un processus de génération de mot de passe supposé, je pourrais être assez intelligent pour réaliser qu'il est en fait limité à seulement 28 bits, puisque chaque caractère n'est pas sélectionné au hasard, mais d'abord un mot entier est sélectionné . Mais en réalité, je devrais rejeter complètement cette idée, puisque je l'ai évidemment copiée directement à partir de cette bande dessinée.

Le même problème se produirait si le mot de passe était le bon aliment de base de la batterie (l'un des mots de passe les plus populaires parmi une certaine population).

Donc oui, les exigences de mot de passe devraient être basées sur l'entropie du mot de passe, mais vous ne pouvez pas appliquer cette exigence à un mot de passe donné après coup.

(Btw, comme je l'ai mentionné dans une autre réponse sur ce sujet (d'une autre direction), cela pourrait être une bonne idée d'implémenter un système où les mots de passe / phrases de passe sont auto- généré pour un niveau d'entropie donné, et fourni à l'utilisateur, au lieu de demander aux utilisateurs d'en proposer un qui réponde à nos exigences. Bien sûr, c'est ce qu'un bon gestionnaire de mots de passe ferait sur le client, de toute façon ...)

Je pense que le seul moyen possible serait une bibliothèque standard du système pour tous les systèmes d'exploitation courants contenant un dictionnaire de mots de passe de pointe, puis recherchant la position des mots de passe.Sinon, vous devrez envoyer le dictionnaire / cracker de mots de passe en js, ce qui coûterait beaucoup de ressources.Ou vous pouvez envoyer le mot de passe en texte clair ou rsa encodé au serveur.À ce stade, le processus serait trop cher pour la plupart des serveurs, je suppose.
Je ne comprends pas - seulement pour ce qui est possible?Afin de calculer l'entropie d'un mot de passe, vous n'avez pas besoin de le déchiffrer, ni d'aucun dictionnaire - il vous suffit d'examiner la mesure du caractère aléatoire dans le processus de génération.Voilà, pas besoin de deviner par force brute.
Ouais, mais l'entropie de mot de passe n'est qu'une mesure pour décrire combien de temps il faudrait environ pour déchiffrer un mot de passe.Si vous voulez vous assurer que l'utilisateur n'utilise pas `Tr0ub4dor & 3`, vous devrez alors deviner son processus de création, ce que vous ne pouvez pas, vous pouvez donc créer un dictionnaire pour rechercher son mot de passe et voir s'il est fort ou non.
@HopefullyHelpful Vous suggérez donc de déchiffrer le mot de passe côté serveur pour savoir s'il est faible.Si votre serveur n'a pas pu déchiffrer le mot de passe en une semaine, vous l'avez laissé passer.Cela pourrait être une solution, si vous aviez des semaines de puissance de calcul à revendre.
@HopefullyHelpful C'était exactement ce que je voulais dire - cette solution n'a pas de sens et ne peut pas fonctionner.Vous ne pouvez pas mesurer l'entropie en fonction du mot de passe (via le craquage, les dictionnaires ou autre chose), car l'entropie est un attribut du processus.C'est pourquoi j'ai suggéré de générer les mots de passe forts, au lieu de deviner si le mot de passe était fort.
Btw, votre serveur est presque assuré de ne pas être le plus efficace pour le craquage de mot de passe, de sorte que cette solution en vaut encore moins la peine.
Si les gens se voient présenter des mots de passe difficiles ou impossibles à retenir, ils les écrivent simplement et placent une collection de notes autocollantes sur leur bureau, leur ordinateur portable, leur calendrier et leur étui pour téléphone portable ...
@jwenting bien sûr.C'est pourquoi j'ai suggéré soit de leur fournir des phrases de passe mémorables, soit d'encourager / d'activer l'utilisation d'un gestionnaire de mots de passe.
Si je gzip et base64 "bonjour", j'obtiens une longue séquence de "recherche aléatoire" que vous pourriez penser être une entropie élevée, mais ce n'est vraiment pas le cas.La seule façon de s'assurer que la génération du mot de passe est une `` haute entropie '' est de le générer vous-même et de le délivrer ... mais cela pose l'autre problème d'échange sécurisé, de mémorisation, etc.
Je pense que cette réponse est beaucoup trop négative, car comme la réponse de ChristianF le souligne (indirectement), il existe * une approche sensée pour fournir des mesures utiles de l'entropie de mot de passe, incarnée dans le [zxcvbn password meter] (https: //blogs.dropbox.com / tech / 2012/04 / zxcvbn-real-password-Strength-estimation /): utilisez un modèle statistique qui estime comment le mot de passe résisterait à un attaquant aussi intelligent que nous pouvons le modéliser.Ce n'est pas infaillible, pourrait encore être amélioré un peu, et a une saveur indésirable de «course aux armements», mais c'est mieux que les règles de composition des mots de passe.
#3
+16
Cody P
2016-11-17 23:10:49 UTC
view on stackexchange narkive permalink

Les politiques de mot de passe statiques sont choisies pour deux raisons principales: la convivialité et le corpus de recherches démontrant une efficacité acceptable. La plupart de ma réponse vient de l ' excellent article de recherche sur un indicateur avancé de la force des mots de passe, Telepathwords.

Premièrement, pour résumer certaines des recherches utilisées pour sauvegarder les politiques de mot de passe actuelles:

Les règles de composition des mots de passe remontent au moins à 1979, lorsque Morris et Thompson ont rendu compte de la prévisibilité des mots de passe utilisés par les utilisateurs sur leurs systèmes Unix; ils ont proposé que les mots de passe de plus de quatre caractères, ou les mots de passe purement alphabétiques de plus de cinq caractères, soient «très sûrs» [19] [Cependant] Bonneau a analysé près de 70 millions de mots de passe en 2012, 33 ans plus tard, pour mesurer le impact d'une exigence minimale de six caractères par rapport à aucune exigence [2]. Il a constaté que l'insécurité ne faisait pratiquement aucune différence ...

Cela inclut les travaux de Komanduri et al. [13] et Kelleyet al. [12], qui a utilisé des modèles d'étude similaires pour effectuer des analyses comparatives des règles de composition des mots de passe. Ces études antérieures ont montré que l'augmentation des exigences de longueur des mots de passe conduisait généralement à des mots de passe plus utilisables qui étaient également moins susceptibles d'être identifiés comme faibles par leur algorithme de devinettes [ 13 12]. Plus récemment, Shay et al. Ont étudié les politiques de composition de mots de passe nécessitant des mots de passe plus longs, trouvant les meilleures performances provenaient du mélange d'un minimum de 12 caractères avec une exigence de trois jeux de caractères [25].

La convivialité est une raison majeure pour laquelle des critères plus complexes comme l'entropie de mot de passe ne sont pas utilisés plus fréquemment:

Dans une étude de la distribution des mots de passe politiques, Florencio et Herley ont constaté que les impératifs de convivialité semblaient jouer un rôle au moins aussi important que la sécurité parmi les 75 sites Web examinés [8]. ...

Ur et al. a également étudié l'effet des compteurs de force de mot de passe sur création de mot de passe. Ils ont constaté que lorsque les utilisateurs devenaient frustrés et perdaient confiance dans le compteur, des mots de passe plus faibles apparaissaient. [28]...

Alors que le zxcvbn [de Dropbox] apporte une amélioration indispensable de la crédibilité de ses estimations de force par rapport aux approches reposant uniquement sur des règles de composition, ceci la crédibilité est peu susceptible d'être observée par les utilisateurs. En fait, sa crédibilité perçue peut souffrir si les utilisateurs, à qui on a dit que l'ajout de caractères augmente la solidité du mot de passe, voient les scores diminuer lorsque certains caractères sont ajoutés. Par exemple, lorsque vous saisissez iatemylunch, l'estimation de la force diminue du deuxième meilleur score (3) au pire score (1) lorsque le dernier caractère est ajouté. Même si les utilisateurs trouvent les estimations de force de zxcvbn crédibles, il est peu probable qu'ils comprennent le mécanisme sous-jacent d'estimation de l'entropie et ne savent donc pas comment améliorer leurs scores. [30]

Enfin, par souci d'exhaustivité, nous devons nous rendre compte que définir l'entropie dans cet exemple est très difficile (mais loin d'être impossible). Il y a beaucoup d'hypothèses différentes que nous pouvons faire sur la sophistication de l'algorithme ou du dictionnaire de devinettes d'un pirate de mots de passe, et elles conduisent toutes à des réponses différentes sur l'entropie des mots de passe comme "Tr0ub4dor&3" ou "bonne base de batterie de cheval". Les mesures d'entropie de mot de passe les plus sophistiquées sont basées sur des dictionnaires de millions de mots de passe et une étude avancée des modèles de mots de passe, et ce niveau de sophistication est difficile à atteindre pour de nombreux administrateurs (et pirates).

+1 pour avoir répondu à la question "pourquoi" au lieu de "comment et pourquoi changer".
Sur une échelle de 1 à 10, à quel point vais-je aller en enfer pour lire «Telepathwords» avec la voix de Mike Tyson?
#4
+13
Peter
2016-11-18 04:37:10 UTC
view on stackexchange narkive permalink

L'entropie est calculée en fonction de la façon dont vous créez un mot de passe. Pour calculer l'entropie, vous n'avez pas besoin de connaître le mot de passe , vous devez plutôt savoir comment il a été créé. Avoir le mot de passe ne vous aide pas à calculer l'entropie, cela vous permet seulement de faire une très mauvaise estimation de l'entropie.

Exemple:

Password123

Si notre mot de passe "Password123" a été choisi parmi une liste des 3 mots de passe les plus utilisés qui contiennent des lettres, des chiffres, des majuscules et des minuscules, et plus de 10 caractères, l'entropie de Password123 est ridiculement faible.

Si le le même mot de passe "Password123" a été choisi par un générateur aléatoire parfait qui crée des mots de passe à 11 chiffres avec chaque chiffre choisi parmi 5000 points de code unicode possibles, l'entropie de Password123 est ridiculement élevée.


En d'autres termes: Vous êtes sur quelque chose, mais «entropie» n'est pas le bon mot - «entropie» a déjà un sens différent. Ce que vous recherchez, c'est la «force» d'un mot de passe. Et la force d'un mot de passe est difficile à mesurer correctement, et encore plus difficile à communiquer. Le fait que la force change chaque fois que les méthodes d'attaque changent n'aide pas non plus.

La «force» utilisée par presque tous les compteurs de mots de passe en ligne est une valeur totale.Essayez QWEqwe123! "$ Ou quelque chose de ce genre (modèles de clavier simples) et admirez-vous qu'ils sont régulièrement classés comme très sûrs.
@Tom En effet * "la force d'un mot de passe est difficile à mesurer correctement" * Même l'outil lié dans la réponse acceptée pense que "correcthorsebatterystaple", ** le mot de passe à 25 chiffres le plus courant dans le monde **, est incroyablement fort.Et il pense que "Comment apprendre à arrêter de s'inquiéter et aimer la bombe" met des siècles à se fissurer.
#5
+7
A. Hersean
2016-11-17 15:08:31 UTC
view on stackexchange narkive permalink

Vous ne pouvez pas mesurer l'entropie du mot de passe, vous ne pouvez en mesurer qu'une limite supérieure. Donc, tout estimateur de force de mot de passe est défectueux.

L'utilisation d'un estimateur de mot de passe ou de règles ennuyeuses a le même effet de faire en sorte que l'utilisateur essaie de répondre aux exigences tout en gardant le mot de passe aussi facile que possible à se souvenir. Ainsi, plus l'exigence est difficile, plus ils essaieront de créer un mot de passe facile à retenir. Par exemple, en utilisant des mots de passe tels que Pa $$ word1 ou passwordpasswordpassword. Le problème est qu'un mot de passe facile à retenir est également un mot de passe facile à deviner.

Lorsque le service que vous fournissez est facultatif, vous courez également le risque d'aliéner les utilisateurs avec des exigences trop strictes et de perdre des clients.

Cependant, vous pouvez appliquer une limite inférieure de 10 caractères, car tous les mots de passe de moins de 10 caractères sont faibles et l'exigence n'est pas trop difficile à respecter. Vous pouvez également leur donner des conseils pour créer des mots de passe forts.

Pour votre dernière question "Est-ce qu'un site ou un programme intègre déjà de telles exigences de mot de passe?", Je suppose que vous pouvez trouver de tels sites. Cependant, je ne recommanderais pas de suivre leur pratique. Ce n'est pas parce que quelqu'un d'autre le fait que c'est une bonne idée de faire de même.

* un mot de passe facile à retenir est également un mot de passe facile à deviner. * c'est faux.Les phrases de passe sont faciles à retenir, mais difficiles à deviner en raison de la taille de l'espace de recherche.(leur problème est que si vous n'êtes pas un dactylographe rapide, ils sont l'enfer pour entrer, mais c'est une autre histoire)
@Tom Beaucoup seraient en désaccord avec vous.La recherche sur ce sujet est déjà une vieille nouvelle: https://www.schneier.com/blog/archives/2012/03/the_security_of_5.html http://arstechnica.com/business/2012/03/passphrases-only-marginally-plus-sécurisé-que-les-mots-de-passe-à cause-de-mauvais choix /
De votre source: * "C'est bien mieux que les mots de passe" * - 20 bits d'entropie au lieu de 10 bits d'entropie est en fait ** beaucoup ** mieux.Que les phrases de passe ne soient pas une panacée devrait être évidente ("Je suis un dieu" est une phrase de passe de 4 mots, mais ne contient que 7 caractères non espace).
#6
+6
pscs
2016-11-17 18:03:28 UTC
view on stackexchange narkive permalink

Comment mesurez-vous "l'entropie" du mot de passe?

C'est impossible.

Un mot de passe comme "hresda" peut avoir une "faible entropie" car il a été choisi parmi les lettres minuscules, mais s'il a été généré aléatoirement à partir d'un ensemble de caractères contenant des lettres majuscules / minuscules, des chiffres et des symboles et le résultat vient d'arriver à ne contenir que des lettres minuscules, alors il a une entropie plus élevée. Un mot de passe comme "A63ba!" peut avoir une entropie inférieure à "hresda" s'il a été généré spécifiquement en [majuscule] [chiffre] [chiffre] [minuscule] [minuscule] [symbole] plutôt que simplement choisi au hasard.

Bien sûr, l'entropie dans le processus de génération ne vous aide pas si la boîte aléatoire crache un mot du dictionnaire.Ce qu'il faut vraiment estimer, c'est le "travail de craquage", et c'est en fait moins élevé pour "hresda" indépendamment de la taille du jeu de caractères d'origine.
Réponse pragmatique: l'entropie est mesurée comme le nombre de suppositions qu'un outil de craquage de mot de passe standard devra faire.Parfaitement possible et raisonnablement objectif.Vous pouvez affirmer qu'un mot de passe a une entropie _less_ qu'il n'apparaît si vous connaissez la règle utilisée pour le générer, mais un mot de passe ne peut jamais avoir plus d'entropie qu'il n'y paraît ... cela n'a tout simplement aucun sens.
Les chances que tout mot de passe à "faible entropie" soit généré par un processus à haute entropie sont incroyablement faibles.Comme "il est plus probable qu'il y ait un bogue dans le logiciel open source fortement audité qui l'a généré qui l'a fait se verrouiller en minuscules dans certaines situations" bas.Comme "je ne te crois pas" bas.Comme "vous avez lancé une pièce de monnaie 1000 fois et ils ont tous fait face" bas.Étant donné un espace d'entropie élevé choisi au hasard, tout sous-espace particulier à faible entropie sera ridiculement petit et peu probable.Cela "pourrait" arriver, probablement mais pas pendant la durée de vie de l'univers, faible.
Supposons que votre système ait 2000 bits d'entropie dans la génération de mot de passe (système fort!).L'espace de 6 lettres minuscules anglaises contient environ 28 bits.La probabilité ** maximale ** qu'un tel mot de passe soit généré est de 1 sur 2 à la puissance de 1972.
J'ajouterais aussi que si dans une langue étrangère "A63ba!"signifiait "mot de passe", votre mot de passe serait fondamentalement craqué instantanément si les extraterrestres décidaient d'essayer cela en premier.La limite inférieure de l'entropie de tout mot de passe peut toujours être 0. L'entropie d'un mot de passe est ce que nous lui donnons en utilisant nos propres informations et connaissances.
#7
+2
Noctis Skytower
2016-11-18 03:31:28 UTC
view on stackexchange narkive permalink

Oui, il existe des programmes qui mesurent l'entropie d'un mot de passe pour décider s'il est assez bon ou non. Une fois que ce programme est Wabol Talk. La fonctionnalité est implémentée en utilisant la méthode estimation_quality dans le module principal du programme. Au final, la méthode est utilisée dans la méthode juste au-dessus ( error ) pour valider les champs de mot de passe qui sont utilisés pour générer des clés et des vecteurs d'initialisation. L'estimation n'est que de qualité minimale car elle ne juge pas les mots de passe en fonction de leur fréquence d'utilisation, mais elle démontre l'un des moyens les plus simples de trouver le nombre de bits d'entropie présents dans un mot de passe.

Bien que `estimation_qualité` fasse un travail décent pour rejeter les mauvais mots de passe, ce n'est pas vraiment une estimation de l'entropie.Par exemple, prendre simplement la longueur du mot de passe serait une meilleure estimation de l'entropie d'un point de vue théorique (bien que ce serait assez médiocre pour rejeter les mauvais mots de passe: `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`).
Sans connaître la longueur ou la conception de votre "mauvais" exemple de mot de passe, certains diront qu'il s'agit toujours d'un mot de passe assez bon.
Votre théorie est superflue, lorsque vous voyez un mot de passe qui correspond à un modèle commun, il est beaucoup plus probable qu'il ait été créé à l'aide du modèle qu'il ne soit tombé d'un générateur de nombres aléatoires.
Ce n'est pas ma théorie personnelle.Si un mot de passe contenait un milliard de caractères et que rien de plus n'était connu, il pouvait être considéré comme intrinsèquement sécurisé quelle que soit la façon dont il a été construit (en supposant que sa méthode de construction était inconnue d'un attaquant).
De manière plus réaliste, il est inutile de créer un mot de passe contenant plus de bits de données que le nombre de bits renvoyés par ce hachage qui le sécurise.
@ Noctis Skytower Savez-vous pourquoi WiFi WPA2 génère une clé de 256 bits à partir d'un hachage SHA 1 de 160 bits en utilisant PBKDF2?
Pourquoi est-ce quelque chose comme ça?Soit il a été conçu pour être ainsi (consciemment ou inconsciemment), soit une erreur a été commise.Les choix faits dans le passé auraient pu être faits différemment si le décideur l'avait souhaité.Pour répondre à votre question, consultez [Dérivation de la clé 256 bits de PBKDF2-SHA1] (http://crypto.stackexchange.com/questions/34686).Cela ne rend pas meilleur un mot de passe ridiculement long.Si l'espace de mot de passe est plus grand que l'espace de hachage, il existe probablement une meilleure façon de résoudre le «problème» que d'essayer de générer le mot de passe d'origine.
En fait, je suis entièrement d'accord avec votre point (dans le commentaire) selon lequel mon exemple de mot de passe a une entropie élevée car il est long.La quantité de caractère aléatoire dans la génération de «g) yJa # Hu» et de «aaaaaaaaa» est absolument la même.Ce que je ne suis pas d'accord, c'est que la procédure «estimation_qualité» dans le code lié estime l'entropie.En utilisant le même exemple, cette procédure dirait que «g) yJa # Hu» est meilleur que «aaaaaaaaa», bien que leur entropie devrait être similaire sinon égale.
C'est parce que `estimation_quality` fait au moins une hypothèse: l'attaquant saura quelque chose sur les jeux de caractères utilisés lors de la création du mot de passe.Le mot de passe `aaaaaaaaa` nécessite ~ 43 bits pour être stocké dans un format efficace, mais le mot de passe` g) yJa # Hu` nécessite ~ 52 bits pour être stocké dans un format efficace.
#8
+1
TV's Frank
2016-11-18 16:01:47 UTC
view on stackexchange narkive permalink

Une note sur l'environnement international. Si le mot de passe est créé pour un site Web ouvert au monde entier (ce qui n'est pas rare), il y a de fortes chances que l'utilisateur ne parle pas l'anglais comme langue maternelle et puisse plutôt choisir, par exemple, des mots suédois comme base de la méthode de création de mot de passe xkcd.

"paraplyost" (fromage parapluie) serait probablement plus bas dans un vérificateur d'entropie qui connaissait le dictionnaire suédois que dans un autre. Si un attaquant sait que l'utilisateur est suédois (ce n'est pas le scénario le plus courant, mais cela peut arriver), il pourrait être en mesure de pirater le mot de passe d'un utilisateur plus facilement que le vérificateur d'entropie ne le savait, à moins que le vérificateur d'entropie ne soit chargé avec des centaines (ou des milliers). ?) de dictionnaires.

Un effet secondaire intéressant est que si vous parlez une langue qui n'est pas l'une des plus courantes au monde, vous pouvez créer des mots de passe encore plus sûrs en tant qu'utilisateur anonyme sur un site Web international. :)

Je ne pense pas que ce soit un problème de faire un dictionnaire de tous les mots du monde.
#9
+1
Dmitry Grigoryev
2016-11-21 16:33:51 UTC
view on stackexchange narkive permalink

Un site ou un programme intègre-t-il déjà de telles exigences de mot de passe?

Plusieurs sites Web le font. Par exemple, accédez à https://www.dropbox.com/login et essayez de vous inscrire avec un mot de passe qui est un mot courant du dictionnaire de 8 caractères ou plus (par exemple, dictionary ). Vous verrez que le compteur de force vous indique le score le plus bas. Maintenant, essayez de mélanger les lettres au hasard (par exemple ioictnadry ) et utilisez-le - vous verrez le compteur de force monter.

L'inconvénient évident de cette méthode est que vous devez télécharger un dictionnaire de mots de passe communs à chaque client en utilisant le formulaire de connexion. Ceci est récemment devenu OK mais était totalement inacceptable il y a 5 ou 10 ans.

#10
  0
Dick99999
2016-11-18 15:11:26 UTC
view on stackexchange narkive permalink

J'ai l'impression que la plupart des fissures utilisent des listes de mots de passe & existantes. Et quelques variations sur celles-ci, comme ajouter des nombres ou répéter un mot. Exception notée ci-dessous.

Donc, un mot de passe est également faible s'il apparaît sur une liste , quelle que soit la force des calculs d'entropie (du processus de génération). Sur 'une liste' c'est-à-dire: si la liste des crackers ne contient pas votre mot de passe, c'est fort, malgré le calcul d'entropie. Il est donc presque impossible de vérifier la liste (inconnue) au préalable. Cependant, essayer quelque 65 millions de mots ne fait pas de mal, voir les mots de passe ID SUNet de Stanford. 65M, c'est beaucoup mais cette liste contient près de 2,5 milliards de mots de passe: Mots de passe MySQL

Un processus de génération de PW à haute entropie et un outil vérifiant cette entropie devraient tous deux être complétés par une étape de rejet qui utilise des listes et des modèles. Même ces processus à haute entropie peuvent générer des mots de passe faciles à deviner, tels que aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa (voir ci-dessous), et password1 .

J'ai demandé au pirate de Les hachages d'Ashley Madison comment ils ont pu déchiffrer de longues phrases de passe qu'ils ont publiées. Juste une réponse générique, mais après avoir analysé celles publiées, j'ai trouvé que la plupart de ces longues phrases sont des expressions courantes ou des balises de hachage, voir source de certaines phrases AM fissurées

Le la seule exception aux listes en tant que sources, ce sont les mots de passe qui ont un modèle comme: majuscule, puis minuscule suivi d'un nombre. Des modèles courants, avec hit%, sont disponibles sur Internet. Ceux-ci pourraient en effet être facilement vérifiés au préalable.

- éditer 2,5 milliards ajustés; Ajout de la partie «aaaaaaa»; rejet reformulé

#11
  0
Tom
2016-11-22 17:00:19 UTC
view on stackexchange narkive permalink

Un mot: Politique

Depuis une dizaine d'années, la principale dérive en matière de sécurité de l'information est vers la conformité, le contrôle et les politiques. Essentiellement, ce que nous faisons aujourd'hui, c'est que nous construisons un SMSI (système de gestion de la sécurité de l'information) basé sur l'engagement C-Level et les politiques d'entreprise.

Et quand vous arrivez à écrire la politique de mot de passe, vous n'êtes pas au niveau technique. Vous rédigez un document que les employés doivent lire, comprendre et éventuellement signer. Vous rédigez un document que la direction doit accepter et soutenir. Vous ne pouvez pas aller trop loin dans les mathématiques, ou vous n'obtiendrez pas l'acceptation.

Enfin, lorsque vous réfléchissez à la manière de mettre en œuvre la politique de mot de passe, dans presque toutes les organisations, vous n'êtes pas libre d'inventer vos propres règles . Vous aurez quelque chose comme Active Directory en cours d'exécution et votre implémentation doit fonctionner avec lui, ou le système IDM, ou l'ancienne pile ou autre.

Donc, les larmes aux yeux, nous écrivons des politiques de mot de passe que nous connaissons être à moitié stupide, car c'est le mieux que nous puissions faire.



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