Willkommen bei PasswordVault

Das PasswordVault ist ein kleines Gerät, welches all deine Kennworte sicher verschlüsselt speichert und sie auf dem kleinen Bildschirm anzeigen und sie in ein Kennwortfeld eintippen kann. Das Gerät funktioniert ohne Internet-Verbindung oder Software-Installation an den allermeisten Laptops, Tablets oder Handys.

Das PasswordVault nutzt Standardkomponenten:

  • Raspberrypi Pico 2 mit angelöteten Steckerleisten (8€)
  • Waveshare 1,44" LCD Display (10€)
  • Micro-USB-Kabel (2€)

Dazu kommt vielleicht noch ein 3d-gedrucktes Gehäuse.

Startseite

Funktionen

  • Zugriffsschutz über Kennwort und verschlüsselte Speicherung nach dem XXTEA-Verfahren
  • Speicherung und komfortabler Abruf aller deiner Zugänge und Kennworte. 2000 Accounts sind kein Problem
  • Favoritenliste mit den meistgenutzten Accounts
  • Komfortable Suchfunktion
  • Anzeige und direktes Eintippen in Kennwortfelder. Funktioniert über USB nach HID (Human Interface Device) Standard ohne Software-Installation auf den allermeisten Laptops, Tablets oder Handys.
  • Übernahme der Accounts aus Passwort-Managern. Beispiel-Scripte in Python für den Standard UNIX-Password-Manager pass oder LastPass. Für das Einspielen emuliert das Gerät ein Laufwerk, auf das die Accounts einfach als Datei auf einem PC unter Windows, Linux oder Mac geladen werden können.
  • Anwendungssoftware auf dem Gerät quelloffen, implementiert in CircuitPython
  • Software-Updates durch Aufspielen neuer Programmdateien. Eigene Anpassungen oder Programmierung möglich.
  • Quelloffene Software (Github)

Installation

Du hast dir die Hardware bei Händlern wie z.B. berrybase.de besorgt. Dann musst du als erstes deinen Raspberry Pi Pico 2 oder Raspberry Pi Pico 2W mit CircuitPython flashen. Das ist dank des virtuellen Laufwerkes, welches diese Boards erzeugen, ganz einfach.

Lade das passende CircuitPython herunter:

Halte beim Anschließen des Boards über ein Micro-USB-Kabel an deinen Computer die BootSel-Taste gedrückt. In deinem Finder/Explorer taucht ein neues Laufwerk RP2350 auf. Klicke darauf, um seinen Inhalt anzuzeigen.

Kopiere dann die heruntergeladene .uf2-Datei auf das Laufwerk. Das Laufwerk verschwindet und wird nach wenigen Augenblicken durch ein neues Laufwerk CIRCUITP ersetzt.

Lade dir jetzt unser Release-Paket 2.1 herunter, entpacke es irgendwo und kopiere den Inhalt auf das Laufwerk.

Kopiere jetzt noch die beiden Dateien passwd.txt und settings.toml, die du mit einem der Methoden unten erzeugt hast, auf das Laufwerk.

Wirf das Laufwerk aus.

Stecke jetzt das Display auf die Stecklerleisten das Pico 2 und verbinde es wieder mit dem Computer.

Herzlichen Glückwunsch, dein PasswordVault ist einsatzbereit!

Bedienung

Die Bedienung erfolgt über vier Tasten und einen kleinen Bildschirm mit 128x128 Pixeln. Die Nutzeroberfläche verteilt sich auf sechs Seiten:

UI Flow
Die sechs Seiten der PaswordVault-Anwendung. Rechts sind die Funktionen der vier Tasten aufgelistet. Bei einigen Seiten gibt es zwei Belegungen, zwischen denen über die unterste Taste HOR/VER umgeschaltet wird.

Dabei gibt es drei Seitentypen:

  • Willkommen, Filtern und Erzeugen zeigen Bildschirmtastaturen zur Eingabe von Texten in das Eingabefeld in der Kopfzeile.
  • Favoriten und Liste zeigen Eintragslisten, die seitenweise angezeigt werden.
  • Details zeigt einen einzelnen Account.

Willkommen (lock)

Über eine Bildschirmtastatur mit Ziffern und den Funktionstasten "<" = BACKSPACE und ">" = CLEAR wird der Schlüssel um Entsperren der Anwendung eingegeben, Diese Schlüssel dient gleichzeitig zum Verschlüsseln der Accounts Die Bedienung über die vier Tasten erlaubt die Navigation hoch (UP) und runter (DWN) und Bestätigen der Eingabe (NXT). Die unterste Taste (HOR) schaltet von vertikaler auf horizontale Navigation um. Nach Drücken navigiert man mit den mittleren beiden Tasten links (LFT) und rechts (RGT) und übernimmt das aktuelle Zeichen (SEL).

Eingaben lassen sich durch Ansteuern und Übernehmen von "<" zeichenweise (BACKSPACE) und mit ">" für die gesamte Eingabe (CLEAR) löschen.

Filtern (fiter)

Nach erfolgreicher Freischaltung können die Accounts über eine weitere Bildschirmtastatur gefiltert werden. Die Navigation erfolgt mit denselben Tasten wie auf dem Willkommensbildschirm. NXT wechselt zum nächsten Bildschirm, Liste bei Eingabe eines Filterbegriffes oder Favoriten ohne Eingabe eines Filters.

