Projektstatus: Im Einsatz

Pseudify - Pseudonymisierung für Entwickler

Wir gewährleisten Datensicherheit durch Pseudonyme.

Ralf Zimmermann
#Runde12 #Datenschutz/Souveränität #Softwareinfrastruktur

Welche gesellschaftliche Herausforderung adressiert euer Prototyp

Immer mehr Projekte werden heute webbasiert entwickelt. Diese Projekte beinhalten personenbezogene Daten wie Kund*innendaten, Adressen, Telefonnummern oder Gesundheitsdaten. Häufig werden die Daten nicht in einer getrennten Datenbank gespeichert, sondern in der Applikationsdatenbank des Projekts. Entwickler*innen verwenden lokale Systeme zur Weiterentwicklung und Qualitätssicherung. Damit der lokale Entwicklungsstand möglichst nah an den Produktivstand herankommt, verwenden Entwickler*innen häufig Datenbank-Spiegelungen der Produktionsdaten auf dem lokalen System. Informationen aus Datenbanken werden gemischt und so gelangen persönliche Daten in die Applikationsdatenbank. Zum Nachstellen von Fehlern sowie zur Wartung und Weiterentwicklung der Systeme benutzen Entwickler*innen häufig den Livedatenbankstand auf ihren lokalen Systemen. Entwickler*innenrechner stellen damit eine signifikante Gefahr für die Datensicherheit dar, weil sie verschiedene Datenbanken auf ihren Geräten verwalten müssen, um programmieren zu können. Mit Pseudify soll ein Tool geschaffen werden, dass es Entwickler*innen ermöglicht, einfach und transparent große Datenblocks von beliebigen Datenbanken mit Pseudonymen zu erstellen, welche auf den Continuous-Integration (CI) Servern oder im Rahmen der Datensynchronisation genutzt werden können. Im Idealfall würden die Entwickler*innen mit anonymisierten oder pseudonymisierten Daten arbeiten.

So ist nach einmaliger Einrichtung für ein Projekt der Aspekt der Datensicherheit gewährleistet und Entwickler*innen müssen keine Sorge haben, dass sie Daten vermischen oder öffentlich machen. Zum einen soll die Erhöhung der Datensicherheit durch Pseudonymisierung möglichst einfach gestaltet werden, um die Anwendung von Pseudonymen attraktiver zu machen. Zum anderen soll die Sensibilisierung bei Entwickler*innen für Datensicherheit erhöht werden.

Wie geht ihr das Problem an?

Pseudify soll dabei Adapter für alle gängigen Datenbanksysteme, wie MySQL, MariaDB, Postgres und so weiter anbieten. Mittels einer Konfiguration kann hinterlegt werden, welche Tabellen welche Art von Daten enthalten und mit welcher Strategie diese Daten pseudonymisiert werden sollen. Hierzu wird eine Faker-Komponente verwendet, die ermöglicht, Daten anhand ihres Typs mit passenden Pseudo-Daten zu ersetzen. Dies bedeutet, dass  nach der Pseudonymisierung E-Mail-Adressen nach wie vor E-Mail-Adressen sind und Namen immer noch Namen, nur anonymisiert. Da vielfach Relationen zwischen verschiedenen Datensätzen bestehen, wird hier nur eine Pseudonymisierung angestrebt. Dass heißt, die Relationen bleiben intakt. Dies ist nötig, um einen möglichst realen Anwendungsstand zu erreichen. 

Das Projekt soll PHP-basiert sein, da ein Großteil der Websites PHP verwenden und damit die Einstiegshürde für die Verwendung und Contribution niedriger ist. Erprobte Open-Source-Framework-Komponenten, wie zum Beispiel aus dem Symfony Framework oder dem Faker-Projekt helfen bei der Entwicklung. Zudem soll das Projekt in Form von Docker-Containern zur Verfügung gestellt werden, um den Einsatz auf beliebigen Systemen möglichst nahtlos zu ermöglichen – dies ist insbesondere im CI-Kontext relevant.

An wen richtet sich euer Tool?

Die Zielgruppe für das Projekt sind Web-Anwendungsentwickler*innen mit der Rolle DevOps, sowie Administrator*innen von CI-Infrastrukturen. Dies beinhaltet auch generell Web-Agenturen, die ihre Projektbasis sicherer machen wollen. Sobald Standardkonfigurationen für einen Projekttyp, zum Beispiel WordPress, zur Verfügung stehen, kann das Projekt in der entsprechenden Community vorgestellt werden.