# KeePass

KeePass Password Safe ist ein freies, unter den Bedingungen der GNU General Public License (GPL) erhältliches Programm zur Kennwortverwaltung. KeePass verschlüsselt die gesamte Datenbank, welche auch Benutzernamen und Ähnliches enthalten kann.
KeePass steht in mehr als 40 Sprachen zur Verfügung, wobei nicht alle Sprachdateien mit allen KeePass-Versionen kompatibel sind. Die Sprachdatei (neben Englisch als Standard) muss zusätzlich heruntergeladen werden.

## Verschlüsselung

Die Kennwortdatenbank verschlüsselt KeePass 1.x wahlweise mit dem AES-Algorithmus oder dem Twofish-Algorithmus. KeePass 2.x unterstützt den AES-Algorithmus und den ChaCha20-Algorithmus.
Es gibt mehrere Plugins für KeePass 2.x, die zusätzliche Verschlüsselungsverfahren zur Verfügung stellen, unter anderem Twofish, Serpent, Salsa20 und GOST R 34.12-2015. Teilweise unterstützen auch andere KeePass-kompatible Apps die zusätzlichen Verschlüsselungsverfahren; beispielsweise unterstützt KeePassXC ebenfalls Twofish. Für das Passwort-Hashing stehen in KeePass 2.x die Verfahren AES-KDF und Argon2 (Versionen d und id) zur Verfügung, in KeePass 1.x nur AES-KDF.

### Hauptschlüssel

Die Datenbank ist durch einen Hauptschlüssel („Master Key“) gesichert; ohne diesen lässt sich die Datenbank nicht entschlüsseln. Das Hauptkennwort („Master Password“) muss manuell eingegeben werden, und es kann eine Schlüsseldatei („Key File“) verwendet werden, die beispielsweise auf einem mobilen Laufwerk wie USB-Stick oder CD liegt. Der (manuell eingegebene) Schlüssel und die (lokal gespeicherte) Schlüsseldatei bilden bei gleichzeitiger Benutzung einen gemeinsamen Schlüssel. Die Schlüsseldatei erhöht die Entropie des Schlüssels. Ein Angriff auf die Datenbank bei mittelmäßig sicherem Passwort wird damit erheblich erschwert. Liegt die Passwort-Datenbank auf einem öffentlich zugänglichen Laufwerk, können Passworte zwischen Rechnern synchronisiert werden. Ein eventueller Angreifer kann ohne Kenntnis der (lokal zu speichernden) Schlüsseldatei nichts ausrichten.
Das allgemeine und vor allem in der Praxis wesentliche Problem bei einer Schlüsseldatei besteht darin, dass nie sicher ausgeschlossen werden kann, dass von dieser (lokal zu speichernden) Schlüsseldatei auf einer CD oder USB-Stick von einem Angreifer in einem günstigen Moment und unbemerkt eine Kopie angefertigt wurde. Im Prinzip lässt sich nicht sicher kontrollieren, wo und in wie vielen Kopien die Schlüsseldatei existiert. Dieses Problem kann durch die Verwendung eines Challenge-Response-Verfahrens mit einem Security-Token wie YubiKey oder durch Einmalkennwörter gelöst werden. Hierfür gibt es Plugins für KeePass 2.x, unter anderem KeeChallenge und OtpKeyProv. Auch andere Apps unterstützen teilweise diese Verfahren; beispielsweise unterstützt KeePassXC ebenfalls ein Challenge-Response-Verfahren, das allerdings nicht mit dem KeeChallenge-Plugin kompatibel ist. Außerdem gibt es Plugins zur Verwendung eines auf einer Chipkarte gespeicherten digitalen Zertifikats.
KeePass 2.x unterstützt unter Windows zusätzlich eine Methode, einen geheimen Schlüssel des aktuellen Windows-Benutzers zu verwenden. Die Datenbank lässt sich damit nur öffnen, wenn der Benutzer mit dem richtigen Windows-Nutzerkonto angemeldet ist. Ein Nachteil dieser Methode ist, dass es bei einem Verlust des Kontos nicht ausreicht, ein neues mit demselben Benutzernamen und Passwort zu erstellen, da der geheime Schlüssel des Kontos zwar mit diesen Daten geschützt ist, aber nicht direkt daraus abgeleitet werden kann. Bei Verwendung ist es daher wichtig, eine Datensicherung des Windows-Konto-Schlüssels zu erstellen.
Es gibt Plugins zur Verwendung von Windows Hello, das unter anderem eine Authentifizierung per Fingerabdruck ermöglicht. Die Sicherheit entspricht hierbei im Wesentlichen der des Windows-Nutzerkontos.

## Funktionen
### Die Übertragung der Passwörter in andere Anwendungen

KeePass bietet mehrere Möglichkeiten, die Passwörter in die Zielanwendungen, wie zum Beispiel den Browser, zu übertragen.

#### Zwischenablage

    Es werden Benutzername und Passwort nacheinander manuell in die Zwischenablage kopiert und können so in die Anwendung eingefügt werden. Nach einigen Sekunden (vom Benutzer änderbar) löscht KeePass diesen Wert wieder aus der Zwischenablage, anschließend kann nicht mehr darauf zugegriffen werden. Der Nachteil dabei ist, dass die Zwischenablage von laufenden Anwendungen, also auch Schadsoftware, ausgelesen werden kann.
    KeePass Auto-Type: Mit dem globalen Tastenkürzel werden Login-Daten automatisch ausgefüllt Auto-Type: Weit komfortabler ist es, KeePass die Daten automatisch in die Anwendung eingeben zu lassen. Mit dem globalen Tastenkürzel „Strg+Alt+A“ werden Anmeldedaten automatisch in Textfelder eingefügt. Der Nachteil dabei ist, dass Passwörter durch Keylogger ausgespäht werden können (dies ist auch bei einer manuellen Eingabe mit der Tastatur möglich).

