Menschen von oben fotografiert, die an einem Tisch sitzen.

adesso Blog

Wer kennt es nicht, der Datenschutzbeauftragte des Kunden macht einem kurz vor dem Release einen gewaltigen Strich durch die Rechnung? Um diesem Problem vorzubeugen, gab es schon seit den sechziger beziehungsweise siebziger Jahren – in Zeiten, in denen sich noch nahezu niemand Gedanken über Themen wie Data Mining, KI oder Big Data gemacht hat – erste Ansätze und Theorien, die sich genau mit dem Ansatz „Datenschutz und Technik“ auseinandersetzten. In den 1990er Jahren wurde daraus schließlich das Framework „Privacy by Design“, was sich nun auch in der Datenschutzgrundverordnung (DSGVO) wiederfindet.

Privacy by Design – Datenschutz durch Technikgestaltung – findet vor allem in Art. 32 DSGVO und in Erwägungsgrund 78 der DSGVO seinen Niederschlag im Gesetz. Da der europäische Gesetzgeber leider diesbezüglich relativ vage bleibt, werde ich euch im Folgenden die Prinzipien des Privacy by Design näher erläutern.

Proaktiv, nicht reaktiv – Vorbeugung und nicht Abhilfe

Der erste Schritt zu mehr Datenschutz beginnt im Kopf von euch Entwicklerinnen und Entwicklern! Dabei solltet ihr euch die Vorteile der proaktiven Vorgehensweise bewusst machen. Datenschutzgrundsätze – etwa Datensparsamkeit, Datensicherheit oder Datenminimierung – lassen sich besser gleich von vornherein implementieren. Zudem sind die technischen Spielräume und die Möglichkeiten meist ungleich weitreichender, als das rechtlich Zulässige – man denke an das hoch kritische Profiling. Durch eine präventive Vorgehensweise, die aktiv an die User und Stakeholder kommuniziert wird, lassen sich auf strategische Weise hohe Standards im Bereich Datenschutz etablieren. Zugleich ist ein proaktives Arbeiten in diesem Bereich meist wirtschaftlich vorteilhafter, als am nahezu fertiggestellten Produkt tiefgreifende Änderungen durchführen zu müssen, um beispielsweise Sicherheitsaspekte nachzurüsten oder überhaupt Löschmöglichkeiten vorzusehen.

Den Datenschutz in das Design einbetten

Die Beachtung des Datenschutzes sollte schon im Design und damit in der Architektur des IT-Systems abgebildet sein, denn leider lässt sich Datenschutz nicht nachträglich wie ein zusätzliches Modul an eine bestehende Software anbauen. Den Datenschutz in einer frühen Phase der Entwicklung einzubauen, ist daher unerlässlich.

Dabei ist die aktive Kommunikation von Gründen der Datenerhebung und Minimierung der Erhebung von personenbezogenen Daten auf ein Minimum wesentlich. Zusätzlich zur vorgeschriebenen Einhaltung des Datenschutzes schafft ihr Vertrauen in die Applikation und steigert die Nutzerakzeptanz.

Darüber hinaus kann eine Applikation oftmals so gestaltet werden, dass sie über weite Strecken ohne die Angabe personenbezogener Daten, wie zum Beispiel einer Authentifizierung, auskommt. Wenn diese für die Applikation erforderlich ist, sollten stets nur die Daten abgefragt werden, die auch tatsächlich zur Erreichung des Verarbeitungszwecks erforderlich sind. Hier sollte man den Stakeholdern immer mal wieder die Frage stellen, welche Daten an dieser Stelle wirklich gebraucht werden.

Oft maßlos unterschätzt bei der Entwicklung neuer Applikationen: das Löschen. Personenbezogene Daten werden für einen bestimmten Zweck erhoben und müssen je nach Art der Daten für einen bestimmten Zeitraum aufbewahrt werden. Hier spielen oft handels- und steuerrechtliche Aufbewahrungsfristen eine Rolle, aber auch der Wegfall des Verarbeitungszweckes. Nach Ablauf dieses Vorhaltezeitraums müssen die jeweiligen Daten entweder gelöscht oder, falls dies wegen technischer Gegebenheit nicht möglich ist, so verschlüsselt werden, dass eine Wiederherstellung nicht mehr möglich ist (sogenannte Anonymisierung). Dies alles ist im Grundsatz der Speicherbegrenzung festgehalten (Art. 5 Abs. 1 lit. e DSGVO) und sollte von euch immer beachtet werden.

Von Juristen wird aktuell immer betont, dass von den Datenschutzbehörden bei fehlender Löschung oder Löschmöglichkeit von personenbezogenen Daten die höchsten Bußgelder ausgesprochen werden. Man denke nur an das Bußgeld gegen die Deutsche Wohnen SE in Höhe von über 14 Millionen Euro, die Mieterdaten einfach nicht gelöscht haben, obwohl sie nicht mehr benötigt wurden.

