web-dev-qa-db-fra.com

Comment difficile de casser le mot de passe maître keepass?

Est-ce que quelqu'un pourrait facilement casser mon fichier keepass .kdbx si cette personne vole le fichier mais n'obtient jamais le mot de passe principal?

Est-ce une menace sérieuse ou une attaque par force brute nécessiterait-elle un temps de calcul considérable?

Supposons un mot de passe de plus de 10 caractères avec des caractères répartis de manière aléatoire de l'ensemble, y compris toutes les lettres, les chiffres et la plupart des symboles de clavier non alphanumériques.

111
steampowered

KeePass utilise un processus de dérivation de mot de passe personnalisé qui comprend plusieurs itérations de cryptage symétrique avec une clé aléatoire (qui sert ensuite de sel), comme expliqué . Le nombre d'itérations par défaut est de 6000, ce qui représente 12000 invocations AES pour le traitement d'un mot de passe (le cryptage est effectué sur une valeur de 256 bits, AES utilise des blocs de 128 bits, il doit donc y avoir deux invocations AES au moins pour chaque tour). Avec un PC quad-core récent (ceux avec le spiffy instructions AES ), vous devriez pouvoir tester environ 32000 potentiels mots de passe par seconde.

Avec dix caractères aléatoires choisis uniformément parmi la centaine de caractères pouvant être tapés sur un clavier, il y a 1020 les mots de passe potentiels et la force brute en essayeront en moyenne la moitié. Vous en avez 1020* 0,5/32000 secondes, également appelé 50 millions d'années. Mais avec deux PC, cela ne fait que 25 millions d'années.

Cela suppose que le processus de dérivation de mot de passe n'est pas défectueux d'une manière ou d'une autre. Dans "processus de dérivation de mot de passe personnalisé", le "personnalisé" est un mot effrayant. De plus, le nombre d'itérations est configurable (6000 n'est que la valeur par défaut).

140
Tom Leek