Sicherheit und Datenschutz der useEngineer-App

Der zur useEngineer-App gehörige Cloud-Synchronisations-Service ermöglicht gemeinsame Online-Treffen, um in Gruppen die Gebrauchstauglichkeit (Usability) von Nutzungsoberflächen zu erarbeiten. Verschiedene Tools setzen die unterschiedlichen Methoden des Usability-Engineering als Html-App um: Beispielsweise beim Erstellen des Nutzungskontexts, Card-Sorting und Prototyping ist die Beteiligung der Nutzenden Basis eines jeden Erfolgs. Die Dateien auf dem useEngineer-Server innerhalb der Europäischen Union sind hoch verschlüsselt. Es ist dem Cloud-Synchronisations-Service auch im Supportfall technisch nicht möglich, diese zu entschlüsseln! Die digitale Souveränität der Benutzenden ist neben der Usability selbst ein zentrales Leitbild von useEngineer.

Keine Cookies -eigene oder von dritten - oder ähnliche Techniken!

Datenschützer sprechen von der höchsten Datenschutzsicherung: Ende-zu-Ende-Verschlüsselung, das bedeutet aber auch im Umkehrschluss: Sollten Sie Ihre lokal eingesetzten Passwörter vergessen, so gibt es technisch keine Möglichkeit ein neues Passwort vom useEngineer-Cloud-Synchronisations-Service anzufordern.

Digitale Souveränität durch ein dezentrales Datenverwaltungskonzept

Bei der Verwendung der useEngineer-App übernehmen die Benutzer als Element digitaler Souveränität die Verantwortung für die Verwaltung ihrer Daten, einschließlich Versionierung, Aktualisierungen und der Möglichkeit, auf frühere Versionen zurückzugreifen. Dies wird durch ein innovatives dezentrales Datenverwaltungskonzept ermöglicht. Benutzer können zu jedem Zeitpunkt den aktuellen Zustand der Daten auf unterschiedliche Weise lokal sichern. Auch jedes Gruppenmitglied hat die Möglichkeit. Die App ermöglicht es dabei, Dateien in verschiedenen Formaten, einschließlich lesbarer JSON-Dateien, zu speichern. Die HTML-Datei des Tools kann ebenfalls lokal verwendet werden, wodurch eine eigenständige HTML-Anwendung entsteht.

Für die Online-Gruppenarbeit und die Synchronisierung in der Cloud ist ein kostenpflichtiges Konto erforderlich. Mit diesem Konto können beliebig viele Moderationszugänge für die Tools freigeschaltet werden. Durch dieses Verfahren entsteht eine Hierarchie von Sicherheitsstufen, die durch unterschiedliche Passwörter geschützt werden können. Es gibt drei Arten von Passwörtern, die in der useEngineer-App unterschieden werden sollten:

  1. Verwaltungspasswort: Dieses Passwort sichert das gesamte useEngineer-Konto ab und folgt einem eigenen Sicherheitskonzept mit SHA3-512-Hash-Werten und -Verschlüsselung. Der Kontozugang ist an eine E-Mail-Adresse mit diesem Passwort gebunden. Moderatoren benötigen keinen Zugang zu diesem Konto, sodass die Verwaltung der Moderationszugänge von einer anderen Person oder Gruppe übernommen werden kann.
  2. Moderationspasswort: Jeder Moderator hat ein eigenes Moderationspasswort. Mit diesem Passwort können unbefristete Gruppenarbeitssitzungen (Sessions) eröffnet werden. Hierfür ist ein kostenpflichtiges Konto beim useEngineer-Cloud-Service erforderlich. Die Moderationszugangsdaten werden verwendet, um die jeweilige Online-Sitzung einzurichten, ein Gruppenpasswort festzulegen und den Gruppenlink an die Teilnehmer zu senden. Im Testmodus ist kein Passwort erforderlich, da kein Konto benötigt wird.
  3. Gruppenpasswort: Das Gruppenpasswort wird verwendet, um die im Gruppenlink enthaltenen geheimen Zugriffsdaten zu entschlüsseln. Beim Öffnen des Links werden die Benutzer aufgefordert, dieses Passwort einzugeben. Es ermöglicht den Benutzern, den Inhalt des Tools aktiv umzugestalten, und alle Änderungen werden in Echtzeit für alle Gruppenmitglieder sichtbar. Alle können gleichzeitig zusammenarbeiten.
  4. Speicherpasswort: Das Speicherpasswort verschlüsselt die aktiven Tool-Daten als Ganzes innerhalb der dann lokal gespeicherten HTML-App selbst. Diese Datei kann per E-Mail versendet werden, und beim Öffnen wird nach Eingabe des Speicherpassworts der zum Zeitpunkt der Speicherung aktive Tool-Zustand angezeigt. Jedes Gruppenmitglied kann die Tool-Daten auch lokal mit seinem eigenen Speicherpasswort speichern.

