Est-ce que le fait d'exiger certains critères pour les mots de passe les rend plus faciles à forcer?
Il m'a toujours semblé que lorsque les sites Web limitent l'utilisation de mots de passe "non sécurisés", il pouvait être plus facile pour les mots de passe d'être forcés par la force, car cela supprime la nécessité pour les attaquants de vérifier l'un de ces mots de passe. La plus fondamentale de ces exigences (et probablement la plus courante) serait la nécessité d'un mot de passe de 8 caractères ou plus. Il a été discuté dans quelques autres sujets:
Le consensus général à ce sujet est que le fait d'exiger des mots de passe plus longs/plus durs ne les rend pas nécessairement plus faciles à déchiffrer car la plupart des mots de passe qu'il n'autorise pas ne sont de toute façon pas des mots de passe probables (car la grande majorité des gens n'utiliseraient pas une chaîne aléatoire de caractères).
J'ai toujours l'impression que la plupart des gens utilisent probablement un mot de passe de la longueur requise ou seulement 1 ou 2 caractères au-dessus de la limite. En supposant que l'utilisation de caractères alphanumériques uniquement, le fait de nécessiter 8+ caractères supprime environ 3,5 billions de possibilités de mot de passe (la plupart d'entre elles ne seraient que du charabia aléatoire). Cela laisse ~ 13 quadrillions de mots de passe de 8 à 9 caractères. Ma principale question est la suivante: Cela ferait-il plus qu'une différence négligeable dans la sécurité pour les sites Web d'avoir parfois des mots de passe?
Exemple: Peut-être que 1/100 tentatives de création d'un mot de passe n'auraient pas besoin de répondre à certains critères, ce qui obligerait les attaquants à tester tous les mots de passe en raison de la possibilité que le mot de passe comporte moins de 8 caractères
Une question connexe que vous avez manquée dans votre liste est celle-ci:
Dans quelle mesure est-il essentiel de garder secret la longueur de votre mot de passe?
La réponse acceptée là-bas (avertissement: le mien) montre que si vous avez un schéma de mot de passe qui autorise les 95 caractères ascii imprimables, l'espace de touches augmente incroyablement rapidement chaque fois que vous augmentez la longueur du mot de passe de 1. Vous pouvez vérifier tous les mots de passe jusqu'à la longueur N dans environ 1% du temps qu'il vous faudra pour vérifier uniquement les mots de passe de longueur N + 1. En rejetant tout mot de passe plus court qu'une certaine longueur de coupure, vous abandonnez beaucoup moins que 1% de votre espace clé.
Donc, j'appuie fortement @Iszi en disant
L'avantage obtenu en forçant une longueur accrue dépasse de loin le nombre de mots de passe possibles perdus.
Point suivant: sortons de l'idée que 8 caractères sont longs pour un mot de passe. Ce n'est pas. Vous dites "~ 13 quadrillions de mots de passe" comme si c'était un grand nombre. Ce n'est pas. Selon cet article (ce qui est une excellente lecture), sa plate-forme de craquage de mots de passe pourrait faire 350 milliards de suppositions par seconde, de sorte que chacun de vos ~ 13 quadrillions de mots de passe peut être craqué un par un en ~ 10 heures. Et c'est sur le matériel 2013, les GPU ont beaucoup augmenté depuis lors.
Mon opinion est que les sites Web peuvent se quereller pour savoir qui a les meilleures exigences de mot de passe, mais ils sont bien trop faibles . Notre capacité à déchiffrer les mots de passe augmente de façon beaucoup plus rapide que notre capacité à se souvenir des mots de passe plus longs. En effet, la sécurité entre en conflit avec l'utilisabilité. Essayez de dire à quiconque n'est pas un nerd de la technologie qu'il doit mémoriser un mot de passe de 32 caractères qui ne contient pas de mots anglais, et un différent pour chaque compte qu'il possède! Vous vous moquerez de vous, puis serez ignoré. Les sites Web qui essaient d'appliquer mieux que les politiques de mot de passe pathétiques doivent faire face à des montagnes de clients en colère.
La solution consiste à supprimer tous les mots de passe et à évoluer vers une authentification de type 2 facteurs forte, où le craquage hors ligne n'est pas possible. Malheureusement, les entreprises ne réfléchissent sérieusement aux alternatives aux mots de passe que depuis moins d'une décennie et les offres sont loin d'être peaufinées (elles sont en proie à des problèmes de commodité et d'utilisabilité qui empêchent l'adoption massive), alors en attendant, nous continuons à les avoir inutiles débats comparant un schéma de mot de passe pour la plupart inutile à un autre. Fin de l'avis .
La réponse est dans votre question.
En supposant que l'utilisation de caractères alphanumériques uniquement, le fait de nécessiter 8+ caractères supprime environ 3,5 billions de possibilités de mot de passe (la plupart d'entre elles ne seraient que du charabia aléatoire). Cela laisse ~ 13 quadrillions de mots de passe de 8 à 9 caractères.
L'établissement d'une longueur minimale, voire d'une longueur exacte, pour les mots de passe oblige l'utilisateur à choisir un mot de passe qui se trouve dans un espace de recherche plusieurs ordres de grandeur plus grand que le nombre de mots de passe plus faibles que de telles exigences invalident.
Pour mieux illustrer cela, simplifions et écrivons réellement des nombres entiers ici. En supposant des mots de passe uniquement en lettres minuscules, il y a:
8031810176
mots de passe possibles de longueur 7 ou moins.200795254400
mots de passe possibles d'une longueur de exactement 8.
Augmentez le nombre de caractères possibles et le nombre de mots de passe perdus devient encore plus insignifiant par rapport à la complexité imposée.
L'avantage obtenu en forçant une longueur accrue loin l'emporte sur le nombre de mots de passe possibles perdus. Et les mots de passe qui sont éliminés présentent un risque beaucoup trop élevé pour être autorisés lorsqu'une contre-mesure aussi simple et efficace est disponible.
L'application non uniforme d'une politique de mot de passe introduit des risques de sécurité inutiles et n'améliore certainement pas la sécurité.
Permettre à des mots de passe faibles d'exister améliore simplement la probabilité que l'attaquant craque un hachage à l'aide d'une liste de mots de passe courants. Ce problème s'aggrave à mesure que le nombre d'utilisateurs augmente. Si 1/100 comptes ont un mot de passe non conforme à la politique de mot de passe et que 100 000 comptes existent, 1 000 comptes auront des mots de passe faibles.
En outre, il est en fait plus difficile de n'appliquer une stratégie que pour un sous-ensemble d'utilisateurs que d'appliquer la stratégie pour tous les utilisateurs, car l'application aurait besoin d'une logique spécifique pour ne pas appliquer la stratégie dans certaines circonstances. Il est plus facile d'exiger une politique de mot de passe solide et de l'appliquer uniformément à tous les comptes.
Ce n'est pas une bonne idée.
Je voudrais également citer la question:
J'ai toujours l'impression que la plupart des gens utilisent probablement un mot de passe de la longueur requise ou seulement 1 ou 2 caractères au-dessus de la limite.
D'accord! Eh bien, je ne suppose pas que les gens créent des mots de passe d'un ou deux caractères si vous définissez la longueur minimale à 0, mais la plupart de vos utilisateurs sans restriction ne créeront pas de mots de passe longs. Ainsi, un attaquant doit maintenant essayer les mots de passe courts, les plus courants (comme "qwerty" et "dragon"), pour exploiter ces personnes et réussir plus que si vous aviez appliqué la restriction complètement, car comme vous dit qu'il y a des ordres de grandeur moins de mots de passe de moins de 8 caractères que ci-dessus.
Alternativement on peut continuer à attaquer la portion d'utilisateurs sur laquelle vous avez toujours imposé la restriction de longueur minimale et vous enfuir avec - dans votre exemple - 99% du "butin" (voir le commentaire de @Dennis Jaheruddin) . Dans la sécurité par mot de passe, tout tourne autour des ordres de grandeur, donc cela n'aide pas vraiment - il est compensé par une augmentation de 1,01% (1/99) de la vitesse de craquage. ( Fait amusant : Moore dit que c'est fait en 8 jours.)
Parfois, la protection par mot de passe est mal codée - comme dans la réalisation NT LAN Manager (NTLM) par exemple. Si des mots du dictionnaire ou une séquence ordonnée prévisible sont utilisés dans le mot de passe - 7 symboles valent mieux que 8 ou 9 10 ou 11 ou 12 ou 13, car le mot de passe est divisé en parties de 7 caractères avant le hachage et le chiffrement /
Recherchez les détails ici: https://security.stackexchange.com/a/21267