Kryptographie - Hashfunktionen Flashcards
Einweg-Hashfunktionen
- Hashfunktion H erzeugt aus einer Nachricht M einen eindeutigen Hashwert h mit fester Länge m
- aus Hashwert eine Nachricht berechnen ist schwer (andersrum nicht)
- Lawineneffekt: kleine Änderung in M -> große Änderung in h
Hashfunktionen - Eigenschaften
- Kompression
- einfach zu berechnen
- resistent gegen Erstes-Urbild-Angriff und Zweites-Urbild-Resistent
- kollisionsfrei / kollisionsresistent
Erstes-Urbild-Angriff (First-Preimage-Attack)
Gegeben h(M) ist schwer M zu berechnen
Zweites-Urbild-Resistent (Second-Preimage-Attack)
Gegeben h(M) ist es schwer ein M’ und M’’ zu finden, sodass h(M’) == h(M’’) –> Kollisionsresistenz
Einsatz von Hashfunktionen
- Authentifizierung ohne Verschlüsselung mittels Einweg-Hashfunktion
- Digitale Signaturen (Korrektheit und Authentizität von digitaler Kommunikation, Server Identität)
Digitale Signaturen - Anforderungen
1) Authentizität
2) Fälschungssicherheit (Erzeugung nur durch Unterzeichner)
3) Überprüfbarkeit durch 3. Partie im Zweifelsfall
4) Keine Wiederverwendbarkeit (bezieht sich nur auf unterzeichnetes Dokument)
5) Keine Veränderbarkeit (Nach Unterzeichnung ist Dokument nicht mehr veränderbar)
Digitale Signaturen durch asymmetrische Kryptographie
- Idee: Vertauschen der Rollen der Schlüssel (privat zum Verschlüsseln)
- Jeder kann entschlüsseln, aber nur Besitzer des private Key kann verschlüsseln
- -> Nachweis über Identität des Verschlüsselnden
Digitale Signaturen mittels RSA
- Alice signiert den Hash des Dokumentes mit ihrem privatem Schlüssel
- sendet unterzeichnetes Dokument an Bob
- Bob dechiffriert das Dokument mit Alices öffentlichem Schlüssel
Hashfunktionen in digitalen Signaturen
- Signieren von h(M) mit Signaturalgorithmus S und privatem Schlüssel des Absenders
- Versenden von M mit signiertem Hash S(h(M))
- Verifizierung von Authentizität und Integrität
Einweghashfunktion-Geburtstagsangriff
Finden zweier Dokumente M, M’ mit h(M) = h(M’)
Problem: Schlüsselidentität
- Gehört öffentlicher Schlüssel wirklich zum Claimer?
- Schlüsselfingerprints (löst eigentliches Problem nicht)
- Public Key Infrastructur (PKI) mit Trusted Third Party (TTP)
PKI
- hierarchisches Modell
- oberste Stufe (root certificate) ist die eigentliche TTP
- signiert Schlüssel der nächsten Stufe bzw. stellt das entsprechende Zertifikat aus
- mit diesen Schlüsseln können weitere Schlüssel signiert werden (nur valide, wenn durch das Zertifikat erlaubt)
Überprüfung von Zertifikaten
- Überprüfung der digitalen Signatur X.509 gibt Nachweis über Schlüssel/Owner Beziehung
- falls Schlüssel des Unterzeichners unbekannt: gehe eine Hierarchiestufe höher
Certificate Authorities
- Vertrauen via Geschäftsmodell (Regeln für Zertifikatsvergabe)
- Auslieferung des Root Certificates über vertrauenswürdige Kanäle (Browser, Betriebssystem)
Alternative PKI: Web of Trust
- Nutzer signieren Schlüssel gegenseitig
- Nutzer entscheidet, wem er vertraut