Skip to content

The LotsenApp was the implementation of the digital patient file from the STROKE OWL project. The aim of the digital patient file was the structured collection of study and process data for the care of patients, for the implementation of the study, and for the provision of data for health insurance companies and billing service providers.

License

Notifications You must be signed in to change notification settings

offis/lotsen-app

Repository files navigation

LotsenApp 2

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".

Prozess zur Konkretisierung des Datenformats

Zusätzlich anfallende Daten

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.

Kryptographische Systeme

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.

Anwendungsinterne und benutzerspezifische Daten

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.

Erhobene Daten

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.

Verfahren der Datenverschlüsselung

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.

Systemanforderungen

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

About

The LotsenApp was the implementation of the digital patient file from the STROKE OWL project. The aim of the digital patient file was the structured collection of study and process data for the care of patients, for the implementation of the study, and for the provision of data for health insurance companies and billing service providers.

Resources

License

Stars

Watchers

Forks

Packages

No packages published