Keyed-Hashing for Message Authentication (HMAC) - Prof. Dr. Norbert
Pohlmann
Keyed-Hashing for Message Authentication (HMAC)
Was ist ein Keyed-Hashing for Message Authentication Code (HMAC)?
Keyed-Hashing for Message Authentication Code (HMAC) ist ein Internet-Standard (RFC 2104) und wird zum Beispiel bei IPSec verwendet. Der HMAC ist eine Einweg-Hashfunktion, die mit einem Schlüssel arbeitet, aber Hashfunktionen statt Verschlüsselungsverfahren verwendet. Das HMAC-Verfahren soll mit möglichst vielen Hashfunktionen zusammenarbeiten, ohne dass diese modifiziert werden müssen. Die Sicherheit der Hashfunktion darf durch die Manipulation mit geheimen Schlüsseln nicht verringert werden.
HMAC-Verfahren HMAC = KH( K XOR opad, H( K XOR ipad, M) )
ipad = 0×36, 0×36, 0×36, … (gleiche Länge wie die Blocklänger der Hashfunktion) opad = 0×5c, 0×5c, 0×5c, … (gleiche Länge wie die Blocklänger der Hashfunktion) K geheimer Schlüssel M Input (Nachricht) XOR bitweise modulo 2 addieren KH „Keyed-Hashing for Message Authentication“-Verfahren – HMAC-Verfahren
Die beiden konstanten Felder ipad und opad haben eine Länge, die der Blockgröße B der eingesetzten Hashfunktion entspricht. Der Schlüssel K wird durch das Anhängen von Nullen ebenfalls auf die Länge B gebracht. Dann muss der auf die Länge B gebrachten geheimen Schlüssel K wird mittels XOR mit dem Feld ipad verknüpft werden. Das Ergebnis dieser Operation wird vor die Nachricht gestellt und mit der Hashfunktion den Hashwert aus diesem Input berechnet. Der Hashwert hat die Länge L. Dann muss der auf die Länge B gebrachte geheimen Schlüssel K mittels XOR mit dem Feld opad verknüpft werden. Anschließend wird das Ergebnis dieser Operation (Länge B) vor den Hashwert (Länge L) gestellt und mit der Hashfunktion den HMAC-Hashwert berechnet. Der HMAC-Hashwert hat die Länge L.
Weitere Informationen zum Begriff “Keyed-Hashing for Message Authentication Code (HMAC)”:
Keyed-Hashing for Message Authentication Code (HMAC)
Description
Der HMAC ist eine Einweg-Hashfunktion, die mit einem Schlüssel arbeitet, statt Verschlüsselungsverfahren aber Hashfunktionen verwendet. Das HMAC-Verfahren soll mit möglichst vielen verschiedenen Hashfunktionen zusammenarbeiten, ohne dass diese modifiziert werden müssen.
Author
Prof. Norbert Pohlmann
Publisher Name
Institut für Internet-Sicherheit – if(is)
Publisher Logo
Keyed-Hashing for Message Authentication (HMAC) Prof. Dr. Norbert Pohlmann - Cyber-Sicherheitsexperten