Je mets en place mon gestionnaire de mots de passe sur tous mes ordinateurs et smartphone

Edit : Attention, une solution différente a été écrite depuis la rédaction de cette page, mais les informations ici restent valables :

J’ai choisi KeepassXC + Keepass2Android avec authentification Yubikey

Mon cahier des charges

  • Choisir un gestionnaire de mot de passe gratuit et sécurisé (encore mieux certifié ANSSI)
  • Permettre de partager une modification de mot de passe instantanément sur tous mes appareils, smartphone inclus, éviter les réplications de fichiers
  • Ne pas utiliser les solutions propriétaires (non open source) qui pourraient héberger mes données quelque part dans le monde
  • Ne pas avoir un mot de passe d’ouverture super fort de 30 caractères spéciaux à taper 5 fois par jour
  • Sécuriser l’ouverture de la base de données via une Yubikey unique sur tous les appareils
  • Si la Yubikey est perdue ou cassée, avoir une solution de secours
  • Que l’utilisateur dans le navigateur n’est aucun login ou mot de passe à saisir et encore mieux, que la double authentification à base de TOTP (mot de passe à usage unique basé sur le temps) soient calculés et complétés sur le même principe.
  • Que les nouveaux login/mot de passe soient ajoutés dans la base facilement et les mises à jour détectées et corrigées dans la base.

Avenant à mon cahier des charges

  • Avoir 3 bases : La mienne, celle de ma femme, celle commune aux deux
  • Que ma femme ait également une Yubikey et qu’avec elle puisse ouvrir les bases
  • Evidemment que les deux précédents points ne complexifient pas la remontée automatique des logins dans le navigateur

 

Fonctionnement de l’enregistrement des mots de passe dans la base au format Keypass

Toute la sécurité de Keepass repose sur le fait qu’en l’absence de mot de passe d’ouverture, à ce jour, il est impossible de lire les mots de passe contenus dans la base.

Keepass est à aujourd’hui le seul gestionnaire de mots de passe a avoir reçu en France la certification de l’ANSSI. Evidemment, l’ANSSI n’a validé qu’une version portable (KeePass Version 2.10 Portable) mais c’est bien le principe de cette manière de coder la base de donnée qui a été récompensée.

Ainsi pour faire simple, le logiciel Keypass exploite un fichier de base de données au format mabasedemotsdepase.kdbx

La force de ce fichier, c’est qu’il est portable. On peut soit le garder avec soi, le partager via un cloud ou un serveur de fichier… La récupération de ce fichier par un pirate ne « devrait » pas pouvoir être lu. Sur ce principe et en l’admettant, on peut poursuivre cette page.

Mon choix de la déclinaison KeePass pour les ordinateurs fixe ou portable sous Windows : KeePassXC

KeePassXC est une des déclinaisons les plus connues de KeyPass, j’en ai essayé plusieurs mais la prise en charge archi-simple de la sécurisation par Challenge-Response (on voit cela en détail plus loin) est géniale. L’utilisation d’une Yubikey et du Challenge-Response permet de ne pas avoir à saisir de mot de passe archi-fort, le principe de la clé physique suffit avec KeePassXC.

A noté que KeepassXC se décline sur toutes les plateformes

Mon choix de la déclinaison Keypass pour les Android : Keepass2Android

Comme sur PC, il existe une multitude d’applications Android qui se prétendent compatibles KeyPass. Partant du principe que vous confiez toutes vos informations d’identification à une application, il vaut mieux utiliser une qui a pignon sur rue et que toute la communauté des geeks surveille. Ne prenez pas au hasard une application peu connue, pourtant les stores en sont pleins.

Keepass2Android permet d’utiliser la yubikey et le principe du Challenge-Reponse pour ouvrir la base. Principe et Challenge-Reponse identique à celui de KeypassXC, c’est merveilleux donc, même clé Yubikey pour les deux.

Evidemment sur le smartphone, il faudra choisir une Yubikey qui peut être connectée au port USB ou une clé NFC (mon choix).

Présenter la clé à l’arrière suffira à déverrouiller la base de données.

Mon choix d’un cloud dédié au seul fichier de données : kDrive

J’ai facilement fait des premiers essais sur OneDrive Pro puis sur OneDrive Perso, cela a correctement fonctionné. Mais mon idée est d’éviter de mettre à disposition a base de données Keypass à un pirate éventuel qui serait entré sur mon OneDrive Pro ou Perso. Je me suis dis, autant utiliser un mini cloud dédié à la seule utilisation de la base Keypass. Sous un nom farfelu et aucune information nominative.

