Alles auf Null: Vermeidung personenspezifischer Daten
Artikel 1, Absatz 1 der DSGVO lautet:
Diese Verordnung enthält Vorschriften zum Schutz natürlicher Personen bei der Verarbeitung personenbezogener Daten und zum freien Verkehr solcher Daten.
https://dejure.org/gesetze/DSGVO/1.html
Die wenig beachtete Umkehr dieser Aussage
Für nicht-personenbezogene Daten gilt die DSGVO nicht.
Nochmal, damit es wirklich alle mitbekommen haben:
Für nicht-personenbezogene Daten gilt die DSGVO nicht.
Das bedeutet, wenn wir (im default) keine personenbezogenen Daten verarbeiten, brauchen wir nicht von allen und jedem einen Consent einzuholen. Sondern gar nichts.
Personenbezogene Daten
Allerdings ist die Definition von personenbezogenen Daten sehr eng und erlaubt keinen Spielraum
DSGVO Artikel 4 Absatz 1 sagt:
"personenbezogene Daten" alle Informationen, die sich auf eine identifizierte oder identifizierbare natürliche Person (im Folgenden "betroffene Person") beziehen; als identifizierbar wird eine natürliche Person angesehen, die direkt oder indirekt, insbesondere mittels Zuordnung zu einer Kennung wie einem Namen, zu einer Kennnummer, zu Standortdaten, zu einer Online-Kennung oder zu einem oder mehreren besonderen Merkmalen, die Ausdruck der physischen, physiologischen, genetischen, psychischen, wirtschaftlichen, kulturellen oder sozialen Identität dieser natürlichen Person sind, identifiziert werden kann;
https://dejure.org/gesetze/DSGVO/4.html
Die Konsequenz
Also, und weil wir den Schutz eben dieser personenbezogenen Daten Ernst nehmen ist der erste Schritt die Entfernung derselben.
Und damit keiner dazwischen schnüffeln kann, erstmal alles auf https umstellen.
Vermeidung oder Anonymisierung personenbezogener Daten vor der Verarbeitung
Bei einem normalen Aufruf einer Website werden unterschiedliche Daten übermittelt, die potentiell personenbezogene Daten enthalten können
- IP Adresse
- Referrer
- User-Agent
- Eigene URLs
Ein Teil dieser Daten wird sehr leicht an Dritte übergeben. Durch die Einbindung eines Bildes, dass auf einer Dritte Domain gehostet wird, werden ohne das Wissen des Besuchers folgende Daten übergeben:
- IP Adresse
- User-Agent
- Eigene URL erscheint jetzt als Referrer
Verarbeitung und Weitergabe analysieren
Weil das so schnell passiert, ist der erste Schritt immer eine eigene Analyse:
Analyse
Vom Prinzip gilt immer: Zuerst Erkenntnisse sammeln, dann mit Wissen entscheiden.
- Analyse
- Dokumentation
- Entscheidung
- Dokumentation der Entscheidung
- Kontrolle der Umsetzung
- Regelmässiges Audit
Folgende Analyse muss intern durchgeführt und dokumentiert werden.
Wo werden Daten wie die IP-Adresse gespeichert?
Das kann z.B hier passieren:
- In Logfiles
- Im Speicher als Umgebungsvariable (für die Applikationsschicht , z.B. PHP)
Wo werden Daten wie die IP-Adresse an Dritte übergeben?
- Im Antwort-HTML-Dokument durch Einbindung anderer Dienste für z.B. Bilder, Fonts, Tag Management, Tracking)
- Für IT Analyse Tools z.B. Live Monitoring
Logfiles des Servers und Routers, ev. der Firewall
In der default Konfiguration jedes Servers ist das leider so. Also muss man diese anpassen.
Dazu schreiben die Hersteller folgendes
Logfiles des Routers, ev. der Firewall
Auch Router und Firewalls haben eventuell Logfiles. Dort gelten die Überlegungen analog.
Umgebungsvariablen
Wenn der Request vom Browser durch den Server angenommen wird, reicht dieser ihn normalerweise an eine Applikation weiter. Innerhalb dieser Weitergabe übergibt der Server sogenannte Umgebungsvariablen.
In PHP werden diese z.B. in der globalen Variable $_SERVER $_SERVER –Informationen über Server und Ausführungsumgebung gespeichert.
Und da steht dann:
'REQUEST_URI': Der URI, der angegeben wurde, um auf die aktuelle Seite zuzugreifen, beispielsweise '/index.html'.
'QUERY_STRING': Sofern vorhanden, der Querystring, mittels dessen auf die Seite zugegriffen wurde.
'HTTP_REFERER': Sofern vorhanden, die Adresse der Seite, auf der der Benutzer einen Link auf die aktuell aufgerufene Seite angeklickt hat. Dieser Wert wird vom Browser des Benutzers gesetzt. […]
'HTTP_USER_AGENT': Enthält den Inhalt des User-Agent:-Headers des aktuellen Requests, sofern ein solcher gesendet wurde. Dies ist eine Zeichenkette, die das für den Zugriff auf die Seite verwendete Programm anzeigt. Ein typisches Beispiel ist Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). […]
'REMOTE_ADDR': Die IP-Adresse, von der aus der Benutzer die aktuelle Seite ansieht.
Diese Information ist für die spätere Umsetzung auch wichtig.
Data Leakage durch Einbindung Dritter, Live Activity Monitoring
Wenn wir die Privatsphäre des Besuchers ernst nehmen, kann es folglich im default keinerlei Einbindung Dritter geben, bei denen potentiell personenbezogene Daten weiter gegeben werden könnten.
Einzelbetrachtung der Daten
Die IP-Adresse
Daran spalten sich ja bekanntlich die Geister, die Tatsache, dass es ein personenbezogenes Datum (PBD) ist, ist aber spätestens mit IPv6 unbestreitbar. Gleichzeitig ist die IP-Adresse zum Transport der Antwort einer Anfrage des Browsers zumindest zur Zeit unumgänglich.
Wie also damit umgehen?
Artikel 2 sagt dazu
Diese Verordnung gilt für die ganz oder teilweise automatisierte Verarbeitung personenbezogener Daten sowie für die nichtautomatisierte Verarbeitung personenbezogener Daten, die in einem Dateisystem gespeichert sind oder gespeichert werden sollen.
Dateisystem wiederum ist definiert in Artikel 4, Absatz 6
"Dateisystem" jede strukturierte Sammlung personenbezogener Daten, die nach bestimmten Kriterien zugänglich sind, unabhängig davon, ob diese Sammlung zentral, dezentral oder nach funktionalen oder geografischen Gesichtspunkten geordnet geführt wird;
Argumentation
Solange die IP-Adresse nicht in einer strukturierten Sammlung gespeichert wird oder werden soll, (oder Übergeben) gilt die DSGVO nicht.
Folgerung
Die IP darf nicht gespeichert oder anderen zugänglich gemacht werden.
Diese Argumentation und Folgerung gilt dann auch für alle anderen Daten, die potentiell PBD sind.
Referrer und User-Agent
Beide Felder können PBD enthalten. Die DSGVO trifft aber keine Aussage zu können. Wenn darin PBD erhalten sein können, gilt für die Verarbeitung die DSGVO. Nachdem wir aber gerade das vermeiden wollen, müssen wir hier dieselbe Entscheidung treffen, wie bei der IP.
Personenbezogene Daten in eigenen URLs
Eigene Urls können auch personenspezifische Daten enthalten. Eine Analyse sollte folgende Punkte umfassen:
Query Strings
Kontaktformulare hängen zum Beispiel gerne die E-Mail per Query String an die URL
http://www.example.com/contactForm.php?email=info@example.com
Dann gilt für die Verarbeitung die DSGVO. Ok, in einem Kontaktformular sollte man eventuell vor dem Absenden an ein Form der Zustimmung denken.
Falls jemand glaubt, das kommt nicht oft vor, empfehle ich die Lektüre von Are you sure you want to contact us? Quantifiing the Leakage of PII via Website Contact Forms
Session ID als Bestandteil des Pfades oder Subdomain
Wenn die Session ID (zur Vermeidung von Cookies) als Bestandteil des Pfades oder Subdomain verwendet wird, ist das ein PBD.
User ID als Bestandteil des Pfades oder Subdomain
Wenn die User ID (zur Vermeidung von Cookies) als Bestandteil des Pfades oder Subdomain verwendet wird, ist das ein PBD.
Fehler und bösartiges Verhalten
Ausgehend vom Fall oben: Wer hindert mich daran, eine solche URL aufzurufen?
http://www.example.com/?email=info@example.com
oder
http://www.example.com/wer/ist/pascal-fantou
Der erste Fall löst wahrscheinlich nicht mal einen Fehler aus, weil viele Seiten Query Strings nicht auswerten. Also landet der Seitenaufruf mit der PBD im LogFile.
Im zweiten Fall wird wahrscheinlich ein Fehler erzeugt. Aber was passiert mit dem Fehler? Er wird in ein LogFile geschrieben…
Drei Konzepte für die Umsetzung
- Reboot Konzept A: kompletter Verzicht auf die Speicherung
- Reboot Konzept B: Verzicht auf die Speicherung der Daten mit potentiellen PBD
- Reboot Konzept C: Anonymisierung der IP, Whitelisting anderer Elemente
Nachdem Datenvermeidung das oberste Ziel ist, starten wir mit der maximalen Reduktion.
Bitte lies diese Konzepte der Reihe nach durch, weil sie aufeinander aufbauen und schrittweise nicht personenbezogene Daten durchlassen.
Fazit
Damit haben wir den ersten Schritt erledigt, die personenbezogenen Daten der Verarbeitung zu entziehen.
Darauf können wir aufbauen und jetzt Schritt für Schritt PBD dazu nehmen, wo sinnvoll diese Nutzer mit ihrer Einwilligung markieren, und sie so vom default Segment separieren.
Und wenn aber das Entfernen der PBD doch Verarbeitung nach DSGVO ist?
Als Verarbeitung definiert Artikel 4 Absatz 2
"Verarbeitung" jeden mit oder ohne Hilfe automatisierter Verfahren ausgeführten Vorgang oder jede solche Vorgangsreihe im Zusammenhang mit personenbezogenen Daten wie das Erheben, das Erfassen, die Organisation, das Ordnen, die Speicherung, die Anpassung oder Veränderung, das Auslesen, das Abfragen, die Verwendung, die Offenlegung durch Übermittlung, Verbreitung oder eine andere Form der Bereitstellung, den Abgleich oder die Verknüpfung, die Einschränkung, das Löschen oder die Vernichtung;
https://dejure.org/gesetze/DSGVO/4.html
In der Anonymisierung wollen wir offensichtlich Auslesen und Verändern, im Extremfall Löschen, aber eben nicht speichern.
Ob der Hauptspeicher (RAM) eines Servers ein Dateisystem im Sinne der DSGVO ist, würde ich bezweifeln, aber für die ganz zögerlichen noch eine andere Argumentation.
In der DSGVO haben wir immer den Zusammenhang zwischen
- den Personenbezogenen Daten und (Art. 4)
- der Rechtmässigkeit der Verarbeitung (Art. 6).
Die DSGVO gibt das Prinzip der »Datenminimierung« und kürzest möglicher Speicherung »Speicherbegrenzung« vor (Art.5 Absatz 1 c und e). Die Verarbeitung (Das Löschen oder Anonymisieren) bezieht seine Rechtmässigkeit aus Art. 6 Absatz 1c
die Verarbeitung ist zur Erfüllung einer rechtlichen Verpflichtung erforderlich, der der Verantwortliche unterliegt;
https://dejure.org/gesetze/DSGVO/6.html
Dafür braucht es dann also auch keine Zustimmung. Wenn man dieser Argumentation folgt, sollte man sie dann auch so in seinen TOM dokumentieren.