Question:
Obliger les utilisateurs à utiliser un mot de passe fort est-il efficace?
Stephan Heijl
2015-01-02 04:30:26 UTC
view on stackexchange narkive permalink

Je conçois un service qui, entre autres, stocke des informations sensibles. Pour éviter tout accès non autorisé à ces informations, celles-ci seraient cryptées avec une clé dérivée de leur mot de passe (PBKDF2). Le mot de passe sera stocké dans un format BCrypt haché + salé dans la base de données. Elles ne sont jamais stockées en texte brut.

La nature des informations enregistrées est telle qu'un mot de passe fort est nécessaire. Certains sites Web forcent leurs utilisateurs à créer des mots de passe avec une grande entropie en appliquant des directives strictes en matière de caractères. Ces mots de passe complexes peuvent conduire à la réutilisation des mots de passe sur différents sites Web [1]. C'est une mauvaise chose ™ [2].

Je préférerais de loin que mes utilisateurs sélectionnent un mot de passe à la fois fort et peu susceptible d'être réutilisé ou déjà utilisé sur un autre service Web moins sécurisé. En tant que tel, je pensais utiliser un schéma de mot de passe de type XKCD [3] pour mes utilisateurs dans leur langue maternelle.

L'utilisateur serait présenté avec 4-5 mots différents d'une grande liste de mots avec plus de 6 caractères (pas de mots avec des caractères spéciaux inclus, juste ASCII). La boîte de dialogue de saisie du mot de passe serait formatée avec 4-5 champs au lieu du champ unique normal, pour renforcer le paradigme de la phrase de passe. Lors de l'enregistrement, le mot de passe peut être régénéré à volonté, pour donner à l'utilisateur la possibilité de sélectionner une phrase de passe composée de mots dont il se souviendra facilement. L'utilisateur ne peut pas entrer ses propres mots.

Je sais par expérience personnelle que CreeperHost [4] utilise déjà cette méthode, bien qu'avec un seul champ de mot de passe avec quatre mots anglais concaténés.

Mes questions sont les suivantes:

  • Cette méthode serait-elle plus sûre / efficace que de permettre aux utilisateurs de choisir la leur?
  • Quelqu'un a-t-il une expérience de la mise en œuvre d'un système similaire? Était-ce efficace?
  • La division du champ de mot de passe en plusieurs champs distincts est-elle inutile ou expose-t-elle trop d'informations?

Je recherche spécifiquement des réponses liées à l'application dans le monde réel de cette méthode spécifique, s'il y en a. Je connais les forces et faiblesses théoriques de cette méthode de génération de mots de passe.


  1. Le Web Tangled de la réutilisation des mots de passe - http: //www.jbonneau .com / doc / DBCBW14-NDSS-tangled_web.pdf
  2. Réutilisation du mot de passe - http://xkcd.com/792/
  3. Force du mot de passe - http://xkcd.com/936/
  4. Creeperhost - http://www.creeperhost.net/