Favoriten (fav)

Bei jeder Nutzung wird der verwandte Account in die Favoritenliste aufgenommen Hier sammeln sich also schnell die am häufigsten genutzten Kennworte.

Liste (list)

Die Liste aller oder der gefilterten Accounts. Navigiert wird mit den Tasten UP und DWN, ausgewählt mit SEL. Zur nächsten Seite Erzeugen geht es mit NXT.

Erzeugen (gen)

Brauchst du ein Kennwort für einen neuen Account, kannst du auf dieser Seiten einen Namen eingeben, so wie du es schon von den Seiten Willkommen und Filtern kennst. mit NXT gelangst du zur Detailseite.Der neue Account wird auch direkt in der Favoritenliste gespeichert.

Generierte Kennworte sind 12 Zeichen lang und enthalten zufällig Groß- und Kleinbuchstaben, Ziffern und Sonderzeichen. Sie sollten also für alle Zwecke ausreichen.

Details (details)

Auf dieser Seite wird ein ausgewählter oder neuer Account angezeigt und direkt in das Kennwortfeld einer Eingabemaske an einem angeschlossenen Gerät eingetippt wird PasswordVault nutzt dazu die Fähigkeit des verwandten Raspberry Pi Pico2-Microcontrollers, per USB über ein Standardprotokoll (HID = Human Interface Device) sich direkt wie eine Tastatur zu verhalten.

Einspielen der Accounts

Es gibt viele verschiedene Wege, wie Menschen ihre Kennworte verwalten. Unten zeigen wir dir zwei Wege, wie du deine Accounts auslesen und auf deinem PasswordVault einspielen kannst. Im Laufe der Zeit werden wir weitere Wege ergänzen.

PasswordVault liest Accounts aus einer Textdatei passwd.txt. Dies ist eine einfache Textdatei. Jeder Account ist auf einer eigenen Zeile gespeichert. Name und Kennwort sind über ein Tabulatorzeichen getrennt. Das Kennwort ist dabei mit dem XXTEA-Algorithmis verschlüsselt und dadurch sicher, sollte dein PasswordVault verloren gehen oder in falsche Hände geraten. Zum Ver- und Entsclüsseln brauchst du ein Master-Kennwort. Dieses wird (ebenfalls verschlüsselt) in der Datei settings.toml gespeichert.

Für Ver- und Entschlüsselung wird das Modul xxtea.py benutzt, das sowohl auf dem Gerät als auch mit dem Python auf deinem Rechner funktioniert. Hier ist ein Beispiel:

import xxtea

txt = 'Hallo Welt :)'
key = 'password'
a = xxtea.encryptToBase64(txt, key)
print(a)
b = xxtea.decryptFromBase64(a, key)
print(b)
print(txt == b)

Einlesen einer CSV-Datei

Hast du deine Kennworte in einer CSV-Datei gespeichert (genauer gesagt, in einer Datei mit Tab Separated Values TSV), kannst du das Script bin/from-tsv.py nutzen:

# Export von TSV-Datei passwd.tsv nach passwd.txt
# Das Script fragt as erstes nach deinem Master.Kennwort und speichert es verschlüsselt
# in der Datei `settings.toml`
python3 bin/from-tsv.py > passwd.txt

Weiter unten, bei Einspielen aus Lastpass zeigen wir noch ein zweites Script für die Wandlung einer CSV-Datei

Einspielen aus pass

pass ist der Standard UNIX Password Manager. Um aus deinen Passworten in pass eine passwd.txt-Datei zu machen, kannst du das Script bin/from-pass.py benutzen:

# Einmalig nötig, um notwendige Abhängigkeiten zu installieren
python3 -mvenv env
source env/bin/activate
pip install -r requirements.txt

# Export von pass nach passwd.txt
# Das Script fragt as erstes nach deinem Master.Kennwort und speichert es verschlüsselt
# in der Datei `settings.toml`
python3 bin/from-pass.py

Einspielen aus LastPass

LastPass ist ein beliebter Kennwort-Manager. Du kannst deine Accounts als CSV-Datei exportieren und in das passende Format für dein PasswordVault wandeln.

LastPass Export

Exportiere dazu deine Accounts als CSV-Datei. Rufe anschließend das Skript bin/from-lastpass.py auf:

python3 bin/from-lastpass.py <pfad-der-csv-datei>

Übertragen auf den PasswordVault

Die Dateien settings.toml und paswd.txt musst du anschließend auf das virtuelle Laufwerk deines PasswordVault kopieren. Schließe diesen dafür über ein Micro.USB-Kabel an deinen Rechner an.

Damit das Laufwerk des PasswordVault sichtbar wird, drücke bein Anstecken des Gerätes die oberste Taste NXT und lasse sie erst los, wenn die erste Anwendungsseite angezeugt wird.

Kopiere dann beide Dateien auf das Laufwerk CIRCUITPY.

Ziehe anschießend einmal kurz das Kabel ab und stecke es wieder an. Hierdurch wird das Laufwerk am Rechner wieder unsichtbar, wird aber auf dem Gerät schreibbar, um Favoriten und neu generierte Accounts zu speichern.