Ein weiteres Beispiel für die zwingend notwendige Implementierung von Löschmöglichkeiten ist eine nicht vollständig ausgeführte Registrierung. Man denke an das Anlegen eines Nutzerkontos, bei dem eine Bestätigung des Kontos mithilfe eines zuvor per E-Mail versendeten Links notwendig ist. Wird diese Bestätigung durch Klicken auf den Link nicht ausgeführt, müssen die bereits eingegebenen personenbezogenen Daten zu dem Nutzerkonto alsbald nach Ablauf der Linkgültigkeit gelöscht werden.

Tipps:

1. Sensibilisiert eure Stakeholder frühzeitig für das Thema Datenschutz, ergreift die Initiative und kommuniziert es. Mit diesem Hinweis vermeidet ihr einen eventuellen Mehraufwand im Vorfeld und punktet im Zweifel sogar zusätzlich.

2. Bei der Entwicklung seid ihr außerdem gut beraten, wenn ihr euch bei der Auswahl von Frameworks und Bibliotheken an allgemein weit verbreitete Komponenten haltet. Hier ist die Wahrscheinlichkeit groß, dass diese eventuellen externen Audits und Reviews standhalten. Eine bessere Eigenentwicklung ist selbstverständlich nie verboten.

3. Minimiert euer Risiko, indem ihr euch an allgemeinen Standards orientiert. Beispielsweise gibt das .NET Framework einem Entwickelnden die Freiheit, den eigenen Verschlüsselungsalgorithmus zu entwickeln und einzusetzen. Es wird aber aus Sicherheitsgründen dringend davon abgeraten, dies zu tun. Stattdessen ist es angezeigt, auf die schon existierenden internationalen Standards zu setzen.

Die tiefe Integration des Datenschutzes bietet den Vorteil, dass sich die Sicherheit nicht durch Fehlbenutzung, Fehlkonfiguration oder Fehler aushebeln lässt.

Durchgängige Sicherheit – Schutz während des gesamten Lebenszyklus

Selbstverständlich sollte der Schutz der Daten eines Systems während des gesamten Lebenszyklus – von der Erfassung der Daten über die Speicherung bis zum sicheren Löschen nach Ablauf einer Aufbewahrungsfrist – gewährleistet sein. Hierfür müssen unterschiedliche Sicherheitsstandards eingehalten werden, die sowohl den Erhalt der Daten als auch die Vermeidung unberechtigter Zugriffe beachten. Die Herausforderung besteht darin, durch geeignete Verschlüsselungsstandards und Zugangskontrolle, unbefugten Datenzugriff auf jeglichen Ebenen und in jeglichen Stadien des Lebenszyklus der Daten zu verhindern, um die gesetzlich vorgeschriebene Vertraulichkeit und Integrität zu gewährleisten. Gleichzeitig muss durch Backups und Resilienz die Verfügbarkeit der Daten gewährleistet sein.

Ein Beispiel für eine nicht durchgängige Zugangskontrolle wäre beispielweise, wenn für die Einsicht von archivierten Daten des im Fokus stehenden Systems ein komplexes Berechtigungskonzept den Zugang regelt, jedoch diese Daten auch über ein alternatives System ohne diese Absicherung einsehbar sind.

Sichtbarkeit und Transparenz – Für Offenheit sorgen

Digitalisierung bedeutet heute, dass viele Systeme Daten automatisiert in Drittsysteme übertragen. Diese grundsätzlich sinnvolle Erleichterung birgt im Bereich Datenschutz nicht unerhebliche Probleme, zum Beispiel im Bereich Transparenz. Zum einen solltet ihr genau planen und wissen, welche Informationen wohin übertragen werden. Der Kunde muss dies in Datenschutzerklärungen und Datenschutzinformationen nach Art. 13 DSGVO ggf. transparent machen. Zum anderen müsst ihr die Sicherheit und Integrität der Daten beachten, zum Beispiel also geeignete Transportverschlüsselungsverfahren einsetzen.

Ihr seht, das Thema Datenschutz ist für Entwickelnde, Architektinnen und Architekten sowie Consultants sehr wichtig und wird immer mehr an Bedeutung gewinnen. Das Thema ist an vielen Stellen noch nicht soweit durchgedrungen, wie es sinnvoll wäre, gerade wenn man an Altsystemen weiterentwickelt. Im nächsten Teil erfahrt ihr mehr zum Thema „Privacy by Default“.

Bild Tobias   Deininger

Autor Tobias Deininger

Tobias Deininger ist Senior Software Engineer in der Line of Business Microsoft am adesso-Standort Karlsruhe. Dort beschäftigt er sich aktuell mit der Entwicklung und Kundenberatung zu den Themen Domain-Driven Design und Microservices im .NET-Umfeld. Darüber hinaus interessiert er sich für Application Lifecycle Management und Datenschutz in der IT.

Diese Seite speichern. Diese Seite entfernen.