Skip to main content
Zum Hauptinhalt springen
Sicherheit1. Juli 2026 6 Min. Lesezeit

HMAC erklärt: Nachrichtenauthentifizierung

HMAC schützt Webhooks, APIs und Nachrichten vor Manipulation. Verstehen Sie die Grundlagen und implementieren Sie HMAC korrekt in Ihren Anwendungen.

Generieren Sie HMAC-Signaturen mit unserem HMAC-Generator.

Der Webhook-Vorfall

Stellen Sie sich vor: Sie erhalten einen Webhook von Ihrem Zahlungsanbieter. Die Nachricht sagt "Zahlung erhalten: 500€". Aber woher wissen Sie, dass diese Nachricht wirklich vom Anbieter stammt und nicht manipuliert wurde?

Was ist HMAC?

HMAC (Hash-based Message Authentication Code) kombiniert einen geheimen Schlüssel mit einer kryptografischen Hash-Funktion, um die Authentizität und Integrität einer Nachricht zu überprüfen.

So funktioniert HMAC

Der Sender berechnet HMAC(Nachricht, Geheimnis) und sendet beides. Der Empfänger berechnet dieselbe HMAC mit dem gemeinsamen Geheimnis. Stimmen die Werte überein, ist die Nachricht authentisch und unverändert.

Praktische Anwendungen von HMAC

Webhook-Verifizierung (Stripe, GitHub), API-Authentifizierung, JWT-Signaturen, sichere Cookies und CSRF-Tokens verwenden alle HMAC-basierte Verfahren.

HMAC implementieren

Verwenden Sie SHA-256 als Hash-Algorithmus. Generieren Sie starke, zufällige Geheimnisse (mindestens 256 Bit). Vergleichen Sie MACs mit zeitkonstanten Vergleichsfunktionen, um Timing-Angriffe zu verhindern.

Sicherheitsüberlegungen

Schützen Sie Ihren geheimen Schlüssel wie ein Passwort. Rotieren Sie Schlüssel regelmäßig. Verwenden Sie unterschiedliche Schlüssel für verschiedene Zwecke.

HMAC im Jahr 2026: weiterhin der Standard für Webhooks

HMAC-SHA256 bleibt das Standard-Signierverfahren der meisten Webhook-Ökosysteme: GitHub, Stripe (v1), Twilio und viele andere verifizieren Payloads mit einem HMAC über ein gemeinsames Geheimnis plus einem Zeitfenster gegen Replay-Angriffe.

Neuere Anbieter bieten zusätzlich Ed25519-Signaturen (etwa GitHub und Stripe v2), die asymmetrische Schlüssel nutzen, sodass jeder verifizieren kann, ohne das Signiergeheimnis zu besitzen. Wenn Sie Absender und Empfänger kontrollieren, ist HMAC-SHA256 mit einem 256-Bit-Zufallsschlüssel weiterhin eine starke, einfache Wahl.

Im Browser unterstützt die Web Crypto API mit subtle.sign HMAC, sodass Sie Webhook-artige Payloads clientseitig ohne Bibliothek verifizieren können – vergleichen Sie Signaturen immer in konstanter Zeit und binden Sie einen Zeitstempel in die signierte Nachricht ein, um Replays zu verhindern.

FAQ

Q.HMAC vs. einfacher Hash?

A.Ein einfacher Hash beweist Integrität (Daten unverändert), aber nicht Authentizität (wer sie sendete). HMAC beweist beides, weil es den geheimen Schlüssel benötigt.

Q.Wie lang sollte der geheime Schlüssel sein?

A.Mindestens 256 Bit (32 Bytes) für SHA-256. Erzeugen Sie ihn mit einem kryptografisch sicheren Zufallsgenerator.

Q.Welchen Hash-Algorithmus sollte ich verwenden?

A.SHA-256: weit verbreitet und als sicher eingestuft. Vermeiden Sie MD5 und SHA-1 wegen bekannter Schwächen.

Q.Wie verhindere ich Replay-Angriffe bei Webhooks?

A.Binden Sie einen Zeitstempel in die signierte Nachricht ein und lehnen Sie Nachrichten außerhalb eines kleinen Zeitfensters (meist 5 Minuten) ab. Anbieter signieren die Payload zusammen mit einem Zeitstempel-Header; prüfen Sie beides und speichern Sie bei strengen Anforderungen kürzlich gesehene Signaturen.

Q.HMAC oder Ed25519 für Webhooks im Jahr 2026?

A.Beides ist gut: HMAC-SHA256 mit gemeinsamem Geheimnis ist die einfachste und häufigste Wahl, Ed25519 ist besser, wenn der Prüfer das Signiergeheimnis nicht besitzen soll. Anbieter bieten zunehmend Ed25519 an (etwa GitHub und Stripe v2), aber HMAC bleibt ein unterstützter, sicherer Standard.

Referenzen

  • RFC 2104 – HMAC: Keyed-Hashing for Message Authentication: https://www.rfc-editor.org/rfc/rfc2104
  • NIST FIPS 198-1 – The Keyed-Hash Message Authentication Code (HMAC): https://csrc.nist.gov/pubs/fips/198-1/final

HMAC-Signaturen erstellen

Erzeugen Sie HMAC-SHA256-, SHA-1- oder MD5-Signaturen lokal – Ihr Geheimnis bleibt auf Ihrem Gerät.

Fazit

HMAC macht aus einem gemeinsamen Geheimnis überprüfbare Authentizität. Erstellen und testen Sie Signaturen lokal mit dem HMAC-Generator.

HMACNachrichtenauthentifizierungAPI-SicherheitWebhook-SicherheitDatenintegritätSHA-256