Cryptography Reference
In-Depth Information
wie sie meist in der Praxis verwendet werden und wie wir sie hier betrachtet haben, da
es (bzgl. eines Schlüssels) zu einer Nachricht immer nur ein gültiges Etikett gibt.
Die Verwendung von Block-Kryptosystemen (bzw. zufälligen Funktionen) zur Reali-
sierung von MACs, wie in Abschnitt 9.3.1 beschrieben, geht auf Goldreich, Goldwasser
und Micali zurück [83]. Die kurz angesprochene Erweiterung der Konstruktion auf Nach-
richten beliebiger Länge findet sich im Lehrbuch von Goldreich [81] (siehe auch [101]).
Der CBC-MAC ist ein internationaler Standard [175] aus den 1980er Jahren, der häufig
im Bankensektor eingesetzt wurde [173]. Der erste Sicherheitsbeweis im Sinne der beweis-
baren Sicherheit (siehe auch Bemerkung 9.3.1) wurde erst 1994 von Bellare, Kiliany und
Rogaway in der oben bereits erwähnten Arbeit geliefert [20, 21]. In dieser Arbeit wird
auch das Problem erläutert, dass der CBC-MAC unsicher ist, falls er auf Nachrichten
variabler Länge angewendet wird. Es werden ebenso Möglichkeiten diskutiert, wie man
dieses Problem lösen kann und welche Ansätze nicht zum Ziel führen, wie etwa der in
Aufgabe 9.8.6 diskutierte Ansatz. Im Jahr 2005 hat das National Institute of Standards
and Technology (NIST) eine Variante des CBC-MAC unter dem Namen CMAC veröf-
fentlicht [183], die von Iwata und Kurosawa [95] vorgeschlagen wurde und den zuvor von
Black und Rogaway entwickelten XCBC-MAC verbessert [37] (siehe auch [96]).
Das Hash-then-MAC-Schema wird bereits in einer Arbeit von Damgård [60] untersucht,
allerdings im Kontext von digitalen Signaturen statt von MACs. Den Hash-then-Sign-
Ansatz, dessen Sicherheitsbeweis analog zu demjenigen für das Hash-then-MAC-Schema
geführt werden kann, werden wir in Abschnitt 10.3 kennenlernen.
Die Verfahren NMAC und HMAC wurden, wie bereits in Abschnitt 9.5 erwähnt,
von Bellare, Canetti und Krawczyk entwickelt und analysiert [15]. In dieser Arbeit
wird auch diskutiert, warum die zuvor verbreiteten heuristischen Konstruktionen für
auf Hashfunktionen basierenden Etikettieralgorithmen, insbesondere T ( x, k )= h ( k
x )
bzw. T ( x, k )= h ( x · k ) , ungeeignet sind (siehe auch Aufgabe 9.8.8). Der HMAC wurde
standardisiert [113, 182, 172] und wird in zahlreichen Sicherheitsprotokollen, einschließ-
lich SSL/TLS, SSH und IPsec, eingesetzt, dort häufig auch als pseudozufällige Funktion
zur Ableitung pseudozufälliger Schlüssel, statt nur als MAC.
Gemäß der Resultate von Bellare, Canetti und Krawczyk und wie in Satz 9.5.1 fest-
gehalten kann die Sicherheit des NMAC darauf abgestützt werden, dass die verwendete
Kompresssionsfunktion ein sicherer MAC ist und dass die Familie iterierter Hashfunkti-
onen schwach kollisionsresistent ist; für den HMAC muss man zusätzlich annehmen, dass
die Ableitung des inneren und äußeren Schlüssels mit Hilfe der Kompressionsfunktion
pseudozufällig ist (siehe auch Satz 9.6.1). Leider ist die Annahme der (schwachen) Kolli-
sionsresistenz für MD5 und SHA-1 sowie einige verwandte Hashfunktionen - auch wenn
man diese Funktionen jeweils als Familie von Funktionen mit variablen Initialisierungs-
vektoren auffasst - aufgrund der in Abschnitt 8.7 erwähnten Angriffe auf die Kollisions-
resistenz dieser Hashfunktionen nicht mehr gerechtfertigt (siehe auch Aufgabe 9.8.11);
SHA-2 ist allerdings davon unberührt und dies sollte auch für den zukünftigen Standard
SHA-3 der Fall sein. Motiviert dadurch hat Bellare in [13] gezeigt, dass man die Sicher-
heit des NMAC nicht auf die (schwache) Kollisionsresistenz der verwendeten Familie
iterierter Hashfunktionen abstützen muss. Es reicht anzunehmen, dass die Kompressions-
funktion als pseudozufällige Funktion aufgefasst werden kann (vgl. Abschnitt 4.8). Aus
dieser Annahme folgert Bellare in seiner Arbeit, dass auch der NMAC eine pseudozufäl-
·
Search WWH ::




Custom Search