Technik fortgeschritten

HMAC-Signaturprüfung

HMAC-Signaturprüfung ist ein kryptografisches Verfahren zur Authentifizierung von Webhook-Anfragen. Dabei wird mit einem geheimen Schlüssel und einer Hash-Funktion eine digitale Signatur erzeugt, die bestätigt, dass die Nachricht vom erwarteten Absender stammt und nicht manipuliert wurde.

Ausführliche Erklärung

HMAC steht für Hash-based Message Authentication Code und kombiniert eine kryptografische Hash-Funktion wie SHA-256 mit einem geheimen Schlüssel, den Sender und Empfänger gemeinsam nutzen. Wenn ein Drittanbieter einen Webhook an Ihr System sendet, berechnet dieser zunächst einen HMAC-Wert aus dem Nachrichteninhalt und dem gemeinsamen Secret. Diese Signatur wird als HTTP-Header mitgesendet. Ihre Anwendung führt beim Empfang dieselbe Berechnung durch und vergleicht beide Signaturen. Stimmen sie überein, ist sichergestellt, dass die Nachricht authentisch und unverändert ist.

Für KMU ist die HMAC-Signaturprüfung besonders relevant, wenn Sie automatisierte Prozesse über Webhooks steuern – etwa Zahlungsbestätigungen, Statusmeldungen von SaaS-Tools oder Benachrichtigungen aus CRM-Systemen. Ohne Signaturprüfung könnten Angreifer gefälschte Webhook-Anfragen an Ihre Systeme senden und dadurch beispielsweise falsche Bestellungen auslösen oder Rechnungsprozesse manipulieren. Die HMAC-Prüfung schützt vor solchen Spoofing- und Manipulationsangriffen, ohne dass komplexe Zertifikatsinfrastrukturen nötig wären.

In der Praxis verwenden nahezu alle großen Plattformen wie Stripe, Shopify, Slack oder GitHub HMAC-Signaturen zur Absicherung ihrer Webhooks. Die Implementierung erfolgt typischerweise über vorhandene Kryptografie-Bibliotheken in gängigen Programmiersprachen und erfordert lediglich die sichere Verwaltung des Secrets. Wichtig ist, dass der geheime Schlüssel niemals in öffentlichen Repositories oder Logdateien auftaucht und regelmäßig rotiert wird.

Praxisbeispiel

Ein österreichisches E-Commerce-Unternehmen mit 25 Mitarbeitenden nutzt Shopify als Shop-System und ein eigenes ERP zur Lagerverwaltung. Bei jeder neuen Bestellung sendet Shopify einen Webhook mit den Bestelldaten. Durch HMAC-Signaturprüfung stellt das ERP sicher, dass die Webhook-Anfragen tatsächlich von Shopify stammen und nicht von einem Angreifer gefälscht wurden. So werden nur authentische Bestellungen im Lager bearbeitet und falsche Lieferungen verhindert.

Code-Beispiel

// Node.js-Beispiel für HMAC-Signaturprüfung
const crypto = require('crypto');

function verifyWebhookSignature(payload, signature, secret) {
  const hmac = crypto.createHmac('sha256', secret);
  const digest = hmac.update(payload).digest('hex');
  
  // Zeitkonstanter Vergleich verhindert Timing-Angriffe
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(digest)
  );
}

Quellen

Zuletzt aktualisiert: 2. Juli 2026