Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Pseudonymisierung und Anonymisierung

Nach dieser Lektion: Ich kann Daten pseudonymisieren und beurteilen, ob sie anonym sind.

Lektion, 60 Min.9 BefehleMySQL-und-phpMyAdmin-Lab mit Beispieldatenbank eines Shops zum Üben von SQL

Ist eine Nummer statt eines Namens schon anonym?

Pseudonymisieren heißt, direkte Merkmale wie einen Namen durch einen Ersatzwert zu tauschen. Anonym sind Daten erst, wenn niemand mehr herausfinden kann, wer gemeint ist.

Eine Hochschule gibt die Ergebnisse einer Umfrage an eine Forschungsgruppe weiter. Sie ersetzt die Namen durch Nummern. Reicht das?

Am Ende dieser Lektion

Notiz

Ich kann Daten pseudonymisieren und beurteilen, ob sie anonym sind.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
Pseudonymisierungein direktes Merkmal durch einen Ersatzwert tauschen
AnonymisierungDaten so verändern, dass keine Person mehr erkennbar ist
Hashwerteine feste Zeichenfolge, die aus einem Text berechnet wirdSHA-256
Salzein geheimer Zusatz, der vor dem Hashen an den Text kommt
Gruppengrößewie viele Personen dieselben Merkmale teilen

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Pseudonymisieren ersetzt Namen durch Ersatzwerte

Bei der Pseudonymisierung steht statt des Namens ein Ersatzwert in der Tabelle, etwa eine Nummer. Wer die Zuordnungstabelle hat, kann den Namen zurückfinden.

Die Daten bleiben darum personenbezogen. Die Zuordnung gehört an einen anderen, geschützten Ort. Richten Sie zuerst das Terminal ein.

Das Zertifikat des Servers annehmen

Befehl
printf '[client]\nssl-verify-server-cert=0\n' > ~/.my.cnf

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Eine Abkürzung für den Client

Befehl
alias db='mariadb -h db -u student -pstudent -t -e'

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein Hashwert ändert sich bei jedem Buchstaben ganz

Ein Hashwert wird aus einem Text berechnet. Derselbe Text ergibt immer denselben Wert. Ändert sich ein Buchstabe, sieht der Wert völlig anders aus. SHA-256 liefert 64 Zeichen.

Starten Sie beide Runs und vergleichen Sie den Anfang. Bei anna beginnt er mit 55579b55, bei Anna mit bf4fccd6.

Den Hashwert von anna berechnen

Befehl
printf 'anna' | sha256sum

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Den Hashwert von Anna berechnen

Befehl
printf 'Anna' | sha256sum

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein Pseudonym aus der E-Mail-Adresse

Befehl
db "SELECT id, LEFT(SHA2(email, 256), 10) AS pseudonym, city FROM shop.customers ORDER BY id LIMIT 5"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein Hashwert ohne Salz lässt sich erraten

Die Adressen im Shop folgen einem festen Muster: [email protected]. Wer das weiß, kann jede Adresse raten, hashen und mit der Spalte vergleichen.

Das Salz verhindert das. Es ist ein geheimer Zusatz, der vor dem Hashen an den Text kommt. Ohne das Salz bleibt der Vergleich ohne Treffer.

Die Person hinter dem Hashwert erraten

Befehl
db "SELECT id FROM shop.customers WHERE SHA2(email, 256) = SHA2('[email protected]', 256)"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Dasselbe Raten gegen ein gesalzenes Pseudonym

Befehl
db "SELECT COUNT(*) AS treffer FROM shop.customers WHERE SHA2(CONCAT('geheimes-salz', email), 256) = SHA2('[email protected]', 256)"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein häufiger Fehler

Warnung

Viele glauben, ein Hashwert der E-Mail-Adresse mache die Daten anonym. Das stimmt nicht. Der erste Run findet die Person mit der Zeile 1, weil die Adresse zu erraten war. Ein Hash ohne Salz ist ein Pseudonym, das sich knacken lässt.

Anonym ist nur, wer in einer Gruppe verschwindet

Auch ohne Namen kann ein Merkmal zu einer Person führen. Zählen Sie darum die Gruppengröße: wie viele Personen dieselben Werte teilen.

Eine Gruppe mit einer Person verrät sie. Je größer die kleinste Gruppe ist, desto besser sind die Daten versteckt.

Städte mit genau einer Person finden

Befehl
db "SELECT country, city, COUNT(*) AS personen FROM shop.customers GROUP BY country, city HAVING COUNT(*) = 1 ORDER BY country, city"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Stadt und Beitrittsjahr zusammen

Befehl
db "SELECT city, YEAR(joined_on) AS jahr, COUNT(*) AS personen FROM shop.customers GROUP BY city, jahr HAVING COUNT(*) = 1 ORDER BY city, jahr"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein Beispiel: gröber heißt sicherer

Gruppiert nachGruppenKleinste Gruppe
Stadt und Beitrittsjahr211 Person
Stadt121 Person
Land und Beitrittsjahr101 Person
Land54 Personen

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Probieren Sie es: Postleitzahl vergröbern

Code: sql
-- Das Ergebnis ohne Namen: die Nummer bleibt, die Postleitzahl wird grober.
SELECT id AS pseudonym, SUBSTR(plz, 1, 2) AS region, studiengang
FROM teilnehmende
ORDER BY id;
-- Ändern Sie SUBSTR(plz, 1, 2) in SUBSTR(plz, 1, 1). Wie viele Regionen bleiben übrig?

Über dieses Lab und seinen Quellcode: MySQL-und-phpMyAdmin-Lab mit Beispieldatenbank eines Shops zum Üben von SQL

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.