#### Version 2.x

   * Two-channel auto-type obfuscation: Das Passwort wird durch eine Kombination aus Zwischenablage und simulierter Tasteneingabe in die jeweilige Anwendung eingefügt. Das Ausspähen durch einfache Keylogger wird so verhindert, moderne Varianten dieser Spionageprogramme jedoch können auch die Zwischenablage auslesen und so trotzdem an die Daten kommen. Die Funktion muss in KeePass bei jedem Neueintrag extra zugeschaltet werden.
   * Browser-Erweiterungen mit KeePass-Plug-in: Kee mit Plug-in KeePassRPC oder PassIFox bzw. ChromeIPass mit Plug-in KeePassHttp stellen eine Verbindung zwischen dem Browser und KeePass her. (Die Plug-ins sind nicht kompatibel mit KeePass 1.x.) Auch neu erstellte Anmelde-Daten können via Plug-ins in KeePass gespeichert werden.

### Kennwortgenerator

Mit dem Kennwortgenerator lassen sich Kennwörter beliebiger Länge und Typs erstellen. Die Erstellung erfolgt auf Wunsch gestützt durch Aktionen des Benutzers, um die Zufälligkeit zu gewährleisten. Dabei werden Daten der Mausbewegung oder der Tastatureingabe berücksichtigt.

### Formatvorlagen (engl.: Templates)

Aktuell (Mai 2013, Version 2.22) steht in KeePass nur eine Standard-Formatvorlage zur Verfügung, die für jeden Eintrag fest die einzeiligen Felder Titel, Benutzername, Passwort und URL sowie ein mehrzeiliges Feld Notizen vorsieht (es können allerdings noch weitere Felder zusätzlich angelegt werden). Es wird zwar ein Plug-in zum Erstellen eigener Formatvorlagen angeboten, damit erstellte Einträge sind aber nicht voll kompatibel zu mobilen Versionen wie KeePassDroid, KeePass2Android oder MiniKeePass.

### Plug-ins

KeePass bietet die Möglichkeit, die Funktionen des Programms durch Plug-ins zu erweitern. Zur Verfügung stehen Plug-ins zur Erweiterung des Imports, Exports, automatische Datenbanksicherung, Unterstützung von weiteren Kommunikationsprotokollen (SCP, SFTP, FTPS) und Cloud-Speicherdiensten, Integration und Transfer (beispielsweise Verbindungen mit Browsern, Anzeige von QR-Codes, SSH-Agent, REST, RPC, HTTP), Leak Checker, und weitere.

## Internetdomain keepass.de

Unter der Domain www.keepass.de wird KeePass ebenfalls angeboten. Diese Website wird nicht von den Entwicklern der Software betrieben. Die dort zum Download erhältliche Installationsdatei ist Adware.

## Verwandte Projekte

Neben KeePass gibt es weitere Implementierungen für verschiedene Plattformen. Die dabei verwendeten Datenbanken sind üblicherweise kompatibel, d. h., die Datenbanken können mit geeigneten Mechanismen (z. B. Cloud-Speicher) zwischen den Geräten synchronisiert werden.
* KeePassX ist eine Variante von KeePass für Windows, Linux, macOS und OS/2 basierend auf Qt, die nicht mehr weiter entwickelt wird.
* KeePassXC (KeePassX Reboot) ist eine plattformübergreifende Abspaltung von KeePassX mit zusätzlichen Features.
* KeePassC ist eine curses-basierte Variante für Linux in Python, die zum KeePass-1-Dateiformat kompatibel ist.
* ownKeepass ist ein KeePass-Client für Sailfish OS.
* MacPass ist ein KeePass-Client für macOS, der die Cocoa-API nutzt.
* Strongbox ist ein Passwortmanager mit einer Integration von KeePass und Password Safe für macOS und iOS.
* KeePassDX ist eine Android-Implementierung des KeePass-Passwortmanagers.
* KeePassDroid ist eine Version für Android.
* Keepass2Android ist für Android mit Unterstützung für mehrere Filehosting-Optionen.
* KyPass ist eine Variante von MyKeePass für iPhone/iPad mit Unterstützung für Dropbox.
* MiniKeePass war eine weitere Umsetzung für iPhone/iPad, die im April 2020 eingestellt wurde.
* IOSKeePass ist ein Fork von MiniKeePass, verfügbar für iPhone/iPad, umbenannt in KeePassMini, im Mai 2023 wegen Übermittlung verdächtiger Analysedaten eingestellt.
* KeePassium ist eine iOS App Variante, die mit Apples Gesichts- bzw. Fingerabdruck-Erkennung funktioniert und in der kostenlosen Variante die Synchronisation mit iCloud, Dropbox, OneDrive und andere Cloud-Speichern unterstützt. Die kommerzielle Version bietet Premium Features wie beispielsweise YubiKey Unterstützung und wird mit jährlicher oder lebenslanger Lizenz angeboten.
* KeePass Touch ist eine Umsetzung für iPhone/iPad mit Touch-ID-Funktion, Unterstützung für Dropbox, OneDrive und kabellose Synchronisierung via WLAN.
* KeeWeb ist eine Implementierung in JavaScript.
* 7Pass ist eine Version für Windows Phone mit Unterstützung für Dropbox, OneDrive, WebDAV.
* KeePassB ist ein KeePass-Client für Blackberry 10.
* KeePit ist ein KeePass-Client für Ubuntu Touch.