Einführung in HMAC

HMAC steht für den Hash-basierten Nachrichtenauthentifizierungscode. Es stehen verschiedene Message Digest-Algorithmen zur Verfügung. Das Ziel hinter HMAC ist die Wiederverwendung dieser Message Digest-Algorithmen. Es wurde entwickelt, um die Sicherheitsumgebung für das Internetprotokoll zu implementieren. HMAC arbeitet mit jedem Message Digest-Algorithmus. Es verwendet den Message Digest-Algorithmus für die ursprüngliche Nachricht und einen symmetrischen Schlüssel zum Verschlüsseln des Message Digests, der den MAC (Message Authentication Code) erzeugt. HMAC ähnelt MAC, der Unterschied liegt in HMAC, es wird ein Hash-basierter Algorithmus verwendet. Hash-basierter Nachrichtenauthentifizierungscode wird auch im SSL-Protokoll (Secure Socket Layer) verwendet. Außerdem ist HMAC schneller zu berechnen. Auch wenn die zugrunde liegende Hash-Funktion fehlerhaft ist, bietet HMAC dennoch eine bessere Sicherheit. In diesem Artikel werden wir das Grundkonzept des Hash-basierten Nachrichtenauthentifizierungscodes erläutern und er funktioniert.

Wie funktioniert HMAC?

Betrachten wir nun die Funktionsweise des Hash-basierten Nachrichtenauthentifizierungscodes.

Schritt 1: Stellen Sie die Länge des symmetrischen Schlüssels auf mehrere Bits in jedem Block ein.

Es gibt drei Möglichkeiten, basierend auf jeder müssen wir handeln, um die Länge des Schlüssels an die Anzahl der Bits anzupassen. Die Länge eines Schlüssels ist kleiner als die Anzahl der Bits in jedem Block. In diesem Fall müssen Sie die Länge des Schlüssels durch Hinzufügen vieler 0-Bits erweitern, um die Länge eines Schlüssels auf mehrere Bits zu beschränken.

Die Länge eines Schlüssels entspricht mehreren Bits in jedem Block. In diesem Fall müssen wir keine Aktion ausführen, da der Schlüssel der Anzahl der Bits entspricht. Die Länge eines Schlüssels ist größer als die Anzahl der Bits in jedem Block. In diesem Fall müssen wir den Schlüssel kürzen, um die Länge des Schlüssels mit den Zahlenbits gleichzusetzen, indem wir den Message Digest-Algorithmus anwenden, der zur Erstellung des HMAC verwendet wird.

Schritt 2: XOR symmetrisch mit Pad.

In diesem Schritt XOR wir die Symmetrie mit dem Pad, um eine Variable mit dem Namen S1 zu erzeugen.

Hinweis : pad = Dies ist eine Zeichenfolge 00110110, die b / 8 Mal wiederholt wird.

Schritt 3: Hängen Sie die ursprüngliche Nachricht an S1 an.

In diesem Schritt fügen wir die ursprüngliche Nachricht am Ende von S1 an.

Schritt 4: Wenden Sie den Message-Digest-Algorithmus an.

In diesem Schritt wenden wir den ausgewählten Message-Digest-Algorithmus (MD5, SHA-1, SHA-512 usw.) auf die Ausgabe von Schritt 3 an. Angenommen, die Ausgabe von Schritt 4 ist H

Schritt 5: Symmetrischer XOR-Schlüssel mit Pad.

In diesem Schritt XOR den symmetrischen Schlüssel mit Pad, um die Variable mit dem Namen S2 zu erzeugen.

Hinweis : pad = Es handelt sich um eine Zeichenfolge 01011010, die b / 8 Mal wiederholt wird.

Schritt 6: H an S2 anhängen.

In diesem Schritt nehmen wir den in Schritt 4 berechneten Nachrichtenauszug und hängen ihn an das und des S2 an, das im vorherigen Schritt, dh in Schritt 5, abgeleitet wurde.

Schritt 6: Message Digest-Algorithmus.

In diesem Schritt wenden wir den ausgewählten Message-Digest-Algorithmus auf die Ausgabe von Schritt 6 an. Der generierte Message-Digest dieses Schritts ist der endgültige MAC.

Nachteile von HMAC

  • Lassen Sie uns einige Probleme diskutieren, die im Hash-basierten Nachrichtenauthentifizierungscode auftreten können.
    Wie bereits erwähnt, verwendet der Hash-basierte Nachrichtenauthentifizierungscode einen symmetrischen Schlüssel. Der symmetrische Schlüssel bedeutet den gleichen Schlüssel, den der Sender und der Empfänger verwenden. Hier stellt sich das Problem, wie Sender und Empfänger den Schlüssel austauschen.
  • Irgendwie ist das obige Problem gelöst, der Austausch des symmetrischen Schlüssels. Wir können den Hash-basierten Nachrichtenauthentifizierungscode nicht bei mehr als einem Empfänger verwenden. Dies liegt daran, dass HMAC den symmetrischen Schlüssel zum Generieren von MAC verwendet. Der symmetrische Schlüssel darf nur von zwei Parteien gemeinsam genutzt werden, dh von Sender und Empfänger.
  • Ein weiteres Problem ist, wenn wir die Symmetrie mit mehreren Teilnehmern teilen, wie der Empfänger weiß, dass die Nachricht vom Absender erstellt und gesendet wurde, und nicht mit anderen Empfängern, deren Schlüssel ebenfalls mit ihnen geteilt werden, so dass die Möglichkeit von Betrug besteht, dass einer der Empfänger können falsche Nachrichten erstellen.

Fazit

In diesem Artikel haben wir das grundlegende Konzept des Hash-basierten Nachrichtenauthentifizierungscodes kennengelernt und es funktioniert.

Empfohlener Artikel

Dies ist eine Anleitung zu HMAC. Hier diskutieren wir die Einführung in den Hash-basierten Nachrichtenauthentifizierungscode und dessen Arbeit mit Nachteilen. Sie können auch unsere Artikelvorschläge durchgehen, um mehr zu erfahren -

  1. Symmetrische Schlüsselverschlüsselung mit Vorteilen
  2. Was ist ein Protokolltest? Warum wird es verwendet?
  3. Einführung in die Top 7 IPS Tools
  4. Einführung in Regressionstest-Tools