KeePass

KeePass Password Safe est un gestionnaire de mots de passe publié sous la licence libre GPL v2 ou ultérieure, permettant de sauvegarder un ensemble de mots de passe dans une base de données chiffrées sous la forme d’un seul fichier dont l’extension est *.kdb ou *.kdbx selon la version. Ce fichier de base de données s’ouvre avec un mot de passe principal et/ou avec d’autres méthodes d’authentification comme un fichier de clé.

KeePass existe sous deux versions différentes. La première utilise deux algorithmes de chiffrement : AES (avec une clé de 256 bits) et Twofish (avec des blocs de 128 bits et une clé de 256 bits). La deuxième n’utilise qu’AES (avec une clé de 256 bits).

KeePass s’installe nativement sous Windows, et – avec la plateforme Mono – sous macOS, Linux, FreeBSD et autres systèmes d’exploitation. La deuxième version du logiciel ajoute premièrement la possibilité de lier un utilisateur Windows à une base de données (avec toujours la saisie du mot de passe principal et éventuellement l’ajout d’une clé sous forme de fichier) et deuxièmement d’incorporer des pièces jointes dans les entrées.

Histoire

Il existe deux versions du logiciel, KeePass 1.x et KeePass 2.x. La première est écrite en C++ pour une utilisation uniquement sous Windows tandis que la seconde est écrite en C#, propose plus de fonctionnalités et peut être utilisé également sous d’autres systèmes d’exploitation.

En France, KeePass est intégré à la liste du socle interministériel de logiciels libres préconisés par l’État et la version 2.10 est certifiée par l’Agence nationale de la sécurité des systèmes d’information en 2010.

En Allemagne, l’Office fédéral de la sécurité des technologies de l’information recommande le logiciel dans une note de 2018 destinée aux petites entreprises.

En 2016, la Commission européenne soumet KeePass à un audit de sécurité lors du premier EU-FOSSA, puis en 2019 dans le cadre d’un bug bounty organisé lors de la troisième édition.

Fonctionnalités

Chaque mot de passe est représenté par une entrée dans la base de données qui prend la forme d’un fichier chiffré dont le suffixe est .kdb en version 1 et .kdbx en version 2. Une entrée contient plusieurs champs : un titre, un nom d’utilisateur, un mot de passe, une adresse (URL), des pièces jointes pour la 2.x (utiles pour chiffrer des informations secrètes). Un mécanisme permet également pour chaque entrée de rappeler au propriétaire de la base de données quand il doit changer un mot de passe. De plus chaque entrée possède une information sur la date et l’heure de création, du dernier accès et de sa dernière modification.

Des options permettent de chiffrer les mots de passe en mémoire vive de l’ordinateur, ou de masquer à l’écran le mot de passe par des astérisques. La principale faille concerne le presse-papiers où le mot de passe réside en clair lors d’un « copier/coller » car aucune application ne sait y lire une donnée chiffrée. Afin d’atténuer ce problème, le mot de passe n’est conservé que temporairement dans le presse-papiers avant d’être automatiquement supprimé ; par défaut, respectivement après 10 secondes et 12 secondes en version 1.x et 2.x.

L’autre danger de KeePass, comme pour tout autre gestionnaire de mot de passe, c’est que la saisie du mot de passe principal de la base de données est susceptible d’être interceptée par un logiciel espion tel qu’un enregistreur de frappe qui peut intercepter les mots de passe entré au clavier, voire chaque clic de souris sur un clavier virtuel.

De manière plus avancée, KeePass offre également d’ouvrir le fichier *.kdb ou *.kdbx à l’aide d’un fichier de référence appelée « fichier clef » dont le contenu est utilisé tel un très long mot de passe. Enfin dans la version 2 de KeePass, l’utilisation du système d’authentification de Microsoft Windows est aussi pris en charge pour l’ouverture du fichier *.kbdx.

Ces trois méthodes d’accès peuvent s’utiliser de manière indépendante ou s’associer afin de renforcer la sécurité d’accès au fichier de base de données.

Synchronisation

La base de données peut être synchronisée sur un site distant par FTP. Ce qui permet d’avoir sa base de données à jour sur n’importe quelle installation du logiciel. La base de données peut être synchronisée avec un Smartphone (BlackBerry, iPhone, Windows Phone 7 ou Android) à condition que l’application KeePass soit installée sur le smartphone. Le fichier peut alors être ouvert pour retrouver un mot de passe. Une application pour Pocket PC a également été développée.

Glisser et déposer

Il est possible de sélectionner avec la souris une information d’une entrée dans le nom d’une colonne et la faire glisser pour la recopier dans une fenêtre cible. Par exemple, pour copier dans un premier temps le nom d’utilisateur et dans un second temps le mot de passe associé. Chaque information d’une entrée peut être glissée et déposée.

Saisie automatique

Un système de saisie automatique de l’identifiant et du mot de passe vers un site d’identification (URL) ou une application standard de Windows a été développé. On l’obtient en ouvrant une entrée (en double cliquant dessus) et dans l’onglet « saisie automatique », en cochant la case « Deux canaux d’offuscation de saisie automatique ». Enfin, il suffit de sélectionner l’entrée dans la base de données, d’ouvrir le menu contextuel en cliquant droit sur l’entrée et de sélectionner « Exécuter la saisie automatique ». KeePass saisira alors automatiquement l’identifiant et le mot de passe dans la fenêtre de l’application ou du navigateur.

Historique des entrées

Un historique des entrées est sauvegardé et accessible depuis l’entrée concernée. Cela permet de retrouver tous les mots de passe antérieurs. Le nombre d’entrées des historiques est paramétrable dans le logiciel.

