Question:
Y a-t-il un seuil pour un mot de passe tant qu'il ne devient plus sécurisé ou même devient non sécurisé?
Mindwin
2016-03-24 18:43:59 UTC
view on stackexchange narkive permalink

J'entends toujours "Un mot de passe long c'est bien, un mot de passe plus long c'est mieux". Mais existe-t-il une chose telle que " Le mot de passe est si long qu'il devient dangereux " ou " Le mot de passe est assez long, le rendre plus long n'aura pas d'importance "?

Je suis intéressé par la sécurité du mot de passe en ce qui concerne le piratage uniquement.
Pas si cela peut provoquer une surcharge DoS des serveurs lors du hachage, ou si le fournisseur pense sinon.

Supposons également que le mot de passe ne contient aucun dictionnaire , il serait de toute façon dans les commentaires. mots, est stocké en utilisant les meilleures pratiques, a un sel fort et unique et une entropie pertinente par caractère La façon dont l'utilisateur se souviendra / rappellera / stockera le mot de passe n'a pas non plus d'importance.

Je reconnais que les mots de passe plus longs / / sont plus sûrs. Je pose une question sur la limite supérieure .

Y a-t-il une longueur (ou une taille d'entropie) où rendre le mot de passe plus (sic) n'a plus d'importance, ou même affaiblit sa sécurité? Je sais que cela dépend de l'algorithme de hachage, si la limite supérieure pour un algorithme donné existe et est connue, qu'est-ce que c'est?

En supposant que le mot de passe est haché, alors oui. Voir http://security.stackexchange.com/questions/42154/does-it-make-sense-to-choose-a-longer-password-than-the-output-of-a-hash et http: // crypto .stackexchange.com / questions / 25252 / longueur-mot-de-passe-contre-longueur-hachage
Je suppose que vous posez des questions techniques lorsque vous demandez comment la sécurité pourrait diminuer avec une durée plus longue. Une façon non technique que cela peut arriver est que les mots de passe plus longs peuvent être plus difficiles à retenir, ce qui pourrait encourager les utilisateurs à les écrire, ce qui serait moins sûr.
Cela dépend de la taille du hachage. Soit `f` votre fonction de hachage, si vous fixez le nombre de bits dans le hachage alors il existe une longueur` n` telle que `f (Σ¹∪ ... ∪Σⁿ) = f (Σ⁺)` ie chaque chaîne avec plus de «n» caractères a une chaîne plus courte, de longueur disons «k», avec le même hachage. À ce stade, le forçage brutal trouvera simplement la chaîne la plus courte et tous les caractères supplémentaires `n-k` sont * complètement * inutiles. Plus de ces caractères «m» ne sont utiles que pour les générateurs de mots de passe non vraiment aléatoires.
Concernant la première question, vous faites une erreur fondamentale dans votre réflexion: un mot de passe dont vous ne vous souvenez pas n'est pas par définition moins sûr car vous ne vous en souvenez pas. C'est tout simplement tellement sécurisé que même vous n'en avez pas accès. Le problème commence lorsque vous commencez à l'écrire ou à noter des indices. Cela vous aidera * à * vous * rappeler le mot de passe, mais il est évident que toute autre personne qui le possède pourra * aussi * deviner le mot de passe.
Si votre mot de passe contient un dictionnaire entier, il est _définiment_ trop long.
Appelez-moi Ishmael ...
Je suis connu pour définir un mot de passe WiFi sur la plus longue collection aléatoire de caractères que je peux (63 caractères). Un ami a fait remarquer que c'était ridicule car étant donné la façon dont WEP a été vaincu en raison d'une faille dans le protocole, il est plus probable qu'une faiblesse dans WPA2 ou l'algorithme choisi soit découvert que quelqu'un qui force brutalement un mot de passe WiFi de plus de 16 caractères (128 bits) et donc tout ce qui dépasse 16 ne fait que rendre la frappe frustrante.
Voir aussi http://security.stackexchange.com/questions/15653/recommend-length-for-wi-fi-psk
@ToddWilcox Et mettez la note autocollante sur leur moniteur.[Règle de convivialité d'AviD] (http://security.stackexchange.com/a/6116/46979): "La sécurité au détriment de la convivialité se fait au détriment de la sécurité."
Dix réponses:
paj28
2016-03-24 19:17:42 UTC
view on stackexchange narkive permalink

128 bits (d'entropie)

Le but principal d'un mot de passe plus long est d'empêcher les attaques par force brute. Il est généralement admis que 128 bits est au-delà de la capacité de quiconque à la force brute, et le restera dans un avenir prévisible. Vous voyez ce chiffre à quelques endroits, par exemple Les chiffrements SSL avec une longueur de clé de 128 bits ou plus sont considérés comme «haute sécurité» et OWASP recommande que les jetons de session soient d'au moins 128 bits. Le raisonnement est le même pour tous - 128 bits empêche les attaques par force brute.

En pratique, si un mot de passe est composé de lettres majuscules et minuscules, de chiffres et d'un peu de ponctuation, il y en a environ 6 bits d'entropie dans chaque caractère, donc un mot de passe de 128 bits se compose de 22 caractères.

Un mot de passe peut être compromis par des moyens autres que la force brute. Peut-être y a-t-il un keylogger sur le système client, ou l'utilisateur se fait-il phishing. La longueur du mot de passe ne fait pratiquement aucune différence pour ces attaques - même un mot de passe de 1000 bits serait capturé de la même manière. Et ces attaques sont courantes dans la pratique, donc cela ne vaut vraiment pas la peine d'utiliser des mots de passe trop longs.

En fait, vous pouvez vous en tirer avec un peu moins de 128 bits. Si le mot de passe est haché avec une fonction de hachage lente comme bcrypt, cela rend une attaque par force brute plus difficile, donc 100 bits (ou à peu près) empêche complètement les attaques par force brute. Si vous êtes uniquement concerné par les attaques en ligne et que le site a une politique de verrouillage, vous pouvez vous en sortir avec moins encore - 64 bits empêcherait complètement une attaque par force brute en ligne à taux limité.

Une idée de la façon dont cette longueur varie avec les encodages UTF-8 multi-octets?
@PhilLello - Il est assez rare que les gens utilisent des caractères Unicode dans les mots de passe (une fois, j'ai dû déboguer une application qui en rencontrait une) Si vous les utilisez, il vous suffit d'ajuster l'estimation de l'entropie par caractère. Supposons que vous utilisiez le BMP complet (65k caractères) soit 16 bits par caractère, donc un mot de passe de 8 caractères vous donne 128 bits d'entropie.
Je vais voter pour cela si vous ajoutez un mot. Entropie. Ce sont 128 bits d'entropie qui comptent, pas la longueur. Par exemple, je peux créer un mot de passe composé de 1 ou de 0 de 128 bits de long. Mais il suit un modèle bien connu, donc il ne contient pas beaucoup d'entropie. En général, la longueur du mot de passe doit être plus longue que l'entropie du mot de passe, car les mots de passe générés par l'homme ne sont pas aléatoires mais suivent des modèles (réduisant l'entropie par caractère).
Cela me surprend, par exemple les mots de passe chinois, japonais, sanskrit ou cyrillique dans un système multilingue.
@PhilLello, beaucoup de sites meurent lorsque j'essaie d'utiliser des caractères accentués dans les mots de passe :(
@paj28: tous les caractères de l'ensemble du BMP Unicode ne sont pas utilisés de la même manière ou faciles à taper avec une seule disposition de clavier. Si vous devez changer de disposition de clavier plusieurs fois pour taper votre mot de passe Unicode généré aléatoirement, ce n'est pas plus facile à taper que d'utiliser simplement un mot de passe plus long avec des lettres de base.
@PhilLello - Les utilisateurs de l'application étaient pour la plupart anglophones. Je pense que les étranges qui ont trébuché étaient des personnes soucieuses de la sécurité utilisant délibérément des personnages funky
@LieRyan: Sans oublier que bon nombre de systèmes appliqueront NFC / NFD ou diverses autres transformations destructrices d'entropie aux mots de passe. Ils ne devraient probablement pas faire ces choses, mais comme vous ne contrôlez pas le système, c'est peu de confort.
Je suis d'accord que 128 bits d'entropie est la bonne réponse, et est «assez bon» pour tous sauf les plus paranoïaques.Cependant, lorsque les ordinateurs quantiques entrent dans l'image, ce n'est plus vrai, à cause de l'algorithme de Grover: cela nous oblige à doubler ce nombre.256 bits est une réponse encore meilleure, car elle protège même contre les algorithmes quantiques.
John Deters
2016-03-25 00:17:14 UTC
view on stackexchange narkive permalink

Un mot de passe peut-il être suffisamment long pour ne pas être sécurisé? Oui.

Lorsque vous examinez le tableau général de la sécurité dans votre organisation, la sécurité ne signifie pas seulement «protéger les comptes avec des mots de passe impossibles à deviner». La sécurité doit protéger l'ensemble de l'organisation avec la «triade CIA» de la confidentialité, de l'intégrité et de la disponibilité. Au-delà d'un certain seuil de longueur de mot de passe, la confidentialité et l'intégrité ne s'améliorent pas statistiquement, tandis que la disponibilité diminue en raison d'une mauvaise utilisabilité. Un système auquel vous ne pouvez pas vous connecter est tout aussi indisponible qu'un système en panne.

Si vous forcez votre utilisateur à saisir un mot de passe de 22 caractères composé de toutes les lettres, chiffres et symboles aléatoires et mixtes, vos utilisateurs seront plus sujets aux erreurs. Considérez qu'un utilisateur peut être stressé pour réagir immédiatement à une situation critique. Trébucher avec un mot de passe long peut entraîner un verrouillage de 3 tentatives et prendre tellement de temps à l'utilisateur pour se réinitialiser qu'il ne peut pas résoudre la situation en temps opportun, et un désastre en résulte. Ce long mot de passe empêchait la disponibilité; au lieu de protéger l'organisation, cela lui a causé du tort.

Combien de temps vos utilisateurs perdent-ils à saisir des mots de passe? Plus le mot de passe est long, plus la saisie est lente. Soustrayez cette dépense de la ligne du bas. Cela fait partie du coût de la sécurité, de l'argent qui aurait pu être dépensé ailleurs. Un mot de passe de 100 caractères vous coûterait plus qu'un mot de passe de 20 caractères, tout en n'apportant aucune diminution mesurable du risque. Le temps et l'argent sont des atouts, et un mot de passe trop long les dépense sans produire d'avantages supplémentaires.

Avec tout cela, je préconise une mauvaise sécurité des codes PIN à 4 chiffres, afin que les utilisateurs soient plus rapides, plus heureux et moins d'erreurs? Bien sûr que non. Ce que vous devez faire est d'équilibrer l'entropie fournie par le mot de passe avec la psychologie de son utilisation.

Bien que la plupart des utilisateurs ne puissent pas se souvenir d'un mot de passe de 12 caractères composé de 70 lettres, chiffres et symboles, ils pourraient probablement se souvenir d'une phrase de passe de cinq mots; envisagez donc une approche par logiciel de dés pour obtenir une entropie similaire. Cinq mots aléatoires mais familiers sont probablement plus faciles à retenir et à taper que 12 symboles aléatoires tout en fournissant des quintillions de combinaisons possibles; six mots de dés fournissent encore plus de sécurité que les mots de passe à 12 caractères.

S'il doit s'agir de caractères pour une raison quelconque, assurez-vous de les choisir parmi l'ensemble de caractères non ambigus. Ne forcez pas l'utilisateur à danser sur la touche Maj ou à saisir des symboles aléatoires. Si vous avez besoin de l'entropie d'un mot de passe de 12 caractères aléatoires qui tire de [az] [AZ] [0-9] [! - *], vous pouvez atteindre un niveau d'entropie similaire en utilisant juste [az] et en l'étendant à 15 caractères .

Ou pensez à d'autres outils, tels que les jetons d'authentification, la biométrie ou les cartes à puce, et demandez à ceux-ci de compléter un code PIN plus court.

Les systèmes de sécurité doivent être utilisables, sinon ils interfèrent avec l'organisation à son détriment.

Approche intéressante pour considérer la facilité d'utilisation comme une caractéristique * de sécurité * plutôt que comme une force de contrepoids.
@PeterCordes,, un système trop difficile à utiliser sera également contourné par des personnes bien intentionnées, ce qui peut entraîner des vulnérabilités. Par exemple, ils peuvent télécharger un gestionnaire de mots de passe gratuit juste pour faire leur travail, sans se rendre compte qu'il est infecté par un cheval de Troie. Les utilisateurs font partie intégrante de tout effort de sécurité; nous devons toujours reconnaître qu’ils sont d’abord des personnes, et qu’ils doivent être habilités et non combattus.
XKCD a estimé un mot de passe à quatre mots aléatoires à 44 bits (ce qui implique un choix de 2000 mots). Un mot de passe à sept symboles a plus de combinaisons possibles que quatre mots aléatoires.
AilivvfddcCMT As the saying goes, "Security at the expense of usability comes at the expense of security"
AilizrxnvgCMT., thanks. I did the math then updated the answer. Diceware provides 7776 words, so 7776^4 is about a quadrillion, 7776^5 is in the quintillion range; and 7776^6 is in the sextillion range. A 12 character password is at the smaller end of the sextillion range. The fastest homemade SHA-1 cracker I've seen clocked over 348 billion hashes per second. We can expect more from a well-funded adversary, but only to a point: the costs are high and go up exponentially.
Although the content of this answer is good, I think the OP intended to avoid such answers by writing, *"How the user will remember / recall / store the password also doesn't matter"*. I interpreted the question as meaning the OP was looking for technical reasons why a long password might be insecure.
AiliupfpngCMT that's exactly the problem. Considering only the technical aspect of "how many characters" sets aside the importance of the security of the organization in favor of playing math games, which is not a responsible approach. When comparing security practices, you must always compare the risks, which is not the same as the number of bits of entropy in a password.
Je pense que l'OP posait par curiosité une question technique / mathématique / informatique, * pas * une question de sécurité pratique, comme l'a suggéré @JonBentley.Le type de réponse que le PO recherchait peut être intéressant, même s'il n'est pas utile dans la pratique, et j'ai pensé que le PO avait formulé la question d'une manière qui reconnaissait cela.
Plus vous me ferez en sorte de me souvenir de mon mot de passe, plus je serai susceptible de l'écrire et de le réutiliser sur d'autres sites.Ne soyez pas seulement obsédé par la sécurité sur laquelle vous avez le contrôle.La sécurité difficile à utiliser n'est pas la sécurité.
Intuitivement, vous vous attendriez à ce que les mots de passe aient une mémorisation par bit d'entropie plus faible que les phrases de passe, mais ce résultat n'est pas toujours confirmé dans les études, par exemple https://cups.cs.cmu.edu/soups/2012/actes / a7_Shay.pdf
C'est une étude vraiment utile, merci d'avoir publié le lien!
La dernière phrase peut également être énoncée comme ce que nous appelons maintenant [la loi d'AviD] (http://security.stackexchange.com/questions/6095/xkcd-936-short-complex-password-or-long-dictionary-passphrase/6116# 6116): "La sécurité au détriment de la convivialité se fait au détriment de la sécurité."
Neil Smithline
2016-03-24 19:00:51 UTC
view on stackexchange narkive permalink

Les mots de passe de plus en plus longs ne deviennent pas dangereux, mais à un moment donné, ils cessent de devenir plus sûrs.

Sur la base des hypothèses que vous mentionnez, il semble probable que le mot de passe soit vraiment aléatoire et stocké en utilisant bcrypt (stockage de mots de passe de pointe). Bcrypt a une limite de longueur comprise entre 50 et 72 caractères, selon l'implémentation. Ainsi, un mot de passe plus long ne sera pas autorisé, haché en utilisant uniquement les N premiers caractères, ou quelque chose de similaire. Fondamentalement, plus ne sera pas mieux (même si ce ne sera pas pire).

On pourrait également affirmer qu'une fois que le mot de passe est sécurisé contre une attaque par force brute sur le hachage du mot de passe d'ici la fin de l'univers, rendre le mot de passe plus long ne le rend pas plus sûr. Même si vous faites des hypothèses farfelues sur le matériel d'un attaquant, un mot de passe vraiment aléatoire de 20 à 30 caractères sera sécurisé jusqu'à la fin de l'univers. Par conséquent, un mot de passe plus long ne sera pas plus sécurisé.

En effet. Certains / tous UNIX utilisés pour tronquer les mots de passe à 8 caractères à l'ère DES.
En mentionnant simplement cela pour le plaisir, si le mot de passe est assez long, il peut être trop gros pour que l'attaquant puisse sauvegarder ou casser son code! comme une chaîne de 1 ko peut avoir des problèmes lors de l'enregistrement sur un serveur SQL (puisque la méthode de sauvegarde est généralement statique)! ou une chaîne de 10 Go peut en fait ne pas avoir d'espace pour être sauvée !!
@PhilLello Et aussi l'ancien hachage LM basé sur DES avait une limite de 14 caractères (en deux blocs de 7 caractères).
"Haché en utilisant les N premiers caractères" peut être * complètement * non sécurisé car les N premiers caractères peuvent ne contenir aucune entropie.Vous voudrez peut-être souligner que ces implémentations sont explicitement funestes.
WoJ
2016-03-25 01:19:56 UTC
view on stackexchange narkive permalink

Un cas où un mot de passe plus long peut être en fait plus faible que prévu est celui des systèmes qui tronquent la chaîne que vous entrez comme mot de passe. Considérez

  passwordsogoodtahtittakestrillionyearstobreakitgoaheadtryme  

Ce mot de passe est extrêmement bon 1 sauf si vous avez un système qui le considère comme

  mot de passe  

car il n'accepte que 8 caractères. Le reste est silencieusement supprimé de sorte que vous saisissez toujours passwordsogoodtahtittakestrillionyearstobreakitgoaheadtryme , le système accepte password de celui-ci et tout le monde est content.
Y compris le hacker qui essaie d'abord cette combinaison.

1 oui, aussi parce qu'il contient des mots du dictionnaire qui le rendent plus facile à retenir que quelques chiffres majuscules inutiles triade -specialchars promue par des consultants en sécurité mathématiquement déficients

Le support de stockage n'est pas pertinent pour cette question. Il est supposé qu'il n'y a pas de manigances et de bonnes pratiques de la part du site. Juste la longueur du mot de passe vs la sécurité. Même la façon dont l'utilisateur se souviendra d'un mot de passe aussi long n'est pas pertinente ici.
@Mindwin: L'OP dit: * "Je suis intéressé par la sécurité du mot de passe en ce qui concerne le craquage uniquement." *. J'ai présenté un cas où avoir un mot de passe plus long peut être dangereux ** en raison du fait qu'il est plus long ** (car il peut être plus facile à craquer)
J'ai travaillé dans un système qui avait exactement cette faille - beaucoup de gens * avaient * utilisé des mots de passe longs et sécurisés, et pourtant notre vieux cryptage DES cruel tronqué à seulement 8 caractères, trivialement craquable.Les phrases clés et les mots de passe sécurisés constitués de mots-clés avec un caractère aléatoire ajouté (un modèle très courant de création de mots de passe, quoique faible: "password1234!") Étaient * plus * facilement craquables par ce système que ceux qui étaient plus courts mais plus aléatoires: ils étaient hissés par leurle hasard.Cela s'appuie sur d'autres réponses disant que la sécurité n'est aussi bonne que le nombre de bits d'entropie dans le hachage.
@WoJ, ce n'est pas un cas où le mot de passe plus long est * plus * dangereux;`password` et` passwords` seraient tous deux aussi dangereux que votre très long mot de passe proposé.C'est plutôt que la longueur supplémentaire ne * réduit * pas le danger comme prévu.(Certes, cela fait partie de ce qui est demandé dans le titre, mais je pense que c'est toujours une distinction importante à faire.)
@LSpice: Je crois que c'est un cas où un mot de passe plus long est plus dangereux.Les gens sont amenés à penser qu'un mot de passe plus long sera plus sûr alors que ce n'est pas vrai - un mot de passe plus court (mais plus complexe) serait préférable dans ce cas.La longueur supplémentaire suppose que tout le mot de passe sera pris en compte.Mais nous sommes peut-être dans la sémantique ici :)
Kevin Wells
2016-03-25 23:44:14 UTC
view on stackexchange narkive permalink

Je vois quelques commentaires faisant allusion à cela, mais aucune réponse ne le précise clairement, je vais donc l'ajouter ici.

Oui, il y a une limite à la longueur que vous pouvez ajouter à un mot de passe avant que vous n'obteniez plus de sécurité si le mot de passe est haché (et espérons qu'il le soit). C'est parce qu'un attaquant n'a pas besoin de connaître votre mot de passe, il / elle a seulement besoin de connaître une chaîne qui hache vers la même sortie. Par conséquent, si vous avez un mot de passe avec plus d'entropie que la sortie de l'algorithme de hachage, il y aura presque certainement une chaîne plus courte qui produira la même sortie en raison de collisions de hachage. À ce stade, peu importe combien de temps vous créez le mot de passe, vous n'obtiendrez toujours que la même entropie de sortie.

Cela signifie bien sûr que l'attaquant devrait forcer brutalement le hachage jusqu'à ce qu'une collision soit trouvée, ce qui sera pratiquement impossible pour les hachages cryptographiques sécurisés, mais vous avez demandé une limite théorique, pas une limite pratique.

Simon G.
2016-03-25 22:21:26 UTC
view on stackexchange narkive permalink

La limite de Landauer spécifie le nombre maximum théorique possible de changements de bit uniques que vous pouvez effectuer avec une quantité d'énergie donnée. Disons que vous avez accès aux 20 centrales électriques les plus puissantes au monde, toutes fonctionnant à pleine capacité pendant 100 ans. Cela vous donnerait 5 * 10 ^ 20 Joules d'énergie pour faire vos calculs. Supposons que vous ayez un ordinateur moderne qui ne consomme qu'un million de fois plus d'énergie que théoriquement. Avec autant d'énergie, ce bon ordinateur refroidi à -270 Celsius, les lois de la physique disent que vous ne pouvez travailler qu'avec 2 ^ 124 combinaisons d'entrées.

Si vous êtes prêt à détruire complètement la planète entière , convertissant avec une efficacité parfaite en énergie, et faites refroidir à nouveau à -270 Celsius un ordinateur fonctionnant à la limite de Landauer, alors vous pourriez énumérer 2 ^ 213 combinaisons d'entrées possibles.

Si vous pouvez d'une manière ou d'une autre détruire toute la matière dans l'univers entier et récolter toute l'énergie sombre, alors votre ordinateur théoriquement parfait ne peut toujours fonctionner que par 2 ^ 233 combinaisons.

Par conséquent, 2 ^ 233 combinaisons est le point auquel une attaque par force brute n'est plus garantie de réussir avec un investissement suffisant en temps et en énergie. Il n'y a pas d'investissement possible assez important.

Il y a toujours de la chance. Peu importe le nombre de bits dont vous disposez, il est possible qu'une estimation soit correcte. On choisit donc un risque acceptable. Il n'y a aucun moyen d'obtenir un risque nul, et aucun moyen de définir «acceptable» en termes universels.

Théoriquement, un ordinateur de la taille de la Terre et fonctionnant à la limite de Bremermann pour la vitesse de calcul craquerait un Mot de passe de 256 bits en moins de deux minutes. Cependant, comme il vient d'être calculé, la puissance de l'univers est insuffisante pour faire cet effort. Le temps qu'il faut pour craquer avec un équipement théoriquement idéal ne nous donne pas une limite "acceptable".

Le président Obama a ordonné la création d'un ordinateur exaflop d'ici 2025, espérant que ce sera l'ordinateur le plus rapide du monde lorsqu'il sera construit. Quelle chance un ordinateur exaflop a-t-il de craquer un mot de passe de 2 ^ 233 bits dans les 5 milliards d'années qui restent avant que le soleil n'explose? Eh bien, c'est 1,6 * 10 ^ 34 suppositions ou moins de 2 ^ 114 suppositions. C'est une chance sur 2 ^ 119 (6 * 10 ^ 35) de déchiffrer le mot de passe avant que le soleil n'explose.

Acceptable? Qui doit dire? Il est très difficile de mettre ces probabilités en perspective car elles sont si peu probables. Gagner le jackpot de la loterie cette semaine, la semaine prochaine et la semaine d'après également? Bien plus probable que de déchiffrer le mot de passe avant que le soleil n'explose dans cinq milliards d'années.

233 bits d'entropie peuvent être représentés avec 36 caractères tirés des 95 caractères imprimables de l'US-ASCII. Un attaquant ne peut pas garantir de déchiffrer un tel mot de passe par la force brute, même en utilisant toutes les ressources de l'univers entier pour le faire, et les chances qu'il le craque en utilisant uniquement la technologie existante aujourd'hui sont très très faibles.

C'est la seule limite dont je suis consciente qui est imposée non pas le choix de l'algorithme ou de la personne qui doit se souvenir du mot de passe mais par les lois physiques réelles de l'univers.

Votre dernier paragraphe n'est pas valide.Pour les besoins de l'argumentation, je prendrai vos chiffres comme étant corrects, c'est-à-dire que 38 caractères est la limite de ce qui est possible à la force brute étant donné toute l'énergie disponible dans l'univers.Cependant, pour chaque tentative individuelle pendant la force brute, il y a une certaine probabilité qu'elle réussisse et la recherche peut se terminer avant d'être terminée.39 caractères est toujours plus sûr que 38 car cela réduit cette probabilité.
@JonBentley Vous avez raison et j'ai édité ma réponse en réponse et parce que je n'ai pas pu calculer les logarithmes hier pour une raison quelconque.Le PO a demandé une limite et c'est la seule limite que je connaisse.
Sergio A. Figueroa
2016-03-24 19:12:39 UTC
view on stackexchange narkive permalink

Par défaut, la réponse à une question de la forme peut [une mauvaise chose XYZ] se produire avec des mots de passe est oui . Il y a toujours de la place pour des commentaires spécifiques, mais il n'en demeure pas moins que les mots de passe sont l'une des tâches de sécurité les moins naturelles confiées à une personne, et cette personne privilégiera presque certainement l'efficacité à la sécurité.

Si vous choisissez un mot de passe long qui ne figure pas dans un dictionnaire, il y a de fortes chances que le mot de passe soit une chaîne aléatoire de caractères difficiles à retenir. En conséquence, l'utilisateur devra trouver des raccourcis pour utiliser réellement son système sans trop de brouilles (pour les utilisateurs, la sécurité est normalement un obstacle pour réaliser les tâches qui ont réellement de la valeur): notez-le, gardez-le dans le presse-papiers, branchez un dong USB qui tape le mot de passe automatiquement ... vous le nommez.

La bande dessinée Battery Horse Staple XKCD est devenue célèbre pour produire des mots de passe plus longs et plus mémorables, mais en tant que résultat, mettez correcthorsebaterrystaple dans chaque dictionnaire. Donc, en général, il est difficile de produire des mots de passe longs utilisables.

C'est tout pour la responsabilité pratique. Voyons maintenant quelques chiffres. Supposons que vous ne stockiez pas votre mot de passe en texte brut, mais que vous le hachiez et le saliez. En général, disons qu'il n'y a pas de moyen plus simple de déchiffrer le stockage des mots de passe que d'obtenir une collision pour le mot de passe stocké. Dans ce cas, chaque hachage de mot de passe aura une longueur fixe: disons 256 bits pour SHA-256. Ensuite, vous avez tout au plus 2 256 valeurs à stocker. Certes, c'est beaucoup, mais c'est aussi votre «limite». Si vous stockez des mots de passe avec plus de 256 bits d'entropie, vous ne conserverez nulle part cette entropie supplémentaire. Ce n’est pas moins sûr, mais, comme l’indique la réponse de Neil à propos de bcrypt , il n’y aura aucun gain avec des mots de passe plus longs.

Sérgio, vérifiez les hypothèses sur la question. Les dictionnaires sont exclus et les meilleures pratiques sont supposées en matière de stockage. Mais vous avez un bon point avec l'entropie de hachage maximale.
Je comprends l'approche, mais c'était mon point avec l'exemple _batterystaple_. Même si un mot de passe ne se trouve pas dans un dictionnaire, il peut l'être s'il est susceptible d'être utilisé. Si vous pensez à un mot de passe comme une chaîne uniformément distribuée de caractères imprimables, alors ce n'est pas un mot de passe, mais une clé cryptographique étrangement codée. Dans ce cas, l'accent serait mis uniquement sur l'entropie (et le caractère aléatoire de la génération), mais les implications en termes d'utilisabilité seraient énormes.
AiligzdwwkCMT A dictionary attack will contain more 'hard-coded' values than just the words found in a given language. Eg. "12345678" will be in it, as well as its substrings. Password1, !Password1, !PAiligzdwwkCMT and many other variants will also be in the 'dictionary'. Any time you see a list of the most X commonly used passwords, all of the passwords mentioned are added to a dictionary somewhere for later reference. So excluding dictionary _words_ doesn't mean you're excluding dictionary _attacks_.
Il est triste que ces attaques soient appelées des attaques «par dictionnaire», plutôt que des attaques par «liste de mots».J'avais l'habitude de croire que puisque les noms de lieux gallois n'étaient pas des mots du dictionnaire, j'allais bien les utiliser comme mots de passe....Je vais mieux!
Je ne peux que supposer qu'il est influencé par le fait que "dictionnaire" est en plusieurs langues un mot composé qui pourrait être traduit par _wordbook_.Ou la tentative de faire une analogie avec quelque chose dans le monde réel.Mais cela peut être très trompeur, c'est vrai.
Vous pouvez trouver des noms de lieux gallois dans un dictionnaire géographique.Ce n'est peut-être pas ce à quoi la plupart des gens pensent quand ils pensent au dictionnaire, mais utiliser le dictionnaire ici n'est pas vraiment plus incorrect que tout ce qui fait référence à des mots (depuis quand mot de passe1 est-il un mot de quelque sorte?)
Si vous comprenez _word_ comme une chaîne de caractères dans votre alphabet, _password1_ peut être un mot.Encore "livre de mots" ou "liste de mots de passe connus / probables" pourrait être moins ambigu (bien que moins approprié pour les analogies que le terme "dictionnaire")
"Donc, en général, il est difficile de produire des mots de passe longs utilisables."Cela ne signifie-t-il pas simplement que vous ne devriez pas utiliser de longs mots de passe que quelqu'un * d'autre * a générés pour vous (ou, du moins, qui sont publiés)?Par exemple, je génère souvent mes mots de passe à l'aide de l'Assistant de mot de passe d'Apple sur le paramètre «mémorable»;il enfonce de manière semi-aléatoire plusieurs mots et un soupçon de ponctuation, et ceux-ci sont longs, mémorables et (je pense) raisonnablement forts, car il n'y a aucune raison qu'ils apparaissent dans les tables arc-en-ciel de quiconque.
Si c'est utilisable, cela semble être une idée sensée.Cependant, les problèmes d'utilisabilité sont toujours là.À quelle fréquence seriez-vous prêt à taper votre mot de passe long et sécurisé?Cela s'appliquerait-il également aux utilisateurs non techniques?(N'essayez pas de décourager votre approche, essayez simplement de garder un œil critique)
Alexey Vesnin
2016-03-24 19:00:48 UTC
view on stackexchange narkive permalink

pas de limites, en fait. La limite serait possible pour un hachage faible connu où une attaque de substitution est bien documentée et mesurable.

Je pense que c'est incorrect Alexey. Certains algorithmes de stockage de mots de passe ont des limites de longueur d'entrée.
un algo particulier peut avoir des limites, peut-être. mais de manière générale - il n'y a pas de limites
coteyr
2016-03-25 22:37:10 UTC
view on stackexchange narkive permalink

Lorsque vous parlez de mots de passe, il est important de prendre en compte tous les vecteurs.

Par exemple, le mot de passe "password" prendra 2,17 secondes à force brute. "p455w0rd" prend 29,02 secondes et "p455w0Rd!" prend 2,4 mois. Important : parlons du forçage brutal d'un mot de passe, ces trois exemples prendraient moins d'une seconde dans une attaque basée sur un dictionnaire.

En revanche, "thisisalongpassword" prend 2,5 millions de siècles, tandis que "th1sIs4l0ngPa55w0rd" prend 36,72 siècles. Cependant, en utilisant le mot de passe plus complexe, vous augmentez le risque que quelqu'un l'écrive sur un post-it et le colle sur son écran.

Ainsi, bien qu'une plus grande entropie soit meilleure du point de vue de la force brute, elle réduit la sécurité globale d'un système en augmentant la probabilité que les gens seront des personnes et feront des choses non sécurisées, augmentant ainsi la vulnérabilité dans d'autres vecteurs d'attaque.

Pour regarder un autre exemple, disons que vous obligez les utilisateurs à utiliser un mot de passe de longueur de phrase de passe. Ainsi, l'utilisateur choisit "tobeornottobe". Si un pirate utilisait uniquement la force brute, cela prendrait 9,85 mois. Mais comme un pirate utilisera des attaques par dictionnaire et d'autres heuristiques, cela prendra probablement des minutes. Si le même utilisateur utilisait «2b0n2b», la force brute seule prendrait 0,02 seconde, mais les attaques par dictionnaire seraient inutiles. Le but est de trouver un juste milieu entre facile à retenir, force brute et dictionnaire difficile. Si vous faites que votre politique de mot de passe s'éloigne trop de l'un de ces objectifs, c'est que vous avez affaibli le mot de passe global.

La réponse

Il n'y a pas de limite supérieure où plus d'entropie rendra un mot de passe plus faible. Il y a une limite supérieure quand on parle de utiliser un mot de passe dans le monde réel. La limite supérieure est le point où les utilisateurs du système ne peuvent plus utiliser le mot de passe sans utiliser des moyens non sécurisés pour s'en souvenir, vous ouvrant ainsi à d'autres vecteurs d'attaque.

Les mots de passe Time to Brute Force sont basés sur https://www.grc.com/haystack.htm dans "Scénario d'attaque rapide hors ligne"

hildred
2016-03-29 00:13:42 UTC
view on stackexchange narkive permalink

Oui, il y a un cas où un mot de passe plus long est moins sécurisé, mais personne ne devrait de toute façon utiliser les mots de passe DES de toute façon car ils sont de toute façon triviaux à craquer. Certaines implémentations de DES étaient en fait moins sécurisées et utilisaient moins d'entropie lorsque le mot de passe comptait plus de huit caractères! La solution de contournement consistait à tronquer le mot de passe à huit caractères avant le hachage. Si vous trouvez quelqu'un qui utilise encore des hachages de mot de passe basés sur DES, ils ont également d'autres problèmes. Il est également théoriquement possible qu'une faille similaire puisse affecter d'autres algorithmes de hachage de mot de passe (je pense que certaines versions de lanman avaient un problème similaire), mais la plupart des personnes qui conçoivent des hachages de mot de passe tirent les leçons des leçons de l'histoire et je ne suis pas au courant d'une publication moderne fonction de hachage de mot de passe avec ce problème.

hey hildred, merci de votre participation, mais la question suppose les meilleures pratiques actuelles acceptées par la communauté (bcrypt + salt / etc).
Au moment de la mise en œuvre, c'était la meilleure pratique.


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