Die Verwendung dieser Passwörter hängt vom jeweiligen Sicherheitsbedarf und Anwendungsfall ab. Alle auf dem Cloud-Server gespeicherten Passwörter werden als "gesalzene" Hash-Werte gespeichert. Das bedeutet, dass sie nicht in ihre ursprünglichen Formen zurückgerechnet werden können. Dies erhöht die Sicherheit der Daten. Die Verwendung der Passwörter hängt vom gewünschten Sicherheitsniveau und der beteiligten Zielgruppe ab. Gruppen- und Speicherpasswörter können zusammen mit dem Gruppenlink oder auf separatem Weg übermittelt werden. Beim Öffnen des Links oder der versendeten HTML-Datei wird das Passwort abgefragt, um die darin enthaltenen Daten zu entschlüsseln.

Das Moderationspasswort dient in erster Linie dazu, die Synchronisationsdatei in der Cloud zu verwalten und zu aktualisieren. Alle Cloud-Daten können mit den aktiv angezeigten Daten überschrieben werden, was eine Versionierung und Rücksetzung auf frühere Versionen ermöglicht. Es ist mit einer bestimmten E-Mail-Adresse verknüpft. Wenn diese beides beim Erstellen der Synchronisationsdatei angegeben werden, erhält die Datei besondere Eigenschaften. Ohne das Moderationspasswort und mit der E-Mail-Adresse "testing@useengineer.de" wird die Synchronisationsdatei im Testmodus erstellt.

Die Erstellungs- und Änderungszeitpunkte der Synchronisationsdateien werden in regelmäßigen Abständen überprüft. Im Testmodus wird eine Datei gelöscht, wenn sie älter als 20 Minuten ist. Der Dateiname und die damit verbundenen Zugriffslinks sind nur für die aktuelle Sitzung gültig und müssen für jede neue Sitzung neu generiert und mit den Gruppenmitgliedern ausgetauscht werden.

Technische Details zur Datensicherheit und Verschlüsselung

Nur mit aktivem bzw. gültigem Service-Konto kann eine Online-Session 20 Minuten sowie der Zugriffslink der Gruppe überdauern. Dafür ist das Moderationspasswort mit der zugehörigen E-Mail-Adresse beim Anlegen notwendig. Wurde dies erfolgreich geprüft, so wird der übergebene alte Dateiname übernommen und immer die letzter Änderung der Synchronisationsdatei geprüft. Die Datei wird erst gelöscht, wenn diese Änderung mehr als 40 Minuten zurück liegt.