Est-il judicieux de demander à vos utilisateurs d'utiliser un mot de passe de ce formulaire? Cela risque de gêner les utilisateurs qui utilisent des gestionnaires de mots de passe. (Si vous savez, d'une manière ou d'une autre, qu'aucun de vos utilisateurs n'utilisera jamais de gestionnaire de mots de passe en relation avec ce site, alors je suppose que ça va)
Vous soulevez un bon point, je ne suis pas familier avec la façon dont la plupart des gestionnaires de mots de passe gèrent cette situation. Une recherche rudimentaire montre que LastPass prend en charge cela, mais je ne suis pas sûr des autres.
Cette question est tellement pleine de victoires que j'ai finalement rejoint après un an + de tapage.
Tout comme un problème personnel, si j'avais le choix entre utiliser un mot de passe que j'ai créé ou un mot de passe créé pour moi, je choisirais le premier à chaque fois. D'autant plus que je trouve que les prétentions XKCD sont fausses et que les quatre mots ne sont pas faciles à retenir, et que je ne les ai certainement pas mémorisés aussi rapidement que prévu. Je sais également qu'il y a eu une conférence TED faisant référence à cela où la personne a indiqué que les tests montraient qu'ils n'étaient pas faciles à retenir. (Si je n'ai pas le choix, je vais probablement mettre le mot de passe dans un casier de mot de passe qui me permet de définir mon mot de passe. Je ferais donc mieux de pouvoir copier / coller rapidement.)
trlkly: L'utilisateur a son mot à dire dans ce schéma, car les phrases de passe peuvent être influencées dans une certaine mesure par une série de mots qui sont plus faciles à retenir en "faisant tourner la roue" jusqu'à ce qu'une phrase appropriée apparaisse. @cmdqueue a fait référence à une étude qui montre qu'ils sont à peu près aussi faciles à retenir. L'examen de cette étude montre que les phrases de passe les plus sécurisées (pp-large) sont perçues comme moins difficiles et moins gênantes lorsqu'elles sont comparées à un mot de passe équivalent à haute entropie (https://cups.cs.cmu.edu/soups/2012/proceedings). /a7_Shay.pdf)
Je déteste toujours quand les sites m'imposent d'utiliser un format de mot de passe spécifique, au final ce sont leurs données, c'est à eux de décider comment ils veulent les protéger.
@OndrejSvejdar Veuillez relire la question. Le but de la phrase de passe dans cette instance n'est pas principalement l'authentification. La phrase secrète est utilisée comme clé pour une fonction de dérivation de clé utilisée pour crypter les données personnelles. D'autres systèmes dont je ne parlerai pas dans cette question concernent l'authentification des utilisateurs. Le facteur le plus important dans cette question est que les données de l'utilisateur sont cryptées et que la clé ne doit pas être présente en texte clair à ma fin du service.
@StephanHeijl: J'espère que vous l'utilisez simplement pour crypter la vraie clé?
[** Publication XKCD obligatoire. **] (http://xkcd.com/936/)
S'il s'agissait d'un service "optionnel" (par exemple pas un service qui m'est imposé par ma banque, par exemple), je considérerais que toute tentative de me forcer à utiliser un mot de passe sélectionné par le fournisseur est probablement une indication de leur ignorance, et cela me motiverait presque certainement à acheter le service pour lequel j'envisageais votre site auprès d'un autre fournisseur.
Vous devez vous assurer d'encourager vos utilisateurs à choisir des mots de passe très forts tels que «bonne base de batterie de cheval» (oui, je viens de faire référence à xkcd), ce qui est difficile à découvrir pour les programmes de crack, au lieu du traditionnel «jetez un nombre et une majuscule". Oui, cela améliorera la sécurité et vous devez informer les utilisateurs que cela fonctionne réellement
En règle générale, oui. Il existe une tonne de script kiddies et d'autres hackers aléatoires qui peuvent vous cibler ou cibler votre client pour le plaisir. Ce n'est jamais bon lorsqu'une entreprise propriétaire du site Web doit publier un message expliquant qu'elle a été piratée ... et vous en faites partie.
Un avantage caché - vous pouvez être sûr qu'ils ne réutilisent pas un mot de passe.
Votre schéma m'empêcherait d'utiliser un mot de passe plus fort que celui que vous utilisez (par exemple, un mot de passe Lastpass généré par 20 caractères). Vous recevrez un e-mail fortement rédigé si j'étais l'un de vos utilisateurs.
@StephanHeijl: D'après ma propre expérience, forcer le personnel à choisir des mots de passe forts est le meilleur moyen d'obtenir plusieurs post-it dans le premier tiroir de leur bureau! Ou * (quand cela ne se produit pas) * envoyez un e-mail à l'administrateur système pour réinitialiser le mot de passe tous les jours.
Huit réponses:
Agent_L
2015-01-02 20:05:04 UTC
view on stackexchange narkive permalink

Autorisez tous les mots de passe. Soulignez simplement les conséquences.

Votre plan est étrange et étranger aux utilisateurs et je pense que beaucoup de gens préfèrent arrêter d'utiliser votre service plutôt que de se conformer. Au lieu de les laisser choisir leur propre mot de passe, vous les forcez à se souvenir de celui que vous avez choisi pour eux. C'est inacceptable pour la plupart des gens. Vous pensez que vous leur donnez le choix en "réessayez", mais la différence dans l'expérience utilisateur est à peu près la même que celle du guichet automatique par rapport au bandit manchot.

Gardez à l'esprit que le plus gros problème est le facteur humain . Ce que vous devez éviter en premier lieu, ce sont les mots de passe écrits sur un tableau blanc. Ces gars avaient un mot de passe très sécurisé. Et puis il a été diffusé à la télévision.

Si vous voulez vous assurer que personne à vos côtés ne pourra le déchiffrer, alors ce dont vous avez besoin, ce sont des procédures internes, pas une formation de singe utilisateurs. Peut-être un système où l'accès aux mots de passe salés est protégé par les mêmes limites de tentatives que le panneau de connexion de l'utilisateur. En outre, il n'est pas important de rendre impossible l'accès des travailleurs. Les commis des magasins ont un accès illimité aux caisses enregistreuses. Ce qui empêche le vol, c'est la conscience des conséquences inévitables. Utilisez l'enregistrement de session d'administration. Utilisez les procédures «minimum 2 personnes pour accéder». C'est ainsi que les banques procèdent, car des mots de passe utilisateur forts ne peuvent pas tout protéger.

Pensée supplémentaire: ** vous ** pensez que l'information est importante. Mais vous ne savez jamais ce que les utilisateurs y mettent. J'ai des comptes dans 6 banques, mais 5 d'entre elles n'ont jamais plus de quelques dizaines de dollars. Pourtant, ces banques m'obligent toujours à garder des centimes et des milliers de dollars.
Si les banques avaient des politiques de mot de passe par montant de dépôt, vous pourriez un jour retirer tout l'argent de votre compte de milliers et déposer sur votre compte en centimes. Ce serait dommage si des pirates non affiliés à vous franchissaient la sécurité du penny le même jour. Et ce serait une grande coïncidence si vous receviez des milliers de virements électroniques mystérieux le même jour - cela ne soulagerait en aucun cas la banque à un centime de rembourser vos milliers de dépôts. La protection par mot de passe concerne la protection de la banque, pas la vôtre.
@emory Je n'écrivais pas à propos de la banque analysant mon solde (lorsque vous configurez votre premier laissez-passer le solde de votre tout nouveau compte est évidemment de 0), j'écrivais que je suis le seul capable de décider du niveau de sécurité. La banque a déjà une bonne protection, car elle n'est pas responsable si je néglige la gestion de mon mot de passe. Mais oui, ils protègent leur image, le titre "Bank X a perdu mon argent" n'a jamais l'air bien même si "argent" signifie "0,12 $".
Ce. Même si j'aime la sécurité, ajouter de la gêne en plus de la sécurité n'équivaut pas à une meilleure sécurité
Le lien "ces gars" est cassé (il dit "ce site n'autorise pas les liens à chaud). Pouvez-vous trouver une autre source pour cela, ou un lien vers toute la page Web (afin que nous puissions cliquer sur leurs annonces et payer l'hébergement! ).
[Image avec mot de passe non masqué] (http://www.frostbox.com/wp-content/uploads/2013/04/tumblr_m99m0evw311rsyfz8o1_1280.jpg)
D'accord. Je devrais probablement l'écrire, ce que je ne fais pas normalement avec mes mots de passe. De plus, certains mots peuvent ne pas avoir de sens ou être étranges pour les anglophones non natifs…
Désolé pour le lien mort. Article complet (en polonais.): Http://niebezpiecznik.pl/post/wczoraj-w-wiadomosciach-tvp-ujawniono-hasla-do-systemow-ratowniczych/. Les informations d'identification permettaient d'accéder à RescueTrack, système international de gestion et d'envoi d'hélicoptères médicaux. Les personnes qui se sont connectées ont déclaré qu'elles pouvaient envoyer des messages texte aux équipages aériens. Il n'a pas été vérifié si un ordre d'expédition valide pouvait être émis de cette manière. L'émission télévisée a été enregistrée au LPR (Lotnicze Pogotowie Ratunkowe, service d'ambulance aérienne polonais).
JCx
2015-01-02 20:41:03 UTC
view on stackexchange narkive permalink

Les questions spécifiques:

Cette méthode serait-elle plus sûre / efficace que de permettre aux utilisateurs de choisir la leur?

Oui. Vous réduirez la réutilisation des mots de passe et supprimerez immédiatement les mots de passe très courants.

Quelqu'un at-il une expérience de la mise en œuvre d'un système similaire? Était-ce efficace?

J'ai vu beaucoup de schémas de mots de passe «alternatifs» dans le passé. La plupart ont simplement ajouté des problèmes de support et des complications sans améliorer considérablement la sécurité.

La division du champ du mot de passe en plusieurs champs distincts est-elle bénéfique ou expose-t-elle trop d'informations?

Je pense que vous avez déjà vaincu la base attaques automatisées sans connaissance simplement en étant différent. Cela laisse une attaque ciblée. Cependant, s'il y a une inscription publique disponible, l'attaquant peut découvrir que vous avez besoin de 5 mots ou autre. Je ne pense donc pas que vous fournissiez plus d'informations à l'attaquant en les divisant en champs.

De toute évidence, ne donnez pas de conseils sur le (s) mot (s) incorrect (s) si l'authentification échoue - cela nuira à la sécurité!

Plus de conseils

Il y a beaucoup d'autres bons conseils dans d'autres réponses sur la convivialité.

Si la sécurité et la convivialité sont importantes, envisagez peut-être quelque chose de mieux que les mots de passe. SMS peut-être?

Il est possible de se faufiler avec des mots de passe pendant des lustres sans pour autant gérer correctement les risques. Chevaux de Troie sur l'ordinateur des utilisateurs, réinitialisation de l'authentification via des comptes de messagerie qui sont piratés, hameçonnage ... il y a des choses qu'aucun dérangement avec des schémas de mots de passe et des contrôles sophistiqués ne résoudra *.

Si les données sont importantes, je ferais mieux qu'un mot de passe.

(Parfois, il vaut mieux générer simplement un mot de passe aléatoire pour l'utilisateur et lui demander de le stocker en toute sécurité dans un tiroir verrouillé. Cela dépend des menaces et des attaques qui vous inquiètent, et comment le système sera utilisé.)

* Il y a beaucoup à dire sur l'offre google de l'approche à deux facteurs basée sur le risque, où l'authentification à deux facteurs n'est déclenchée qu'occasionnellement. Il contrôle les coûts et apporte une grande amélioration de la sécurité. Mais je sous-traiterais cela à moins que vous n'ayez beaucoup de temps libre :)

Cela ressemble plus à la réponse que je recherche. Pour clarifier, l'authentification serait en effet effectuée avec un facteur supplémentaire, comme le SMS. Cette question était principalement liée au lien de cryptage des données-mot de passe et aux avantages ou obstacles supplémentaires liés à l'expérience utilisateur associés à l'exposition de la nature de la méthode de génération de mot de passe.
Stephan - voulez-vous dire que vous avez déjà un deuxième facteur, par exemple SMS, sur toutes les connexions de toute façon? Si c'est le cas, vous pouvez plutôt réduire la sécurité du mot de passe sans trop affecter le risque. Sauf si vous êtes dans un environnement à très haut risque.
Toutes les connexions sont effectuées avec un deuxième facteur. Cependant, en raison de la nature sensible des données stockées, je crains que la diminution de la sécurité du mot de passe (dont la clé de cryptage est dérivée) expose trop de risque si la base de données contenant les fichiers cryptés est saisie, que ce soit par des pirates informatiques ou intervention du gouvernement.
Ah - je vous ai. La clé cryptographique rend l'entropie du mot de passe un peu plus importante.
D'accord - je réfléchis à une mise à jour de la réponse. Êtes-vous préoccupé par une attaque locale contre les utilisateurs où leur maison est fouillée, ou simplement par une attaque électronique? Effectuez-vous le décryptage côté client ou côté serveur?
Le décryptage est effectué côté client, toutes les données sont transférées via HTTPS. Puisqu'il s'agit d'une application d'entreprise, mon intention est de me protéger contre les effractions dans un environnement de bureau ou les saisies de serveurs de mon côté.
Laissez-nous [continuer cette discussion dans le chat] (http://chat.stackexchange.com/rooms/19927/discussion-between-jcx-and-stephan-heijl).
La première affirmation est injustifiée et évite entièrement la question. De nombreux utilisateurs ont un schéma sécurisé, comme "agrafe de batterie de cheval correcte", qui ne répond pas à * vos * exigences stupides, ils doivent donc recommencer à utiliser "correctHorse4" à la place. Ou simplement "horse4abc" puisque vous avez également interdit le même personnage deux fois de suite (en vous regardant, USPS).
Bob Brown
2015-01-02 04:42:47 UTC
view on stackexchange narkive permalink

Vous devriez lire les Diceware. Vous pouvez obtenir 44 bits d'entropie avec quatre mots à partir d'une liste beaucoup plus petite. Si votre liste contient environ 2050 mots et que vous sélectionnez sans remplacement, chaque mot aura environ 11 bits d'entropie car log 2 (2048) = 11. Avec 5000 mots, vous pouvez obtenir 12 bits par mot. (log 2 (4096) = 12)

J'aime l'idée d'un lien «réessayer» sur lequel l'utilisateur peut cliquer jusqu'à ce qu'il lui soit présenté une combinaison dont il pense se souvenir.

Une chose dans votre question me dérange. Si les données sont chiffrées avec le mot de passe d'un utilisateur particulier, seul cet utilisateur pourra déchiffrer les données. Si vos données sont stockées par utilisateur, cela peut être acceptable. Notez que si un utilisateur oublie son mot de passe, les données sont toastées si le mot de passe est la clé cryptographique. Vous voudrez peut-être vraiment envisager une disposition asymétrique des touches à la lumière de cela.

Pour l'accès, ne séparez pas l'entrée en quatre champs. Cela donne à un attaquant des informations qu'il ne devrait pas avoir. Décidez simplement si les mots doivent être séparés par des espaces ou non et dites-le à vos utilisateurs.

Bien qu'il soit important de réaliser que l'utilisation du mot de passe comme clé signifie que seule une personne connaissant le mot de passe peut le déchiffrer (c'est-à-dire qu'aucune récupération de données n'est possible si l'utilisateur oublie son mot de passe), c'est très probablement une bonne chose, d'autant plus qu'un critère est "non un de notre côté peut le déchiffrer. " S'il est possible de récupérer vos données lorsque vous oubliez votre mot de passe (et toute clé de récupération qui vous a été fournie alors que vous connaissiez encore votre mot de passe), cela signifie que quelqu'un de son côté peut déchiffrer vos données, ce qui peut être mauvais.
Je suis tout à fait d'accord, sauf pour le dernier paragraphe. Cela ne donne pas vraiment à l'attaquant d'informations importantes qu'elle n'aurait pas autrement - non seulement le nombre de mots dans la phrase de passe n'est pas important (la longueur ne fait pas partie de l'entropie), mais il est connu et révélé à tout le monde. utilisateur potentiel, que l'attaquant peut facilement prétendre être. D'autre part, l'avantage est une très forte formation des utilisateurs - ce qui est cruellement nécessaire si vous voulez les pousser à s'habituer à une phrase de passe de quatre mots ...
C'est intentionnel, les données ne devraient pas être récupérables si la clé est perdue. C'est pourquoi je cherche des méthodes de génération de phrases de passe qui donnent des résultats facilement mémorisables. J'aime l'idée de Diceware, mais la langue maternelle de mes utilisateurs est principalement le néerlandais, donc je ne suis pas sûr que la liste de mots qu'ils proposent soit appropriée. pour séparer les champs; ne devrions-nous pas toujours supposer que la méthode de génération de mot de passe est connue de l'attaquant? Cela semble être une quantité insignifiante d'informations à exposer, tout en améliorant considérablement l'expérience utilisateur.
J'ai voté pour votre réponse, mais je cherchais des réponses spécifiquement liées à l'efficacité réelle de l'application de ce paradigme, pas seulement à la force théorique du mot de passe. Je vais clarifier cela dans ma question initiale.
@StephanHeijl: Vous pouvez utiliser le mécanisme de Dicewords sans utiliser de mots anglais. Quels sont les quelque 5 000 mots néerlandais de cinq lettres ou plus les plus courants?
OK ... J'ai été convaincu que les champs de mot de passe séparés sont "pour la plupart inoffensifs". J'ai abandonné principalement à cause du problème de m'assurer que l'utilisateur comprend ce qu'il faut utiliser pour un caractère séparateur.
Le mécanisme en lui-même n'est pas pertinent, la sélection des mots sera effectuée par un RNG suffisamment sécurisé. Bien sûr, il est utile de savoir que 5 000 mots de 4 à 6 caractères sont suffisamment entropiques.
Une petite étude https://cups.cs.cmu.edu/soups/2012/proceedings/a7_Shay.pdf couvre les aspects d'utilisabilité des mots de passe, y compris les données sur le sentiment, le rappel, la vitesse, le choix du dictionnaire, la longueur, l'efficacité et les tendances des utilisateurs si le Le système génère les phrases de passe. D'après ce que j'ai appris, la sécurité est plus efficace si elle est plus utilisable, mémorisée et non écrite. Les gens réutiliseront de toute façon les informations d'identification. Je n'ai pas assez d'expérience pour connaître BCrypt, mais j'ai vu des démos qui connaissaient le texte brut (en particulier les espaces, qui révèlent du texte) et sa position approximative devraient être évités.
C'est une excellente trouvaille, cmdqueue2. J'ai lu l'étude et bien qu'il y ait quelques limites à sa portée (ne pas pouvoir recevoir une nouvelle phrase de passe, entropie de 30 bits sur la phrase de passe.), Elle offre plus d'informations sur le problème. Si vous le souhaitez, vous pouvez reformuler cela en une réponse, car il s'agit d'une ressource importante dans cette question.
Personnellement, je pense que des champs séparés pourraient être pénibles si l'utilisateur utilisait une sorte de gestionnaire de mots de passe ... bien sûr, c'est peut-être correct.
`J'aime l'idée d'un" réessayer ", il faut mentionner que cela prive au moins deux bits d'entropie.
Craig
2015-01-02 18:15:28 UTC
view on stackexchange narkive permalink

Le problème que je vois avec cette approche est simplement sa nature non conventionnelle, qui réduira la probabilité que les gens l'utilisent même.

Personnellement, je devrais avoir une raison très convaincante pour utilisez le service afin de supporter cela, par opposition à la saisie de mot de passe traditionnelle. J'ai dit par le passé que je pense que les développeurs d'applications ont une responsabilité d'essayer de s'assurer que les utilisateurs utilisent des mots de passe forts. Pourtant; en fin de compte, c'est la responsabilité de l'utilisateur.

Considérez également que vous obligez l'utilisateur à utiliser une méthode particulière pour garantir l'entropie du mot de passe. L'approche XKCD est bonne, mais ce n'est pas la seule et il n'y a pas de preuve empirique absolue que c'est la meilleure, ni aucune assurance que si elle est la meilleure aujourd'hui, elle restera les six meilleurs mois à partir de Maintenant.

Pensez à l'utilisation de gestionnaires de mots de passe, qui peuvent générer des mots de passe très volumineux et complètement aléatoires et les saisir automatiquement pour l'utilisateur. Vous risqueriez de casser ces applications avec cette approche.

Pensez également à des choses comme l'article de grc.com password haystacks, qui prétend que ceci:

  D0g .....................  

... est un mot de passe plus fort que celui-ci:

  PrXyc.N (n4k77 # L! eVdAfp9  

... simplement parce qu'il y a un caractère supplémentaire, bien que l'entropie globale (aléatoire) soit assez faible, et cela il faut 95 fois plus de temps à un ordinateur pour deviner par force brute le mot de passe dont vous vous souviendrez le plus facilement.

Le problème est que les attaques par force brute ne sont réellement utilisées que jusqu'à une certaine longueur de mot de passe (6 à 8 caractères) à cause des dépenses informatiques ridicules à mesure que les mots de passe s'allongent. Mais même les mots de passe courts très complexes sont très vulnérables à la force brute. Les nouvelles attaques sont des attaques hybrides basées sur des modèles qui utilisent des mots de passe compromis comme modèles dans des mots de passe plus volumineux. Des GPU puissants rendent cette approche réalisable et, apparemment, elle est très efficace. Remplir simplement un mot de passe faible avec . ne semble pas être une bonne solution.

Voir également cet article, Les règles de complexité des mots de passe sont plus ennuyeuses, moins efficaces que les plus longs.

Ainsi, au moins des recherches récentes indiquent que le facteur le plus pertinent dans la force du mot de passe est la longueur du mot de passe, au moins en partie parce que les mots de passe avec beaucoup de complexité sont tout simplement trop la plupart des utilisateurs, même s'ils sont courts. L'approche XKCD permet de garantir la longueur du mot de passe en facilitant la mémorisation des mots de passe très longs, sans que ces mots de passe ne soient de simples modèles ou phrases bien connus. C'est (probablement) sa force ultime - juste la longueur des mots de passe résultants. Cela dit, je commence à me demander combien de temps «l'agrafe de batterie de cheval correcte» durera jusqu'à de nouvelles attaques basées sur des modèles hybrides.

Puisqu'il existe d'autres approches pour obtenir le même résultat, les utilisateurs celui-ci peut en fait rendre votre service plus difficile à utiliser sans un gain proportionné en matière de sécurité. De plus, si une faiblesse est décelée dans l'approche XKCD dans six mois, vous y êtes connecté et devez déployer des efforts considérables pour changer votre service.

Je conviens que l'approche est quelque peu non conventionnelle. Je ne peux penser qu'à deux services qui utilisent un mot de passe / une phrase forcée et non utilisateur. Je dois ajouter que le logiciel pour lequel cette solution est conçue est assez spécialisé. Les personnes à la recherche de ce produit le feraient avec la sécurité à l'esprit, mais ne seraient pas nécessairement des experts en sécurité. Bien que je convienne que la méthode des meules de mot de passe fonctionne pour la sélection de mot de passe personnel, elle se décomposerait lorsqu'elle était générée pour chaque utilisateur. Remplir un mot simple pour chaque utilisateur réduit la recherche à la phrase simple + le caractère * longueur de remplissage.
En ce qui concerne les faiblesses de sécurité trouvées dans un schéma de génération de mot de passe particulier: je pense que la même chose pourrait être faite pour n'importe quel schéma. L'approche est purement mathématique.
SilverlightFox
2015-01-02 18:18:00 UTC
view on stackexchange narkive permalink

Cela semble être un excellent moyen d'empêcher la réutilisation du mot de passe, même si vous pouvez pousser les utilisateurs hors de leur zone de confort, cela pourrait les amener à enregistrer le mot de passe dans un fichier texte afin qu'ils puissent s'en souvenir. Vous devez souligner que l'utilisateur doit se souvenir de son mot de passe ou utiliser un gestionnaire de mots de passe pour le stocker en toute sécurité (si cela est acceptable pour vous et votre système). Je voudrais également m'assurer que la solution à champs multiples fonctionne avec les gestionnaires de mots de passe courants, bien que je ne vois aucun autre problème avec la division des mots de cette façon.

En tant que fonctionnalité de gestionnaire de mots de passe avec plusieurs champs désignés comme mot de passe, cela peut être difficile Pour mettre en œuvre, je donnerais également aux utilisateurs la possibilité d'utiliser leurs propres mots de passe, mais vous devez indiquer que l'utilisateur ne doit utiliser que des séquences aléatoires générées de manière sécurisée, par exemple comme celles utilisées dans les générateurs de mots de passe inclus dans Keepass ou LastPass. Pour empêcher un utilisateur d'entrer simplement le même mot de passe qu'il utilise toujours, vous pouvez appliquer une restriction idiote juste dans le cas où il est entré par l'utilisateur pour vous assurer qu'il est réellement unique. Par exemple. 50 caractères minimum, en utilisant au moins 20 chiffres et il doit inclure des minuscules / majuscules et au moins un symbole. Cela rendra les utilisateurs experts heureux, tout en empêchant les mots de passe faibles des autres (bien que certains utilisateurs puissent compléter leurs mots de passe faibles avec 45 " 2" s et un "! ") . Vous pouvez essayer de détecter de tels cas, puis renforcer le message selon lequel cette option est à utiliser uniquement avec les générateurs de mots de passe, mais il y aurait des rendements décroissants en mettant autant d'efforts dans les cas extrêmes. Le meilleur choix serait d'essayer d'expliquer aux utilisateurs non experts que l'option de mots différents générés serait plus avantageuse.

Je conçois un service qui, entre autres, stocke des informations sensibles. Pour s'assurer que personne de notre côté de ne puisse récupérer ces informations, celles-ci seraient cryptées avec une clé dérivée de leur mot de passe (PBKDF2). Le mot de passe sera stocké dans un format BCrypt haché + salé dans la base de données. Il n'est jamais stocké en texte brut.

Pour qu'un chiffrement basé sur un mot de passe soit sécurisé contre les attaques hors ligne (par exemple les personnes de votre côté, ou si l'accès a été obtenu par un attaquant d'une autre manière ), vous auriez besoin d'une entropie de 128 bits ou plus, ce qui signifie que vous auriez besoin de dix mots aléatoires pour cela au lieu de quatre ou cinq. Bien que, comme vous utilisez PBKDF2 pour renforcer la clé, cela peut vous donner environ 16 bits d'entropie supplémentaire (en fonction des itérations ), donc seulement neuf mots sont nécessaires. Mon objectif est de vous assurer que vous faites le calcul pour vous assurer que votre cryptage est adéquat.

Cela rendrait encore plus difficile pour l'utilisateur moyen de se souvenir de la phrase de passe, et s'il utilisait un gestionnaire de mots de passe, vous pouvez optez également pour l'option 50 caractères et laissez-les se connecter de cette façon. Comme d'autres l'ont souligné, il semble que cela pourrait potentiellement générer de nombreuses demandes de support et que développer une seule partie d'un système d'authentification et de gestion de session sécurisé demande beaucoup d'efforts.

Accueillir les utilisateurs de cas de pointe qui gardent mentalement une trace des mots de passe d'entropie de plus de 40 bits semble être une perte de temps par rapport à la sécurité sacrifiée en autorisant des mots de passe personnalisés, même lorsque des normes absurdes d'entropie potentielle sont nécessaires. Je vais examiner les suggestions du gestionnaire de mots de passe, car elles sont de plus en plus populaires et ont le potentiel de fournir des clés plus sécurisées.
@StephanHeijl: D'accord. J'ai ajouté cette option là-dedans, car la mise en œuvre de l'option à cinq champs pour la rendre compatible avec plusieurs gestionnaires de mots de passe basés sur un navigateur peut être difficile. Cela renforce également le message "utiliser un gestionnaire de mots de passe" car je pense que de nombreux utilisateurs enregistreront simplement les cinq mots dans un fichier texte en ne donnant que la première option.
@StephanHeijl Le seul facteur d'entropie de mot de passe réellement pertinent est la longueur du mot de passe. Exigez un mot de passe de 25 caractères, ne vous inquiétez pas des autres facteurs de «complexité» car ils ne signifient tout simplement pas grand-chose et vous êtes sur la bonne voie vers une solution solide.
@StephanHeijl de nombreux utilisateurs écriront simplement les 5 mots sur un post-it et le colleront sur leur moniteur ou sous leur clavier. Croyez-moi - c'est ce qui se passe. ;-)
D'accord, les utilisateurs qui n'ont pas encore de gestionnaire de mots de passe seront confrontés au choix entre écrire le mot de passe de manière non sécurisée (beaucoup le prendront), essayer de s'en souvenir puis l'oublier et utiliser la réinitialisation du mot de passe (beaucoup le prendront accidentellement au moins une fois), ou en installant des logiciels qu'ils ne comprennent pas pour s'en souvenir pour eux (presque aucun ne le fera). Alors décidez si ce scénario est meilleur ou pire qu'eux en utilisant et ré-utilisant leurs propres mots de passe faibles et c'est parti. N'imaginez pas qu'ils suivront des instructions simples comme «mémoriser cette phrase».
Hagen von Eitzen
2015-01-03 18:06:15 UTC
view on stackexchange narkive permalink

Votre méthode est intéressante, mais je pense que je ne l'aime pas.

  1. Vous autorisez les utilisateurs à "respin the wheel" jusqu'à ce qu'ils trouvent un mot de passe qui leur plaît. Si vous faisiez cela avec des nombres à quatre chiffres, j'ai peur que certaines personnes puissent tourner encore et encore jusqu'à ce qu'elles se retrouvent avec 1234 ou 0000. Cela rendrait l'attaquant heureux.

  2. Même s'il existe de nombreuses combinaisons, un attaquant peut se limiter à essayer des mots de passe uniquement de la structure que vous avez prescrite (et en fait, il peut utiliser votre service pour déterminer la liste de mots que vous utilisez).

August Detlefsen
2015-01-03 04:44:35 UTC
view on stackexchange narkive permalink

Avant d'essayer de mettre en œuvre une politique de mot de passe, vous devriez vraiment regarder cette excellente présentation de Rick Redman à AppSecUSA 2014 intitulée "Vos exigences en matière de complexité de mot de passe sont sans valeur":

https://www.youtube .com / watch? v = zUM7i8fsf0g

Il discute du piratage des mots de passe en utilisant les modèles similaires que tous les humains utilisent pour créer des mots de passe.

Malachi
2015-01-03 03:23:16 UTC
view on stackexchange narkive permalink

L'utilisateur serait présenté avec 4-5 mots différents d'une grande liste de mots avec plus de 6 caractères (pas de mots avec des caractères spéciaux inclus, juste ASCII). La boîte de dialogue de saisie du mot de passe serait formatée avec 4-5 champs au lieu du champ unique normal, pour renforcer le paradigme de la phrase de passe. Lors de l'enregistrement, le mot de passe peut être régénéré à volonté, pour donner à l'utilisateur la possibilité de sélectionner une phrase secrète composée de mots dont il se souviendra facilement. L'utilisateur ne peut pas saisir ses propres mots.

Cela va être un problème.

Cela signifie que vous devez avoir une liste des mots en cours utilisé dans la phrase de mot de passe, et qu'il n'y a aucun écart par rapport à cette liste.

Si un hacker est capable d'obtenir la liste d'une manière ou d'une autre, que ce soit à partir de tentatives de force brute, de piratage social ou de toute autre manière, alors il a la liste des mots et il est beaucoup plus facile pour eux de comprendre le mot de passe.

Si vous faites plutôt en sorte qu'un utilisateur puisse entrer ses propres mots et autoriser des chiffres et / ou des caractères spéciaux, la phrase de mot de passe sera beaucoup plus sécurisée et vous les empêcherez toujours d'utiliser le même mot de passe que { partout ailleurs } car vous forcez toujours 4 à 5 mots pour la phrase de mot de passe.

Deux choses (dont certaines ont déjà été mentionnées)

  1. Assurez-vous que les mots ne se répètent pas plus d'une fois
  2. Ne pas autoriser répéter un mot plusieurs fois ( pass , word , pass , word )
  3. N'utilisez pas le mot de passe comme clé pour crypter les données
    • C'est une très mauvaise idée, surtout si l'utilisateur oublie son mot de passe et a besoin d'une réinitialisation de mot de passe.
  4. N'utilisez pas de schéma de mot de passe
    • Cela laisse des indices à un pirate pour éliminer les mots et les phrases, réduisant ainsi le champ.


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