Softwareentwicklung und Datenschutz – wie passt das zusammen?
Die Anforderungen der DSGVO erscheinen wie Stolpersteine, Entwickler sollten sie aber als Trittbrett fĂĽr eine kundenorientierte Anwendungsentwicklung nutzen.
- Tobias Deininger
- Natalie Dittrich
Künstliche Intelligenz, Industrie 4.0, Data Mining und IoT sind aktuelle Schlagworte, bei denen sich Anwenderinnen und Anwender ebenso wie Softwareentwicklerinnen und -entwickler im Land der unbegrenzten Möglichkeiten wähnen. Doch spätestens, wenn der Datenschutzbeauftragte die Anforderungen der EU-Datenschutzgrundverordnung (DSGVO) und des Bundesdatenschutzgesetzes (BDSG) ins Spiel bringt, landen alle Beteiligten schnell wieder auf dem Boden der Tatsachen. Denn erfüllt eine Software diese Anforderungen nicht, gilt sie schlimmstenfalls als mangelhaft. Nur allzu verbreitet ist daher die Ansicht: IT und Datenschutz passen einfach nicht zusammen.
Diese Sorge ist jedoch unbegründet, denn bereits seit den 1960er- beziehungsweise 1970er-Jahren – also lange vor Inkrafttreten der DSGVO – gibt es Theorien und Ansätze, die sich mit dem Zusammenspiel von Datenschutz und Technik auseinandersetzen. Prinzipien wie "Privacy by Design" und "Privacy by Default", die bereits in den 1990iger-Jahren geprägt wurden, lassen es bereits vermuten: gelebter Datenschutz beginnt in den Köpfen von Developern sowie Softwarearchitektinnen und -architekten.
Der europäische Gesetzgeber hat unter anderem das Framework Privacy by Design – im Sinne von Datenschutz durch Technikgestaltung – aufgegriffen, bleibt aber in Art. 25 und 32 DSGVO diesbezüglich vage. Gelebter Datenschutz ist jedoch kein Hexenwerk, wenn man einige Grundregeln beachtet. Im Folgenden legen die Autoren daher die für die Softwareentwicklung wesentlichen Eckpfeiler des Datenschutzes praxisbezogen dar. Denn, um datenschutzkonform zu programmieren ist kein Jurastudium erforderlich.
Vorbeugen statt Abhelfen: Privacy by Design
Nachträglich – beispielsweise als ergänzendes Modul – lässt sich Datenschutz meist nur schwer und mit hohem Zeitaufwand und zusätzlichen Kosten in eine Anwendung integrieren. Daher sollte er bereits beim Schreiben der Software beziehungsweise bei der Architektur des IT-Systems berücksichtigt werden.
Insbesondere die Speicherbegrenzung, die Datenminimierung sowie Integrität und Vertraulichkeit, die zu den neun Prinzipien des Datenschutzes zählen, sind in der Design-Phase der Softwareentwicklung deutlich leichter zu implementieren, als sie im Nachhinein zu ergänzen. Da zudem die technischen Möglichkeiten in aller Regel weitreichender sind als der rechtliche Spielraum, lässt sich nur mit einer präventiven Vorgehensweise ein hoher Datenschutzstandard etablieren. Eine aktive Kommunikation mit den Stakeholdern sowie Nutzerinnen und Nutzern schafft Transparenz – eine weitere Säule des Datenschutzes. Auch hat es ganz handfeste wirtschaftliche Vorteile, wenn Maßnahmen zum Datenschutz schon früh in den Softwareentwicklungsprozess einfließen. Denn tiefgreifende Nachbesserungen in einem weit fortgeschrittenen Stadium, um beispielsweise Sicherheitsaspekte zu erfüllen oder Löschmöglichkeiten für Daten bereitzustellen, sind in der Regel mit höheren Kosten verbunden.
Wer seinen Anwenderinnen und Anwendern die Zwecke der Datenerhebung klar kommuniziert und das Erheben personenbezogener Daten auf das Notwendigste beschränkt, erfüllt nicht nur die Forderungen der DSGVO nach Transparenz ) (Art. 5 Abs. 1 lit. a DSGVO), Zweckbindung (Art. 5 Abs. 1 lit. b DSGVO) und Datenminimierung (Art. 5 Abs. 1 lit. c DSGVO), sondern erhöht auch das bei Anwenderinnen und Vertrauen in die Applikation und stärkt damit die Nutzerakzeptanz.
Eine Applikation ist daher vorzugsweise so zu gestalten, dass viele Features ohne die Angabe personenbezogener Daten auskommen. Auch bei einer erforderlichen Authentifizierung sollte sich die Applikation stets nur auf das Erfassen der tatsächlich für den Verarbeitungszweck notwendigen Daten beschränken. Diesbezügliche Entscheidungen zu treffen ist in der Praxis üblicherweise nicht Aufgabe der Entwicklerinnen und Entwickler, sondern des verantwortlichen Stakeholders. Um den Schutz des Grundrechts auf informationelle Selbstbestimmung und das Einhalten der Datenschutzvorschriften sicherzustellen, sind alle am Prozess Beteiligten zum Mitdenken und zur aktiven Unterstützung aufgefordert.
Datensicherheit während des gesamten Software-Lebenszyklus
Der Schutz der Daten eines Systems sollte während des gesamten Lebenszyklus gewährleistet sein – von der Erhebung über die Speicherung bis zum Löschen nach Ablauf einer Aufbewahrungszeit. Der Grundsatz der Integrität und Vertraulichkeit (Art. 5 Abs. 1 lit. f DSGVO) macht beispielsweise den Schutz der personenbezogenen Daten gegen Schadensereignisse, aber auch die Gewährleistung der Vertraulichkeit und Verfügbarkeit erforderlich. Daher gilt es unterschiedliche Sicherheitsstandards zu beachten, die sowohl den Erhalt der Daten als auch das Unterbinden unberechtigter Zugriffe regeln.
Im Hinblick auf den Datenschutz besteht somit eine der Hauptaufgaben beim Entwickeln von Software darin, etwa durch geeignete VerschlĂĽsselungsstandards und das Implementieren von Zugangskontrollen unbefugten Datenzugriff auf jeder Ebene und zu jedem Zeitpunkt des Lebenszyklus der Daten zu unterbinden. Die VerfĂĽgbarkeit der Daten ist darĂĽber hinaus durch Backups und Resilienz zu sichern.
Eine inkonsistente Zugangskontrolle liegt beispielsweise vor, wenn für den Abruf archivierter Daten des im Fokus stehenden Systems zwar ein komplexes Berechtigungskonzept implementiert ist, die identischen Daten jedoch über ein alternatives Nebensystem ohne konkrete Absicherung uneingeschränkt und dauerhaft abrufbar sind. In diesem Beispiel wie auch zahlreichen weiteren Teilgebieten typischer Softwareprojekte stehen primär Developer und Architekten in der Pflicht, den Datenschutz sicherzustellen. Wenngleich sie nach Art. 4 Nr. 7 DSGVO nicht als Verantwortliche anzusehen sind, dürfte im Zweifel zumindest über vertragliche Nebenpflichten die Verantwortung bei ihnen liegen.