Die Synchronisationsdatei auf dem useEngineer-Server ist mittels Cipher-Block-Chaining (CBC) verschlüsselt. Für technisch Interessierte:

  • Alle Daten werden als Unicode-Zeichenkette übertragen und bearbeitet.
  • jede Zeichenkette ist ein verschlüsselter Block.
  • jeder Block besteht aus 16-Bit Blocklänge, 16-Bit Schlüsseltyp und den verschlüsselten Daten.
  • Der Schutz beruht auf vier Geheimnissen, die nur der Gruppe bekannt sind.
  • Alle Geheimnisse basieren selbst auf kryptologisch sicheren Zufallswerten.
  • Drei der Geheimnisse sind in der Einladungs-E-Mail im Gruppenlink mittels des gesalzenen Gruppenpasswort-SHA-512-Hashs verschlüsselt kodiert:
    1. Name der verschlüsselten Datei (16 * 16 bit = 256 bit) [Krypto-Zufallswerte],
    2. Schlüsselbasis (32 * 16 bit = 512 bit) [Krypto-Zufallswerte],
    3. Auftaktblocklänge (9 bit) [Krypto-Zufallswert],
    4. die Auftaktverschleierung (0 - 128 16-bit-Zeichen) [Krypto-Zufallswert] ist lediglich Bestandteil der Synchronisationsdatei.
  • Ent- und Verschlüsselung
    • Block = Länge Übermittlungs-String
    • + 16-Bit-Krypto-Zufallswert
    • + Cipher-Block-Chain auf Basis der mit dem Zufallswert rotierten Schlüsselbasis
    • Ergebnis = Verkettung aller entschlüsselten Blöcke

Für Projekte mit erheblichem Schutzbedarf: Sollten Angreifer auf irgendeinem Weg in den Besitz der Synchronisationsdateien geraten, ist durch das Vorgehen jede Datei für sich kryptologisch geschützt. Aufgrund der während einer Gruppensession sehr kleinteiligen Struktur der über mittelten Blöcke und der darin vorliegenden Strukturierung, lassen sich möglicherweise bei am Anfang noch kleinen Dateien basierend auf statistischen Analysen Angriffsvektoren finden.

Auch dagegen sind Maßnahmen getroffen. Das 4. Geheimnis die Auftaktverschleierung erschwert dies grundsätzlich auch bei kurzer Synchronisationsdatei, weil unklar ist, wo die eigentlichen Daten beginnen. Zusätzlich werden sämtliche Transaktionen von Gruppenmitgliedern mit einem zum Sessionbeginn festgelegten 16-Bit-Zufalls gekennzeichnet, so dass auch Wiederholungen in den Transaktionen - also in den verschlüsselten Daten selbst - minimiert werden. Insbesondere werden auch sich wiederholende Standardtransaktionen mittel Zufallswerten verschleiert.

Zusätzliche Sicherheit lässt sich bei Bedarf gewinnen, wenn mittels des Moderationspasswortes ein lokal gesichertes JSON-Backup zurückgeschrieben wird. Dadurch werdens nicht nur durch Änderungen unwirksamen Interaktionen entfernt - nur der letzte Zustand bleibt erhalten-, sondern bei optimierter Dateilänge werden auch die diversen kleinen Blöcke entfernt. Die höchste Sicherheitsstufe wird erreicht, in dem die aktive Synchronisationsdatei leer überschieben oder gelöscht wird und pro Gruppensession eine neue Synchronisationsdatei mit neuem Gruppenlink angelegt wird.

Desweiteren hängt die Schutzhöhe natürlich von der Qualität der gewählten Passwörter ab. Die grob geschätzte Qualität wird bei der Eingabe direkt zurück gemeldet. Es wird nach jeder Zeicheneingabe eine mit einer Musteranalyse kombinierte Entrophie-Berechnung gemacht. Diese normiert 10 unterschiedliche musterfreie Zeichen auf eine Qualität von 80%.

Was für Daten liegen also auf dem useEngineer-Server? Die Synchronisationsdatei besteht nur aus scheinbar zufälligen UTF-8-Zeichen: viele sind unsichtbar bzw. nicht darstellbar oder chinesisch. Die als Liste hinterlegten Kontrolldaten bestehen pro Datei aus vier mit standardisierten, komplexen Zeichenketten gesalzenen SHA-512-Hash-Werten.

Die Anwortzeit beim Anlegen einer neuen Datei ist gegen Brute-Force-Angriffe gerichtet mindestens zwei Sekunden.

© Dr.D.Fischer@use-optimierung.de

Datenschutz in den verwalteten Tools

Sicherheit und Datenschutz in den durch die useEngineer-App verwalteten Tools.