• Home
  • Kryptographie
  • Mathematik
  • Sonstiges
  • Über mich
Beispielbild

Sicherheit im Fokus: Ein Tresor für Passwörter

Dieses Java-Projekt speichert vertrauliche Zugangsdaten in einer verschlüsselten Datenbank. Der Benutzer wählt oder generiert einen Zugangsschlüssel. Vier sichere Verschlüsselungsalgorithmen stehen zur Auswahl. Das Programm ermöglicht das Erstellen, Bearbeiten und Löschen von Einträgen. Wichtige Informationen für die Anmeldung können mit einem Rechtsklick auf den Eintrag in die Zwischenablage kopiert werden. Die Algorithmen und das Master-Passwort können nachträglich geändert werden.

Download
Dokumentation
GitHub

Der beste Schutz für deine Daten

Moderne Verschlüsselung

Die Datensicherheit basiert auf führenden Algorithmen wie AES, Serpent oder Twofish. Diese gelten als Standard in der Informationssicherheit und gewährleisten einen optimalen Schutz. Ergänzend wird der Hash-Algorithmus SHA-256 eingesetzt.

Keine Datensammlung

Alle vertraulichen Daten werden lediglich verschlüsselt lokal oder zusätzlich auf einem vom Nutzer ausgewählten Backup-Server gespeichert. Es ist kein Benutzerkonto erforderlich und es werden keine Daten gesammelt.

Freie Open-Source-Software

Das gesamte Projekt ist Open Source und steht unter der freien GNU General Public License. Jeder darf den Quellcode einsehen, die Software kopieren und verändern. Der gesamte Quellcode ist auf GitHub verfügbar.

Häufige Updates

Die Software wird regelmäßig um neue Funktionen erweitert. Die Benutzer haben auch die Möglichkeit, selbst Verbesserungen vorzuschlagen oder zu implementieren.

Ansprechende Nutzeroberfläche

Eine Vielzahl von Verschlüsselungsalgorithmen, Operationsmodi und Padding-Schemata stehen zur Verfügung, wenn eine Datenbank erstellt oder deren Einstellungen bearbeitet werden.
Datenbanken können einfach über eine spezielle Benutzeroberfläche erstellt werden.
Die Datenbankeinträge werden übersichtlich in einer Tabelle dargestellt. Aus dieser Ansicht können Benutzernamen, E-Mail-Adressen oder auch Passwörter einfach erstellt werden.
Einträge können jederzeit editiert werden. Ebenso ist ein starkes System zur Überprüfung der Passwortstärke implementiert, das z.B. auf schwache Passwörter wie password123 hinweist.
Benutzer können zwischen verschiedenen Darstellungen der Benutzeroberfläche in den Einstellungen der Datenbank wählen. Es werden sowohl helle als auch dunkle Darstellungen unterstützt.
Ein umfangreicher Passwortgenerator mit vielen zusätzlichen Parametern sowie einer Bewertung der Passwortentropie und -stärke steht zur Verfügung. Passwörter können auch in Hexadezimal- oder Base64-Kodierung eingegeben werden.
Die anfänglichen Einstellungen der Datenbank können jederzeit durch erneute Eingabe des Hauptschlüssels angepasst werden.
❮ ❯

Wissen, was kommuniziert wird

sequenceDiagram
	participant App as Anwendung 
Passwortmanager participant Res1 as GitHub participant Res2 as Entfernter
SFTP-Server App ->> Res1: GET https://api.github.com/repos/PaulWolfDE/PasswordManager/releases/latest Res1 ->> App: Antwort, meldet den Git-Tag des letzten Releases - der neusten Version App ->> Res1: GET https://raw.githubusercontent.com/paulwolfde/passwordmanager/master/compatibility.json Res1 ->> App: Antwort, JSON-Datei über eventuelle Kompatibilität mit neueren Versionen App -->> Res2: Evtl. Ablage einer Kopie der Datenbank über SFTP nach jedem Speichern auf selbst festgelegtem Server

