Hash-Nachrichten-Authentifizierungscode (hmac)

Definition - Was bedeutet Hashed Message Authentication Code (HMAC)?

Ein Hash-Nachrichtenauthentifizierungscode (HMAC) ist ein Nachrichtenauthentifizierungscode, der einen kryptografischen Schlüssel zusammen mit einer Hash-Funktion verwendet. Der eigentliche Algorithmus hinter einem Authentifizierungscode für gehashte Nachrichten ist kompliziert, da das Hashing zweimal durchgeführt wird. Dies hilft dabei, einigen Formen der kryptografischen Analyse zu widerstehen. Ein Hash-Nachrichtenauthentifizierungscode wird als sicherer als andere ähnliche Nachrichtenauthentifizierungscodes angesehen, da die übertragenen Daten und der im Prozess verwendete Schlüssel separat gehasht werden.

Technische.me erklärt den Hashed Message Authentication Code (HMAC)

Ähnlich wie bei anderen Nachrichtenauthentifizierungscodes kann ein Hash-Nachrichtenauthentifizierungscode gleichzeitig die Authentifizierung der Nachricht und die damit verbundene Datenintegrität überprüfen. Die Größe des verwendeten geheimen Schlüssels bestimmt die kryptografische Stärke des Authentifizierungscodes für gehashte Nachrichten. Ein Authentifizierungscode für Hash-Nachrichten kann iterative kryptografische Hash-Funktionen wie SHA-1 und MD-5 zusammen mit dem geheimen Schlüssel verwenden. Der Authentifizierungscode für Hash-Nachrichten stellt sowohl dem Server als auch dem Client einen öffentlichen und einen privaten Schlüssel zur Verfügung. Obwohl der öffentliche Schlüssel bekannt ist, ist der private Schlüssel nur dem jeweiligen Client und Server bekannt. Der gesamte Prozess beginnt damit, dass der Client einen eindeutigen Authentifizierungscode für Hash-Nachrichten basierend auf den angeforderten Daten erstellt und die angeforderten Daten zusammen mit einem privaten Schlüssel hasht. Dies wird als Teil der Anforderung an den Server gesendet, der seinerseits die beiden Authentifizierungscodes für gehashte Nachrichten vergleicht. Wenn dies als gleich befunden wird, kann dem Client vertraut und die Anforderung ausgeführt werden. Der gesamte Vorgang wird auch als geheimer Handschlag bezeichnet.

Einer der Hauptvorteile des Authentifizierungscodes für gehashte Nachrichten besteht darin, dass er weniger von Kollisionen betroffen ist und als Brute Force zum Abrufen des geheimen kryptografischen Schlüssels angesehen wird. Der Authentifizierungscode für gehashte Nachrichten bietet eine bequeme Methode, um zu überprüfen, ob die Daten manipuliert wurden und ob der Benutzer authentisch ist.

Ein Nachteil des Authentifizierungscodes für gehashte Nachrichten ist jedoch das Fehlen jeglicher Privatsphäre, die auch bei vollständiger Verschlüsselung erzielt werden kann.