Caput draconis

Ecrit par Alysson, sam 15 juillet 2017, dans Logiciels libres

keepassx, mot de passe

Sur Internet, les mots de passe sont la méthode le plus répandue afin de prouver votre identité, mais un bon mot de passe ne s'improvise pas.

Bonjour. Après cette petite introduction, j'aimerais vous parler des mots de passe.

Les mots de passe les plus communs

Dans un premier temps, on va parler des mots de passe les plus communs. Et oui, en 2017, certaines personnes utilisent encore des mots de passe bâteau pour se connecter sur les différents sites où iels ont un compte.

Le top des mots de passe reste:

Soyons franc-he-s deux secondes. Niveau sécurité, ces mots de passe sont totalement inadmissibles, on va voir pourquoi.

Les dictionnaires

Pour connaître quelques personnes qui aiment jouer avec les dictionnaires, il m'est arrivé de parler des mots de passe avec ces personnes. Iels utilisent ce qu'on appelle un dictionnaire, il s'agit en vérité d'un fichier assez volumineux dans lequel les mots de différentes langues sont présents.

Ces fichiers sont très facilement trouvable avec une recherche très simple comme password dictionnary. Avec ceux-ci, on fait tourner un petit script sur notre machine afin de tester si le mot de passe est présent dans ce fichier.
On peut très facilement faire en sorte de remplacer certains caractères par des chiffres comme le caractère e par 3, une minuscule en majuscule, etc. Ça ne prendrait que 3 ou 4 lignes en Python. Cette méthode, c'est l'attaque par dictionnaire: on teste toutes les valeurs d'un dictionnaire jusqu'à la fin du fichier.

Le brute forcing

Vous voyez quand la télécommande de votre téléviseur ne fonctionne plus — probablement parce que les piles sont (presques) vides ? Vous tapez dessus jusqu'à ce que cela daigne fonctionner. Et bien, le bruteforce c'est pareil: on teste jusqu'à ce que ça fonctionne.

Dans le cas des mots de passe très simple comme ceux cités plus haut, il ne faudrait que quelques minutes pour les tester, ils sont même souvent en haut de la liste de test. Et vu la vitesse de nos ordinateurs à l'heure actuelle, tester des milliers de mots de passe ne prendrait pas beaucoup de temps.

Simple conseil; évitez ces mots de passe. Ils sont trop facile à trouver.
Dans l'oreillette, j'entends Mlle. Michu qui me dit, je cite:

Mè komen on fé 1 bon mpd??? (Mais comment on fait un bon mot de passe ?)

On y vient, on y vient. Tu peux continuer à lire si tu veux toujours savoir comment faire un bon mot de passe

Un bon mot de passe, c'est quoi ?

Pour répondru à Mlle. Michu, on va voir ce qu'est un bon mot de passe. Personnellement, mes mots de passe les plus courts font 16 caractères. C'est avec cette longueur qu'on va voir les probabilités de trouver un mot de passe. Un bon mot de passe est donc celui qui aura le moins de chance d'être trouvé.

Notre alphabet est composé de 26 caractères — vous pouvez compter si vous souhaitez, on va donc partir là dessus pour le moment.

Minuscules

Les probabilités de chance de trouver un mot de passe composé uniquement de lettres sont de 26^16, ce qui nous donne 43.608.742.899.428.874.059.776 combinaisons possibles.
Pour un humain, ça peut paraître énorme. En vérité, tout dépend de l'ordinateur.

Ajout des majuscules

On ajoute maintenant la possibilité que chaque caractère soit une majuscule ou une minuscule (mais toujours sans caractères spéciaux ou chiffres!): 52^16: 2.857.942.574.656.970.690.381.479.936.
Ça commence à être bien. On ajoute les chiffres ? Allez!

Les chiffres

62^16: 47.672.401.706.823.533.450.263.330.816 combinaisons possibles. La probabilité commence à être pas mal.

Des caractères spéciaux ?

On va ajouter un peu de complexité au mot de passe, 47 millions de milliards de milliards c'est pas encore assez. Au niveau des caractères spéciaux, disons qu'il y a: $, ., ;, _, ?, !, %, &. N'est-ce pas bon, ça ? 8 caractères possibles en plus.