Das obere Diagramm zeigt die gesamte Kommunikation des Programms mit dem Internet. Die neueste Version für eventuelle Updates sowie die Kompatibilität mit neueren Datenbanken wird auf Github abgefragt. Schließlich wird, sofern konfiguriert, beim Speichern der Datenbank eine verschlüsselte Kopie der Datenbank auf einem selbst gewählten SFTP-Server abgelegt. Es findet keine weitere Kommunikation mit dem Internet statt. Der Passwortmanager ist auch ohne Internetverbindung voll funktionsfähig.

Download

.jar-Datei herunterladen Aus dem Quellcode kompilieren Java herunterladen

Installation

Einrichten eines Eintrags im Startmenü

Zunächst muss die heruntergeladene oder kompilierte .jar-Datei in einem Verzeichnis abgelegt werden, hier z.B. in /opt/password-manager/. Optional kann auch eine SVG-Datei des Icons heruntergeladen werden, diese sollte im gleichen Verzeichnis wie die .jar-Datei abgelegt werden.

Anschließend kann unter ~/.local/share/applications eine .desktop-Datei für den Passwortmanager angelegt werden, z.B. password-manager.desktop.

Diese könnte wie folgt aussehen, wichtig dabei ist der Verweis Exec auf die .jar-Datei sowie Icon auf die optionale Icon-Datei, dieser Verweis kann aber auch weggelassen werden.

❯ ~/.local/share/applications/password-manager.desktop

[Desktop Entry]
Type=Application
NoDisplay=false
Terminal=false
Exec=java -jar /opt/password-manager/PasswordManager.jar %F
Icon=/opt/password-manager/icon.svg
Name=PasswordManager
Categories=Accessories, Utilities

.pmdtb-Dateien dem Programm zuordnen

Um sicherzustellen, dass Dateien mit der Endung .pmdtb (Passwortmanager-Datenbanken) mit dem Passwortmanager im Dateiexplorer geöffnet werden, muss ein sogenannter MIME-Typ angelegt werden. Dafür muss im Verzeichnis /usr/share/mime/packages/ eine Konfigurationsdatei im XML-Format angelegt werden, hier z.B. password-manager.xml

Damit das funktioniert, muss in der oben gezeigten .desktop-Datei hinter ...PasswordManager.jar unbedingt %F stehen.

❯ /usr/share/mime/packages/password-manager.xml

<?xml version="1.0"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="application/passwordmanager-database">
    <glob pattern="*.pmdtb"/>
    <comment>PasswordManager Database File</comment>
  </mime-type>
</mime-info>

Danach muss die MIME-Konfiguration neu geladen werden, damit die Änderungen wirksam werden.

❯ sudo update-mime-database /usr/share/mime

Schlussendlich kann im Dateimanager mit einem Rechtsklick auf eine Datei mit pmdtb als Dateiendung Open With... und dann PasswordManager ausgewählt werden. Zusätzlich kann die Option Always use for this file type aktiviert werden.

Einrichten eines Eintrags im Startmenü

Zunächst muss die heruntergeladene oder kompilierte .jar-Datei in einem Verzeichnis abgelegt werden, hier z.B. in C:\Programme\PasswordManager\ (bzw. C:\Program Files\PasswordManager\). Optional kann auch eine ICO-Datei des Icons heruntergeladen werden, diese sollte im gleichen Verzeichnis wie die .jar-Datei abgelegt werden.

Anschließend muss eine Batch-Datei (eine Skriptdatei für Windows) angelegt werden, in der das Java-Programm aufgerufen wird. Diese wird nennen wir in diesem Beispiel PasswordManager.bat.

