Question:
Est-il acceptable d'incrémenter uniquement un nombre lors du changement d'un mot de passe?
user21820
2016-05-12 14:37:10 UTC
view on stackexchange narkive permalink

Remarque: je ne demande pas si ce schéma de mot de passe est le meilleur ou non (bien sûr que ce n'est pas le cas); Je pose des questions sur sa sécurité théorique ou pratique par rapport au schéma de mot de passe optimal basé sur les algorithmes couramment utilisés dans l'authentification et le cryptage. Comme je l'ai déjà dit dans ma question, mathématiquement, ce schéma (tel que je l'ai défini ici) est aussi sûr que ce que les gens sont invités à faire (mais rarement; bien que non pertinent ici), mais je ne sais pas s'il y a des aspects de l'authentification ou du cryptage qui invalident l'analyse mathématique basée uniquement sur l'entropie.

Eh bien, j'ai eu cette pensée intéressante. Étant donné que les systèmes protégés par mot de passe exigent souvent que les utilisateurs modifient fréquemment leur mot de passe, de nombreuses personnes incrémentent simplement un compteur ajouté à un préfixe, tel que:

awefjio; 1

awefjio; 2

...

Je me demande si l'utilisation d'une telle famille de mots de passe est aussi sûre que de choisir un nouveau mot de passe complètement aléatoire à chaque fois, du moment que le préfixe est uniformément choisi au hasard et tant que chaque nouveau mot de passe aléatoire plus environ 10 bits. J'ai ignoré les bits supplémentaires du compteur car cela pourrait être devinable dans une petite marge d'erreur compte tenu de la fréquence à laquelle les utilisateurs doivent changer leur mot de passe. Mathématiquement, ce schéma de mot de passe est assez bon car les 10 bits supplémentaires permettent à l'attaquant d'essayer 1024 fois plus longtemps pour déchiffrer le mot de passe que le mot de passe complètement aléatoire, en supposant que l'on ne change pas de mot de passe plus de 1024 fois. (Ici, je suppose que l'attaquant a en quelque sorte un hachage du mot de passe, y compris tout sel nécessaire.)

Maintenant, je connais un inconvénient évident à cela, qui est qu'un attaquant qui d'une manière ou d'une autre se saisit du courant mot de passe connaîtra tous les mots de passe précédents, mais cela semble totalement hors de propos dans la plupart des situations pratiques, où une fois connecté, l'utilisateur a un accès complet à son compte et n'a jamais besoin des anciens mots de passe.

D'où ma question; y a-t-il une raison concrète pour laquelle les utilisateurs ne devraient pas utiliser ce schéma pour changer les mots de passe? Je suppose que si la réponse est positive, cela dépendra des algorithmes d'authentification ou de chiffrement impliqués eux-mêmes, auquel cas je Je peux limiter la question aux algorithmes les plus couramment utilisés.

Pour être clair, je pose uniquement des questions sur la situation où:

  1. Les utilisateurs n'ont pas d'autre choix que de changer leurs mots de passe à une fréquence fixe, et n'ont pas la possibilité d'utiliser un gestionnaire de mots de passe (comme sur un ordinateur de travail). Ils doivent donc décider d'un régime. Cette question est de savoir si un schéma particulier est meilleur qu'un autre.

  2. Choisissez une constante fixe n. J'ai en tête n ≥ 64 au minimum, si cela compte.

    a. Le premier schéma consiste à choisir une nouvelle chaîne aléatoire indépendante avec une entropie de n bits à chaque fois que l'on a besoin de changer le mot de passe.

    b. Le deuxième schéma consiste à choisir une chaîne aléatoire fixe avec une entropie de (n + 10) bits et à ajouter un compteur qui est incrémenté chaque fois que l'on a besoin de changer le mot de passe.

La question est de savoir si (b) est au moins aussi sûr que (a) pour les types courants de systèmes protégés par mot de passe.

https://www.cesg.gov.uk/articles/problems-forcing-regular-password-expiry
Les commentaires ne sont pas destinés à une discussion approfondie;cette conversation a été [déplacée vers le chat] (http://chat.stackexchange.com/rooms/39729/discussion-on-question-by-user21820-is-it-acceptable-practice-to-only-increment).
C'est l'une des raisons pour lesquelles certains considèrent que les mots de passe expirant fréquemment sont globalement ** moins ** sécurisés.La seule façon dont un utilisateur peut raisonnablement être en mesure de se souvenir du mot de passe lorsqu'il doit le changer tous les trois mois, par exemple, est d'utiliser un simple incrément ou de le noter, les deux étant sans doute pires qu'une expiration moins fréquente (c'est-à-dire:une fois par an).
Douze réponses:
Sjoerd
2016-05-12 14:45:35 UTC
view on stackexchange narkive permalink

Si un attaquant a découvert votre mot de passe, il peut accéder au système jusqu'à ce que vous changiez le mot de passe. Changer les mots de passe empêche souvent les attaquants qui ont déjà votre mot de passe d'avoir un accès indéfini.

Maintenant, si votre mot de passe est secret-may16 et que l'attaquant est verrouillé lorsque vous changez votre mot de passe , il va certainement essayer secret-june16 comme mot de passe. Donc, changer le mot de passe de manière prévisible n'est pas sûr.