J’ai un compte chez Ionos qui offre une solution HiDrive gratuite de base si on a un compte chez eux, sinon c’est 1.80€/mois. J’ai testé avec HiDrive, j’ai eu des soucis de synchronisation et de fichier corrompu quand j’ai fait des essais de modifications sur plusieurs machines en même temps, la synchro sur Android (même avec l’option hors ligne) ne me semble pas au top, mais j’avoue ne pas avoir cherché plus. J’ai écarté HiDrive aussi car c’était le Drive en lien avec mon compte Ionos.

Après avoir épluché toutes les offres disponibles sur le marché, je me suis arrêté sur le produit proposé par Infomaniak. Infomaniak est un prestataire cloud suisse qui développe des solutions d’hébergement web, de streaming, de marketing et d’évènementiel en ligne depuis 1994. L’entreprise privilégie l’énergie renouvelable locale et construit ses propres centres de données et centrales solaires en Suisse, sans délocaliser. Ils proposent une offre découverte gratuite avec 15 Go de stockage (kDrive) et une adresse mail gratuite à vie. J’ai donc ouvert un compte avec un nom farfelu, et un stockage est rattaché à ce compte. Sans aucun lien avec moi en dehors des paramètres de sécurité. A noter que le compte est sécurité en double authentification avec choix entre Yubikey ou OTP.

Les données sont stockées en Suisse, cela me va très bien.

Sur les ordinateurs

Il faut installer l’application de synchronisation kDrive, fonctionnement identique aux autres logiciels Drive que tout le monde connait. Un dossier partagé sur le disque en synchro avec un dossier dans le cloud.

C’est l’icone verte sur l’image ci-dessus, entre HiDrive et OneDrive décrit précédemment.

J’ai toujours choisi de dédier une partition de disque à mes synchro cloud, c’est le disque O: chez moi, il est organisé ainsi :

Je vais donc créer un dossier dans kDrive pour y mettre mon fichier de base de données KeyPass, il sera donc dans O:/kDrive

Sur les SmartPhones

On utilise l’application kDrive dédiée. On va y retrouver le dossier créé sur ordinateur qui contiendra la base de données KeyPass.

Mon choix de clé de sécurité physique : Yubikey

J’avais porté mon dévolu sur la Winkeo-A de NeoWave, entreprise française, fabriquée en France. Mais l’absence de NFC m’a fait reculé car je voulais pouvoir déverrouiller également la base de mots de passe sur smartphone.

J’ai finalement, un peu comme tout le monde, opté pour la clé la plus populaire, la Yubikey. Chacun peut choisir sa version en fonction de son utilisation.

J’interconnecte l’ensemble des équipements via le cloud

Un bon schéma valant tous les discours, voici une vue d’ensemble.

Chaque base de données ne peut être déverrouillée qu’avec une Yubikey (la même).

Je mets en œuvre de cette solution, étape par étape

Je crée un compte chez Infomaniak et j’installe kDrive

Chez Infomaniak, j’accepte la proposition d’adresse mail gratuite et de 15Go, une fois tout configuré, j’active bien l’authentification multifacteurs puis j’installe sur mon PC l’application kDrive.

Cette application me propose un dossier de synchronisation, ce sera O:/kDrive, dans ce dossier, j’ajoute ensuite un dossier qui servira à y placer mon fichier de base de données KeyPass.

Je crée une base de données Keypass qui contiendra tous mes identifiants

Je débute sur PC, je télécharge l’application KeyPassXC.

Attention à bien prendre la version originale sur le site de KeypassXC !! 

J’installe KeyPassXC et ajoute une nouvelle base de données.

Pas d’inquiétude si besoin, il y a tout un tas d’imports possibles d’anciennes données.

L’installation ne pose pas de problème particulier.

Pour le mot de passe fort, je ne me prends pas trop la tête, dans quelques étapes, je vais le supprimer pour ne garder que l’identification avec la Yubikey.

J’enregistre la base de données dans le dossier spécifique que j’ai créé sur mon disque O:/kDrive

A ce stade, je peux fermer ou ouvrir la base de données, elle demande le mot de passe fort défini à l’installation.

Je sécurise l’ouverture de la base de données avec la Yubikey

Le dialogue entre KeyPassXC et la Yubikey se fait grâce à ce qui s’appelle un Challenge-Response.

