Presque tous les services Web que j'imagine permettent à l'utilisateur de choisir le mot de passe. Pourquoi est-ce? Le système n'a-t-il pas pu choisir un meilleur mot de passe? Ce ne doit pas être un désordre compliqué; voir cette réponse . Les utilisateurs trouvent-ils simplement leurs propres choix plus pratiques? Lors de la sélection du mot de passe de l'utilisateur, vous connaissez l'entropie, au lieu de placer des restrictions qui peuvent les empêcher d'utiliser un schéma à faible entropie.
Pourquoi laissons-nous l'utilisateur choisir le mot de passe?
Pourquoi, en effet?
Permettez-moi d'ignorer cette question pendant un moment et de répondre à votre question implicite: devrions-nous?
Autrement dit, devrions-nous continuer à demander aux utilisateurs de créer leur propre mot de passe, qui est souvent faible, au lieu de simplement demander au système de générer un mot de passe fort pour eux?
Eh bien, je suis d'avis controversé qu'il y a un compromis assez solide ici - avoir un mot de passe sécurisé, et SAVOIR à quel point il est sécurisé (comme vous le faites remarquer), d'une part, et de l'autre côté, l'utilisateur est sentiment de sécurité. "Utilisabilité", dans une certaine mesure.
Je pense qu'il y a plusieurs aspects à ce sentiment de sécurité: certains utilisateurs voudraient s'assurer qu'ils ont eux-mêmes un mot de passe fort (par exemple via un gestionnaire de mots de passe ou des logiciels de dés); certains utilisateurs souhaiteraient sélectionner un mot de passe simple; et certains utilisateurs souhaitent utiliser le même mot de passe partout. Et oui, de nombreux utilisateurs expliquent simplement attendez-vous pour pouvoir définir leur mot de passe, pour quelque raison que ce soit - donc en plus de toute cause spécifique, vous devrez toujours mener la bataille de la rééducation, qui est loin de facile.
De plus, n'oubliez pas qu'une fois que vous avez obtenu un bon mot de passe fort pour l'utilisateur, l'utilisateur (souvent non technique) doit encore savoir quoi en faire - même les phrases de passe deviennent difficiles à retenir après la première douzaine, ou si vous ne l'utilisez que tous les 6 mois ... L'utilisateur non technique le sauvegardera probablement dans un document Word sur son bureau ou dans son e-mail. (Et bien sûr, écrivez le mot de passe du système d'exploitation sur une note collante attachée à l'écran).
Maintenant, ne minimisez pas ces raisons, ou ces raisons d'utiliser des mots de passe faibles - nous, l'industrie de la sécurité, avons créé ce scénario pour les gens simples au fil des ans. Mais cela se résume vraiment à: à quel point avez-vous besoin que votre site soit sécurisé? Quel degré de risque l'utilisateur peut-il décider de prendre sur lui-même et quelle part de ce risque système devrait être retiré des mains de l'utilisateur?.
Donc, en fin de compte: Oui, je pense que la plupart des sites qui ont des exigences de sécurité non négligeables devraient offrir génération de mot de passe/phrase de passe. Selon le profil et l'architecture, vous pouvez proposer 3 options lors de l'enregistrement d'un compte (ou changement de mot de passe, etc ...) - assurez-vous de n'afficher le mot de passe qu'après avoir averti l'utilisateur de ne pas surfer sur l'épaule:
En fait, c'est ce que je recommande depuis un certain temps maintenant (variantes dépendantes des exigences spécifiques ...).
Pour en revenir à votre question initiale, pourquoi ne fait-on pas ce qui précède?
Je devinerais une combinaison de systèmes hérités et de mauvaises habitudes; mauvaise éducation (l'écrasante majorité des sites ont toujours des politiques et des recommandations de mot de passe BAD); et peut-être simplement un manque de sensibilisation à une meilleure solution.
Oui, c'est pourquoi les mots de passe sont nuls . :-)
Obtenir le mot de passe de l'utilisateur
Les seules fois où j'ai vu des systèmes qui définissent le mot de passe de l'utilisateur, il est envoyé à l'utilisateur par e-mail (évidemment en texte clair), ce qui est évidemment une mauvaise idée [*] (et SMS, Mail, etc. ne sont pas beaucoup mieux ).
Cela laisserait donc l'affichage du mot de passe lors de la création du compte (ce qui pourrait également être une mauvaise idée en raison de la navigation sur les épaules). Je suppose que cela conduirait à beaucoup d'utilisateurs qui l'ignoreraient ou ne réaliseraient pas que c'est important. Les utilisateurs sont habitués à mémoriser/noter/stocker les mots de passe lorsqu'ils les créent eux-mêmes, mais ils ne sont pas habitués à lire une page après avoir créé un compte; beaucoup l'ignoreraient très probablement.
[*] car toute personne ayant accès au compte de messagerie des utilisateurs (force brute, utilisateur a oublié de se déconnecter, etc.) n'y aura pas accès. Si un attaquant utilise la réinitialisation du mot de passe pour y accéder, un utilisateur le remarquerait au moins.
Faire en sorte que l'utilisateur se souvienne du mot de passe
Les utilisateurs doivent connaître leurs mots de passe. En règle générale, ils ont quelques options pour cela (mémoire, écriture ou stockage dans un gestionnaire de fichiers ou de mots de passe). L'un des principaux (la mémoire) ne serait pas pratique avec votre approche [*], ce qui, je suppose, est la principale raison pour laquelle les sites Web ne génèrent pas de mots de passe pour les utilisateurs.
[*] même avec des mots de passe générés faciles à mémoriser, les utilisateurs auront encore plus de mal à s'en souvenir que les mots de passe qu'ils ont eux-mêmes choisis.
Expérience utilisateur
La sécurité n'est pas l'activité principale de la plupart des services Web. Il est souvent plus important que les utilisateurs soient satisfaits, et de nombreux utilisateurs ne seront pas très heureux s'ils ne peuvent pas choisir leurs propres mots de passe (car ils ne veulent pas se souvenir des mots de passe générés, ils ne veulent pas les écrire, et ils le font aussi ne pas vouloir utiliser un gestionnaire de mots de passe). Les utilisateurs veulent simplement utiliser un service, et tout ce qui rend cela plus compliqué peut potentiellement conduire un pourcentage de personnes à utiliser un service concurrent.
Conclusion
Les mots de passe sont toujours un compromis entre l'utilisabilité et la sécurité, et le fait de ne pas laisser les utilisateurs choisir des mots de passe réduit trop l'utilisabilité d'un service pour la plupart d'entre eux (et en raison des problèmes liés à l'obtention du mot de passe généré par l'utilisateur, il pourrait même ne pas ajouter tout autant de sécurité).
Les organisations veulent que les utilisateurs soient responsables.
Si l'utilisateur a choisi le mot de passe, il peut être blâmé d'avoir choisi un mauvais.
Malheureusement, dans le monde réel, les organisations peuvent avoir à se préoccuper davantage de sembler assumer une partie de la responsabilité des intrusions que de s'assurer qu'elles ne peuvent pas se produire.
Les utilisateurs veulent choisir quelque chose dont ils peuvent se souvenir
De nombreux utilisateurs n'écriront pas leurs mots de passe (en mettant de côté si c'est une bonne idée ou non). Ils préfèrent choisir quelque chose dont ils pensent pouvoir se souvenir. (Ceci est particulièrement important pour les milliers de sites qui ne devraient pas avoir besoin d'un mot de passe mais obliger les utilisateurs à en choisir un).
Un répondant a touché la bonne réponse, mais ne l'a pas suffisamment développée, alors je vais le faire.
Vous posez la question d'un point de vue informatique ou informatique. Mais pourquoi cela existe-t-il? Pour servir le client. Permettez-moi de répéter ceci: Le client n'est pas là pour vous servir, vous êtes là pour faire ce qu'il a besoin de vous.
Donc, avec cela à l'esprit, revenons à la question: pourquoi autorisons-nous toujours les clients à choisir leurs propres mots de passe? Pourquoi ne définissons-nous pas de mots de passe pour les clients?
Parce que si nous imposons des mots de passe aux clients, que pensez-vous qu'ils vont faire? Nous leur avons imposé quelque chose d'immémorable qu'ils doivent savoir plus tard. Je garantis qu'ils vont récupérer un Post-It et noter ce mot de passe.
Tu as échoué. Les mots de passe écrits sur papier sont une défaillance de sécurité. Vous ne voulez jamais que cela se produise. Et avant de blâmer le client dans ce cas, vous êtes ceux qui l'ont forcé à utiliser un mot de passe qu'il n'a pas réussi à créer. Ils n'avaient aucune chance de le rendre mémorable. Vous leur avez dit "Mémorisez 'F82 $ fVq9' et ne l'écrivez pas." En tant que client, ma première réaction serait "Va te faire foutre". Les entreprises n'ont pas le droit de dire aux clients quoi faire. Les clients trouveront des moyens de se rebeller, notamment en écrivant vos mots de passe aléatoires. Ne combattez pas la nature humaine. Vous. Volonté. Perdre.
C'est pourquoi nous laissons les clients choisir des mots de passe. Si votre site vaut le coup, il fait comme la plupart des sites aujourd'hui, il vérifie la force du mot de passe choisi. Il garantit que le mot de passe comporte 8 caractères, comporte deux chiffres, un caractère majuscule et un symbole.
Et vous avez toujours échoué votre objectif d'origine, car les ordinateurs d'aujourd'hui peuvent forcer les mots de passe à 8 caractères en quelques secondes. Je dis juste.
Vous voulez une véritable sécurité par mot de passe que le client choisit et où vous êtes également satisfait de la force? C'est parti: https://xkcd.com/936/
Pensez-y de cette façon, si vous choisissez le mot de passe de l'utilisateur pour lui, il l'oubliera et devra utiliser des systèmes de réinitialisation de mot de passe.
`` J'ai oublié mon mot de passe '' est généralement moins sûr que le mot de passe, donc rendre le mot de passe plus sûr, mais provoquer plus de réinitialisations de mot de passe rend l'ensemble du système moins sûr car il serait plus difficile de détecter les tentatives frauduleuses d'oubli de mon mot de passe.
Edit: Je suppose que vous ne travaillez pas pour une banque ou un silo d'armes nucléaires. Si vous le faites, veuillez ignorer mes conseils.
Je ne choisis pas mes propres mots de passe. J'utilise un gestionnaire de mots de passe qui génère des mots de passe aléatoires pour moi.
Cependant, la plupart des sites Web sont basés sur l'idée que les utilisateurs mémoriseront leurs mots de passe. Il est beaucoup plus facile pour un utilisateur de mémoriser un mot de passe qu'il a lui-même choisi, plutôt que celui qui lui a été attribué. Dans la pratique également, les utilisateurs utilisent généralement le même mot de passe sur de nombreux sites, et bien que les petits caractères leur disent de ne pas le faire, le processus d'inscription ne peut pas les arrêter.
Je pense fortement que le modèle "mémorisez vos mots de passe" est défectueux, et un gestionnaire de mots de passe est un meilleur choix pour à peu près tout le monde. Mais ce n'est pas la réalité; Je n'ai pas de chiffres, mais même parmi mes amis technophiles, utiliser un gestionnaire de mots de passe pour tout est rare.
Bien que cette question ait déjà un milliard de réponses, des propositions très récentes pour les navigateurs méritent de mentionner une autre possibilité. Oui, la solution de mot de passe actuelle est nulle. Cependant, la réponse n'est pas de mieux faire les mots de passe. La réponse est d'abandonner les mots de passe. Une nouvelle proposition est sortie du W3C et de Fido pour pousser pour le support natif du navigateur de l'authentification des utilisateurs externes - clés matérielles, biométrie, etc. Voici quelques articles:
https://techcrunch.com/2018/04/10/fido-alliance-and-w3c-have-a-plan-to-kill-the-password/amp/https : //fidoalliance.org/fido-alliance-and-w3c-achieve-major-standards-milestone-in-global-effort-towards-simpler-stronger-authentication-on-the-web/
De toute évidence, cela est loin d'être courant. Il convient également de mentionner qu'il faudra beaucoup de temps (si jamais) avant que les options de connexion comme celles-ci remplacent complètement les mots de passe. Les mots de passe resteront longtemps, très longtemps. Cependant, si je construisais un système qui nécessitait une sécurité utilisateur de premier ordre, je ne prendrais pas la peine de fournir une autre option de génération de mot de passe. Je prendrais simplement en charge les meilleures pratiques actuelles en matière de mots de passe, et je fournirais une prise en charge de schémas d'authentification alternatifs tels que ceux mentionnés ci-dessus dès que la technologie est réalisable.
Dans de nombreuses situations, l'utilisateur est censé être son propre chien de garde de sécurité car l'utilisateur du système n'est pas une menace pour le système. Les menaces qui pèsent sur le système sont les administrateurs et les opérateurs de niveau employé qui, en raison de leur poste, ont une exposition et des autorisations/droits élevés dans le système.
Sans un système sérieusement défectueux, James Random Person ne pourra pas générer et ajouter à son compte 4 millions de dollars en bits et octets, tout seul. Lui, ou quelqu'un agissant comme lui, ne peut que nuire vraiment à son propre compte. La vraie menace vient de ceux qui ont des privilèges/droits élevés, qui sont à l'intérieur. Si James Random Person a un mot de passe "xxxx22" et que son compte est compromis, c'est à lui, pas à vous.
Oui, les mots de passe/phrases de passe sécurisés sont une excellente idée. Mais dès que vous commencez à forcer les utilisateurs à les utiliser, les utilisateurs seront contrariés et les utilisateurs partiront.
D'autres personnes l'ont déjà mentionné, mais je pense qu'un utilisateur est censé avoir le contrôle de la sécurité de son compte.
Cela étant dit, Je suis d'accord que de nombreux mots de passe ne sont pas très forts et devraient certainement être vérifiés par un côté client (donc nous n'envoyons pas de mots de passe bruts via le réseau) vérificateur de la complexité, et si le mot de passe n'est pas suffisamment élevé, nous demandons à l'utilisateur de créer un mot de passe plus fort.
Même si le mot de passe a une modification requise , l'utilisateur propose toujours la modification , et comme vous l'avez toujours entendu à l'école, "si vous écrivez-le, vous ne l'oublierez pas ", et je pense qu'il en va de même dans ce cas de création de mots de passe.
Hors sujet, mais je recommande vivement 1Password pour les utilisateurs qui ont du mal à se souvenir des mots de passe.
Lors de la sélection du mot de passe pour l'utilisateur, vous connaissez l'entropie, au lieu de placer certaines restrictions qui peuvent les empêcher d'utiliser un schéma à faible entropie
Afin d'avoir le meilleur des deux mondes, vous pouvez également calculer l'entropie (ou tout autre mécanisme que vous jugez approprié) pendant qu'ils tapent le mot de passe choisi. C'est le mécanisme utilisé sur de nombreuses pages d'inscription:
Cette méthode présente plusieurs avantages (l'utilisateur choisit son mot de passe, il est conscient qu'il s'agit d'un "bon" ou d'un "mauvais", ...).
Assurez-vous simplement que votre philosophie de ce qui constitue un bon et un mauvais mot de passe est logique et que votre mise en œuvre est conviviale pour les gestionnaires de mots de passe (je déteste simplement ces sites qui cassent Lastpass au nom de Dieu sait quoi)
Ok les mots de passe sont nulles. En fait, j'ai trouvé plus de preuves d'échec précoce des mots de passe que des systèmes de mots de passe bien conçus en regardant les mots de passe comme méthode de contrôle d'accès avant les ordinateurs. Il y a malheureusement trois méthodes que j'ai vues pour "résoudre" le problème.
analyse des risques liés aux coûts: décidez que le risque est faible et que le coût est élevé, alors ne faites rien (il y a beaucoup de réponses qui argumentent de ce point de vue sur cette question).
de meilleurs mots de passe: au cœur de votre question, vous cherchez un moyen de le faire. Malheureusement, cela est difficile et coûteux (coût d'opportunité au minimum). Par exemple, j'ai fait un effort pendant mon temps libre sur une période de plusieurs mois pour configurer un générateur de mot de passe intégré à l'expiration du mot de passe de connexion de mon ordinateur à l'aide de pam. Je n'ai fait aucun progrès significatif et les composants de base ont été supprimés de ma distribution de bogues choisie.
autre chose que des mots de passe: j'ai fait un effort pour configurer la connexion par carte à puce sur mon ordinateur avant de la recommander à mon patron. Je n'ai trouvé personne pour m'en vendre un à tester. J'espère que cela a changé l'année dernière, mais la dernière fois que j'ai vérifié, ils étaient moins disponibles qu'auparavant aux États-Unis.
Je trouve cela déprimant.