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