PasswordVault auf dem Sunton ESP32-2432S024C
Das Sunton ESP32-2432S024C ist ein kompaktes Entwicklungsboard mit 2,4"-Farb-Touchscreen (320x240 Pixel, ILI9341), SD-Kartenslot, RGB-LED und Bluetooth Low Energy (BLE). Es ist die preisgünstigste PasswordVault-Variante mit Touch-Bedienung.
Hardware
| Komponente | Details |
|---|---|
| MCU | ESP32 (Dual-Core, 240 MHz) |
| Display | 2,4" ILI9341, 320x240 Pixel, SPI |
| Touch | CST820, kapazitiv, I2C |
| Speicher | SD-Karte (SPI) |
| Konnektivität | BLE 4.2 (HID-Keyboard) |
| LED | RGB (Statusanzeige) |
| Flash | 4 MB |
| Preis | ca. 10 EUR (AliExpress) |
Funktionen
- Zugriffsschutz über numerischen Master-Key und XXTEA-Verschlüsselung
- Speicherung der Accounts auf SD-Karte (passwd.txt, favs.txt)
- Favoritenliste der meistgenutzten Accounts
- Volltextsuche über alle Einträge
- Anzeige des entschlüsselten Kennworts
- Eintippen des Kennworts per BLE-HID-Keyboard in Eingabefelder auf verbundenen Geräten
- Erzeugen neuer Kennworte (12 Zeichen, Groß-/Kleinbuchstaben, Ziffern, Sonderzeichen)
- RGB-LED zeigt BLE-Status: rot = nicht verbunden, blau = verbunden
- Implementiert in C mit dem ESP-IDF SDK
Einschränkung: BLE sendet Scan-Codes
Die BLE-HID-Tastatur sendet USB-Scan-Codes (HID Usage Codes), keine Zeichen. Das bedeutet: Die Zuordnung von Scan-Code zu Zeichen hängt vom Tastaturlayout des Empfängergeräts ab. Ist dort z.B. ein deutsches Layout eingestellt, erzeugen die Scan-Codes andere Zeichen als bei einem US-Layout. Kennworte werden korrekt eingetippt, wenn auf dem Empfängergerät ein US-Tastaturlayout aktiv ist.
Bedienung
Die Bedienung erfolgt vollständig über den kapazitiven Touchscreen. Es gibt sechs Bildschirmseiten:
Lock (Entsperren)
Ein Ziffernblock (3x4) zur Eingabe des Master-Keys. Die Eingabe wird maskiert (Sternchen). "C" löscht die Eingabe, "OK" prüft den Schlüssel. Bei korrektem Schlüssel wird die Favoritenliste angezeigt.
Favoriten (favs)
Scrollbare Liste der meistgenutzten Accounts. Wischen nach oben/unten scrollt die Liste. Tippen auf einen Eintrag öffnet die Detailseite. Der Button "List" oben rechts wechselt zur vollständigen Liste.
Liste (list)
Alle Accounts in alphabetischer Reihenfolge. Scrollbar durch Wischen. "Back" kehrt zu den Favoriten zurück. "Filter" öffnet die Suchseite. "New" unten rechts öffnet die Seite zum Erzeugen neuer Einträge. Tippen auf einen Eintrag öffnet die Detailseite.
Filter (filter)
QWERTY-Bildschirmtastatur zur Eingabe eines Suchbegriffs. Die Anzahl der Treffer wird live angezeigt. "Close" übernimmt den Filter und kehrt zur Liste zurück. Buttons für Backspace und Clear.
Neu (new)
QWERTY-Bildschirmtastatur zur Eingabe eines Account-Namens. "Create" erzeugt ein zufälliges Kennwort, speichert den Eintrag und wechselt zur Detailseite.
Detail (detail)
Zeigt Name und entschlüsseltes Kennwort eines Accounts. Der Button "Type" sendet das Kennwort per BLE-HID an ein verbundenes Gerät. Der BLE-Verbindungsstatus wird unten angezeigt. BLE wird nur auf dieser Seite aktiviert und beim Verlassen wieder deaktiviert. "Back" kehrt zur vorherigen Liste zurück.
Dateien auf der SD-Karte
| Datei | Inhalt |
|---|---|
| settings.ini | Verschlüsselter Master-Key (PVPASSWD=...) |
| passwd.txt | Accounts: Name + XXTEA-verschlüsseltes Kennwort (Tab-getrennt) |
| favs.txt | Favoritennamen (eine pro Zeile) |
| added.txt | Neu erzeugte Accounts (sortiert) |
Die Dateien passwd.txt und settings.ini werden mit den gleichen Scripten erzeugt wie bei der Raspberry-Pi-Variante (siehe Startseite).
Quellcode
Der Quellcode ist auf GitHub verfügbar. Gebaut wird mit dem ESP-IDF SDK.