D'accord, c'est un point que je n'ai pas considéré.Mais seuls les attaquants stupides compteraient pour entrer via le mot de passe.Une fois dans la première fois, l'attaquant ** aurait dû ** planter un cheval de Troie.
@user21820 Dépend du type de mot de passe.S'il s'agit d'un mot de passe pour un service Web, comment pourriez-vous planter un cheval de Troie?
@Anders: S'il s'agit d'un service Web, il est probable que l'attaquant aurait dû immédiatement faire ce qu'il voulait.Mais j'accorde que vous avez raison, car certains ** bons ** services Web (comme Gmail) gèleront partiellement votre compte si vous le signalez comme piraté, en attente de vérification d'identité, donc l'attaquant doit réfléchir à deux fois avant de changerle mot de passe.
@Anders: Mais cela dit, personnellement, je considère déjà une violation comme le `` pire des cas '' ...
@user21820 Une fois que l'attaquant est entré, il essaiera d'installer un cheval de Troie (ou un autre malware) pour s'assurer une présence persistante.Pour entrer dans la première fois, ils peuvent essayer d'utiliser des schémas de phishing pour obtenir des mots de passe.Si le mot de passe a expiré, l'attaquant peut essayer de deviner le nouveau mot de passe en incrémentant le nombre.
-1
@user21820: il ne s'agit pas seulement de personnes qui ont votre mot de passe clair avant de le changer.Il s'agit également de personnes qui obtiennent votre mot de passe haché salé et tentent de le déchiffrer.Cela leur prendra peut-être plus de temps pour le faire que pour changer votre mot de passe, mais même si c'est le cas, et que votre mot de passe est basé de manière prévisible sur votre ancien mot de passe, ils pourraient alors trouver votre nouveau mot de passe à partir de celui qui (au momentils l'ont obtenu) était trop vieux pour être utilisé.
Ainsi, un nouveau mot de n bits à chaque fois est préférable par rapport à ce scénario qu'un mot de n + 10 bits réutilisé avec un compteur.Bien que, bien sûr, si +10 se trouve être la différence entre un n qui est stupide petit et tombe en force brute, et un n + 10 qui résiste bien, alors le deuxième schéma l'emportera car ce scénario est basé sur le fait que quelqu'un obtiennevotre ancien mot de passe après le point où il leur serait directement utile.Les mots de passe qui fuient peuvent * parfois * rester un certain temps avant d'être utilisés, quelle que soit la façon dont ils ont été acquis.
@SteveJessop: Assez juste.Bien que j'aie supposé que le mot de passe haché salé devrait être ** assuré ** incassable en utilisant une fonction de hachage cryptographique et des longueurs de sel et de hachage de 1024 bits, ce qui rendrait ce point inutile, mais comme vous le dites ** si ** lemot de passe a été divulgué d'une manière ou d'une autre ** alors ** un schéma est clairement meilleur que l'autre.
@user21820: si n est par exemple 10, alors le mot de passe haché salé est craquable indépendamment de la quantité de sel ou de l'algorithme de hachage que vous utilisez, à condition que le pirate connaisse le sel et l'algorithme (qui, au moment où ils ont volé un fichier de mot de passe,ils devraient être supposés le faire) ;-) D'un autre côté, si n est égal à 128, ajouter 10 ou non ne fait aucune différence dans les scénarios d'attaque que je connais.Donc, la réponse pour savoir lequel de vos schémas est le meilleur dépend * légèrement * de n, mais pour un grand n, le premier est meilleur car il existe d'autres moyens d'obtenir d'anciens mots de passe que les hachages.
En pratique, la raison pour laquelle les gens utilisent les compteurs est que cela fait plus que +10 de différence.Il y a au moins trois mots de passe dont je dois me souvenir et utiliser fréquemment, que j'ai générés au hasard, composés de plus de 10 caractères chacun, alors appelez-les 50+ bits.Mais si je devais les changer tous les mois, je ne me souviendrais probablement pas de 3 mots de passe aléatoires de deux caractères plus courts, qui ne cessent de changer.Je serais donc au moins tenté d'utiliser un compteur (ou en fait un gestionnaire de mots de passe).
@SteveJessop: J'ai en effet en tête des préfixes avec une entropie de 100 bits, qui me paraissaient donc suffisamment sécurisés pour rester seuls et simplement changer de compteur.Bien sûr, les différents points soulevés jusqu'à présent par vous et d'autres mettent en doute la sécurité ** pratique ** d'un tel schéma malgré l'incassibilité ** théorique **.
@user21820: bien, à la fois en théorie et en pratique, un ancien mot de passe peut fuir d'une manière ou d'une autre (peut-être que lorsque vous l'avez tapé accidentellement sur le mauvais site Web, personne ne passe en revue le "journal maléfique" pendant des mois, ou peut-être que des espions l'ont recueilli en vous filmant dans un cybercafémais n'avait aucune raison de vous enquêter plus avant jusqu'à aujourd'hui).Ne laissez pas "en théorie" vous tromper en ignorant tous les scénarios d'attaque sauf un, ce n'est pas simplement "en théorie" mais "dans mon imagination" :-)
@user21820 Si votre théorie ne tient pas compte de l'historique des mots de passe, alors je suis d'accord.Mais, puisque vous demandez explicitement un mot de passe qui se transmute avec le temps, il est un peu effronté d'utiliser une théorie qui ne prend pas cela en compte.Votre premier mot de passe peut avoir 108 bits d'entropie au total;votre prochain mot de passe aura 0bits d'entropie, puisque les deux parties sont complètement prévisibles.
@SteveJessop est votre commentaire très apprécié?Ma compréhension du cryptage signifie que les chaînes, même un caractère à part, devraient produire des hachages totalement indépendants.S'ils étaient corrélés, on pourrait en principe remonter à des mots de passe similaires, comme vous l'indiquez.Veuillez me faire savoir si je suis dans l'erreur.
@anon0909: mon commentaire est vrai, et il n'a rien à voir avec les hachages.Si je sais que vous modifiez votre mot de passe une fois par mois en raison de la politique de l'entreprise et que j'apprends aussi que votre mot de passe du mois dernier était "uodnfhApril2016", alors peu importe si le hachage de "uodnfhMay2016" est similaire au hachage de"uodnfhApril2016" ou pas, je vais juste aller de l'avant et deviner que votre mot de passe est maintenant "uodnfhMay2016".C'est le risque auquel l'utilisation d'un compteur vous expose.
Lukas
2016-05-12 14:45:53 UTC
view on stackexchange narkive permalink

Vous ne devez pas utiliser ce schéma, car une fois que ce mot de passe est connu d'un attaquant, il peut en déduire les mots de passe "ultérieurs".

Cela pourrait être le cas dans ces situations:

  • Le mot de passe est partagé entre vous et d'autres personnes confuses, et un jour vous décidez de ne plus faire confiance à (l'une d'entre elles). Dans ce cas, ils pourraient facilement deviner les prochains mots de passe.
  • Un attaquant s'empare du mot de passe. Une fois qu'il le déchiffre (ce qui peut prendre un certain temps), il peut alors deviner les dérivations du mot de passe.

En utilisant de tels "mots de passe numérotés", vous détruisez le (petit) avantage de sécurité du changement mots de passe régulièrement.

Question connexe: Comment le fait de changer votre mot de passe tous les 90 jours améliore-t-il la sécurité?

Le premier point n'est pas pertinent, car je parle d'un utilisateur qui choisit délibérément un préfixe assez long et complètement aléatoire, certainement pas quelqu'un qui partagerait son mot de passe.Pour ce qui est de le craquer puis de deviner la dérivation du mot de passe, j'ai déjà pris en compte cela en demandant à l'utilisateur d'ajouter 10 bits à ce qu'il aurait fait s'il avait complètement changé le mot de passe.
De plus, seule une personne stupide qui décide de ne plus faire confiance à quelqu'un utiliserait toujours le même mot de passe dont elle savait qu'il était partagé avec celui-là.
Même si votre mot de passe comportait 100 chiffres, il pourrait encore y avoir des attaques possibles comme des enregistreurs de frappe, des chevaux de Troie, des logiciels malveillants côté serveur ... Donc, se fier uniquement à la puissance de calcul du mot de passe pourrait ne pas suffire.Je ne veux pas dire que votre système est complètement insécurisé - vous perdez simplement les * avantages * du changement de mot de passe.Et une dernière remarque: ni Google, ni Microsoft ni Facebook ne vous obligent à changer votre mot de passe.
Et à propos du partage de mot de passe ... J'ai vu cela parfois dans des entreprises / associations - c'est pourquoi je l'ai mentionné (même si cela peut ne pas être pertinent dans votre cas).
Comme je l'ai dit, vous ne répondez pas à ma question!Ma toute première phrase dit que ma question concerne les systèmes protégés par mot de passe qui ** obligent ** les utilisateurs à changer régulièrement de mot de passe.Que ce soit bon ou non n'a aucun rapport avec ma question.
Deuxièmement, j'ai spécifiquement demandé à ** comparer ** ce schéma de changement de mot de passe avec le schéma optimal connu de changer complètement le mot de passe.
@user21820 Je ne sais pas comment cela ne répond pas à votre question.Votre question littérale telle que vous la spécifiez est "Y a-t-il une raison concrète pour laquelle les utilisateurs ne devraient pas utiliser ce schéma pour changer les mots de passe?"à laquelle la réponse est le deuxième point de cette réponse: si un mot de passe est compromis, ils sont tous compromis, et comme dans le monde réel, cela peut prendre beaucoup de temps avant que le compromis ne soit détecté, c'est un problème très réel.
@Cronax: Le deuxième point de cette réponse suppose une fissuration, ce qui n'est pas censé être possible dans le scénario que j'ai en tête.Comme d'autres réponses l'ont mentionné, le craquage n'est pas le seul moyen, c'est ce à quoi je n'ai pas prêté suffisamment d'attention lorsque j'ai posé la question pour la première fois.
@user21820 Peut-être que la question que vous vouliez était: "L'utilisation d'un schéma d'incrémentation a-t-elle un effet substantiel sur l'entropie globale d'un mot de passe" à laquelle la réponse n'est "pas directement, mais dès qu'une instance est connue d'une manière ou d'une autre, les autres n'ont qu'une entropie égaleà un mot de passe avec la longueur du nombre de caractères dans le schéma d'incrémentation, potentiellement moins s'il y a un modèle clair dans ce schéma (c'est-à-dire mai 2016) "
À ce stade, il devient sans importance que ce soit par le biais du cracking, de l'ingénierie sociale ou de toute autre méthode.
@Cronax: Eh bien mathématiquement, la réponse est déjà claire.Changer un peu le mot de passe vous donne évidemment une faible entropie conditionnelle.Je faisais juste l'hypothèse idiote (avec le recul) que le cracking était la façon naturelle dont le mot de passe serait brisé.
woliveirajr
2016-05-12 19:20:29 UTC
view on stackexchange narkive permalink

Changer seulement une partie du mot de passe est [citation nécessaire] très commun, et une très mauvaise pratique.

L'entropie est une mesure de la façon dont quelque chose est inconnu. pour la première fois que vous choisissez un début aléatoire fixe ou un tout nouveau mot de passe, les deux avec la même quantité d'entropie, les deux alternatives seront équivalentes. Ok.

Pour le temps que vous devez changer votre mot de passe, si vous êtes complètement sûr qu'aucun mot de passe précédent ne sera découvert, vous êtes également bon. Parce que quelque chose qui n'est pas connu gardera la même quantité d'entropie.

Mais ... et il y a toujours un mais ... et si un mot de passe précédent est récupéré? Ou deux?

Cela peut arriver avec des sites / systèmes qui stockent les mots de passe précédents en texte clair. Cela peut également arriver avec les sites / systèmes qui stockent les mots de passe précédents sous forme de hachages.

Parce que le texte en clair, eh bien, montrera facilement que votre ancien mot de passe était IamGod_april16. Et quelqu'un essaiera d'utiliser IamGod_may16 ... Le simple fait de changer une partie, d'une manière prévisible, exposera facilement votre nouveau mot de passe.

Même s'il a été stocké sous forme de hachage: ce sera plus difficile lorsqu'il est correctement fait, mais que faire si quelqu'un freine le hachage et découvre quel était votre mot de passe? Il pourra alors essayer IamGod_december18, et si vous n'avez pas changé votre schéma à l'avenir ... bang! J'ai été touché à cause d'une fuite qui s'est produite 2 ans auparavant.

Voyez que ce n'est pas grave si la partie "IamGod_" est aléatoire, est lisible par l'homme ou autre: ce qui vous frappe, c'est cette partie de if peut fuir des informations: le mois, le nombre, la lettre à la fin ... même si votre schéma était "IamGodh", quelqu'un pourrait essayer "IamGodi", "IamGodj", et ainsi de suite.

Donc, la première partie de la réponse à votre question spécifique sur la question de savoir si le schéma (b) est moins, égal ou plus sûr que (a): il n'est pas plus sûr. Parce que si vous utilisez simplement un numéro qui change, change de mois, change de lettre ... en fin de compte, il est très facile d'essayer de nouvelles combinaisons, que ce soit hors ligne ou dans un système en ligne.

Et il y a la deuxième partie: même si vous concevez un très bon schéma, et que la partie changeante se trouve au milieu du mot de passe ... et si quelqu'un récupère 2 anciens mots de passe ou plus? Et découvre qu'ils étaient "3VQ2NMkK", "3VQ3NMkK" et "3VQ4NMkK"? Eh bien, pouvez-vous voir un motif?

Ainsi, (a) et (b) peuvent même être également sécurisés si votre schéma n'est pas détecté. Mais c'est une hypothèse forte que l'on peut concevoir un bon schéma, donc, en général, il est très sûr de supposer que (b) sera moins sécurisé, pour tout type de système.

Bien sûr, cela suppose que le système est cassé d'une manière ou d'une autre: que la base de données est divulguée parce que quelqu'un envahit un site, ou parce que des personnes internes copient la base de données, ou que quelqu'un perd la bande de sauvegarde, ou que la jeune fille lance une attaque d'intermédiaire au sein de l'entreprise , ou parce qu'une mise à jour du site a divulgué le mot de passe, ou parce que l'attaque Heartbleed a révélé certains mots de passe, ou parce que la société a laissé un ancien ordinateur être disponible sur le réseau, ou ...

Étant donné que ceux les situations (et bien d'autres) sont hors de votre contrôle, le conseil est de choisir le bon côté: ne supposez pas que les anciens mots de passe ne seront pas divulgués.

La vraie solution serait donc de combiner une chaîne aléatoire et toujours changeante au début, avec un nombre aléatoire et toujours changeant à la fin!Je l'ai!Maintenant, j'ai juste besoin de me souvenir de la chaîne et du nombre ... pour plusieurs sites ... changeant avec le temps ... Je pourrais utiliser un ordinateur pour faire ça!Oui!Solution trouvée.
Yokai
2016-05-12 18:55:18 UTC
view on stackexchange narkive permalink

Conserver un schéma spécifique n'est jamais une bonne idée, même si les environnements d'entreprise nécessitent des mises à jour / modifications fréquentes des mots de passe. Par exemple, si, comme dans votre exemple, quelqu'un a conservé les mêmes caractères de base et n'a changé le mot de passe que par un seul entier, quelqu'un qui apprend un ancien mot de passe pourrait utiliser le schéma pour prédire les changements. Prenons par exemple l'outil appelé «crunch». En utilisant l'exemple que vous avez fourni, toutes les permutations possibles du schéma pourraient être générées et utilisées dans une attaque par dictionnaire.

  #! / Bin / bashcrunch 9 9 0123456789 -t awefjio @@ Crunch va maintenant générer la quantité de données suivante: 1000 octets0 MB0 GB0 TB0 PBCrunch générera désormais le nombre de lignes suivant: 100 awefjio00awefjio01awefjio02awefjio03awefjio04awefjio05awefjio06awefjio07awefjio08awefjio09awefjio10 ......... et ainsi de suite  Garder un modèle de mot de passe prévisible facilite le piratage des forums de connexion de sites Web protégés par des informations d'identification. Il est recommandé de créer un mot de passe unique et complètement nouveau à chaque fois. Une autre chose qui constitue une menace est l'étape de collecte d'informations du piratage. Plus un pirate informatique en apprend davantage sur les habitudes, les goûts, les aversions, les loisirs, les noms de famille, les dates de naissance, les dates d'événements spéciaux, etc. d'une cible, plus il devra continuer avec la création d'un dictionnaire / liste de mots pour déchiffrer une connexion.  

Donc, pour répondre à votre question, non, ce n'est jamais, en aucune circonstance, une bonne pratique d'utiliser de simples incréments entiers avec des changements de mot de passe,

Simon B
2016-05-12 15:57:40 UTC
view on stackexchange narkive permalink

Oui.

Exiger des utilisateurs qu'ils changent régulièrement de mot de passe est un théâtre de sécurité contre-productif (voir article CESG) car cela oblige les utilisateurs à noter leur mots de passe. Si un attaquant a réussi à obtenir un mot de passe, il peut avoir plusieurs semaines pour installer des portes dérobées ou supprimer des gigaoctets de données hors du système avant que le mot de passe ne soit modifié.

L'utilisation d'un schéma de numérotation simple permet vous pouvez choisir un mot de passe dont vous pouvez vous souvenir sans l'écrire, alors vous pouvez jouer au système pour vous permettre de continuer à utiliser votre mot de passe mémorable indéfiniment.

Si votre mot de passe actuel a n bits d'entropie, alors il continuera à avoir autant d'entropie que tout autre mot de passe d'entropie n bits. Changer constamment de mot de passe ne change rien à cela. L'ajout d'un seul chiffre à la fin ajoute environ 2,3 bits ( ln (10) bits). Mais même si votre schéma de numérotation est si facilement devinable qu'il n'ajoute aucune entropie, vous avez toujours les n bits avec lesquels vous avez commencé.

Si l'algorithme de hachage utilisé est bon, alors un mot de passe a hachera ce qui semble être une chaîne aléatoire. Un autre mot de passe b donnera ce qui semble être une chaîne complètement différente (sauf dans le cas extrêmement rare d'une collision de hachage). Il ne devrait y avoir aucun moyen possible, en regardant les deux hachages, de déterminer si les deux mots de passe sont complètement différents, ou varient d'un seul caractère (peut-être un chiffre à la fin). S'il est possible de dire si un seul caractère a changé, alors votre algorithme de hachage est cassé et vous avez besoin d'un meilleur.

Le même argument vaut pour tout système de cryptage utilisé pour transférer les mots de passe d'un client vers un hôte. Si deux mots de passe similaires donnent des messages cryptés similaires, le cryptage est déjà inutile.

C'est exactement ce que je veux dire sur la motivation de ma question.Cependant, cela ne répond pas à ma question sur la sécurité réelle de ce système par rapport à l'autre, bien que je n'ai pas (ne puisse pas) voter contre.
@user21820 a élargi ma réponse.
Je ne répond toujours pas à ma question!L'avez-vous lu attentivement?J'ai dit: "Mathématiquement, ce schéma de mot de passe est assez bon parce que les 10 bits supplémentaires permettent à l'attaquant d'essayer 1024 fois plus longtemps pour déchiffrer le mot de passe que le complètement aléatoire, en supposant que l'on ne change pas un mot de passe plus de 1024 fois."Et plus tard, j'ai dit que si ce schéma n'est pas bon, alors probablement "cela dépendra des algorithmes d'authentification ou de cryptage impliqués eux-mêmes".Plus précisément, l'utilisation d'une telle famille de mots de passe pourrait faciliter la fissuration ** en raison des algorithmes choisis **.
@user21820 Troisième fois chanceux?Voir les dernières modifications.
Voilà exactement mon point;dans quelle mesure sommes-nous sûrs que nos algorithmes de hachage (pour l'authentification) sont suffisamment sécurisés pour ne pas être cassables même si tous les mots de passe ne diffèrent que dans le compteur?
Quoi qu'il en soit, de nouvelles réponses donnent des raisons pour lesquelles un tel «jeu de politiques de mot de passe» est mauvais du point de vue de la sécurité, même en supposant des propriétés cryptographiques parfaites du système.
"L'utilisation d'un schéma de numérotation simple vous permet de choisir un mot de passe dont vous pouvez vous souvenir sans l'écrire" - le questionneur a déjà quantifié cela comme une différence de +10 bits.La question aurait pu porter sur un nombre beaucoup plus grand que 10, mais ce n'est pas le cas, donc vous en supposez beaucoup en disant que 10 bits (caractères 2-ish) garantissent que l'utilisateur du premier schéma devra écrire lemot de passe alors que l'utilisateur du second schéma ne le fera pas.Si la question était "devrais-je utiliser un nouveau mot de passe 12 bits ou un mot de passe 112 bits plus compteur", l'argument pour le compteur serait plus fort.
(ou plutôt, l'argument contre un mot de passe 12 bits serait un tel slam dunk que le second schéma gagnerait facilement malgré le petit inconvénient du compteur).
John Deters
2016-05-12 19:03:48 UTC
view on stackexchange narkive permalink

Dans votre cas, la sécurité du schéma de séquençage est diminuée principalement en raison de facteurs non cryptologiques. Pensez au surf à l'épaule. Si vous saisissez le même mot de passe, jour après jour, année après année, vos collègues ou d'autres observateurs pourraient remarquer les tendances. Vous pouvez taper le même mot de passe dans différents endroits qui ont différents niveaux de sécurité physique, comme un café, où une caméra ordinaire pourrait récupérer le mot de passe.

Prenons le cas où l'attaquant n'utilise pas les connaissances en même temps qu'il les apprend. Je suis peut-être un collègue qui a accidentellement observé votre mot de passe l'année dernière, mais cette année, nous sommes des rivaux acharnés pour le même compte. Connaître l'un de vos anciens mots de passe était qwerty1007 et un autre était qwerty1011 signifie que je réussirai avec quelques suppositions assez simples.

En utilisant un modèle, vous augmentez le risque de perte sur une plus longue période.

[Votre proposition ressemble en apparence à un schéma commun utilisé par les systèmes d'authentification à deux facteurs. Un utilisateur doit entrer un mot de passe mémorisé, plus il doit entrer un code affiché sur son périphérique matériel.

Mais la raison pour laquelle il est sécurisé n'est pas que la sécurité est nettement améliorée par la taille du code du jeton; c'est que le système limitera le nombre de suppositions de mot de passe + code incorrects à un nombre fini, puis verrouillera l'ID utilisateur. ]

Raison valable;Merci.Maintenant, je me demande à quel point les mots de passe sont sûrs à partir d'une observation physique sans contact.
En outre, le périphérique matériel dans les bonnes versions de ce schéma ne se contente pas d'incrémenter, c'est un PRNG sécurisé.Donc, savoir que c'était qwerty1007 il y a trois semaines et qwerty1011 hier me dit simplement que c'est qwerty plus 4 chiffres aujourd'hui, alors qu'un compteur incrémentiel me dit que c'est presque certainement qwerty1011 ou qwerty1012 aujourd'hui.Le PRNG est suffisant pour que des essais limités avant le verrouillage arrêtent réellement la majorité des tentatives de deviner les 4 chiffres.S'il était simplement incrémenté, l'attaquant n'aurait besoin que de 2 suppositions, il ne serait donc pas verrouillé ...
DRF
2016-05-12 18:31:24 UTC
view on stackexchange narkive permalink

Je développerais quelque peu l'explication que Sjoerd donne et l'aborder sous un angle quelque peu différent.

Premièrement, il faut se demander quel objectif de sécurité est atteint par le changement programmé (par opposition à réactif) des mots de passe ? Pourquoi votre division de sécurité ou votre document de bonnes pratiques vous oblige-t-il à changer un mot de passe tous les deux mois?

Il y a plusieurs raisons:

  1. pour compliquer la force brute attaques

    Quand quelqu'un accède au hachage de votre mot de passe, il y a de fortes chances que cela leur prenne un certain temps avant de réussir à le casser. Si le temps nécessaire pour effectuer une attaque par force brute est plus long que la période de validité du mot de passe, ils ne peuvent pas réellement profiter de l'obtention du mot de passe puisque vous l'avez déjà modifié

  2. Pour limiter la durée pendant laquelle un mot de passe compromis peut être utile

    Les gens ne découvrent pas toujours que leur mot de passe a été compromis. Un changement de mot de passe régulier garantit que le mot de passe ne permet pas à l'attaquant d'entrer pour toujours. (Bien sûr, dans certains cas, lorsqu'ils sont installés une fois qu'ils sont toujours à cause de logiciels malveillants, apt est ce que vous avez, mais ce n'est pas toujours le cas.) Cela prend également en charge les situations où l'attaquant ne découvre le compromis que tardivement en raison de certaines circonstances.

  3. Pour limiter légèrement la réutilisation des mots de passe

    Les gens réutiliseront souvent leurs mots de passe dans plusieurs systèmes (professionnels et privés). La plupart des systèmes privés (gmail, cette page Web d'inscription au centre sportif, etc.) ne forcent pas les changements de mot de passe réguliers, il y a donc de fortes chances que même si l'utilisateur commence avec le même mot de passe partout, les changements de mot de passe le feront les différencier.

  4. Pour passer les attaques par hachage lié

    Si un attaquant n'accède qu'au hachage de votre mot de passe, il peut souvent utiliser ce hachage pour s'authentifier contre les systèmes s'il / elle est assez sophistiqué. Changer le mot de passe sous-jacent modifiera le hachage et arrêtera ainsi à nouveau l'attaquant.

Nous pouvons maintenant nous demander comment les deux systèmes que vous proposez se comparent aux objectifs que nous avons décrits. Dans tous les cas où l'attaquant accède au texte brut de votre mot de passe (certainement 1,2), le premier schéma (incrémentation) est beaucoup plus faible que le second. Tout attaquant non en état de mort cérébrale essaiera l'incrémentation. Dans la troisième situation, c'est un peu plus délicat à juger car cela dépend du fait que le mot de passe du service extérieur contient ou non le compteur et en général de l'impact réel de la réglementation. Pour le quatrième objectif, l'incrémentation est à peu près comparable au second schéma en supposant que la fonction de hachage utilisée se comporte assez étroitement comme un oracle aléatoire.

Dans l'ensemble, il suffit d'incrémenter le compteur sur un mot de passe est certainement beaucoup plus faible que de choisir de nouveaux mots de passe arbitraires, mais de combien dépend des types d'attaques que vous attendez.

Ce sont toutes des raisons très communément invoquées, mais chacune se trompe à sa manière.1) La force brute doit être atténuée par des protocoles de hachage puissants, tels que PBKDF2.2) Un attaquant se fournira presque toujours une porte dérobée alternative dans un premier temps.3) Ce schéma est si courant et faible que quiconque connaît le mot de passe d'origine devinera toutes les permutations courantes du mot de passe.4) c'est un autre problème de mise en œuvre.Les hachages doivent expirer indépendamment des mots de passe et à un rythme beaucoup plus rapide.
@JohnDeters Hmm je ne peux pas vraiment être d'accord avec vous.Dans le second cas, il se peut qu'il ne soit pas possible de provisionner une porte dérobée alternative (accès utilisateur à un serveur de messagerie par exemple).Je suis d'accord avec le fait que la force brute devrait être atténuée par des protocoles de hachage puissants, mais aucun nombre d'itérations ne vous sauve si votre utilisateur choisit de mauvais mots de passe (ish).3) Je ne vois pas comment nous sommes en désaccord ici, je dis que le schéma est mauvais.4) Pas en désaccord, mais vous ne pouvez pas toujours choisir la solution technique utilisée.
Merci.(1) peut être ignoré car, bien sûr, l'utilisateur dans ma question choisira un n assez grand.(2) est à peu près la même que la raison de Sjoerd, qui est valide.(3) ne fonctionne pas du tout;presque tout le monde que je connais utilise des variantes de leur mot de passe d'origine exactement comme décrit dans ma question, bien qu'il soit mauvais à cause du mot de passe d'origine.Mais dans mon cas, ce n'est pas pertinent parce que je ne voulais pas dire utiliser le même préfixe pour différents systèmes protégés par mot de passe;C'est bête.(4) est vraiment stupide, car tout système qui utilise le même hachage à chaque fois ne vaut pas la peine d'être utilisé avec un mot de passe sécurisé ...
Étant donné un mot de passe aléatoire, la découverte d'un hachage identique est peu susceptible de donner le mot de passe réel, et ainsi savoir qu'il y a un nombre qui est incrémenté au mieux donne le fait qu'il ne s'agit pas du mot de passe réel, cela ne laisse pas un attaquant devinermot de passe suivant.
@jmoreno C'est une affirmation assez forte.Pouvez-vous étayer cela avec les mathématiques?Pour autant que je sache, on ne sait même pas si quelque chose comme SHA256 est un-à-un sur des entrées de taille 256 bits.Même si ce n'était pas le cas, il semble fort probable que ce soit un à un sur de petites entrées (le mot de passe habituel sera inférieur à 128 bits ou 16 caractères).
@user21820 Pour le numéro 4) Cela signifie que vous construisez toujours votre propre système d'exploitation?Étant donné que tous les systèmes d'exploitation que je connais stockent des hachages de mots de passe et obtenir le hachage équivaut essentiellement à obtenir le mot de passe pour les tentatives d'authentification à distance.C'est en fait un peu pire que cela puisque vous pouvez afficher des résultats sur la valeur de hachage pour les schémas d'authentification par mot de passe, mais il serait probablement plus judicieux de discuter dans le chat plutôt que de commenter.
@DRF: non, et je n'aurais pas dû le dire, car cela dépend vraiment de facteurs qui ne sont pas couverts (quelle est la longueur du mot de passe, y a-t-il des restrictions de longueur, quel algorithme de hachage est utilisé, quels caractères sont autorisés, etc.).
@DRF: J'aurais pensé que lors de la création d'un compte, le client hacherait le mot de passe et l'utiliserait pour générer une paire de clés RSA, et n'enverrait que la clé publique au serveur (via HTTPS), où elle est stockée avec le haché salémot de passe (en utilisant un hachage différent).Ensuite, pour authentifier le serveur enverrait un défi chiffré à l'aide de la clé publique de l'utilisateur, que seul l'utilisateur peut déchiffrer à l'aide du mot de passe, et le client répond avec le mot de passe haché salé (via HTTPS).Un attaquant qui obtient la base de données des mots de passe hachés et les sels ne pourra pas décrypter le défi.
(Le défi comprend bien sûr le sel et un nonce. De plus, l'utilisation de RSA est inutile; tout chiffrement à clé publique fera l'affaire.) Je suis loin d'être un expert, mais si même je peux trouver un tel système, je m'attendrais à ce que chaquesystème d'authentification approprié pour être au moins meilleur que le mien ...
@user21820 Hmm c'est plus pour un chat, mais essentiellement la réponse est Non à peu près rien de tout cela ne se produit et il y a quelques raisons pour lesquelles non.
@DRF: Oh, pourquoi n'est-ce pas fait?Le schéma SCRAM décrit sur wikipedia est similaire à mon schéma.Le chat ne me dérange pas, mais aucun lien "Continuer dans le chat" n'est encore apparu ...
@user21820 Essayez de rejoindre http://chat.stackexchange.com/rooms/39839/authentication-using-hashes si cela peut être fait
Dewi Morgan
2016-05-12 19:37:49 UTC
view on stackexchange narkive permalink

Si votre base de données de mots de passe est divulguée, un bon mot de passe peut prendre un certain temps à se déchiffrer. À ce moment-là, très probablement, vous avez été obligé de changer votre mot de passe. Ce concept est en grande partie la raison pour laquelle ces réinitialisations forcées de mot de passe «théâtre de sécurité» existent.

CEPENDANT, l'accès à votre compte est généralement géré à l'aide d'un script automatisé. Si la tentative de mot de passe échoue, le script a encore quelques tentatives avant le verrouillage. Si, le 12 mai 2016, un mot de passe comme "fredJune15" a été rejeté et que le script a été informé que les données ont été acquises en juillet 2015, alors le script pourrait bien essayer fredApril15, fredApril12, fredApril16 avant le verrouillage: vous avez donné le script des indices pour des choses à essayer.

Si le script connaît la période de réinitialisation du mot de passe de votre système, ou peut le deviner, alors il peut deviner avec un simple nombre incrémentiel, combien de fois le nombre aura été incrémenté. Donc "fred12", après sept périodes de réinitialisation forcée du mot de passe, sera presque certainement "fred19". Les périodes de réinitialisation de mot de passe sont presque toujours d'un mois, donc les deviner fonctionnera presque toujours.

À noter également: si vous utilisez le même mot de passe sur plusieurs systèmes, mais avec des nombres différents car on est incrémenté à un autre taux, ou parce que vous avez créé vos comptes à un moment différent, alors si un système est compromis, les deux systèmes le sont.

Donc en bref: non, générez un nouveau mot de passe aléatoire à chaque fois. Utilisez un gestionnaire de mots de passe. Si vous pouvez utiliser l'authentification à deux facteurs, faites-le.

Je recommande normalement également d'utiliser des gestionnaires de mots de passe.Cependant, la plupart des endroits où les changements de mot de passe fréquents sont appliqués concernent les connexions à l'ordinateur sur le lieu de travail, où les gestionnaires de mots de passe ne sont d'aucune aide.Pour cela, j'utilise une phrase secrète ... mais je ne suis pas satisfait à 100% d'en mémoriser une nouvelle tous les deux mois, ni de taper plus de 40 caractères chaque jour lorsque je me connecte à mon ordinateur de travail.
Lilly
2016-05-13 00:51:33 UTC
view on stackexchange narkive permalink

Vous devriez obtenir un nouveau mot de passe complet.

S'il n'y a pas de violation, je ne vois pas la valeur des mots de passe en rotation constante. Cependant, lorsque vous effectuez une rotation des mots de passe, voici la clé:

Vous voulez régénérer le mot de passe en utilisant un système avec la même contrainte supposée sécurisée que celle sous laquelle vous avez créé le mot de passe d'origine. C'est à dire. l'incrémentation d'un nombre n'est PAS acceptable car vous n'effectuez qu'une modification d'un octet puisque vous avez probablement eu un générateur qui vous a donné P3588swrOd4.

Donc, si vos règles de mot de passe sont 3 mots aléatoires réels "BadgerYtterbiumLancet" choisir un nouveau non - mot aléatoire, cela rend votre mot de passe beaucoup plus devinable, "BadgerFoxSquirrel".

L'autre gros problème avec le simple incrémentation des mots de passe est que cela crée une situation - disons que votre entreprise le fait pendant 10 ans ... les gens changer les mots de passe chaque mois. Vous créez des hachages de mots de passe qui sont dangereusement similaires les uns aux autres. (c'est pourquoi vous utilisez des mots de passe `` aléatoires '', `` choisis '' - les gens ont tendance à utiliser Mot de passe, une phrase courante, etc.) Vous voulez autant d'unicité pour chaque mot de passe que les uns des autres - vous voulez traiter de nouveaux mots de passe pour la même chose que les nouveaux mots de passe. C'est à dire. Password1, Password2, 3,4,5, etc. cela finit dans un très mauvais endroit. Pire encore si vous êtes compromis et que vous résolvez le problème, si vos données sont précieuses pour le pirate, vous pouvez parier qu'il essaiera des variantes proches de ce qu'il a trouvé fonctionner auparavant.