Plugins

Des greffons ont été développés autour de KeePass :

  • pour enregistrer une sauvegarde de la base de données à chacune de ses modifications ;
  • pour interfacer les trois principaux navigateurs du marché (Internet Explorer, Google Chrome, Mozilla Firefox) avec KeePass ;
  • pour exporter et importer entre gestionnaires de mots de passe différents du marché ;
  • pour synchroniser sa base de données sur du Cloud computing pour par exemple interfacer KeePass entre des smartphones, tablettes et des ordinateurs ;
  • pour ajouter les protocoles SCP (Secure CoPy), SFTP (SSH File Transfer Protocol) et FTPS (FTP SSL/TLS) si on souhaite mettre la base de données sur un serveur et l’utiliser en multi-utilisateurs ;
  • pour éviter de partager un secret entre plusieurs personnes, il est possible d’utiliser l’extension CertKeyProvider qui offre une protection par certificat au lieu d’un mot de passe.

Le code source des modules externes n’est pas garanti par le développeur de KeePass et ne sont pas contrôlés lors des audits de sécurité qui portent uniquement sur KeePass ; ce qui représente un risque potentiel puisque ces greffons ont accès à la base de données

Générateur de mots de passe

Chaque nouvelle saisie d’un mot de passe pour une entrée quelconque peut être générée (sur une longueur définie par l’utilisateur) par un générateur de mots de passe aléatoires qui combine tous les caractères ANSI (U+0080 à U+00FF) à l’exception des caractères de contrôle et non imprimables.

Portable

Les deux versions de KeePass existent en version portable, c’est-à-dire qu’elles peuvent être utilisées sur une clé USB (ou autre support de stockage amovible) sans nécessiter d’installation du logiciel sur un système d’exploitation. En revanche, KeePass 1.x nécessite GDI+ sur des systèmes Windows plus anciens que Windows XP et KeePass 2.x nécessite l’installation du Microsoft .NET Framework 2.0.
Importer

Les mots de passe peuvent être importés d’une multitude d’autres gestionnaires de mots de passe depuis un format TXT ou CSV, de KeePass 1.x vers KeePass 2.x et réciproquement. Des plugins ont été développés pour importer les entrées de mots de passe d’autres gestionnaires.

Exporter

Une base de données de KeePass 1.x peut être exportée au format HTML, CSV, XML ou TXT. Une base de données de KeePass 2.x peut être exportée au format HTML, CSV, XML ou au format de la base de données de KeePass 1.x (mais dans ce cas les pièces jointes ne peuvent être exportées).

La liste des URL de chacune des entrées peut être exportée dans les favoris de Windows.

Usage multi-utilisateurs

Le programme possède également des fonctions qui lui permettent d’être utilisé entre plusieurs utilisateurs avec la gestion des accès multiples en combinant à la fois les modifications saisies simultanément par deux utilisateurs sur la même base de données ouverte dans un dossier partagé sur le réseau informatique.

Certification

KeePass version 2.13 avec la mise à jour automatique désactivée car elle vulnérable est certifié Certification de Sécurité de Premier Niveau (CSPN) par l’autorité française l’ANSSI.

En fait le site annonce que c’est la 2.10 qui est certifiée CSPN, mais il convient d’être précis et prudent, ainsi de bien consulter les vulnérabilités keepass connues: la 2.10 est vulnérable au chargement de bibliothèques externes, corrigé en 2.13, puis en 2.33 c’est une vulnérabilité liée à la mise à jour qui a été découverte.

Traduction

KeePass est publié par défaut avec une interface en anglais. On peut ensuite ajouter une langue ou plusieurs langues en téléchargeant les fichiers de langue depuis le site officiel.

L’interface a été traduite dans une cinquantaine de langues. Les traducteurs bénévoles sont en relation avec l’auteur du logiciel. Les fichiers de traductions sont disponibles sur la page des traductions du site officiel. Les fichiers ont le suffixe .lng en 1.x et .lngx en 2.x.

Recommandations

Vérifier qu’on n’a pas d’enregistreur de frappe installé sur son poste de travail qui pourrait intercepter un mot de passe dans le presse-papiers ou entré au clavier notamment quand on utilise un ordinateur au travail, dans un cybercafé ou un taxiphone.

Il existe des logiciels pour déchiffrer le contenu d’une base de données KeePass : KeeCracker, Keepass Self-Bruteforcer et keepass2john, mais leur efficacité dépend pour beaucoup des informations que l’utilisateur peut leur transmettre.

Windows 10 v1809 a introduit une fonction de partage de l’historique du presse papier vers le cloud permettant une plus grande exposition des mots copier/coller lors de l’usage de KeePas.

Contributions et portages officieux

Il existe de nombreuses implémentations multiplateformes de KeePass et dont les bases de données sont généralement compatibles.

  • en:KeePassXC est un fork communautaire sous licence GPL et qui reprend le projet KeePassX dont le développement était très peu actif depuis . Il peut être installé sous Linux, macOS et Windows.
  • WinPass, portage pour Windows 8/10 Mobile.
  • KeePassB pour BlackBerry.
  • KeePassDroid et Keepass2Android, portages pour Android.
  • KyPass pour iPhone/iPad, un fork de MyKeePass avec support de Dropbox.
  • MacPass pour macOS.
  • KeeWeb, une application web pour accéder à une base de données KeePass depuis n’importe quel appareil et permettant la synchronisation avec Dropbox

Auteur: Wikipedia
Source: https://fr.wikipedia.org/wiki/KeePass
Licence: Creative common BY-SA