• Keine Ergebnisse gefunden

Message Authentication Code (MAC) Szenario:

N/A
N/A
Protected

Academic year: 2022

Aktie "Message Authentication Code (MAC) Szenario:"

Copied!
12
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Message Authentication Code (MAC)

Szenario: Integrität und Authentizität mittels MACs.

Alice und Bob besitzen gemeinsamen Schlüssel k .

Alice berechnet für m einen MAC-Tag t als Funktion von m und k . Alice sendet das Tupel(m,t)an Bob.

Bob verifiziert, dass t ein gültiger Tag für m ist.

Definition Message Authentication Code (MAC)

Ein Message Authentication Code (MAC) besteht aus den ppt Alg.

1 Gen: kGen(1n)

2 Mac: Bei Eingabe von k und m∈ {0,1} berechne tMack(m).

3 Vrfy: Bei Eingabe(m,t)und Schlüssel k berechne (1 fallstein gültiger MAC fürmist

(2)

Sicherheitsspiel Mac-forge

Spiel Sicherheit von MACs Mac-forge

SeiΠein MAC mit Sicherheitsparameter n und AngreiferA.

1 kGen(1n)

2 (m,t)← AMack(·)(1n). Sei Q die Menge aller Mack(·)-Anfragen vonAan sein Orakel.

3 Mac-forgeA(n) =

(1 fallsVrfy(m,t) =1undm∈/Q

0 sonst .

Definition Sicherheit eines MACs

Ein MACΠheißt existentiell unfälschbar gegenüber adaptiv gewählten Angriffen bzw. kurz sicher falls für alle ppt AngreiferAgilt

Ws[Mac-forgeA(n) =1]≤negl(n).

(3)

Sicherheitsspiel Mac-forge

Mac−forgeA(n) kGen(1n)

ti=Mack(mi)∀i

Ausgabe:

(1if Vrfypk(m, t) = 1 0else

1n

mi

ti

(m, t)

A

mi∈ M i= 1, . . . , q Berechne: (m, t) m∈ M\{mi}∀i

(4)

Replay Angriffe

Szenario: Replay Angriff

Alice schickt an ihre Bank eine authentisierte Zahlungsanweisung (m,t)über 100 Euro zugunsten Bob’s Konto.

Aufgrund der MAC-Sicherheit kann Bob den Betrag nicht ändern.

Die MAC-Sicherheit verhindert nicht, dass Bob(m,t)abfängt und dieselbe Nachricht(m,t)weitere Male an die Bank versenden.

Abhilfe: Verwenden Nummerierung oder Zeitstempel.

Seriennummer:

Berechnen MAC von i||m für eindeutige i.

MAC-Sicherheit:Akann nicht MAC für i||m berechnen.

Zeitstempel:

Sender berechnet MAC von Systemzeit||m.

Empfänger verifiziert, dass die Systemzeit aktuell ist.

(5)

Konstruktion eines sicheren MACs fester Länge

Algorithmus MAC ΠMAC fester Länge

Sei F eine Pseudozufallsfunktion mit Blocklänge n. Wir konstruieren einen MAC für Nachrichten m ∈ {0,1}n.

1 Gen: Wähle kR {0,1}n.

2 Mac: Für m,k ∈ {0,1}nberechne t :=Fk(m).

3 Vrfy: Für(m,t)∈ {0,1}n× {0,1}nund k ∈ {0,1}n Ausgabe=

(1 fallst =Fk(m)

0 sonst .

(6)

Sicherheit von Π

MAC

Satz Sicherheit vonΠMAC

Sei F eine Pseudozufallsfunktion. Dann istΠMAC sicher.

Beweis:

SeiAein Angreifer fürΠMAC mit Erfolgswsǫ(n).

Wir konstruieren Unterscheider U für Pseudozufallsfunktionen.

Algorithmus Unterscheider U

EINGABE: 1n,O:{0,1}n→ {0,1}nmitO=Fk(·)oderO=f(·).

1 (m,t)← AMac(·), beantworte Mac(m)-Anfragen mit t :=O(m).

2 Sei Q die Menge aller vonAgestellten Mac(·)-Anfragen.

AUSGABE=

(1 fallst =O(m),m ∈/ Q, Interpretation:O=Fk(·) 0 sonst, Interpretation:O=f(·) .

(7)

Sicherheit von Π

MAC

O ∈ {Fk, f}

Ausgabe

UnterscheiderD

ti=O(mi)

Ausgabe:

(O=Fk ifO(m) =t O=f else

1n

mi

ti

(m, t)

A

∀iq, mi∈ M Q={m1, mq} Berechne: (m, t) m∈ M\Q

(8)

Sicherheit von Π

MAC

Fall 1:O=Fk(·), d.h. das Orakel ist eine Pseudozufallsfunktion.

Dann ist die Verteilung fürAidentisch zum ProtokollΠMAC. Damit gilt

Ws[UFk(·)(n) =1] =Ws[Mac-forgeAMAC(n) =1] =ǫ(n).

Fall 2:O=f(·), d.h. das Orakel ist eine echte Zufallsfunktion.

SeiΠ das ProtokollΠMAC mit f(·)statt Fk(·).

Für alle m∈/Q ist t =f(m)uniform verteilt in{0,1}n. Damit gilt

Ws[Uf(·)(n) =1] =Ws[Mac-forgeA(n) =1] = 21n. Aus der Pseudozufälligkeit von Fk folgt für alle ppt U

negl(n)≥

Ws[UFk(·)(n) =1]−Ws[Uf(·)(n) =1]

=|ǫ−21n|.

Damit folgtǫ≤negl(n) +21n =negl(n)für alle ppt AngreiferA.

(9)

Von fester zu variabler Länge

Ziel: Konstruiere MAC für m=m1. . .m für variable Blockzahlℓ.

Überlegungen zu einer sicheren MAC-Konstruktion:

MAC des XOR der Blocks, d.h. t :=Mack(L i=1mi).

Problem: Tag t ist z.B. gültig für m1m2m3. . .m.

MAC jeden Blocks, d.h. t =t1. . .tfür ti :=Mack(mi).

Problem: t =t2t1t3. . .tist gültig für m =m2m1m3. . .m. MAC mit Block-Seriennummer, d.h. ti :=Mack(i||mi).

Problem: t =t1. . .t1ist gültig für m =m1. . .m1. MAC mit Nachrichtenlänge, d.h. ti :=Mack(ℓ||i||mi).

Problem: Seien t =t1. . .t, t =t1 . . .t gültig für m,m. Dann ist

(10)

Sicherer MAC für Nachrichten variabler Länge

Algorithmus MAC ΠMAC2 variabler Länge

SeiΠ = (Gen,Mac,Vrfy)ein MAC für Nachrichten der Länge n.

1 Gen: kGen(1n)

2 Mac: Sei k ∈ {0,1}nund m=m1. . .m∈({0,1}n4). Wähle rR{0,1}n4 und berechne

tiMack(r||ℓ||i||mi)für i =1, . . . , ℓ,

mit Kodierungenℓ,i ∈ {0,1}n4. Ausgabe des Tags t = (r,t1. . .t).

3 Vrfy: Für(m,t) = (m1. . .m,r,t1, . . . ,t) Ausgabe=

(1 fallsVrfyk(r||ℓ||i||mi,ti) =1füri =1, . . . , ℓ

0 sonst .

Anmerkung:

Benötigenℓ <2n4, sonst kannℓnicht mit n4 Bits kodiert werden.

(11)

Sicherheit von Π

MAC2

Satz Sicherheit vonΠMAC2

SeiΠ sicher. Dann istΠMAC2 ebenfalls sicher.

Beweis:

SeiAein Angreifer fürΠMAC2 mit Erfolgswsǫ(n).

Wir konstruieren einen AngreiferAfürΠ. Algorithmus Angreifer A

EINGABE: 1n, Orakel Mack(·).

1 Beantworte Mack(m1. . .m)-Anfragen vonAwie folgt: Wähle rR {0,1}n4 und berechne ti =Mack(r||ℓ||i||mi)für i =1, . . . , ℓ.

2 (m,t) = (m . . .m,r,t . . .t)← AMack(·)(1n).

(12)

Sicherheit von Π

MAC2

MacforgeA′,Π(n)

kGen(1n)

¯t(j)i ←Mack( ¯m(j)i )

Q=S

i,jm¯(j)i

Ausgabe: 1, falls Vrfyk( ¯mi, ti) = 1 undmi/Q

1n

¯ m(j)i

¯t(j)i

( ¯mi, ti)

A

r(j)R{0,1}n/4

¯

m(j)i =r(j)||ℓ||i||m(j)i uri= 1, . . . , ℓ

t(j)= (r(j),¯t(j)1 , . . . ,¯t(j) ) Suche ein nicht angefragtes

¯

mi:=r||ℓ||i||mi

mit g¨ultigem Tag ti in(m, t).

1n m(j)

t(j) (m, t)

A

ahleQ⊂ Mmit Q={m(1), . . . , m(q)}, m(j)=m(j)1 , . . . , m(j)

undm(j)i ∈ {0,1}n4.

Berechne t= (r, t1, . . . , t) ur einm /Q

Referenzen

ÄHNLICHE DOKUMENTE

Τα δοχεία μελανιού που εγκαθίστανται για πρώτη φορά στον εκτυπωτή σας θα χρησιμοποιηθούν εν μέρει για την πλήρωση της κεφαλής εκτύπωσης.. Τα επόμενα

EN For detailed information and safety recommendations, refer to the User’s Guide (installed with the software).. DE Ausführliche Informationen und Sicherheitsempfehlungen finden

• Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials

If you want to access your Mac Disk using a special Macintosh system diskette (for example J one with C/. new release of the Finder),You must copy the Davong Irf§tall

• Die L ¨ange des Padding wird so eingestellt, daß eine volle Blockl ¨ange der Kompressionsfunktion von h erreicht wird.. • Damit wird bei der zweiten Berechnung von h nicht

Folgerung: 2 b/2 bestm ¨ogliche Sicherheit bem CBC-MAC, 2 b/2 Schritte gen ¨ugen, um CBC-MAC von zuf ¨alliger Funktion zu unterscheiden..

Man kann zeigen: Ist die Blockchiffre eine pseudozuf ¨allige Funktion, so auch der CBC-MAC..

Die L ¨ange des Padding wird so eingestellt, daß eine volle Blockl ¨ange der Kompressionsfunktion von h erreicht wird. Damit wird bei der zweiten Berechnung von h auch nicht