Je vais donc commencer par définir la clé du Challenge-Response dans Yubikey Personnalization Tool.

Dans l’onglet Challenge-Response, je clique sur HMAC-SHA1.

Sur cet écran, je coche le slot2, Dans HMAC-SHA1, je clique sur Generate pour générer une clé secrète.
Je ne veux pas à avoir à appuyer sur la Yubikey à chaque appel, je ne coche pas « Require user input » mais c’est mon choix, chacun est libre de décider. Et enfin, je clique sur Write Configuration pour enregistrer la clé secrète dans la Yubikey.

Important : Bien noter quelque part la clé secrète, en effet, en cas de panne ou perte de la Yubikey, il me suffira de remettre la même clé dans une autre Yubikey et je ne perdrai pas vos accès.

Je retourne dans KeyPassXC ouvrir ma base de données puis je vais dans sécurité de la base de données.

Puis Ajouter une autre protection.

Puis Ajouter une question-réponse.

La clé est détectée, il suffit de valider et de fermer.

Premier test, je ferme la base de données et je la réouvre. Je dois taper le mot de passe et insérer la clé Yubikey.

Je vais supprimer le mot de passe pour ne garder que l’identification avec la Yubikey, je vais dans sécurité de la base de données puis je clique sur Supprimer le mot de passe.

La base s’ouvre maintenant uniquement si la Yubikey est insérée et sans mot de passe supplémentaire. C’était mon objectif.

J’interconnecte de manière sécurisée KeypassXC et le navigateur

Tout est bien prévu, je retourne sur le site de KeyPassXC et je vais dans Download / Browser extension

Mon navigateur est Brave, je vais donc prendre la version Chrome de l’extension.

Un lien s’établit entre Brave et KeypassXC, on peut donner un nom à ce lien. Cela reste actif et autorisé dans la base de données.

Pour vérifier ces liens, je vais dans Base de données / Paramètres de la base de données / Onglet Intégration aux navigateurs

Evidemment, par sécurité, à l’avenir, supprimer tout lien KeyPassXC/Navigateur qui deviendrait inutile.

Je reproduis toute cette installation sur mon ordinateur portable

A l’identique du paragraphe précédent, je refais toute l’installation sur mon ordinateur portable.

La base de données est récupérée sur le dossier kDrive qui s’est bien synchronisé.

J’ouvre sans souci avec la même Yubikey sur l’ordinateur portable.

J’installe kDrive sur mon SmartPhone

L’application kDrive, fournie par Infomaniak est très simple à installée.

Une fois que je suis identifié avec mon mail/motdepasse et la seconde authentification, j’ai accès au fichier de la base de données KeyPass qui s’est enregistrée sur mon téléphone.

La seule petite manipulation que je réalise, c’est de cocher « Disponible hors ligne » pour avoir toujours la dernière version sur mon téléphone. Je ne sais pas si cela est indispensable mais dans le doute, c’est un plus.

J’installe Keypass2Android sur mon SmartPhone

Une fois l’installation terminée, je peux aller ouvrir la base de données.

Je vais sur Ouvrir, sélectionner tout en haut à gauche « Sélecteur de fichier système », en effet, kDrive n’est pas dans les services intégrés dans l’assistant (ce qui en pose aucun souci).

Quand la fenêtre de sélection s’ouvre, je clique sur les 3 barres en haut à gauche et je sélectionne mon kDrive dans la liste.

Je navigue ensuite dans mon kDrive et je vais sélectionner ma base xxxx.kdbx

Pour ouvrir ma base, je dois ensuite sélectionner la manière avec laquelle je vais m’identifier, je prends donc : « Mot de passe + Défi-réponse pour KeepassXC« 

Quand je clique sur « Dévérrouiller« , une petite fenêtre s’affiche en surimpression avec la mention « Please attach or swipe your Yubikey now« .

Je passe au dos de mon téléphone la Yubikey, le NFC réagit et la base d’ouvre.

Nota : Pour l’instant, je dois passer deux fois la clé, je ne sais pas pourquoi, ce n’est pas très gênant mais je me demande pourquoi cela se produit. Si quelqu’un sait, je suis preneur.

Il y a tout un tas de paramètres dans Keepass2Android, chacun est libre de choisir ses options.

Débat, questions, demandes de précisions

J’ai désactivé les commentaires sur ce blog, les robots de pub saturaient tout.

Je vous propose de poser vos questions ou simplement me faire un retour d’expérience si vous avez suivi ce tuto sur :