Pendeln über die Grenze messen, ohne Daten herzugeben
Was Konstanz und Kreuzlingen wüssten, wenn Zählstellen, Verkehrsbetriebe, Parkhäuser und Arbeitgeber gemeinsam rechnen. Die Rohdaten bleiben bei ihren Haltern.
ε = 1,0
Zwei Organisationen kennen je eine Hälfte der Antwort. Zusammen wüssten sie, wie Menschen über die Grenze pendeln. Aber keine darf ihre Daten der anderen geben. Diese Einführung zeigt an einem kleinen Beispiel, wie sie trotzdem gemeinsam rechnen können, ohne dass eine Seite die Daten der anderen zu sehen bekommt.
1 · Die Frage
Wie kommen die Leute morgens nach Kreuzlingen?
Jeden Morgen pendeln Tausende aus dem Landkreis Konstanz in den Thurgau. Wie viele davon fahren Auto, Bus, Bahn oder Rad, oder gehen zu Fuß? Davon hängt ab, wo ein neuer Bus fahren sollte, wie viel Parkraum es braucht und wo sich ein Radweg lohnt.
An den Übergängen stehen Zählstellen. Sie zählen viele Fußgänger. Ein Teil dieser Fußgänger ist aber mit dem Auto gekommen: Wer in Singen losfährt, parkt in Konstanz und geht die letzten Meter zu Fuß über die Grenze. Dieses Park & Walk taucht in keiner Zählung als Autofahrt auf.
Wie viele das sind, weiß niemand, gut möglich, dass es wenige sind. Hier ist Park & Walk ein Beispiel für eine ganze Art von Fragen: alles, wofür man zwei Datensätze über dieselben Menschen verbinden müsste. Etwa auch, ob ausgegebene Jobtickets wirklich für die Fahrt über die Grenze genutzt werden.
AutoSingen → Parkhaus Konstanz
zu FußParkhaus → Arbeit in Kreuzlingen
Grenze
Zählstelle an der Grenzesieht einen Fußgänger
Parkhaus Konstanzsieht ein Kennzeichen, morgens rein, abends raus
Arbeitgeber in Kreuzlingenweiß, wer bei ihm arbeitet und wo die Person wohnt
Die Antwort liegt also nicht an einer Stelle. Das Parkhaus kennt Autos, aber keine Arbeitsorte. Der Arbeitgeber kennt seine Leute, weiß aber nicht, wie sie kommen. Erst beide Hälften zusammen ergeben die Zahl.
2 · Zwei Datensilos
Jeder hat eine Hälfte, keiner darf sie hergeben
Hier ein kleines Beispiel mit erfundenen Daten. Links das Parkhaus in Konstanz, rechts ein Arbeitgeber in Kreuzlingen, der für den Firmenparkplatz die Kennzeichen seiner Leute kennt.
Parkhaus Konstanz
DE
Darf nicht raus
Kennzeichen sind personenbezogene Daten (DSGVO).
Erfasst für die Abrechnung, nicht für Statistik.
Eine Weitergabe in die Schweiz braucht eine eigene Rechtsgrundlage.
Arbeitgeber A, Kreuzlingen
CH
Darf nicht raus
Personaldaten, geschützt durch das Schweizer Datenschutzgesetz.
Wohnort und Kennzeichen zusammen identifizieren eine Person eindeutig.
Die Belegschaft muss dem Arbeitgeber vertrauen können.
Die gesuchte Zahl ist die Schnittmenge: Wie viele Kennzeichen stehen in beiden Listen? Lässt sie sich zählen, ohne dass eine Seite die Liste der anderen sieht?
Mit beiden Listen nebeneinander ist das einfach. Aber genau diesen Blick auf beide Listen darf niemand haben.
3 · Die naheliegenden Wege
Und wo sie an Grenzen stoßen
✗Liste rüberschicken
Dann hat eine Seite beide Listen. Genau das ist nicht erlaubt.
✗Treuhänder
Eine dritte Stelle bekommt beide Listen. Das verschiebt das Problem nur: Auch sie braucht eine Rechtsgrundlage, und ein Datenleck dort trifft alle.
?Pseudonymisieren
Aus jedem Kennzeichen wird eine Prüfsumme (Hash), am besten mit Salz. Beide Seiten vergleichen nur Prüfsummen. Das ist der ernsthafteste Kandidat, schauen wir genauer hin.
Ein Salz hilft also, aber nur gegen Außenstehende. Gegen den Partner hilft es nicht: Damit gleiche Kennzeichen auf beiden Seiten gleiche Prüfsummen ergeben, müssen beide dasselbe Salz verwenden. Wer es kennt, probiert eben mit Salz durch. Bei ein paar Millionen möglichen Kennzeichen dauert das Sekunden.
Man kann das Salz bei einer dritten Stelle lassen, die für beide Seiten pseudonymisiert. So arbeiten etwa Vertrauensstellen in der Gesundheitsforschung, und das ist ein gangbarer Weg. Er hat aber zwei Haken: Die Stelle bekommt alle Kennzeichen im Klartext. Und wer danach die Pseudonyme vergleicht, sieht, welche Einträge zusammenpassen, nicht nur wie viele.
Und wenn jede Seite ihr eigenes Salz hat und es nie herausgibt? Dann passen die Prüfsummen nicht mehr zusammen. Es sei denn, man rechnet geschickt.
4 · Trick 1: Private Schnittmenge (PSI)
Schlösser, bei denen die Reihenfolge egal ist
Die Idee: Jede Seite hat einen geheimen Schlüssel, eine Art privates Salz, das sie nie herausgibt. Damit verwandelt sie ein Kennzeichen in eine lange, zufällig aussehende Zahl. Wir nennen das verblinden. Durchprobieren hilft jetzt nicht mehr, auch dem Partner nicht, denn dazu bräuchte er den Schlüssel.
Der Kniff: Zwei Verblindungen lassen sich vertauschen. Erst mit Schlüssel a, dann mit b ergibt genau dieselbe Zahl wie erst mit b, dann mit a. Das ist wie Farbe mischen: Gelb in Blau oder Blau in Gelb, es wird dasselbe Grün, und entmischen kann es niemand.
Gleiche Kennzeichen werden also zu gleichen Zahlen, aber nur, wenn beide Schlüssel darauf angewendet wurden. Gehen Sie das Protokoll Schritt für Schritt durch und achten Sie darauf, was jede Seite zu sehen bekommt.
Arbeitgeber A
CH · Schlüssel a
Parkhaus Konstanz
DE · Schlüssel b
Die Rechnung dahinter, mit kleinen Zahlen
Ein Kennzeichen wird zuerst in eine Zahl x übersetzt. Verblinden heißt: x hoch Schlüssel, und davon nur der Rest beim Teilen durch eine Primzahl p. Weil (xa)b = xa·b = (xb)a ist, spielt die Reihenfolge keine Rolle.
p = 23
Rückwärts ist es schwer: Aus dem Ergebnis auf x zu kommen, ohne den Schlüssel zu kennen, heißt „diskreter Logarithmus“. Bei p = 23 geht das noch durch Probieren. Diese Demo rechnet mit einer Primzahl mit 27 Stellen, ein echter Einsatz mit elliptischen Kurven (Curve25519). Dort ist Probieren aussichtslos.
5 · Trick 2: Differential Privacy
Auch eine einzelne Zahl kann etwas verraten
Für die Verkehrsplanung reicht die Gesamtzahl nicht. Man will wissen, woher die Park-&-Walk-Pendelnden kommen. Also schickt der Arbeitgeber seine Werte nach Wohnort gruppiert, und das Protokoll zählt Treffer je Wohnort.
Jetzt gibt es ein Problem. In Allensbach wohnt nur eine einzige Beschäftigte, P-1187. Steht bei Allensbach „1 Treffer“, weiß der Arbeitgeber, dass sie im Parkhaus Konstanz parkt. Er hat keine Liste gesehen, und trotzdem hat er etwas über eine einzelne Person erfahren.
Die Abhilfe: Vor dem Veröffentlichen kommt auf jede Zahl ein kleiner Zufallswert. Wie viel, regelt ein Parameter ε (Epsilon). Kleines ε heißt mehr Rauschen und mehr Schutz.
Was die veröffentlichte Zahl für Allensbach verrät
6 · Trick 3: Sichere Summe
Summen aus Zufallsteilen
Für die Verkehrsmittelanteile muss niemand Personen verknüpfen: Wer Bahn fährt, fährt nicht gleichzeitig Bus. Es reicht, Zählungen zu addieren. Aber auch das ist heikel. Bahn und Bus konkurrieren um Ausschreibungen und wollen ihre Fahrgastzahlen an der Grenze nicht einzeln zeigen. Veröffentlicht werden soll nur „Bus/Bahn zusammen“.
Die Lösung: Jede Seite zerlegt ihre Zahl in drei Zufallszahlen, die zusammen wieder die Zahl ergeben, und schickt je eine an drei verschiedene Rechenstellen. Gerechnet wird wie auf einer Uhr mit 1000 Stunden: 950 + 100 ergibt 50. Darum sagt eine einzelne Teilzahl gar nichts.
Die Teile ändern sich jedes Mal, die Summe bleibt.
Jede Rechenstelle (etwa Statistik Baden-Württemberg, Statistik Thurgau, eine Hochschule) sieht nur Zufallszahlen. Erst wenn alle drei ihre Teilsummen zusammenlegen, entsteht ein Ergebnis, und das ist nur die Summe. Solange nicht alle drei Stellen zusammenarbeiten, um zu betrügen, erfährt niemand eine Einzelzahl.
7 · Alles zusammen
Vom Spielzeug zum Dashboard
Im Dashboard laufen dieselben drei Verfahren mit rund 5 000 erfundenen Pendelnden zwischen dem Landkreis Konstanz und dem Thurgau. Dazu kommt ein Schätzverfahren (IPF), das aus veröffentlichten Randsummen der amtlichen Statistik eine Tabelle „von wo nach wo“ macht.
FrageWer hat die DatenVerfahrenIm Dashboard
Wie viele fahren Auto, Bahn, Rad …?Zählstellen, Bahn, BusSichere Summe
Von wo nach wo?Amtliche Statistik (offen)IPF aus Randsummen
Wer macht Park & Walk, wer nutzt sein Jobticket?Arbeitgeber × Parkhaus bzw. VerkehrsbetriebPSI + Differential Privacy
Der Überblick vergleicht drei Bilder: die Wahrheit, die nur der Zufallsgenerator kennt, die Schätzung nur aus Summen (Ebene 1) und die Schätzung mit den privaten Schnittmengen (Ebene 1 + 2). Der Unterschied zwischen den beiden Schätzungen ist das, was die Verknüpfung zusätzlich bringt, ohne dass ein einziger Rohdatensatz sein Haus verlässt.
20
Verkehrsmittel an der Grenze
DE → CH, Morgenspitze
Als Tabelle
Was erst die Verknüpfung zeigt
Jeder Halter sieht nur seinen Ausschnitt. Die Tabellen zeigen, was im Haus liegt (aus den Testdaten), darunter, was bei der gemeinsamen Berechnung das Haus verlässt. Kein Halter gibt eine Liste heraus, die ein anderer lesen könnte.
Autos, Bahnfahrgäste, Radfahrende und Fußgänger an der Grenze sind verschiedene Menschen. Ihre Zählungen addiert ergeben die Verkehrsmittelanteile, ohne dass irgendetwas verknüpft wird. Die sichere Summe sorgt nur dafür, dass Bahn und Bus ihre Fahrgastzahlen nicht einzeln offenlegen. Aus Randsummen schätzt IPF dann die Quelle-Ziel-Ströme.
Sichere Summe über drei Rechenstellen
Quelle-Ziel-Matrix aus Randsummen
DE → CH, alle Verkehrsmittel
Randsummen: Grenzgänger nach Wohngemeinde (BFS-artig), Beschäftigte nach Arbeitsort, Verkehrsmittel aus der sicheren Summe. Startwerte: einfaches Distanzmodell. Iteratives proportionales Anpassen (IPF) passt die Matrix an alle drei an.
20
Wahrheit (nur im Generator)
Schätzung Ebene 1
Falsch zugeordnete Pendelnde je Iteration
Wo Daten je Person vorliegen, zählt private Schnittmengenberechnung (PSI) nur, wie viele Einträge zwei Listen gemeinsam haben, getrennt nach Wohnort-Gruppe. Keine Seite sieht die Liste der anderen. Veröffentlicht wird jede Zahl erst mit kontrolliertem Rauschen (Differential Privacy).
Schnittmenge zählen
×
Arbeitgeber A
CH
Parkhäuser Konstanz
DE
Schutz gegen Genauigkeit
Fehler der Quelle-Ziel-Matrix (Wohnort × Arbeitsort × Verkehrsmittel), gemittelt über 8 Rauschziehungen. Kleines ε heißt mehr Rauschen. Bei sehr kleinem ε verschlechtert das Rauschen die Schätzung sogar unter Ebene 1. Wo der Schnittpunkt liegt, entscheidet, welches Budget sich lohnt.
Warum nicht einfach hashen?
Ein Parkhaus „pseudonymisiert“ seine Kennzeichen mit SHA-256 und gibt die Liste weiter. Kennzeichen haben aber nur wenige Millionen mögliche Werte. Der Browser probiert alle Kennzeichen des Landkreises Konstanz durch (KN-A 1 bis KN-ZZ 9999).