Cryptography Reference
In-Depth Information
Ein MAC auf Basis von Block-Chiffren wurde bereits in Kap. 2.2.4.1 „Message Authenticati-
on Code (MAC) auf Basis von DES“ besprochen, wobei statt DES jeder Block-Algorithmus
benutzt werden kann. Bei einem MAC auf Basis einer Block-Chiffre wird ja bereits ein sym-
metrischer Schlüssel k benutzt, auf den sich Authentizität und Integrität gründen.
Innerhalb einer Hashfunktion ist grundsätzlich kein geheimer Schlüssel beteiligt. Ein Hashwert
h(m) zu einer Nachricht m soll von jeder Partei berechnet und nachgeprüft werden können.
Wenn jedoch ein MAC auf Basis einer Hashfunktion gebildet werden soll, dann muss ein
symmetrischer Schlüssel nachträglich ins Spiel gebracht werden. Eine einfache Möglichkeit
dafür ist, der Nachricht m den Schlüssel k voranzustellen, d.h. k und m zu verketten, und bei-
des einer Hashfunktion h( ) zu unterziehen:
. Das Symbol „||“ bedeutet
eine Verkettung. Das Ergebnis ist ein kryptographischer Fingerabdruck von m, der nur mit
Kenntnis von k gebildet oder nachgeprüft werden kann.
Dieser einfache MAC auf Basis von Hash kann jedoch leicht angegriffen werden. Für eine
verlängerte Nachricht m||m* kann die Hash-Bildung h(k||m) ohne Kenntnis von k fortgesetzt
werden und führt auf einen gültigen MAC k (m||m*) = h(k||m||m*). Den genannten Nachteil
vermeidet der standardisierte Algorithmus HMAC, gegen den noch keine Angriffe bekannt
sind.
MAC (m)
h(k || m)
k
3.4.1 HMAC-Algorithmus
HMAC (keyed-Hash Message Authentication Code) wurde 1997 als RFC 2104 vorgeschlagen
und 2002 als Standard FIPS PUB 198 veröffentlicht, [RFC2104], [FIPSPUB198]. HMAC
liefert einen Message Authentication Code (MAC) auf der Basis einer beliebigen Hashfunktion
h( ) und eines zusätzlichen symmetrischen Schlüssels k. Die Stellenlänge des erzeugten
HMAC ist gleich der Stellenlänge der verwendeten Hashfunktion h, also 128 Bit bei MD5, 160
Bit bei SHA-1 und 256 Bit bei SHA-256.
k
m
opad
ipad
h
Abb. 3-5: HMAC,
keyed-Hash Message Authentication Code.
k Schlüssel
m Nachricht
ipad inner padding, Konstante
opad outer padding, Konstante
h
stellenweise Addition mod 2, (XOR)
h Hashfunktion
HMAC
Search WWH ::




Custom Search