Erklärung der Batchdatei
  • @echo off sorgt dafür, dass die Befehle der Batchdatei nicht für den Nutzer angezeigt werden, sodass sich nicht immer beim Starten des Programms ein separates Terminalfenster öffnet.
  • start /B sorgt dafür, dass das Programm in einem separaten Fenster und ohne Kommandozeile gestartet wird.
  • javaw -jar führt das ausführbare Java-Archiv am angegebenen Pfad in der Java Virtual Machine (JVM) aus.
  • "%~dp0PasswordManager.jar" verweist auf das auszuführende Java-Archiv. Der Ausdruck %~dp0 gibt dabei an, dass diese sich im gleichen Verzeichnis wie die Batchdatei befindet.
  • %1 ist ein Platzhalter für ein Kommandozeilenargument, was ermöglicht, dass später auch Passwörter-Datenbanken vom jeweiligen Programm geöffnet werden können.
❯ C:\Program Files\PasswordManager\PasswordManager.bat

@echo off
start /B javaw -jar "%~dp0PasswordManager.jar" %1

Nun kann durch einen Rechtsklick auf die Batchdatei und ein anschließendes Auswählen von Verknüpfung erstellen eine Verknüpfung zur Batchdatei erstellt werden. Danach kann mit einem Rechtsklick auf die Verknüpfung Eigenschaften aufgerufen werden, wo über den Knopf Anderes Symbol... das zuvor heruntergeladene Icon (z.B. bei %Program Files%\PasswordManager\icon.ico) ausgewählt werden kann.

Damit die Verknüpfung auch im Startmenü angezeigt wird, muss sie in das Verzeichnis %appdata%\Microsoft\Windows\Start Menu\Programs\ kopiert werden. Eventuell ist ein Neustart erforderlich, damit die Änderungen Effekt haben.

.pmdtb-Dateien dem Programm zuordnen

Um sicherzustellen, dass Dateien mit der Endung .pmdtb (Passwortmanager-Datenbanken) mit dem Passwortmanager im Dateiexplorer geöffnet werden, muss die Windows Registry bearbeitet werden. Um das zu erreichen, kann eine Datei mit der Endung .reg erstellt werden und anschließend mit einem Doppelklick mit dem Registry Editor geöffnet werden.

Der Dateiname (bis auf die Endung .reg) ist dabei unerheblich und die Datei kann nach dem Öffnen wieder gelöscht werden.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.pmdtb]
@="PasswordManagerFile"

[HKEY_CLASSES_ROOT\PasswordManagerFile]
@="Password Manager Database"
"AppUserModelID"="PasswordManager.PasswordManagerFile"

[HKEY_CLASSES_ROOT\PasswordManagerFile\DefaultIcon]
@="C:\\Program Files\\PasswordManager\\fileicon.ico"

[HKEY_CLASSES_ROOT\PasswordManagerFile\shell\open\command]
@="\"C:\\Program Files\\PasswordManager\\PasswordManager.bat\" \"%1\""

Die Konfiguration legt fest, dass Dateien mit der Endung .pmdtb als dem Passwortmanager zugehörig erklärt werden. Solche sollen standardmäßig mit dem im vorherigen Schritt angelegten Batch-Skript geöffnet werden. Außerdem wird den Dateien ein bestimmtes Icon zugeordnet, das z.B. im Dateiexplorer angezeigt wird.

Das entsprechende Icon für Passwortmanager-Datenbanken kann hier heruntergeladen werden. In diesem Beispiel wird es mit dem Namen fileicon.ico im Verzeichnis C:\Program Files\PasswordManager\ abgelegt. Dieser Pfad und der zur Bat-Datei muss eventuell in der Reg-Datei geändert werden, wenn sich dazu entschieden wird, das Programm in einem anderen Verzeichnis zu installieren.

Schließlich muss die Reg-Datei einmal durch einen Doppelklick geöffnet werden und dem sich öffnenden Dialog gefolgt werden.

Applikationsicon (SVG)

SVG-Datei des Icons des Passwortmanagers

Applikationsicon (ICO)

ICO-Datei des Icons des Passwortmanagers

Applikationsicon (PNG)

PNG-Datei des Icons des Passwortmanagers

Dateiicon (SVG)

SVG-Datei des Icons von Passwortmanager-Dateien

Dateiicon (ICO)

ICO-Datei des Icons von Passwortmanager-Dateien

Applikationsicon (PNG)

PNG-Datei des Icons von Passwortmanager-Dateien