KeePass

Un article de Wikipédia, l'encyclopédie libre.
Aller à : Navigation, rechercher
KeePass
Image illustrative de l'article KeePass
Logo

Développeur Dominik REICHL
Première version 13 novembre 2003
Dernière version 1.25 et 2.22 (version 1 : 20 janvier 2013 et version 2 : 5 avril 2013)
Écrit en C++ (v1), C# (v2)
Environnement Windows, Mac OS, Linux, FreeBSD , etc., Smartphone, Pocket PC
Langue multilingue
Type Gestionnaire de mots de passe
Licence GPL v2 ou ultérieure
Site web keepass.info

KeePass est un gestionnaire de mots de passe (coffre-fort numérique) libre de licence Open Source GPL v2 ou ultérieure, qui sauvegarde les mots de passe dans un fichier chiffré : la base de données. La base de données des mots de passe est accessible depuis un seul mot de passe : le mot de passe principal. Ce mot de passe principal peut être accompagné d'une clé sour la forme d'un fichier (dont le suffixe est .key) pour renforcer la sécurité d'accès à la base de données des mots de passe. KeePass n'est pas un logiciel de Single Sign On. KeePass existe sous deux versions différentes. La première utilise deux algorithmes de cryptage : AES (avec des blocs de 128 bits et une clé de 256 bits) et Twofish (avec des blocs de 128 bits et une clé de 256 bits). Tandis que la deuxième n'utilise qu'AES/Rijndael (avec des blocs de 128 bits et une clé de 256 bits). KeePass s'installe sous Windows, et avec mono sous Mac OS, 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.

En sécurité informatique, il est nécessaire de connaître la totalité du code source du programme contrairement à un programme propriétaire qu'il faudrait désassembler ou décompiler pour s'assurer qu'il ne contient pas de code malveillant. Néanmoins une clé au moment de la compilation est gardée secrète par son auteur. Sous Windows, même sans cette clé gardée secrète, le logiciel peut être compilé avec Visual Studio et donner son exécutable et ses bibliothèques (.DLL). Ainsi, on peut bien s'assurer que le logiciel ne comporte pas de code malveillant.

Il existe deux versions du logiciel qui sont encore aujourd'hui maintenues. La première est écrite en C++ tandis que la seconde est écrite en C#. Le logiciel a été réécrit en C# sans utiliser de logiciel qui transforme automatiquement le code source C++ en C#. La deuxième version a été écrite à partir de zéro ("from scratch").

Sommaire

Fonctionnalités[modifier]

