zurück zum glossar

HMAC (Hash-based Message Authentication Code)

Security

HMAC kombiniert Hashing mit einem geheimen Key, um Authentizität und Integrität von Nachrichten zu prüfen. Beispiel: HMAC-SHA256(key, message). Basis für JWT-Signaturen.

detaillierte erklärung

HMAC ist eine kryptographische Funktion, die Hashing mit einem symmetrischen Key kombiniert: HMAC(K, m) = H((K ⊕ opad) || H((K ⊕ ipad) || m)). Vereinfacht: HMAC-SHA256(key, message) erzeugt 256-Bit-Tag. Eigenschaften: 1) Authentizität - nur wer Key kennt, kann gültigen HMAC erzeugen. 2) Integrität - minimale Nachrichtenänderung verändert HMAC komplett. 3) Replay-Protection (mit Timestamp/Nonce). Ablauf: Sender berechnet HMAC, hängt an Nachricht an. Empfänger berechnet HMAC mit seinem Key, vergleicht - Match = authentisch, Mismatch = manipuliert/gefälscht. Anwendungen: API-Request-Signierung (AWS Signature v4), JWT-Tokens (JWS mit HS256 = HMAC-SHA256), Cookie-Integrity (Signed Cookies), TLS (Handshake-Verification). Wichtig: HMAC ≠ Verschlüsselung (Nachricht bleibt lesbar), HMAC ≠ Digitale Signatur (symmetrischer Key, kein Public-Key).

warum ist das wichtig?

HMAC ist Standard für API-Authentifizierung und JWT-Signaturen - du musst verstehen, dass HMAC Integrität garantiert, aber nicht Vertraulichkeit (kombiniere mit Encryption bei sensiblen Daten). Essentiell für API-Security und Token-basierte Auth.

häufige fehler

  • HMAC verschlüsselt Daten - Nein, HMAC signiert nur (Message bleibt plain-text)
  • HMAC = Digitale Signatur - Nein, HMAC nutzt symmetrischen Key (beide Seiten kennen Key), Digitale Signatur nutzt Public-Key
  • HMAC verhindert Replay-Attacks - Nein, nur mit zusätzlichem Timestamp/Nonce

verwandte begriffe

passende bilabs lessons

quellen

das könnte dich auch interessieren