Prenez certainement la réponse de Thorium au sérieux. Cependant, j'ai pensé que je pourrais aussi bien essayer de répondre à votre question réelle.
Vous entendrez cela tout le temps sur un tableau de sécurité comme celui-ci, mais je le dirai quand même: la réponse dépend toujours sur votre vecteur de menace anticipé. Je vais me concentrer sur les attaques par force brute par des personnes qui ne vous ciblent pas spécifiquement (car cela semble être votre principale préoccupation), mais la situation est très différente si quelqu'un vous cible spécifiquement. Restons simples cependant.
Attaque par force brute hors ligne non ciblée
Une des principales raisons des mots de passe à haute entropie est de vaincre les attaques par force brute hors ligne. De toute évidence, les attaques par force brute hors ligne sont très faciles si le service piraté utilise des mots de passe en texte brut (ce qui est une raison très importante pour laquelle vous ne devez jamais réutiliser les mots de passe sur les sites). Cependant, que se passe-t-il si votre mot de passe se retrouve dans un vidage d'un service qui utilise MD5 pour les mots de passe? Il existe des plates-formes qui peuvent tester des centaines de milliards de mots de passe par seconde contre MD5. La meilleure défense contre une telle attaque est simplement la longueur du mot de passe et de s'assurer que votre mot de passe ne figure pas dans une liste de mots de passe ou dans une simple variante des schémas de mots de passe courants utilisés par les gens.
Même avec une force brute hors ligne contre une liste de mots de passe MD5, un attaquant ne va pas simplement rechercher de manière exhaustive l'espace de mot de passe. Ils commenceront par télécharger des listes de mots de passe précédemment craqués et en essayant tous. Ensuite, ils prendront une liste des schémas de génération de mots de passe les plus couramment utilisés et les essayeront. La phrase de génération «combinaison de mots du dictionnaire» est suffisamment courante pour qu'ils puissent même essayer cela. Si oui, la question est de savoir combien de temps pouvez-vous tenir le coup? Cela dépend du nombre de mots que vous avez et du nombre de mots dans votre liste. Il y a 7776 mots dans la liste des dés, alors utilisons-les. Cela signifie qu'une phrase de passe de 4 mots a environ 3,66e15 combinaisons de mots de passe différentes qu'elle peut créer. À un rythme de 200 milliards de mots de passe par seconde (une plate-forme de hachage haut de gamme), il faudra 5 heures pour rechercher cet espace de mot de passe. Voici le temps de recherche en fonction du nombre de mots de votre mot de passe:
- 4 mots: 5 heures
- 5 mots: 4,5 ans
- 6 mots: 35 000 ans
- 7 mots: 270 millions d'années
- 8 mots: 2 billions d'années
Bien sûr, MD5 est terrible. Si votre mot de passe a été divulgué par un système qui utilise des méthodes de hachage plus modernes, même un mot de passe de 4 mots sera effectivement incassable. Cependant, il est préférable de supposer le pire et, pour les services importants, de supposer que la personne à l'autre extrémité utilise la pire sécurité possible et de choisir en conséquence (c'est-à-dire supposer des mots de passe en texte brut ou MD5). Il existe de nombreux systèmes qui utilisent encore MD5 pour les mots de passe.
Les inconnues
Il y a cependant beaucoup d'inconnues, ce qui rend la réponse difficile. Nous avons supposé qu'un attaquant avait tenté de forcer brutalement un mot de passe de type Diceware et qu'il utilisait exactement la même liste de mots de passe que celle que vous avez utilisée. Ce sont beaucoup d'hypothèses, et un pirate peut ne pas déranger ou ne pas avoir votre liste de mots. Et si ce n'est pas le cas et essayez plutôt une recherche exhaustive? En supposant une longueur de mot moyenne de 5 caractères, un mot de passe de logiciel de dé 4 mots est de 20 caractères. Ils font une recherche exhaustive et doivent donc vérifier toutes les lettres et tous les chiffres même si vous n'avez que des lettres minuscules (nous serons gentils et ignorerons les caractères spéciaux). Maintenant, il y a 7e35 combinaisons de mots de passe à essayer (s'ils veulent rechercher tous les mots de passe jusqu'à 20 caractères), ou 1e17 ans de calcul avec une plate-forme de hachage de premier ordre avant de rechercher de manière exhaustive l'espace de mot de passe nécessaire. En d'autres termes, il n'y a absolument aucune chance que votre mot de passe soit piraté. De toute évidence, personne ne prendrait même la peine d'essayer cela. C'est ce à quoi cela revient vraiment. La plupart des gens qui essaient simplement de déchiffrer autant de mots de passe que possible vont d'abord essayer les réponses évidentes. Au-delà d'un certain niveau de complexité, il y a une certaine sécurité dans le simple fait que vous n'êtes plus le fruit à portée de main. Bien sûr, si quelqu'un vous cible spécifiquement, alors tous les paris sont désactivés ( un autre xkcd obligatoire).
Néanmoins, j'opterais probablement pour 6 mots ou plus. De plus, ne le réutilisez nulle part.
Concernant le chiffrement de disque / les gestionnaires de mots de passe
Dans un commentaire, vous mentionnez que votre intérêt peut principalement être de sélectionner un mot de passe principal pour un gestionnaire de mots de passe ou un mot de passe pour le chiffrement du disque. Il s'agit d'un cas d'utilisation légèrement différent. Les algorithmes de hachage de mots de passe modernes sont conçus pour être lents et donc difficiles à forcer. Cependant, les algorithmes de chiffrement fonctionnent un peu différemment et la «lenteur» n'est pas aussi importante pour le chiffrement que pour le hachage de mot de passe (dans une certaine mesure, trop de lenteur est même une mauvaise chose). À quel point il est "difficile" de forcer brutalement une clé de chiffrement varie énormément en fonction des détails exacts de la méthode de chiffrement (je ne peux donc pas vraiment deviner à quoi cela ressemblerait en pratique), mais la comparaison avec quelque chose comme MD5 pourrait ne pas être un mauvais point de référence.
Une différence importante (h / t Michael Kjörling) est qu'avec le chiffrement du disque local ou le gestionnaire de mots de passe, vous pouvez contrôler le coût du processus de génération de clé. Dans ce cas, vous pouvez augmenter la "dureté", diminuer la longueur de votre mot de passe et trouver votre propre compromis acceptable entre la sécurité, la facilité de mémoire et "combien de temps je dois attendre jusqu'à ce que cette chose s'ouvre" (c'est-à-dire la facilité d'utilisation).