Chaque mot de passe est représenté par une entrée dans la base de données (le fichier chiffré dont le nom de 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èce jointes pour la v2 (utile pour archiver les numéros de séries de ses propre logiciels). 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. De masquer à l'écran le mot de passe par des astérisques. Mais la principale faille[1] sera toujours celle du presse-papiers sous Windows où le mot de passe sera toujours en clair parce que le presse-papiers est une ressource partagée et qu'aucune application ne sait lire une donnée chiffrée dans le presse-papiers (il est cependant important de préciser que le mot de passe reste respectivement 10 s et 12 s par défaut en v1 et v2 dans le presse-papiers, suite à cela il est supprimé).

L'autre danger de KeePass comme 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 keylogger. Des keyloggers font des copies d'écran à chaque touche appuyée ou bien à chaque clic de souris. Les keyloggers peuvent intercepter les mots de passe du clavier et même chaque clic de souris du clavier visuel de Windows qu'on obtient en appuyant simultanément sur la touche Windows et la touche R puis on saisit la commande osk dans la fenêtre qui s'ouvre ou bien d'un autre clavier visuel que celui de Microsoft.

Synchronisation[modifier]

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. La base de données des mots de passe et son fichier clé peuvent alors être ouverts pour retrouver un mot de passe enregistré dans la base de données. Une application pour Pocket PC a également été développée.

Glisser & Déposer[modifier]

Vous pouvez sélectionner avec la souris une information d'une entrée dans le nom d'une colonne et la faire glisser dans une fenêtre cible pour la recopier. 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 glisser et déposer.

Saisie automatique[modifier]

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" on coche la case "Deux canaux d'obfuscation de saisie automatique". Puis, enfin il ne suffira plus que 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 pour vous dans la fenêtre de votre application Windows ou dans votre navigateur.

Historique[modifier]

A chacune des entrées modifiées au cours du temps un historique des entrées est sauvegardé et accessible depuis l'entrée concernée. Cela permet de retrouver tous ses propre mots de passe au cours du temps dans le cas où l'on souhaiterait retrouver un ancien mot de passe. Le nombre d'entrées d'historique est paramétrable dans le logiciel.

Greffons[modifier]

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

  • pour enregistrer une sauvegarde de la base de données à chacune de ses modifications,
  • Pour interfacer les trois principaux navigateurs du marché (Internet Explorer, Chrome, 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.
  • (IOProtocolExt) Pour ajouter les protocoles SCP (Secure CoPy), SFTP (SSH File Transfer Protocol) et FTPS (FTP over SSH) si on souhaite mettre la base de données sur un serveur et l'utiliser en multi-utilisateurs.
  • etc.

Le code source des greffons n'est pas garanti par le développeur de KeePass. Potentiellement, cela pourrait être une faille, parce que les auteurs de greffons ont accès à la base de données.

Générateur de mot de passe[modifier]

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 aléatoire de mot de passe qui combine tous les caractères ANSI.

Portable[modifier]

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

Importer[modifier]

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

Exporter[modifier]

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

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

Usage multi-utilisateurs[modifier]

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.

Traduction[modifier]

KeePass est en anglais ensuite on peut lui ajouter une langue ou plusieurs langues en téléchargeant le ou les fichiers de langue depuis son site officiel. Les fichiers de langue sont hébergés chez SourceForge.net.

Ce logiciel est traduit par des bénévoles qui sont en relation avec son auteur depuis le site de collaboration au développement de logiciels libres : http://sourceforge.net/. Les différentes traductions dans le monde de KeePass sont visibles sur la page des traductions de son site officiel. Les fichiers de traduction ont le suffixe .lng en v1 et .lngx en v2.

Les fichiers de langue doivent être copiés dans le répertoire (dossier) où se trouve le fichier exécutable de KeePass.

Traduction francophone[modifier]

Le fichier de traduction est téléchargeable mais dans un format d'archive compressé. Le nom du fichier de la traduction francophone est KeePass-1.x-French.zip ou KeePass-2.x-French.zip selon la version de KeePass. Il peut exister plusieurs versions françaises pour une même version de KeePass ; dans ce cas précis alors la deuxième version comportera "-b" en fin de nom de fichier (KeePass-1.x-French-b.zip ou KeePass-2.x-French-b.zip) et ainsi de suite. Une fois le fichier décompressé, on trouve enfin le fichier French.lng en v1 ou French.lngx en v2 sans indiquer le numéro de version dans le nom du fichier quelle que soit la version (v1 ou v2) de sorte à pouvoir copier le fichier de traduction après une correction de la traduction ou une montée de niveau (c'est-à-dire au moment d'une mise à jour) de KeePass sans avoir à faire de modification dans la boîte de dialogue 'View' → 'Change Language...' ou 'Affichage' → 'Modifier la langue...'.

La traduction francophone est le fruit du travail de suisses, français, et canadiens depuis plusieurs années.

Autres traductions[modifier]

KeePass a été traduit dans plus de quarante langues et est encore aujourd'hui maintenu dans plus de vingt langues.

Convertisseur[modifier]

Recommandations[modifier]

Vérifier qu'on n'ait pas de keylogger installé sur son poste de travail qui pourrait intercepter un mot de passe dans le presse-papiers ou bien un mot de passe tapé au clavier, clavier visuel, etc. notamment quand on utilise un ordinateur au travail, dans un cybercafé ou un taxiphone.

Dans le cadre d'une utilisation multi-utilisateurs, il est recommandé de transmettre le mot de passe principal par écrit mais sans jamais passer par un moyen électronique (cf. Stéganographie).

L'aspect le plus important étant de savoir si on est à même de casser l'algorithme AES (avec des blocs de 128 bits et une clé de 256 bits) ou Twofish (avec des blocs de 128 bits et une clé de 256 bits) pour retrouver tous ses mots de passe dans le cas où on aurait perdu :

  • le mot de passe principal ou,
  • la clé sous forme de fichier (si on a utilisé cette option) ou bien,
  • son compte utilisateur Windows (si on a également utilisé cette option).

Des logiciels pour cracker une base de données KeePass : KeeCracker, Keepass Self-Bruteforcer, et keepass2john.

Contributions et portages officieux [2][modifier]

Il existe différentes implémentations pour différentes plates-formes de KeePass. Les bases de données utilisées sont généralement compatibles, à savoir les bases de données avec des mécanismes appropriés (par exemple Google Drive ou Dropbox seront synchronisés entre les périphériques).

Notes et références[modifier]

  1. Rapport de certification ANSSI-CSPN-2010/07
  2. Contributions et portages officieux

Voir aussi[modifier]

Liens externes[modifier]