Authentifikation Flashcards
Schutzziel von Hashfunktionen / MACs
Authentizität und Integrität
Hashfunktionen - Idee
- Berechne Prüfsumme einer Nachricht
- Übertrage (kurze) Prüfsumme über sicheren Kanal
- Übertrage (lange) Nachricht über unsicheren Kanal
- Empfänger prüft, ob Prüfsumme zur Nachricht passt
Hashfunktion
Verwandelt Input beliebiger Länge in ein Output fester Länge
Kryptographische Hashfunktion
Verwandelt Input beliebiger Länge in ein Output fester Länge. Unter Berücksichtigung von Sicherheitseigenschaften:
- Einwegfunktion (one-wayness)
- schwache Kollisionsresistens (2nd preimage resistance)
- starke Kollisionsresistenz (collision resistance)
Ideale Hashfunktion - Definition
Eine Hashfunktion heißt sicher, wenn sie keine Eigenscharten besitzt, die man nicht auch von einer zufällig ausgewürfelten Funktion f:{0,1}^* -> {0,1}^n erwarten würde. -> IDEALE HASHFUNKTION
Hashfunktionen - Kollisionen - Allgemein
Die Definitonsmenge der Hashfunktion ist deutlich größer als ihr Wertebereich. Für jeden Wert aus dem Wertebereich gibt es im Grunde unendliche viele Inputwerte. Es muss also Kollisionen geben. Sicherheitsrelevant ist lediglich, dass es schwer sein soll, eine Kollision zu FINDEN. Auch gegen eine ideale Hashfunktion kann man Kollisionen suchen.
schwache Kollisionsresistens (2nd preimage resistance)
gegeben: Nachricht X
Es soll unmöglich sein, ein X’ zu finden mit H(X)=H(X’)
starke Kollisionsresistenz (collision resistance)
Es soll unmöglich sein, beliebige X und X’ zu finden mit H(X)=H(X’) und X!=X
Geburtstagsparadoxon
Bei s möglichen Werten: Man kann davon ausgehen, dass nach Wurzel(s) Versuchen eine Kollision auftritt.
Wenn eine Hashfunktion eine Outputlänge von 64 Bit hat, kann man nach Wurzel(2^64) = 2^32 Versuchen eine Kollision erwarten.
Hashfunktionen - Kollisionen - Ausnutzen
Wenn eine Hashfunktion keine starke Kollisionsresistenz aufweist, kann der Angreifer die Nachricht VOR dem Versenden austauschen (Angreifer muss Alice sein)
Wenn eine Hashfunktion nicht mal schwache Kollisionsresistenz aufweist, kann der Angreifer die Nachricht NACH dem Versenden ersetzen.
Kollisionen aus Zufallsstrings sind ebenfalls relevant, da in RSA-Zertifikaten oder programmierbaren Dokumenten Schaden angerichtet werden kann.
iterative Hashfunktionen
Die Kollision eines Zwischenergebnisses kann zur Kollision des Gesamtergebnisses ausgebaut werden. LENGHT EXTENSION ATTACK
Welche Hashfunktionen sind sicher?
SHA-2
SHA-3
WHIRLPOOL
Keccak (SHA-3)
Sponge Construction
- ABSORPTION PHASE: Nachricht wird in inneren Zustand (1600 Bit) absorbiert
- SQUEEZING PHASE: Erst ganz am Ende wird der Output herausgepresst
Der innere Zustand ist größer als der eigentliche Output. Kollision nach 2⁸⁰⁰ Versuchen
Was sind Message Authentication Codes
Welche gibts es?
- MACs sind eine Hashfunktion mit Schlüssel (keyed hash)
CBC-MAC
HMAC
Unterschied Hash/MAC
Hash bietet Integrität
MAC bietet Integrität und Authentizität
MAC nutzt secret key, dh der Absender muss den key kennen. Da niemand sonst den key kennt, ist der Absender zweifelsfrei identifiziert. Außerdem kann d über unsichere Verbindung geschickt werden, da key geheim.
Hash nutzt keinen key (jeder kann hashen), daher muss d über sichere Verbindung kommuniziert werden.