Die LotsenApp 2 ist ein Werkzeug zur strukturierten Erhebung von Daten unter Wahrung von Datenschutz und Datensicherheit. Die Anwendung selber ist agnostisch gegenüber den Daten und setzt ein Meta-Datenformat um maximale Flexibilität zu gewährleisten. Der Prozess ist in nachfolgender Abbildung auch dargestellt. Das Meta-Datenformat gibt die Möglichkeiten der Datendefinition vor, sodass daraus das Datenformat des konkreten Anwendungsfalls abgeleitet werden kann. Beispielhaft gibt das Meta-Datenformat vor, dass es Dokumente gibt, die Datenfelder enthalten und jedes Datenfeld einen Datentyp hat. Ein Datenformat würde dann ein Stammdaten-Dokument definieren, dass den die Datenfelder "Vorname", "Nachname" und "Geburtstag" hat. "Vorname" und "Nachname" sind vom Datentyp Freitextfelder und "Geburtstag" ist vom Datentyp ein Datum. Die resultierenden Daten sind dann "John" für das "Vorname", "Doe" für "Nachname" und "1900-01-01" für "Geburtstag".
Neben den (Studien-)Daten fallen weitere Daten an, insbesondere existiert für Benutzer eine Erinnerungsfunktion und ein konfigurierbares Dashboard neben grundsätzlichen Einstellungen, die vor unbefugtem Zugriff gesichert werden müssen.
Die Daten, die in der LotsenApp anfallen, teilen sich in drei Bereiche auf: anwendungsinterne Daten, benutzerspezifische Daten und erhobene (Studien-)Daten. Die internen und benutzerspezifischen Daten werden durch ein kryptographisches System und die erhobenen Daten durch ein separates System geschützt. Beide Systeme nutzen Verfahren aus der BSI TR-02102-1, im Allgemeinen RSA mit 4096 bit Schlüsseln für asymmetrische Verschlüsselung und AES mit 256 bit Schlüsseln für symmetrische Verschlüsselung.
Die internen und benutzerspezifischen Daten werden durch ein symmetrisches Schlüsselrotationsverfahren gesichert, bei dem die Daten alle 14 Tage durch einen neuen Schlüssel gesichert werden. Für jede Domäne und jedem Benutzer wird ein eigener Schlüssel verwendet, sodass beispielsweise Erinnerungen und Einstellungen eines Benutzers eigene Schlüssel besitzen.
Die erhobenen Daten werden durch ein doppeltes Hybrides Verschlüsselungsverfahren gesichert, das auch in der nachfolgenden Abbildung dargestellt wird. Die Daten werden durch ein symmetrisches Verfahren verschlüsselt, da die Datenmenge potentiell 446 bytes überschreiten. Der verwendete Schlüssel ist fest für einen Benutzer und wird durch einen zufälligen Salt permutiert, sodass jede symmetrische Verschlüsselung einzigartig ist und durch ermitteln eines Schlüssels maximal ein Datensatz betroffen ist. Der Permutation-Salt wird neben den Daten abgelegt. Neben dem Permutation-Salt existiert auch ein Paddingsalt, um Rainbow-Table Angriffe zu verhindern.
Sowohl der Schlüssel, als auch der Permutation-Salt werden durch ein asymmetrisches Verschlüsselungsverfahren verschlüsselt, wobei der verwendete private Schlüssel durch das Datenpasswort des Lotsen oder den generierten Wiederherstellungsschlüssel entschlüsselt wird. Der doppelte Zugriff ist notwendig, um den Zugriff auf die Daten trotz Verlust des Datenpasswort zu gewährleisten und einen single-point-of-failure zu verhindern.
Ein Hash (Blowfish-Methode) des Datenpassworts, der verschlüsselte private Schlüssel und der verschlüsselte symmetrische Schlüssel werden doppelt gespeichert, um auch hier einem möglichen Datenverlust vorzubeugen.
Folgende Systemanforderungen sollten mindestens erfüllt sein:
- CPU: Quad-Core CPU mit 1.5 GHz
- RAM: 500 MB (Anwendung), 3.5 GB - 4 GB (System)
- Speicher: 500 MB (Anwendung), 50 GB (System) HDD oder SSD
- Grafik: On-Board Grafikkarte oder Integrierter Grafikprozessor (IGP)
- Betriebssystem: Windows 10 (nsis, portable), MacOS (dmg, pkg), Linux (AppImage, snap, deb, rpm, freebsd, apk)
- Kompilieren für MacOS erfordert besondere Hardware und Zertifikate, die gekauft werden müssen.
- Software: Keine. Installer liefert alle Abhängigkeiten.
- Netzwerk: Netzwerkverbindung mit Internet für optionale Updates und zusätzliche Online-Services.
- Setupgröße: ~100MB
Folgende Systemeigenschaften sind zu empfehlen:
- CPU: Quad-Core CPU mit 2 GHz und Virtualisierung
- RAM: 500 MB (Anwendung), 6 GB (System)
- Speicher: 1 GB (Anwendung), 250 GB (System) SSD
- Grafik: On-Board Grafikkarte oder IGP
- Betriebssystem: Windows 10 (nsis, portable), MacOS (dmg, pkg), Linux (AppImage, snap, deb, rpm, freebsd, apk)
- Kompilieren für MacOS erfordert besondere Hardware und Zertifikate, die gekauft werden müssen.
- Software: Keine. Installer liefert alle Abhängigkeiten.
- Netzwerk: Netzwerkverbindung mit Internet für optionale Updates und zusätzliche Online-Services.
- Setupgröße: ~100MB
Test-Systeme, auf denen die App bisher erfolgreich ausgeführt wurde:
LotsenTablet in STROKE OWL:
- CPU: Intel Atom x5-Z8350
- RAM: 4 GB
- Speicher: 115 GB Flash Speicher
- Grafik: IGP
- Betriebssystem: Windows 10
Entwicklerrechner in STROKE OWL:
- CPU: Intel i5 8250U
- RAM: 16 GB
- Speicher: 1 TB SSD
- Grafik: IGP
- Betriebssystem: Windows 10