De plus, il convient de le noter qu'il n'est pas sûr pour les personnes extérieures à votre organisation (par exemple, les employés licenciés / anciens) de connaître la méthode de génération de mot de passe. Encore une fois, c'est pourquoi je rappelle le 'aléatoire' - personne ne devrait savoir comment prédire la génération de votre mot de passe au-delà de quelque chose de vague "ils ont choisi 4 mots aléatoires dans le dictionnaire" ou "ils ont utilisé un générateur de mots de passe aléatoire fort".

Vous créez des hachages des mots de passe qui sont dangereusement similaires les uns aux autres: avez-vous des exemples réels d'algorithmes de hachage qui font cela?
sonofapharmacist
2016-05-13 17:53:05 UTC
view on stackexchange narkive permalink

Lorsque je craque des mots de passe, je reçois votre nouveau mot de passe dans la même seconde si vous ne faites que l'incrémenter. C'est parce que j'essaie des mots de passe ajoutés et préfixés avant toute autre chose et seulement après les schémas liés à qwerty et la liste de base des mots de passe découverts car c'est mon expérience que c'est ce que nous, les humains, sommes susceptibles de faire.

Paul Pehrson
2016-05-14 04:50:33 UTC
view on stackexchange narkive permalink

Probablement pas la réponse la plus sûre, mais j'ai récemment entendu des conseils sur ce qu'il faut utiliser pour les mots de passe qui changent régulièrement: quel est votre objectif ou autre chose que vous avez hâte de faire au cours des X prochains mois? Utilisez-le pour créer un mot de passe. Donc, si vous partez en voyage à Disney World avant l'expiration de votre mot de passe, vous pouvez faire quelque chose comme Looking4wrd2SpaceMtn!

