Kryptographische Anonymisierung bei Verkehrsflussanalysen Autor: Andreas Grinschgl copyright c.c.com GmbH 2010 Das System besteht aus folgenden Hauptkomponenten: Sensorstationen Datenbankserver Anonymisierungsserver Zusätzlich wird noch eine Zertifizierungsstelle (Certificate Authority / CA) zur Absicherung der Kommunikationswege benötigt. Funktion: Der Anonymisierungsserver generiert Zufallszahlen und sendet diese in einem gewissen Abstand(Abhängig von der Größe des Messbereichs, z.b.: 30 Minuten) an die Sensorstationen. Dieser Datenaustausch erfolgt über einen sicheren Kanal. Der Kanal wird Andersen & Moser GmbH Seite: 1 von 11
mit einem Protokoll zum Austausch von Schlüsselmaterial unter Verwendung einer asymmetrischen Verschlüsselung(RSA) gesichert. Jede Sensorstationen verfügen über einen Ringspeicher für die Zufallszahlen (zum Beispiel zum Speichern von 2 Zufallszahlen). Eine neue Zufallszahl vom Anonymisierungsserver überschreibt die älteste Zahl im Speicher. Daraus werden in weiterer Folge Hash-Werte errechnet. Diese Hashwerte werden mit den restlichen Messdaten an den Datenbankserver übertragen. Der Datenaustausch zwischen Datenbankserver und Sensorstation kann ungesichert erfolgen. Der Datenbankserver muss in weiterer Folge die Auswertung der Daten durchführen. Mit diesem System wird gewährleistet das eine Verkehrsflussanalyse im Zeitfenster Anzahl der Zufallszahlen X Zeitfenster bis zur nächsten Zufallszahl möglich ist. (z.b.: 2x30Minuten = 60 Minuten) Andersen & Moser GmbH Seite: 2 von 11
Anonymisierung: Die Anonymisierung erfolgt mittels einer Hash-Funktion. Dazu wird die Bluetooth-Adresse mit einer Zufallszahl verknüpft. Zusätzlich wird durch ein Padding die nötige Blocklänge erreicht. Aus diesem Datenblock wird mittels Hash-Funktion ein Hash-Wert errechnet. Dieser Wert wird statt der Bluetooth-Adresse an den Datenbankserver gesendet. Als Hash-Funktion soll der Secure Hash Algorithm (SHA-1) eingesetzt werden. Dieser Algorithmus liefert einen Hash-Wert mit Länge 160 Bit und nimmt 448 Bit große Blöcke als Input. Bei mehreren Zufallszahlen wird diese Prozedur für jede Zufallszahl durchgeführt. Abbildung 1: Anonymisierung mit SHA1 Andersen & Moser GmbH Seite: 3 von 11
Anzahl der Zufallszahlen und Wechselintervall: Grundsätzlich reicht ein Ringspeicher der Größe 2 für die Anonymisierung aus. Damit wird sichergestellt, dass auch Erfassungen die sich über den Zeitpunkt des Wechsels der Zufallszahlen erstrecken vom Datenbankserver in die Statistik aufgenommen werden können. Die Länge des Wechselintervalls hängt von der Streckenlänge ab. So sollte der Wechselintervall so gewählt werden, dass zwischen einem Wechsel der Zufallszahlen mindestens 90% der Verkehrsteilnehmer, die sich mit unterschiedlicher Geschwindigkeit durch den Streckenabschnitt bewegen, erfasst werden kann. Dazu bedarf es einer genauen, auf den Streckenabschnitt abgestimmten, Analyse. Länge der Zufallszahlen: Da SHA-1 mit Blöcken von 448 Bit arbeitet, werden Zufallszahlen mit Länge 448 Bit als sinnvoll erachtet. Datenoverhead durch Anonymisierung bei Übertragen und den Datenbankserver: Zur Anonymisierung müssen zwei Hash-Werte von je 160Bit Länge an den Datenbankserver übertragen werden. Diese beiden Werte ersetzen jedoch eine Bluetooth-Adresse von 48 Bit. Die bei der Anonymisierung zusätzlich auftretenden Daten betragen daher 272 Bit pro Datensatz. Andersen & Moser GmbH Seite: 4 von 11
Weiterverarbeitung der Daten am Datenbankserver: Der Datenbankserver nimmt den Hash-Wert, der aus der aktuelleren Zufallszahl gebildet wurde, und gleicht ihn mit den Werten in der Datenbank ab. Führt dies zu einem Treffer, wird daraus die Reisezeit ermittelt und der neue Wert in der Datenbank erfasst. Wird kein passender Wert gefunden, wird diese Prozedur nochmals mit dem Wert, der aus der älteren Zufallszahl gebildet wurde, wiederholt. Führt dies zu keinem Ergebnis, ist dies die erste Erfassung des Fahrzeuges und der Datensatz wird in der Datenbank gespeichert. Gespeichert wird immer nur der Hash-Wert mit der aktuelleren Zufallszahl. Andersen & Moser GmbH Seite: 5 von 11
Übertragung der Zufallszahlen an die Sensorstationen: Die Übertragung vom Anonymisierungsserver an die Sensorstationen muss über einen gesicherten Kanal erfolgen. Dazu wird die Zufallszahl, Gültigkeitszeitraum sowie IDs und eine fortlaufende Nummer vom Anonymisierungsserver signiert und das ganze mit dem öffentlichen Schlüssel der Sensorstation verschlüsselt. Als Signaturalgorithmus und zur Verschlüsselung kommt RSA mit 2048 Bit zum Einsatz. Der Hash-Wert für die Signatur wird mit SHA1 erzeugt. Die Verarbeitung auf der Sensorstation erfolgt in umgekehrter Reihenfolge! Andersen & Moser GmbH Seite: 6 von 11
Schlüsselverwaltung: Zur Verwaltung der Schlüsselpaare wird eine Public Key Infrastructur (PKI) benötigt. Folgende Aufgaben müssen umgesetzt werden: Wechsel des Schlüsselpaars des Anonymisierungsservers (Ablaufen, Erneuerung, Widerruf). Wechsel des Schlüsselpaars einer Sensorstation (Ablaufen, Erneuerung, Widerruf). Verteilen der Zertifikatssperrlisten an alle Instanzen. Einbringen einer neuen Sensorstation ins Netzwerk. Um diese Aufgaben umsetzen zu können ist eine Certificate Authority (CA) notwendig. Die ein Zertifikat für jedes verwendete Schlüsselpaar ausstellt und somit den Sensorstationen und dem Anonymisierungsserver eine gegenseitige Authentifizierung ermöglicht. Als Zertifikat kommt die Spezifikation für X509 der Version 1 zum Einsatz. Als Signaturalgorithmus dient RSA 2048 Bit mit SHA1. Andersen & Moser GmbH Seite: 7 von 11
Erneuerung / Wechsel eines Schlüsselpaares: Das Zertifikat und der private Schlüssel werden von der CA generiert und auf sicherem Weg an die betroffene Instanz übertragen. Zur sicheren Übertragung kommt ein RSA Langzeitschlüsselpaar zum Einsatz. Dieses Schlüsselpaar dient nur zur Übertragung von neuem Schlüsselmaterial an die Instanzen. Weiters muss das Zertifikat über den öffentlichen Schlüssel an alle betroffenen Instanzen übertragen werden (zb: Bei Schlüsselwechsel am Anonymisierungsserver an alle Sensorstationen). Dazu benötigte Algorithmen: RSA 2048 Bit, SHA1, Generator für RSA Schlüssel Andersen & Moser GmbH Seite: 8 von 11
Andersen & Moser GmbH Seite: 9 von 11
Andersen & Moser GmbH Seite: 10 von 11
Andersen & Moser GmbH Seite: 11 von 11