ScholarGate
Assistent

Nachrichten-Authentifizierungscodes

Ein Nachrichten-Authentifizierungscode (MAC) verwendet einen geteilten geheimen Schlüssel, um einen kurzen Tag zu erzeugen, der es einem Empfänger ermöglicht, die Integrität und Authentizität einer Nachricht zu überprüfen und jegliche Manipulation oder Fälschung zu erkennen.

Thema finden mit PaperMindDemnächstFind papers & topics
Tools & resources
Folien herunterladen
Learn & explore
VideoDemnächst

Definition

Ein Nachrichten-Authentifizierungscode ist ein symmetrisches Primitiv, das, gegeben einen geheimen Schlüssel und eine Nachricht, einen Tag fester Länge erzeugt, sodass niemand ohne den Schlüssel einen gültigen Tag für eine neue Nachricht fälschen kann, selbst nachdem Tags für ausgewählte Nachrichten gesehen wurden.

Scope

Dieses Thema behandelt die symmetrische Authentifizierung: das Sicherheitsziel der existenziellen Unfälschbarkeit unter Chosen-Message-Angriffen, MAC-Konstruktionen aus Hash-Funktionen (HMAC) und Blockchiffren (CMAC, GMAC) sowie deren Kombination mit Verschlüsselung zur Bildung einer authentifizierten Verschlüsselung (Encrypt-then-MAC, AES-GCM). Es werden Fallstricke wie die Längen-Erweiterung und die Notwendigkeit eines konstanten Zeitvergleichs von Tags behandelt. Digitale Signaturen, die eine öffentliche Überprüfbarkeit und Nichtabstreitbarkeit mittels Public-Key-Kryptographie bieten, sind ausgeschlossen.

Core questions

  • Wie ermöglicht ein geteilter Schlüssel einem Empfänger, jede Änderung an einer Nachricht zu erkennen?
  • Was erfordert die existenzielle Unfälschbarkeit unter Chosen-Message-Angriffen von einem sicheren MAC?
  • Wie werden sichere MACs aus Hash-Funktionen (HMAC) und aus Blockchiffren (CMAC) konstruiert?
  • Wie sollten Verschlüsselung und Authentifizierung kombiniert werden, um sowohl Geheimhaltung als auch Integrität zu schützen?
  • Warum muss der Tag-Vergleich zeitkonstant sein, und welche Angriffe nutzen Zeitmessungslecks aus?

Key concepts

  • Authentifizierungs-Tag
  • existenzielle Unfälschbarkeit
  • Chosen-Message-Angriff
  • HMAC
  • CMAC und GMAC
  • authentifizierte Verschlüsselung (AEAD)
  • Encrypt-then-MAC
  • zeitkonstanter Vergleich
  • Wiederholungsschutz

Key theories

Existenzielle Unfälschbarkeit unter Chosen-Message-Angriffen
Die Standard-MAC-Sicherheitsdefinition: Ein Angreifer, der Tags für Nachrichten seiner Wahl anfordern kann, kann dennoch keinen gültigen Tag für eine Nachricht erzeugen, die er nicht abgefragt hat, wodurch Fälschung undurchführbar wird.
HMAC und authentifizierte Verschlüsselung
HMAC verschachtelt einen schlüsselbasierten Hash zweimal, um einen nachweislich sicheren MAC aus jedem Standard-Hash zu erhalten; die Kombination eines MAC mit Verschlüsselung über Encrypt-then-MAC (oder die Verwendung von AES-GCM) ergibt eine authentifizierte Verschlüsselung, die Vertraulichkeit und Integrität gemeinsam schützt.

Mechanisms

HMAC berechnet H((K xor opad) || H((K xor ipad) || Nachricht)), wobei H eine Hash-Funktion und ipad/opad feste Pads sind; die verschachtelte Struktur verhindert Längen-Erweiterungen und ist nachweislich sicher, wenn die Kompressionsfunktion eine Pseudozufallsfunktion ist. Blockchiffren-MACs wie CMAC verketten Verschlüsselungen von Nachrichtenblöcken mit einer abschließenden schlüsselbasierten Anpassung. Authentifizierte Verschlüsselungsmodi wie AES-GCM berechnen einen Galois-Feld-MAC (GMAC) über dem Chiffretext, um Vertraulichkeit und Integrität in einem Durchgang zu verbinden.

Clinical relevance

MACs authentifizieren nahezu den gesamten sicheren Netzwerkverkehr: HMAC untermauert die TLS-Datensatzintegrität, IPsec, JSON Web Tokens und die AWS-ähnliche API-Anforderungssignierung, während AES-GCM eine authentifizierte Verschlüsselung in TLS 1.3 und bei der Festplattenverschlüsselung bietet. Die Überprüfung eines MAC verhindert, dass ein Angreifer Chiffretexte unbemerkt verändert oder abgefangene Nachrichten wiederholt abspielt.

Evidence & guidelines

HMAC ist in FIPS 198-1 und RFC 2104 standardisiert; CMAC in NIST SP 800-38B; GCM/GMAC in NIST SP 800-38D. Die Best Practice bevorzugt authentifizierte Verschlüsselungskonstruktionen (AEAD) und die Reihenfolge Encrypt-then-MAC; die in älteren TLS-Versionen verwendete Reihenfolge MAC-then-Encrypt trug zu Padding-Oracle-Angriffen bei.

History

Frühe MACs wurden aus DES im CBC-MAC-Modus konstruiert. Die Entdeckung, dass naive schlüsselbasierte Hash-MACs anfällig für Längen-Erweiterungen waren, motivierte HMAC, das 1996 von Bellare, Canetti und Krawczyk eingeführt und bald darauf standardisiert wurde. Die 2000er Jahre brachten die Formalisierung der authentifizierten Verschlüsselung und dedizierte AEAD-Modi wie GCM und CCM, die heute der Standard zum Schutz von Daten während der Übertragung sind.

Key figures

  • Mihir Bellare
  • Ran Canetti
  • Hugo Krawczyk
  • Phillip Rogaway

Related topics

Seminal works

  • bellare1996hmac
  • katz2020
  • menezes1996

Frequently asked questions

Was ist der Unterschied zwischen einem MAC und einer digitalen Signatur?
Beide authentifizieren eine Nachricht, aber ein MAC verwendet einen geteilten geheimen Schlüssel, sodass jede Partei, die einen Tag überprüfen kann, ihn auch hätte erzeugen können – es gibt keine Nichtabstreitbarkeit. Eine digitale Signatur verwendet einen privaten Schlüssel zum Signieren und einen öffentlichen Schlüssel zur Überprüfung, sodass nur der Unterzeichner sie hätte erstellen können und jeder sie überprüfen kann.
Sollte ich zuerst verschlüsseln oder zuerst authentifizieren?
Die empfohlene Reihenfolge ist Encrypt-then-MAC: Verschlüsseln Sie den Klartext und berechnen Sie dann den MAC über den Chiffretext. Dies ermöglicht es dem Empfänger, gefälschte Chiffretexte abzulehnen, bevor sie entschlüsselt werden, und vermeidet Padding-Oracle- und andere Angriffe, die sich aus der Reihenfolge MAC-then-Encrypt ergeben.

Methods for this concept

Related concepts