Message Authentication Codes
| Computerbereich |
Bemerkungen:
- andere Bezeichnung: kryptographische Prüfsumme
- ähnliche Eigenschaften wie digitale Signaturen.
- basieren nicht auf asymmetrischer Kryptographie
- sind wesentlich schneller als digitale Signaturen, teilweise um einen Faktor 100 bis 1000.
Grundidee von Message Authenication Codes
Wir möchten aus einer Nachricht beliebiger Länge eine feste Prüfsumme erstellen, die dann zusammen mit der Nachricht übertragen wird. Der Empfänger soll diese Prüfsumme verifizieren können.
Basisprotokoll
| Alice | Bob | |
| bestimmt Schlüssel K | Alice überträgt K über einen sicheren Kanal | |
| y = MACK ( x) | ||
| Alice überträgt Nachricht x und Prüfsumme y | ||
|
y2 = MACK ( x) y ?= y2 |
Da MACs symmetrische Verfahren sind können Sender und Empfänger genau die gleichen Schritte ausführen.
Eigenschaften von MACs
- Nachrichten beliebiger Länge können authentisiert werden. Die Prüfsumme y hat jedoch immer eine fest Länge z.B. 128 Bit
- Nachrichten-Authentisierung: Nur Alice (und Bob) können gültige (X,Y) Paare erzeügen.
- Nachrichtenintegrität: Manipulation der Nachricht X auf dem Kanal werden von Bob erkannt.
- Nicht Zurückweisbarkeit / Beweisbarkeit ist nicht gegeben! Dies ist der Hauptunterschied zu digitalen Signaturen.
Konstruktion von MACs
in der Praxis gibt es zwei beliebte MAC Konstruktionen und zwar basierend auf Blockchiffren und Hashfunktionen.
MACs mit Blockchiffren
Das Ziel ist es dass Y kryptographisch sicher von allen Nachrichtenbits abhängt.
Das Blockschaltbild verdeutlicht dieses Verfahren:
Die Nachricht X wird in, für die Blockchiffre e, gerechte Segmente geteilt. Die so entstandenen y1,y2,..,yn werden XOR mit den jeweiligen x teilen vor der Verschlüsselung addiert. Also Y1 = e(IV XOR X1) und Y2 = e(Y1 XOR X2) usw. Y1; ...; Yn-1 Segmente werden verworfen. Zum Schluss bleibt noch die Nachricht X1; ...; Xn und die Prüfsumme Yn. Auf der Empfängerseite wird dann erneut Yn berechnet und mit der gesendeten Prüfsumme verglichen.
Aktualisiert (Mittwoch, den 04. August 2010 um 18:56 Uhr)