Data Masking und Obfuscation für sensitive Produktionsdaten

Die Nutzung echter Produktionsdaten für Entwicklung und Tests birgt erhebliche Datenschutzrisiken, da sensible Daten ungeschützt einsehbar und potenziell öffentlich werden können, was neben rechtlichen Problemen auch Image-Schäden verursachen kann. Dennoch greifen viele Firmen darauf zurück, da echte Daten eine hohe Realitätsnähe bieten, die Reproduktion von Fehlern erleichtern und eine bequeme sowie schnelle Lösung darstellen. Alternativen wie die Anonymisierung sind oft mit hohem Aufwand und zusätzlichen Kosten verbunden.

Text

Ausgangslage

Die Studierenden der FHNW entwickeln in ihrer Studienzeit eine Reihe von Applikationen. Diese Produkte werden oft in Projekten entwickelt oder weiterentwickelt. Viele der Applikationen greifen zurzeit auf Produktionsdaten der FHNW zu, um entwickelt oder getestet zu werden. Gegenwärtig ist kein Produkt im Einsatz, das die Produktionsdaten schützt (genauer gesagt maskiert). Daraus entstand das Bedürfnis, ein Produkt einzuführen, das die Zugriffe auf die Produktionsdaten (hier vorwiegend Studierendendaten) schützt, indem diese Daten anonymisiert werden.

Zielsetzung

Das Ziel dieser Arbeit ist die Entwicklung eines Konzepts und einer zugehörigen Softwarelösung, mit welcher sensitive Produktionsdaten an der FHNW maskiert werden können. Der Fokus liegt auf der Ermöglichung einer sicheren Nutzung von realitätsnahen Daten in studentischen Projekten. Die FHNW besitzt verschiedene Systeme, an welchen Studierende in Zukunft arbeiten können sollen. Die Daten befinden sich in unterschiedlichen Quellsystemen und werden über verschiedene Technologien angebunden. Das Ziel ist, dass mithilfe der in dieser Arbeit entwickelten Softwarelösung verschiedene Technologien und Datenquellen maskiert werden können. Im Sinne eines inkrementellen Ansatzes fokussiert sich diese Arbeit auf ein bestimmtes Zielsystem, oder genauer gesagt, dessen Anbindung an dessen Backendsystem über HTTP. Jedoch soll die Architektur einfache Erweiterungen für weitere Datenquellen und Protokolle erlauben. Die eigentliche Maskierung der Attribute soll über eine Konfiguration gesteuert werden und entsprechend ohne Code-Anpassungen für weitere Systeme verwendbar sein.

Maskierungsfunktion

FHNW

Zunächst wird ein Hash aus dem privaten Schlüssel und dem Eingabewert erstellt. Anschließend wird die Byte-Länge des Hashes durch wiederholtes XOR verkürzt, bis ein 8-Byte-Wert entsteht, der als Seed für eine Zufallszahlengenerierung dient. Mithilfe der resultierenden Zufallszahl wird schliesslich ein formatierter Output erzeugt.

Funktionsweise

FHNW

Die Lösung steht als Proxy-Service zwichen dem Client und dem Backend. Client Anfragen werden dabei unverändert an das Backend weitergeleitet. Die Antwort des Backends wird inspiziert und gemäss der Maskierungs-Konfiguration, angepasst an den Client zurückgeliefert.

Ergebnisse

In dieser Arbeit wurden Konzepte zur Datenmaskierung entwickelt und eine Softwarelösung umgesetzt, die unabhängig von Maskierungsalgorithmen und Datenquellen funktioniert. Die Software kann derzeit nur HTTP-Nachrichten im JSON-Format maskieren, lässt sich aber dank ihrer modularen Architektur und des Spring Frameworks leicht erweitern. Drei Maskierungsmethoden – Suppression, Substitution und Tokenisierung – wurden getestet, wobei Tokenisierung die besten Ergebnisse erzielte. Zudem wurde untersucht, ob sich aus maskierten Daten Rückschlüsse auf Personen ziehen lassen, was unter bestimmten Bedingungen durch statistische Auswertung möglich ist.

Technische Schlüsselbegriffe

  • AnonymisierungDer Prozess identifizierbare Informationen zu entfernen
  • PseudomisierungDer Prozess identifizierbare Informationen mit Pseudonymen zu ersetzen
  • DatenmaskierungAnwendung der Anonymiserung und Pseudomisierung
  • HTTPHypertext Transfer Protocol
  • JSONJavascript Object Notation
  • SQLStructured Query Language

Kundin

Logos

FHNW
Sebastian Graf
Bahnofstrasse 6
5210 Windisch
www.fhnw.ch

Team

Joel Messerli
Mike Gilgen

Betreuerin
Sebastian Graf