Voici l'interface d'un générateur de mots de passe typique :
Faites attention au curseur Longueur: ici, il peut changer la longueur du mot de passe de 8 à 100 caractères, et dans d'autres outils, cela peut être beaucoup plus. Quelle est la meilleure valeur pour les mots de passe?
Un bon mot de passe est tout ce que vous avez lorsque vous êtes piraté
Pour comprendre ce qu'est un bon mot de passe, voyons ce qui se passe dans le camp de l'ennemi!
Lorsque vous créez un compte, le service enregistre votre mot de passe dans l'un des nombreux formats. Le service peut mettre le mot de passe directement dans la base de données (en texte brut) ou générer un hachage à partir de celle-ci en utilisant l'un des nombreux algorithmes . Le plus populaire:
- MD5
- SHA-1
- Bcrypt
- Scrypt
- Argon2
L'avantage de stocker les hachages au lieu des mots de passe eux-mêmes est qu'il n'y a pas de mots de passe dans la base de données . Et c'est vrai, car il vous suffit de prouver que vous connaissez votre mot de passe, mais cela n'a pas d'importance. Lorsque vous vous connectez, le mot de passe saisi est haché à l'aide du même algorithme, et si le résultat correspond à la valeur enregistrée dans la base de données, vous avez prouvé que vous connaissez le mot de passe. Et si la base de données est piratée, il ne sera pas possible de récupérer les mots de passe.
Stockage des hachages.
Cracking mot de passe
Le craquage de mot de passe se produit lorsqu'un attaquant tente d'inverser une fonction de hachage et de récupérer un mot de passe à partir du hachage. Avec un bon algorithme de hachage, c'est impossible. Mais rien n'empêche un attaquant d'essayer de saisir des valeurs différentes dans l'espoir d'obtenir le même hachage. Si une correspondance se produit, le mot de passe a été récupéré à partir du hachage.
Cracking un mot de passe.
Et ici, le choix d'un bon algorithme est important . SHA-1 a été conçu avec un hachage rapide à l'esprit, facilitant la vie des attaquants. Bcrypt, Scrypt et Argon2 ont été conçus avec des coûts de calcul élevés à l'esprit pour ralentir le plus possible la fissuration, en particulier sur les machines dédiées. Et c'est un aspect très important.
Si vous vous concentrez uniquement sur la vitesse, le mot de passe SHA-1, ce qui est impossible à craquer, comme suit:
0OVTrv62y2dLJahXjd4FVg81
.
Un mot de passe sécurisé que vous avez créé à l' aide d' un Argon2 semble, correctement configuré comme ceci:
Pa$$w0Rd1992
.
Comme vous pouvez le voir, choisir le bon algorithme de hachage transforme un mot de passe faible en un mot de passe incassable.
Et n'oublie pas çacela dépend uniquement de la mise en œuvre du service avec lequel vous vous inscrivez . Et vous ne pouvez pas connaître la qualité de la mise en œuvre. Vous pouvez demander, mais soit ils ne vous répondront pas, soit ils se désabonneront en disant que "nous prenons au sérieux la sécurité".
Pensez-vous que les entreprises prennent la sécurité au sérieux et utilisent de bons algorithmes de hachage? Jetez un œil à la liste des bases de données compromises, en particulier les hachages qui y sont utilisés. Dans de nombreux cas, MD5 a été utilisé, le plus souvent SHA-1, et bcrypt a été utilisé à certains endroits. Certains mots de passe stockés en texte brut . Telle est la réalité à considérer.
De plus, nous savons uniquement quels hachages ont été utilisés dans les bases de données compromises, et il est fort probable que les entreprises qui utilisaient des algorithmes faibles aient été incapables de protéger leur infrastructure. Jetez un œil à la liste, je suis sûr que vous trouverez des noms familiers. Ce n'est pas parce qu'une entreprise a l'air grande et respectable qu'elle fait tout correctement.
Vous choisissez le mot de passe
Que pouvez-vous faire en tant qu'utilisateur? Si les mots de passe sont stockés en texte brut, il n'y a rien à faire. Une fois la base de données volée, la complexité de votre mot de passe n'a pas d'importance.
Avec des algorithmes correctement configurés, la complexité de votre mot de passe n'est pas non plus importante, elle peut l'être
12345
ou asdf
.
Cependant, dans les cas intermédiaires , en particulier lors de l'utilisation de SHA-1, la complexité du mot de passe est importante . Les fonctions de hachage ne sont généralement pas conçues pour les mots de passe, mais si vous utilisez un mot de passe complexe, cela compense les faiblesses des algorithmes.
Dépend de la configuration. Ces algorithmes ont divers composants de sécurité et, s'ils sont correctement configurés, peuvent empêcher le piratage.
Conclusion: avec un mot de passe fort, vous êtes protégé contre plus de hacks qu'avec un mot de passe faible. Et comme vous ne savez pas à quel point le magasin de mots de passe est sécurisé, vous ne pouvez pas savoir à quel point le service sera «suffisamment sécurisé». Supposons donc le pire lorsque votre choix de mot de passe compte toujours.
L'unicité du mot de passe ne suffit pas
D'accord, mais pourquoi diable penseriez-vous à utiliser un gestionnaire de mots de passe et à générer un mot de passe unique pour chaque site? Dans ce cas, vous êtes invulnérable au bourrage d'informations d' identification - lorsqu'une paire connue de boîte aux lettres et de mot de passe est vérifiée sur différents services dans l'espoir que la personne utilise ces données à différents endroits. Il s'agit d'une menace sérieuse car la réutilisation des mots de passe est l'un des principaux problèmes de sécurité. Vous serez protégé de cela en générant un mot de passe unique pour chaque site.
Remplissage des informations d'identification.
Et si la base de données est volée et que tout son contenu est connu des pirates informatiques, pourquoi protégeriez- vous toujours votre mot de passe?
Le fait est que vous ne savez pas si la base de données a été piratée et que vous continuez à utiliser le service. Les hackers auront alors accès à toutes vos futures activités sur ce site. Vous pouvez ajouter les détails de votre carte bancaire plus tard et ils le sauront. Un mot de passe fort signifie que les pirates ne pourront pas se connecter sous votre compte et ne pourront pas compromettre vos actions futures.
Utilisation du service après le piratage.
Comment évaluer la force du mot de passe à l'aide de l'entropie
La force d'un mot de passe est caractérisée par l'entropie, une représentation numérique de la quantité de caractère aléatoire contenu dans le mot de passe. Puisque nous parlons de grands nombres, il
1 099 511 627 776 (2^40)
est plus facile pour nous de dire «40 bits d'entropie» à la place . Et comme craquer un mot de passe est une énumération d'options, plus il y en a, plus vous devez passer de temps à craquer.
Pour les caractères aléatoires générés gestionnaire de mot de passe, l'entropie est calculée par la formule suivante:
log2(< > ^ <>)
.
C'est clair avec la longueur, mais quel est le nombre de caractères différents? Cela dépend des classes de caractères incluses dans le mot de passe.
Par exemple, un mot de passe de 10 lettres majuscules et minuscules aléatoires a un
log2(52 ^ 10) = 57
peu d'entropie.
Pour calculer l'entropie spécifique (sa quantité dans un symbole d'une classe donnée), vous pouvez utiliser l'équation
log2(n ^ m) = m * log2(n)
. Nous obtenons:, <> * log2(< >)
où la deuxième partie est l'entropie spécifique. Recalculons le tableau précédent en utilisant cette formule:
Pour calculer la force d'un mot de passe, vous devez prendre les classes de caractères incluses dans le mot de passe, prendre les valeurs d'entropie pour ces classes et multiplier par la longueur. Pour l'exemple ci-dessus, nous avons obtenu un mot de passe de 10 majuscules et minuscules
5.7 * 10 = 57
. Mais si vous augmentez la longueur à 14, l'entropie passera à 79,8 bits. Et si vous laissez 10 caractères, mais ajoutez une classe de caractères spéciaux, l'entropie totale sera de 64 bits.
L'équation ci-dessus vous permet de calculer rapidement l'entropie du mot de passe, mais il y a un hic. La formule n'est correcte que si les symboles sont indépendants les uns des autres . Et cela ne s'applique qu'aux mots de passe générés. La combinaison
H8QavhV2gu
satisfait ce critère et possède 57 bits d'entropie.
Mais si vous utilisez des mots de passe plus faciles à retenir comme
Pa$$word11
, alors leur entropie sera beaucoup plus faible avec le même nombre de symboles. Le cracker n'a pas à passer par toutes les combinaisons possibles, il a juste besoin de parcourir les mots du dictionnaire avec quelques modifications.
Ainsi, tous les calculs avec multiplication de la longueur par l'entropie spécifique ne sont valables que pour les mots de passe générés .
Guide d'entropie
Plus un mot de passe a d'entropie, plus il est difficile de le déchiffrer. Mais combien d'entropie suffit-il? En général, environ 16 caractères seront derrière les yeux, un tel mot de passe a 95-102 bits d'entropie, selon les classes de caractères. Quel est le seuil minimum? 80 bits? 60? Ou même 102 bits sont trop petits?
Il existe un algorithme qui rivalise avec un mauvais algorithme de hachage en vitesse, mais il est beaucoup mieux étudié: c'est AES.
Il est utilisé dans toutes les organisations gouvernementales et militaires, ce qui signifie que sa durabilité est largement suffisante. Et ça marche vite. Donc, si une clé AES avec une certaine quantité d'entropie ne peut pas être fissurée, alors un mot de passe avec un hachage incorrect (mais pas fissuré) en bénéficiera.
L'Institut national des normes et de la technologie a déterminé les tailles clés qui seront suffisantes dans un avenir prévisible. Làrecommande d' utiliser AES-128 pendant la période «2019-2030 et versions ultérieures». Comme son nom l'indique, nous parlons de 128 bits d'entropie.
Une autre recommandation recommande de créer des clés d'au moins 112 bits:
Pour fournir une force cryptographique aux besoins du gouvernement fédéral, au moins 112 bits sont nécessaires aujourd'hui (par exemple, pour crypter ou signer des données).
Pour obtenir 128 bits d'entropie en utilisant des lettres et des chiffres majuscules et minuscules, vous avez besoin d'une longueur de mot de passe
22 ((5.95 * 22 = 131 )
.
Autres considérations
Pourquoi ne pas utiliser des caractères spéciaux? J'essaie de ne pas les utiliser car ils brisent les limites du mot. Autrement dit, il faut trois clics pour sélectionner un caractère spécial au lieu de deux, et cela peut entraîner une erreur si je n'insère pas accidentellement le reste du mot de passe dans le champ.
Et si vous n'utilisez que des lettres et des chiffres, alors avec un double clic, le mot de passe entier sera mis en évidence.
Et s'il y a une limite de longueur? Sur certains sites, le mot de passe ne peut pas contenir jusqu'à 22 caractères. Parfois, les mots de passe ne peuvent être que très courts, par exemple pas plus de 5 chiffres. Ensuite, il ne reste plus qu'à utiliser le mot de passe le plus longtemps possible.
Il existe également des directives pour les sites pour travailler avec des mots de passe, et la limite de longueur contredit clairement ces directives. Voici ce que dit Institut national des normes et de la technologie:
Vous devez prendre en charge les mots de passe d'au moins 64 caractères. Encouragez les utilisateurs à créer des secrets faciles à retenir de n'importe quelle longueur, en utilisant n'importe quel caractère (y compris les espaces) pour les aider à se souvenir.
Et rappelez-vous que la protection par mot de passe des sites va de terrible à excellente, et ils ne vous diront pas quelle est la situation réelle. Si la longueur maximale autorisée du mot de passe est petite, alors il semble qu'un tel site soit du mauvais côté de l'échelle.
Conclusion
Les mots de passe doivent être forts, même si vous n'utilisez pas les mêmes combinaisons à différents endroits. La force d'un mot de passe est mesurée par l'entropie et vous devez vous efforcer d'obtenir une valeur de 128 bits. Des mots de passe d'une longueur de 22 caractères, composés de lettres majuscules et minuscules et de chiffres, suffisent pour cela.
Cela vous protégera si le service est piraté et qu'un algorithme de hachage faible mais non piraté est utilisé.