GPN15:Fingerprinting

aus dem Wiki des Entropia e.V., CCC Karlsruhe
Wechseln zu: Navigation, Suche

Ein Vortrag von Felix Kazuya auf der GPN15.

Der Vortrag gibt einen Überblick über Fingerprinting, die Nutung in der Informatik Sicherheit.

Benötigtes Vorwissen: Grundkenntnisse Informatik

Einleitung

Scotland Yard führte im Jahr 1901, noch vor Existenz der ersten Computer, ein Fingerabdruckverfahren ein, um bekannte Straftäter in Zukunft eindeutig überführen zu können. Dieses Verfahren unterscheidet sich zwar maßgeblich von der heutigen Definition des Fingerprintings, dient aber aufgrund der weitreichenden Gemeinsamkeiten zu aktuellen Hashingverfahren als Einstieg in die Materie des Fingerprintings. So nahm Scotland Yard von allen überführten Straftätern Fingerabdrücke in seine Kartei auf. Sofern an einem Tatort Fingerabdrücke gefunden wurden, verglich man diese von Hand mit den in der Kartei hinterlegten Abdrücken, wodurch am 13. September 1902 der erste Verbrecher überführt werden konnte.

Obwohl sich dieses Verfahren vom heutigen unterscheidet, enthält dieses das gesamte Grundprinzip, welches auch in heutigen Verfahren genutzt wird, nämlich das Zusammenfassen großer Datenmengen in kleinere und leichter zu vergleichende Datensätze.

Als ein Beispiel der heutigen Zeit lässt sich der Vergleich großer Datenmengen bei Annahme von nahezu unbegrenzter (günstiger) Rechenleistung und minimaler (teurer) Bandbreite zwischen zwei Systemen aufführen. Möchte man, beispielsweise für ein Back-up, feststellen, ob die Dateien auf Back-up-Server und Quelle identisch sind, oder ob ein neues Erstellen des Back-ups notwendig ist, gibt es mehrere Möglichkeiten.

Die erste Möglichkeit ist alle Dateien an den Back-up-Server zu senden bzw. von dort zu holen, um sie bitweise miteinander vergleichen zu können, und bei Unterscheidung ein neues Back-up zu veranlassen. Diese Möglichkeit ist jedoch aufgrund der teuren Übertragung nicht praktikabel.

Des Weiteren ist es möglich anstatt alle Dateien zu überprüfen nur einige zufällig ausgewählte Dateien zu übertragen. Bei dieser Methode entstehen durch die geringere zu übertragende Bandbreite geringere Kosten, jedoch besteht die Gefahr, dass eine geänderte Datei nicht in der Menge der zufällig ausgewählten Dateien enthalten ist und somit fälschlicherweise kein Back-up erstellt wird.

Die nachfolgend gezeigte Variante nutzt die Methode des Fingerprintings, nimmt also von jeder zu prüfenden Datei einen Fingerabdruck und vergleicht diesen anstelle die Datei an den Back-up-Server zu senden mit dem Fingerabdruck der Datei auf dem Server. Hierbei werden Dateien nur ausgetauscht, falls sich die Fingerabdrücke der beiden Dateien unterscheiden. Dieses Verfahren nutzt mathematische Verfahren wie beispielsweise das später erläuterte MD5, um alle Dateien lokal in einen Hashwert fester Länge zu überführen.

Da in diesem Verfahren eine große Datei in eine kürzere überführt wird, besteht jedoch das Risiko, dass mehrere Eingaben zur selben Ausgabe führen, den sogenannten Kollisionen, weshalb Fingerprinting zu den probabilistischen Verfahren gezählt wird.

In den folgenden Abschnitten werden verschiedene Verfahren des Hashings und Kryptohashings definiert, sowie deren Anwendungsgebiete gegenübergestellt und deren Funktionsweise mit Beispielen verdeutlicht und diverse Angriffsszenarien auf derartige Verfahren gezeigt.

Links