Vous allez me dire, 8 caractères en plus des 62 déjà existants, c'est rien. Pourtant, la différence se fait sentir: 284.656.903.989.186.466.549.736.669.184 de combinaisons possibles en plus. Pour au total 332.329.305.696.010.000.000.000.000.000 possibilités. C'est beaucoup!
Petit rappel, un mot de passe de 16 caractères totalement en minuscule se tient en 43.608.742.899.428.874.059.776 possibilités.
Là, on commence à être bien.

Comparatif

Pour bien imaginer les choses avec toutes les données précédentes, voici un récapitulatif des possibilités présentées ci-dessus. Le tableau est par contre plus complet afin que vous puissiez voir la différence entre le nombre de caractères, le type de ces caractères et les probabilités qui y sont associées.

Caractères Calcul Possibilités
16 caractères, minuscules 26^16 43.608.742.899.428.874.059.776
16 caractères, minuscules, majuscules 52^16 2.857.942.574.656.970.690.381.479.936
16 caractères, minuscules, majuscules, chiffres 62^16 47.672.401.706.823.533.450.263.330.816
16 caractères, minuscules, majuscules, chiffres, caracètres spéciaux 70^16 332.329.305.696.010.000.000.000.000.000
17 caractères, minuscules 26^17 1.133.827.315.385.150.725.554.176
17 caractères, minuscules, majuscules 52^17 148.613.013.882.162.475.899.836.956.672
17 caractères, minuscules, majuscules, chiffres 62^17 2.955.688.905.823.059.073.916.326.510.592
17 caractères, minuscules, majuscules, chiffres, caracètres spéciaux 70^17 23.263.051.398.720.700.000.000.000.000.000
20 caractères, minuscules 26^20 19.928.148.895.209.409.152.340.197.376
20 caractères, minuscules, majuscules 52^20 20.896.178.655.943.101.411.324.274.803.736.576
20 caractères, minuscules, majuscules, chiffres 62^20 704.423.425.546.998.022.968.330.264.616.370.176
20 caractères, minuscules, majuscules, chiffres, caracètres spéciaux 70^20 7.979.226.629.761.200.100.000.000.000.000.000.000
25 caractères, minuscules 26^25 236.773.830.007.967.588.876.795.164.938.469.376
25 caractères, minuscules, majuscules 52^25 7.944.811.378.381.907.919.170.379.739.856.654.861.074.432
25 caractères, minuscules, majuscules, chiffres 62^25 645.345.427.773.512.447.880.377.451.634.304.602.899.218.432
25 caractères, minuscules, majuscules, chiffres, caracètres spéciaux 70^25 134.10.686.196.639.649.008.070.000.000.000.000.000.000.000.00

Pour finir cette micro-démonstration, comment se compose un bon mot de passe ? Un bon mot de passe, selon l'ANSII, un mélange de caractères minuscules, majuscules et de chiffres suffit.

La première règle importante est de ne jamais avoir le même mot de passe sur plusieux sites… Même deux.
Quelques exemples de bons mots de passe:

Attendez. J'entends Mlle. Michu qui me dit:

Koi??? Komen je retient sa moi!!! (Quoi ?! Comment je retiens ça, moi ?)

Timing parfait pour parler d'une de mes solutions de mots de passe préférée: KeePassX.

KeePassX: le gestionnaire de mots de passe libre

Tout d'abord, KeePassX; c'est quoi ? Il s'agit d'un gestionnaire de mots de passe à installer sur votre système Windows, Mac OS ou GNU/Linux. Il vous suffit de vous rendre à cette adresse afin de télécharger la dernière version pour votre système d'exploitation. Pour les utilisateur-ice-s de GNU/Linux, KeePassX se trouve habituellement dans les dépôts.

Des gestionnaires de mots de passes, il en existe énormément: Lastpass, Dashlane, ou 1Password. Parmi ces trois là, je n'ai utilisé que Lastpass. On va donc faire une petite review qui peut être utile afin de comparer les solutions propriétaires à KeePassX.

LastPass

