16 novembre 2024 — les Mots de Passe
S'il y a un truc qui paraît simple en informatique…
… mais qui peut se révéler drôlement ardu si on y réfléchit et qu'on veut les mettre bien en pratique, ce sont les mots de passe !
François Fri 15 Nov 2024 9:56PM
La “robustesse” d'un mot de passe
Au plus il y a de possibilités à tester, au plus “casser” un mot de passe va prendre du temps.
Une façon d'estimer le nombre de possibilités se base sur le nombre de possibilités de chaque élément pris individuellement et de l'élever à la puissance du nombre d'éléments dans le mot de passe.
Exemple 1 : un cadenas à trois chiffres → 627
Nombre de possibilités par élément: 10
Nombre d'éléments : 3
→ Nombre de combinaisons possibles : 10³ = 1.000
Exemple 2 : un cadenas avec des très grosses roulettes pour les lettres de l'alphabet → PEK
Nombre de possibilités par élément: 26
Nombre d'éléments : 3
→ Nombre de combinaisons possibles : 26³ = 17.576
Exemple 3 : un mots de passe composé de trois mots communs français → vélo-certainement-sauvegarderaient
Nombre de possibilités par élément: ~6.500.000 (= nombre d'entrées sur Wiktionnaire)
Nombre d'éléments : 3
→ Nombre de combinaisons possibles : 6.500.000³ = 2,7×100.000.000.000.000.000.000
:bomb: Si les éléments ne sont pas choisi indépendemment les uns des autres, le nombre de combinaisons à tester peut de venir très faible. ⇒ Jeter les dés !
:bulb:
- KeePassXC intégre un évaluateur (“Entropie”).
- Il existe aussi des sites web qui donnent cette information,
mais on ne leur donnera JAMAIS LE VRAI mot de passe
François Fri 15 Nov 2024 10:10PM
Gestionnaire de mot de passe
Kesako ?
Un gestionnaire de mot de passe permet d'éviter de retenir de nombreux mots de passe mais aussi d'utiliser des mots de passe forts et longs pour les différents sites auxquels nous nous connectons.
Le principe derrière est que l'ensemble des mots de passe soient contenus dans une base de donnée, accessibles via un unique mot de passe. Cet unique mot de passe principal - appelé parfois mot de passe maître - permet de chiffrer et de déchiffrer les mots de passe stockés dans la base de données. C'est donc le seul mot de passe à retenir...
Mais il ne faut pas l'oublier, sous peine de perdre l'accès à ses autres mots de passe !
Trois alternatives
Firefox peut retenir vos mots de passe
C'est une fonctionnalité assez standard, mais souvent utilisée de manière très imprudente !
Par défaut, une installation Windows (ou Linux — vérifier pour macOS) n'est pas chiffrée. C'est-à-dire que devoir débloquer votre session avec un mot de passe vous donne l'impression que tout le contenu du disque dur est protégé par ce mot de passe… ce qui n'est pas le cas.
Le premier installateur GNU/Linux venu (celui de votre Repair Café, par exemple) peut démarrer votre PC et en copier le disque dur pour l'exploiter plus tard.Si les mots de passe que Firefox retient pour vous ne sont pas protégés par un mot de passe primaire (anciennement dit “maître”), il suffit de copier votre profil Firefox pour les avoir tous.
:bomb: Si votre ordinateur est susceptible de contenir des données sensibles, chiffrer votre disque dur ou votre dossier personnel est de toute façon une très bonne idée.
:bomb: Si vos données ne sont pas chiffrées, il faut protéger votre session Firefox par un mot de passe primaire.
:bulb: …Et si vos données sont chiffrées, protéger votre session Firefox par un mot de passe primaire reste un excellente idée : pour accéder à vos mots de passe, il faut casser la protection de vos données ET la protection de Firefox.
Bitwarden (ou Vaultwarden)
Bitwarden est un gestionnaire de mot de passe relativement connu fonctionnant selon une architecture client-serveur.
Les mots de passe sont stockés dans une base de données hébergée sur un serveur, à laquelle peuvent se connecter différents appareils : ordinateurs, tablette, smartphone. Bien entendu, cette base de donnée est chiffrée, et ne peut être utilisée qu'en connaissant le mot de passe maître qui seul permet de la déchiffrer.
Deux versions du code serveur existent : Bitwarden ou Vaultwarden, la première étant la version officielle proposée par l'entreprise, demandant passablement de ressources côté serveur, la seconde une implémentation compatible avec les clients officiels Bitwarden mais codée dans un autre langage de programmation et plus légère.
Un logiciel libre ?
Bitwarden articule du code libre - pour son implémentation serveur et ses clients - et du code propriétaire pour ses produits commerciaux. Pendant longtemps aussi, le code des clients n'était pas publié sous une licence libre comme la GPL mais sous une licence personnalisée de Bitwarden, interdisant certains usages bien qu'encadrant l'ouverture du code.
Mais récemment une polémique autour du client Bitwarden a spécialement agité la communauté du logiciel libre. En cause, l'insertion, au cours du mois d'octobre 2024, de code propriétaire au sein du client, ne permettant plus de le compiler sans erreur, uniquement avec du code Libre - ce que l'entreprise à expliqué être une erreur, un "bug". Mais un peu plus tôt, en juillet, un problème similaire avait déjà été constaté dans le client Android, posant problème pour son intégration dans F-Droid.
Ces deux problèmes ont donc conduit certaines personnes à abandonner Bitwarden pour un autre gestionnaire de mot de passe, considérant que cela mettait en doute l'avenir de Bitwarden à rester un client libre. Toutefois, suite à cette controverse, Bitwarden a décidé de republier son code sous une double licence, ajoutant la GPL à sa précédente licence, pour réaffirmer son engagement pour le libre. Elle a aussi fait deux dépot de code différents, l'un n'incluant que du code libre et l'autre incluant le code propriétaire de ses produits commerciaux. Ce procédé permet de choisir licence sous laquelle on veut utiliser le code et de pouvoir compiler le client uniquement avec du code Libre. Désormais sous licence GPL, Bitwarden pourrait à nouveau être publiable à F-Droid.
Le logiciel serveur Bitwarden était quant à lui déjà publié sous Licence AGPL. Il en est de même pour le logiciel Vaultwarden.
Avantages et inconvénients
💚 Intégration avec le navigateur internet
💚 Intègre un générateur de mot de passe
💚 Facilité pour retrouver ses mots de passe sur différents appareils, y compris smartphones
💚 Interface unifiée entre les différentes applications clientes.
💚 Possibilité de vérifier directement dans l'application si un mot de passe a fait l'objet d'une fuite de données.
🧡 Stockage distant de la base de donnée qui n'est pas vraiment sur l'ordinateur (TODO à vérifier dans le cas du client lourd)... Il faut donc pouvoir se connecter à se service pour accéder à ses données. Mais cette architecture a aussi un avantage : elle permet de récupérer ses mots de passe même si on perd ou casse son ordinateur, son téléphone...
💔 Dépendance à un service externe pour utiliser le service (sauf si on a les compétences pour l' "auto-héberger" soi-même...).
💔 La philosophie ambiguë de l'entreprise : elle ne développe pas que du logiciel libre mais aussi des produits propriétaires commerciaux. La double licence des clients autorise à utiliser le code avec des composants propréitaires.
KeePass
KeePass existe depuis plus de 20 ans et est probablement le gestionnaire de mot de passe le plus connu. Contrairement à Bitwarden, il ne demande pas de serveur pour fonctionner. La base de donnée des mots de passe est donc chez soi, sur le disque dur de l'ordinateur, sous la forme d'un fichier avec une extension .kdb ou .kdbx.
C'est un logiciel libre publié sous licence GPL et plusieurs logiciels permettent de gérer la base de données des mots de passe. On peut ainsi installer KeePass mais aussi KeePassX ou KeePassXC, qui ont une interface légèrement différentes.
Par défaut, une base de donnée est enregistrée localement dans un unique appareil, mais elle peut être synchronisée entre plusieurs appareils en utilisant un logiciel comme NextCloud qui permet de synchroniser des dossiers et des fichiers entre plusieurs appareils. Les logiciels ou applications sont alors configurés pour accéder au même fichier .kdb ou .kdbx, et les modifications effectuées dans la base de données sont transmises aux autres appareils.
:bomb: Attention, point d'attention à avoir : si la base de donnée n'est pas synchronisée à un outil comme Nextcloud et se trouve uniquement sur l'ordinateur, il ne faut pas oublier de la backuper avec ses autres fichiers pour conserver une copie de ses mots de passe en cas de perte, vol ou crash du disque dur de l'ordinateur...
:bomb:
Les back-up, c'est bien… pour ne pas perdre, mais attention s'il est question de protéger :
Si quelqu'un regarde par-dessus votre épaule et voit votre mot de passe principal, vous allez le changer. C'est bien…
Mais si vous avez des sauvegardes de votre fichier de mots de passe, elles ont gardé l'ancien mot de passe et leur contenu est donc “compromis”.
Avantages et inconvénients
💚 KeePassX et KeePassXC remplacent le clavier (sur PC, car “haute voltige sur Android”).
💚 Intégration avec le navigateur internet
💚 Intègre un générateur de mot de passe
💚 La base de donnée est sur son propre ordinateur, aucune dépendance à un service externe. Pas besoin d'une partie serveur pour que cela fonctionne.
💚 Le code est libre, permettant à de multiples clients d'être développés pour gérer des mots de passe. Ainsi, si KeePass n'était plus développé, d'autres logiciels pourront être codés pour le remplacer (et il existe déjà plusieurs alternatives).
💔 Un logiciel tiers comme Nextcloud est nécessaire pour synchroniser la base de donnée entre différentes appareils. Si le gestionnaire n'est installé que sur un ordinateur, il faut aussi penser à régulièrement sauvegarder sa base de donnée.
:bulb: S'envoyer le fichier par e-mail peut être une solution alternative.
François Fri 15 Nov 2024 10:13PM
KeePass
Installation de KeepasXC
Les logiciels clients peuvent être téléchargés depuis le site de KeePassXC : https://keepassxc.org/download
Sous Linux Mint, on peut installer KeePassXC directement depuis le gestionnaire de logiciels 📦
Utiliser KeePass pour la première fois
A la première ouverture, KeePassXC propose de créer une nouvelle base de données ou d'ouvrir une base de données existante. Comme on n'a pas encore de gestionnaire de mot de passe, c'est la première option que l'on choisit.

On choisit ensuite un nom pour la base de donnée :

Puis l'on peut configurer des options liées au chiffrement de la base de donnée :

Et l'on choisit le mot de passe principal qui permettra de déchiffrer la base de données :

NB : Ici le mot de passe est court pour une démostration, mais il est évidemment recommandé de choisir un mot de passe long pour sa propre base de donnée !
On peut aussi utiliser des options plus avancées comme un fichier de clé ou utiliser une Youbikey.
On choisit ensuite où enregistrer le fichier qui contiendra la base de données. Si l'on souhaite synchroniser plusieurs appareils, il faudra enregistrer le fichier dans son cloud.

KeePassXC ouvre ensuite la base de donnée, vide tout d'abord :

Une fois que des identifiants sont ajoutés, ceux-ci prennent place dans la partie principale haute de l'écran (en vert) et les détails des différentes entrées dans le cadre du bas (en orange).
Sur la gauche, on a accès à la liste des entrées en fonction des différents dossiers (en bleu) - par défaut, c'est la racine qui est utilisée par les identifiants qui s'enregistrent automatiquement.
Des mots de passe peuvent être ajoutés en cliquant sur le petit "+" (en rose).

KeePassXC intègre aussi un générateur de mots de passe, accessible en cliquant sur le petit dé (en saumon).
Lorsqu'on a beaucoup de mot de passe, on peut utiliser la recherche (en jaune).
Lorsqu'on ajoute une nouvelle entrée ou qu'on édite une entrée existante, différentes options peuvent être configurées. Il est notamment possible de modifier l'émoji associée à l'entrée, ce qui peut faciliter la lisibilité.

Régulièrement, KeePassXC re-verouille la base de donnée par sécurité. Il faut alors la déverouiller à nouveau en tapant son mot de passe :

Se connecter à une base de donnée existante
Lors de la première ouverture de KeePassXC, le logiciel propose d'ouvrir une base de donnée existante. C'est cette option qu'il faut choisir si l'on a déjà utilisé KeePass et qu'on possède déjà une base de donnée.

On cherche ensuite le fichier sur son ordinateur :

KeePass demande de déverouiller la base de donnée :

Extension de navigateur
Avant d'installer l'extension pour Firefox, il est nécessaire d'autoriser la connexion entre KeePass et le navigateur. Cela se fait dans les paramètres de KeePass (accessible via la petite rondelle en rouge), dans la rubrique dédiée (en bleu) :

On se rend ensuite sur la page de l'extension pour la télécharger.
Une fois l'extension installée, on clique sur son icône en haut à droite et dans la fenêtre qui s'affiche, on clique sur "Connecter".

Lors de la première connexion, KeePassXC demandera un nom pour cette connexion. Ceci permettra d'identifier facilement les navigateurs qui sont reliés à la base de données :

Une fois la base de donnée connectée, KeePassXC pourra être utilisé au fil de la navigation, soit via l'icone en haut à droite, soit via celle qui apparait à proximité des champs de login / mots de passe des sites web auxquels on se connecte.

Enregistrement automatique des mots de passe
Au fil de la navigation, Bitwarden propose d'enregistrer les mots de passe. Une barre apparait en haut de la fenêtre du navigateur.

François Fri 15 Nov 2024 10:13PM
Bitwarden
Installer le client Bitwarden
Les logiciels clients peuvent être téléchargés depuis le site de Bitwarden : https://bitwarden.com/download/
Sous Linux Mint, on peut installer le client Bitwarden directement depuis le gestionnaire de logiciels 📦
Sur iOS ou Android, l'installation peut être faite à partir des magasins d'applications.
:mag: NB : Actuellement, suite à la polémique récente décrite ci-dessus, l'application a été temporairement retirée de F-Droid qui ne distribue que des logiciels libres. Mais comme le client est désormais sous licence GPL3, il est probable qu'elle revienne bientôt parmis les applications de F-Droid.
S'enregistrer sur Bitwarden
Comme Bitwarden dépend d'un serveur héberger la base de données des mots de passe, il faut préalablement créer un compte sur le serveur.
Par défaut, Bitwarden propose de s'inscrire sur bitwarden.com mais il est aussi possible de choisir son serveur européen, pour avoir la garantie que ses données sont stockées en Europe : bitwarden.eu. Cependant, Comme le logiciel qui fait fonctionner la partie serveur est libre, ce qui signifie que toute personne qui en a les compétences techniques peut l'installer sur sa propre machine. Il est donc possible de trouver d'autres hébergeur en dehors de ceux l'entreprise, notamment chez les CHATONS (Collectif d'Hébergeurs Alternatifs Transparants Ouverts Neutres et Solidaires).
Pour trouver le service chez les chatons, on le cherche via le nom de "Vaultwarden", nom donné à ce logiciel (NB : Bitwarden est le nom de l'entreprise et des logiciels clients).

Une fois chez le chaton choisi (on peut vérifier l'adresse dans la barre d'adresse), on clique sur "Créer un compte" :

On rempli les infos demandées :

On peut ensuite se connecter avec les identifiants et mot de passe choisis :


A la première connexion, un bandeau demandera à vous envoyer un email pour vérifier son compte.

Se connecter à sa base de données
Via l'application
Par défaut, l'application se connecte au serveur bitwarden.com, il faut donc changer ce paramètre pour dire que l'on va utiliser un autre serveur. C'est le terme "auto-hébergé" qui est repris, ce qui est un peu malheureux dans le cas où l'on a ouvert un compte chez un prestataire parmi les CHATONS et que l'on héberge pas soi-même le service. Cependant, c'est cette option qu'il faut choisir.

Une petite fenêtre se superpose, dans laquelle on peut taper l'adresse URL du chaton où l'on s'est inscrit. Ici donc https://vault.tedomum.net
Puis on clique sur la petite disquette pour enregistrer le paramètre.

De retour sur la fenêtre principale, on vérifie qu'il est désormais bien affiché "auto-hébergé".

On clique ensuite sur le gros bouton "Se connecter avec un mot de passe principal".

Une fois le "coffre" déverrouillé - ici encore vide, on a accès ses identifiants et autres infos. Différentes rubriques existent pour différents types de données (en vert).
Lorsque le gestionnaire est un peu rempli, les différents mots de passe pour les différents comptes sont visibles dans la colonne du milieu (en bleu). En cliquant sur un élément, on peut accéder aux détails associés (en orange). Par défaut, le mot de passe n'est pas visible mais on peut le voir, le copier et vérifier s'il a été compromis en cliquant sur le petite coche (en rouge).

Le bouton "+" en bas (en rose) permet d'ajouter une nouvelle entrée.
NB : A noter qu'à la première connexion, il est indiqué en haut à droite (en jaune) qu'on est connecté à bitwarden.com alors que ce n'est pas le cas... Fermer et rouvrir l'application résoud ce bug. :-)
Via l'extension de navigateur
Cependant, comme KeePass, Bitwarden va aussi enregistrer les mots de passe au fil de la navigation internet. Pour cela, il est nécessaire d'installer l'extension de Bitwarden dans Firefox.
Comme pour le client du bureau, il faut préciser que l'on se connecte à un serveur "auto-hébergé". Ensuite, la procédure est la même.

Lorsque l'on navigue sur internet, les identifiants sont accessibles soit en cliquant sur l'icône de l'extension en haut à droite, soit sous les champs de login / mot de passe.

Enregistrement automatique des mots de passe
Au fil de la navigation, Bitwarden propose d'enregistrer les mots de passe. Une barre apparait en haut de la fenêtre du navigateur.

François · Fri 15 Nov 2024 9:41PM
Bonnes pratiques
On ne donne [normalement] son mot de passe à PERSONNE
Un service Internet qui se respecte ne conserve pas les mots de passe, mais leur haché salé.
(Non, ça ne se mange pas. Cliquez sur les liens pour vérifier.)
Il n'y a normalement QUE VOUS qui avez l'usage de vos mots de passe.
Il arrive qu'on soit obligé de faire autrement, mais c'est le plus souvent signe d'une faiblesse à corriger ou à essayer de contourner.
Pas le même mot de passe pour des choses différentes
Si un hacker achète des mots de passe ayant fuité de chez Facebook (c'est arrivé !), où votre identifiant est votre adresse “
bubulle@gmail.com”, quel mot de passe va-t-il essayer pour prendre possession de votre boite mail, croyez-vous ?→ Have I been pwned ?
Lire plus :