Dans X mois, lorsque ce mot de passe expirera, pensez à autre chose, peut-être à un objectif sur lequel vous travaillez: Wrk-out-35mincard! o

Votre mot de passe ne peut pas être déduit de les mots de passe précédents (si vous êtes intelligent à ce sujet), ils ont une longueur décente et vous aident à vous souvenir d'un objectif sur lequel vous travaillez ou d'un événement que vous attendez avec impatience.

Si l'astuce consiste à essayer de vous souvenir le mot de passe et il change fréquemment, je pense que ce n'est pas une option terrible.

Idée intéressante!Je suppose que c'est beaucoup mieux que ce que les gens font habituellement (qui consiste à écrire sur un pense-bête et à coller sous le clavier là où personne d'autre ne le verra, ou à incrémenter un compteur).
Mawg says reinstate Monica
2016-05-15 18:57:01 UTC
view on stackexchange narkive permalink

Vous pourriez être en sécurité si votre suffixe ressemble à une année de naissance.

Si j'utilise myname1977 alors il y a moins, mais probablement pas zéro, de chance que quelqu'un connaissant ce mot de passe devine que je l'ai changé en myname1978 .

Mais pourquoi prendre le risque? (fais ce que je dis, pas ce que je fais; j'incrémente, mais uniquement au travail, car c'est le seul endroit qui me demande de changer mon mot de passe et, en ce qui me concerne, tout le monde dans l'entreprise est libre de tout voir sur mon PC de travail. Votre kilométrage variera certainement).

Personnellement, je trouve que Edward Lear est une excellente source d’inspiration pour les mots de passe :-)

Et le plus simple, le plus mémorable, "cochez toutes les cases" de 8 caractères minimum, un chiffre, une majuscule & un caractère spécial est sûrement chat plus un gros chien AKA chat + 1 chien



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