Tout comme KeePassX (abrégé KPX dans la suite de l'article) est un gestionnaire de mots de passe. Contrairement à KPX, il sauvegarde vos mots de passe quelque part dans les Internets.

Avec Lastpass, vous pourrez faire des audits de sécurité de vos mots de passes et comparer la robustesse de ceux-ci avec ceux des autres utilisateur·ice·s du service. Un autre avantage de Lastpass est qu'il fonctionne avec une extension Firefox ou Chromium. Il peut donc remplir automatiquement les formulaires de connexion et vous proposer la génération d'un mot de passe sécurisé directement sur le site web.

Le problème, c'est qu'il s'agit d'un logiciel propriétaire avec une offre Premium à 2$ par mois. Bon, 2$ c'est vraiment pas cher, n'empêche que vos mots de passe sont quelque part sur la planète où vous ignorez totalement l'emplacement. Lastpass fut victime de plusieurs failles de sécurité. Une en 2016 et une autre en 2015 et une faille dans les modules des différents navigateurs en ce début d'année.

Ce sont les raisons pour lesquelles j'ai préféré changer de gestionnaire et me retrouver sur KPX.

KeePassX: pourquoi l'utiliser

Après avoir parlé brièvement de Lastpass, retournons voir KPX. KeePassX, tout comme Lastpass, est un gestionnaire de mots de passe libre qui fonctionne en local avec un fichier (appelé base de données) chiffré qui peut être lu avec un mot de passe (appelé « Mot de passe maître ») ou avec un fichier spécifique. Ou les deux.

KPX est également multiplate-forme. Windows, GNU/Linux et Mac OS. Vu que c'est un logiciel libre donc il peut être compilé par vos soins et probablement être exécuté sur un BSD mais j'avoue que ce n'est pas ma tasse de thé.

Fonctionnalités de KPX

KPX, comme tous les gestionnaires de mots de passe existant sauvegarde vos… mots de passe. Après ceci, il peut également faire le tri entre vos sites et logiciels avec des dossiers (sur la colonne de gauche de la capture d'écran ci-dessous) avec le contenu de ces dossiers sur le panel principal, à droite. Il peut également générer des mots de passe, etc.

Voici une capture d'écran du site officiel de KeePassX:

KeepassX: fenêtre principale sous KDE4

Pour KPX, un site se compose de :

Génération de mots de passe avec KeePassX

KeePassX peut tout sauvegarder dans sa base de données. Vous pouvez très bien enregistrer votre numéro IBAN, votre clé SSH ou faire des backups de vos numéros de téléphones. Il ne se limite pas aux mots de passe même s'il s'agit de son application principale.

L'intégration web

Par défaut, l'intégration web n'est pas disponible avec KPX. Il existe néanmoins des solutions afin de remédier à ce problème comme KeeForm qui est un module web à KeePass (Il s'agit de KeePassX sans interface graphique — il fonctionne donc en terminal) mais vous aurez un module intégré à Firefox afin de l'utiliser de la même façon que Lastpass.

Il faudra cependant installer Mono — l'intégration de .NET dans l'écosystème GNU/Linux sur votre système.

Quand on ne souhaite pas utiliser un plug-in sur son navigateur

Si vous ne souhaitez pas installer KeeForm, vous pouvez toujours utiliser KPX afin de vous connecter sur vos sites préférés. Sous GNU/Linux, KPX peut ouvrir un lien, ajouter et envoyer le formulaire de connexion. Un petit clique droit sur le champ du site (ou logiciel) et un autre sur « Effectuer un remplissage automatique ». Ou un petit CTRL+V… c'est bien aussi.

Attention !

Si vous faites le remplissage automatique comme expliqué ci-dessous, faites très attention. KeePassX utilise le dernier logiciel ouvert de votre ordinateur. S'il s'agit de Firefox avec le bon onglet, aucun soucis. Mais si vous êtes sur IRC et que vous effectuez le remplissage automatique, il enverra le nom d'utilisateur et le mot de passe. Il vous faudra également préparer le formulaire. Si vous souhaitez rester connecté·e en cochant un élément, alors il doit être fait avant l'exécution du remplissage et vous devez choisir le premier champ de connexion avant le remplissage automatique.

Le remplissage automatique n'est (actuellement ?) pas disponible sous Windows. Mais aucun problème sous GNU/Linux.

Le périphérique de stockage

Vu que KPX utilise un fichier de données, vous pouvez la stocker n'import où. Pour ma part, elle se situe sur une carte micro SD qui est toujours avec moi, avec pas mal de fichiers et un mot de passe afin d'améliorer la sécurité. KPX permet d'ouvrir le fichier sur n'importe quel stockage monté, il peut donc être sur un serveur NFS, Samba, votre dossier personnel ou tout autre périphérique amovible ayant une capacité de stockage.

Pour encore améliorer la sécurité de votre périphérique, n'hésitez pas à chiffrer celui-ci avec LUKS, par exemple.

Conclusion