J'ai rencontré pas mal de sites qui limitent la longueur des mots de passe et / ou interdisent l'utilisation de certains caractères. Cela me limite car je veux élargir et allonger l'espace de recherche de mon mot de passe. Cela me donne également le sentiment inconfortable qu’ils ne soient peut-être pas en train d’être hachés.
Existe-t-il de bonnes raisons pour définir une longueur supérieure ou pour exclure des caractères dans les mots de passe?
Réponses:
Non
Il n'y a pas de bonnes raisons.
EDIT: Je ne peux pas prouver qu'il n'y a pas de bonnes raisons, car on ne peut pas prouver un négatif. Je ne vois aucune bonne raison à cela - comme d'autres l'ont souligné, le hachage sera de la même taille, quelle que soit la taille de l'entrée, et l'élimination des caractères valides (du contexte de la question) ne fait que réduire l'espace d'états. La réponse semble évidente à première vue: il n'y a pas de bonnes raisons. Il peut y avoir un grand nombre de raisons qui semblent bonnes ou qui semblent bonnes, mais elles ne le sont pas. S'ils l'avaient été, quelqu'un l'aurait déjà posté ici, ou si ce n'était pas ici, alors certainement sur security.stackexchange.com, et cette réponse n'aurait pas été aussi fortement votée.
la source
Limiter la longueur peut être une mesure pour limiter le temps d'exécution du hachage ainsi que pour limiter la bande passante (et les deux sont vraiment marginaux). À part cela, il n'y a pas de bonne raison, surtout du point de vue de la sécurité.
On pourrait dire: «Les gens oublieront plus facilement les mots de passe longs», mais c’est vraiment une déclaration stupide qui ne va pas du tout au juste.
En ce qui concerne les caractères, tant que vous êtes conscient des problèmes d'encodage potentiels liés au transfert et / ou à la migration des données (par exemple, vous passerez d'ASCII à UTF-8 dans 2 ans), autoriser davantage de caractères ne peut être utile que pour la force des mots de passe.
la source
Oui , il y a une raison pour les caractères spéciaux.
Désactiver les caractères spéciaux est davantage une question de convivialité que de sécurité. Tout d'abord, ils pourraient être mutilés par des problèmes d'encodage. Deuxièmement, même si vous vous engagez à toujours utiliser le même encodage, le problème du périphérique d’entrée demeure. Vous auriez besoin d'un clavier complet (ce qui élimine la plupart des appareils mobiles), avec la même disposition de clavier. Les versions ultérieures diffèrent non seulement entre les langues, mais également entre les systèmes d’exploitation. La présentation de Windows, Linux et OSX peut être légèrement différente. Je vois donc une bonne raison de ne pas laisser le mot de passe comme:
√Ω≈ç∫∞§…¬å∑±
.la source
Il y a quelques années, le monde de la sécurité était un peu controversé lorsque les clients de Chase ont découvert que leurs mots de passe étaient insensibles à la casse. Il s’est avéré que leur page Web n’était qu’une interface pour le système backend OS / 400, vieux de 30 ans, qui présentait une limite technique qui l’ignorait. Le réparer coûterait apparemment des millions de dollars.
Le fait est qu’il peut exister de nombreuses raisons coûteuses de ne pas autoriser les mots de passe sur une certaine longueur.
(Notez que je ne tolère pas cette excuse ...)
la source
La plupart des banques, services informatiques, etc. qui appliquent des restrictions de mot de passe maximales ne le font pas pour des raisons techniques. Ils savent parfaitement comment fonctionne le hachage des mots de passe et comment stocker des mots de passe complexes. Ils imposent ces limitations car cela réduit le nombre d'appels d'assistance pour les personnes qui ont oublié leur mot de passe. Est-ce une bonne raison d'imposer ce genre de limitation? En aucun cas. Mais, néanmoins, c'est la raison principale.
la source
valid Business reason
(personnellement, je ne crois pas qu'il y ait une corrélation)Tous les périphériques d'entrée (matériels) ont souvent tous les caractères d'un clavier complet, ou de la même manière. Si on n'utilise pas de gestionnaire de mot de passe, on pourrait avoir du mal à entrer ce mot de passe, non? Et Unicode est encore loin d’être un standard.
la source
Je vais deviner et dire que certaines de ces restrictions sont dues au filtrage des personnages sur leur site Web (
& < > #
) afin d'empêcher les pirates informatiques d'entrer. Tandis que d’autres sont les idées stupides qui émanent des comités de chefs pointus.J'ai rencontré un certain nombre de décisions vraiment stupides (à mon avis) de "sécurité". Par exemple, une grande société d’investissement gère mes comptes IRA ainsi que ma pension. Pour faire tout contact avec la pension me oblige à taper mon mot de passe sur le téléphone (vous ne pouvez pas les atteindre autrement). Mon compte de courtage / IRA utilise des lettres (majuscules et minuscules) ainsi que des signes de ponctuation - aucun de ces caractères n'apparaît sur un pavé numérique. Si vous ne pouvez pas vous connecter avec le mot de passe par téléphone, cela vous permet de réinitialiser le mot de passe de votre compte de courtage sur quelque chose que vous pouvez saisir par téléphone.
Mon système de paie (pour la société de conseil pour laquelle je travaille) nécessite des chiffres, et uniquement des chiffres - cela leur permet d'utiliser la même base de données, que l'utilisateur appelle (je ne l'ai jamais fait) ou utilise l'interface Web (je l'utilise uniquement). .
Cela étant dit, il est temps de changer mon mot de passe au bureau. Ils ont de telles restrictions que je pense qu’il faudra environ une demi-journée pour trouver un mot de passe acceptable pour le système: au moins 2 lettres majuscules, au moins 2 lettres minuscules, au moins 2 chiffres (qui ne peuvent pas être +/- 1 du mot de passe précédent), au moins 2 caractères non alphanumériques, ne peut pas correspondre aux 24 derniers mots de passe, ne peut contenir aucune chaîne (en avant ou en arrière) qui est un mot (3 lettres ou plus) en anglais ( aussi quelques autres langues que je n'ai pas l'autorisation de savoir). Je pense que la longueur minimale est de 10 à 11 caractères.
la source
Une des raisons pour limiter les caractères serait due à la manière dont le mot de passe est ensuite entré.
Plusieurs banques, par exemple, avec leurs sites Web Internet Banking, demandent des mots spécifiques à partir d'un mot de passe, et vous sélectionnez les caractères appropriés via une liste déroulante.
Ils font cela, vraisemblablement, de sorte que les enregistreurs de frappe ne puissent pas détecter la frappe, et donc connaître les [caractères de] votre mot de passe. Bien que je sache qu'il existe de nombreuses autres façons de contourner de telles mesures, par exemple la capture vidéo; il est toujours efficace contre les enregistreurs de frappe.
S'ils devaient autoriser tous les caractères, la longueur de la liste déroulante deviendrait encombrante et permettrait également une confusion entre des personnages similaires.
la source
Interdire les caractères spéciaux tels que tab serait valide. Vous pouvez vous connecter ou modifier votre mot de passe avec un caractère de tabulation en mode texte, mais vous ne pouvez pas l'utiliser dans une interface graphique ou un environnement Web. Un caractère de barre oblique inversée présentera également des problèmes multi-plateformes.
En fait, les mots de passe longs ne sont pas des mots de passe, mais des phrases secrètes. Votre utilisateur moyen ne se souvient pas de 2Z8d!% G # x mais il se souvient que «le nom de mon animal domestique est fido le chien». Un texte plus long est plus difficile à déchiffrer par la force brute et est beaucoup moins susceptible d’être écrit sur une note jointe à l’écran.
la source
Lorsque les gens tapent, ils font des erreurs, appelées "fautes de frappe". Normalement, les gens voient leurs erreurs et les corrigent. Pour la saisie du mot de passe, vous ne pouvez généralement pas voir ce que vous avez tapé et vous ne pouvez donc pas corriger vos fautes de frappe. Vous faites des erreurs sans vous en rendre compte, soumettez votre mot de passe, et il revient sous la forme "mot de passe invalide". Puis tu réessaye. Puis tu réessaye.
Vous pouvez le considérer comme "3 petites fautes de frappe mineures et vous ne pouvez pas vous distinguer d'une attaque par force brute". Comment les systèmes se défendent-ils contre les attaques par force brute? Une réponse explicite " Trop de tentatives, partez, vous ne pourrez pas vous connecter même si vous réussissez correctement "? Augmentation exponentielle des retards dans la saisie du mot de passe, ce qui entraîne des délais d'attente trop longs pour le navigateur, rendant impossible la tentative de nouvelle connexion? Les approches varient, mais il y a toujours une conséquence dans un système bien conçu.
Vous pouvez le considérer comme "3 petites fautes de frappe mineures et vous obtenez alors une sorte de déni de service".
Au fur et à mesure que la longueur du mot de passe augmente le risque de fautes de frappe (et donc le risque de refuser l'accès d'une personne autorisée) augmente. Toute erreur dépassant environ 20 caractères sera fréquemment mal saisie (à moins que l'utilisateur ne soit intelligent / paresseux et stocke son mot de passe quelque part afin de pouvoir "copier / coller" sans se soucier des fautes de frappe, comme un joli fichier de texte brut sur son bureau appelé " mots de passe " .txt ").
la source