• Keine Ergebnisse gefunden

Sicherheitsspiel Mac-forge

N/A
N/A
Protected

Academic year: 2022

Aktie "Sicherheitsspiel Mac-forge"

Copied!
15
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üsselk.

Alice berechnet fürmeinen MAC-Tagt als Funktion vonmundk. Alice sendet das Tupel(m,t)an Bob.

Bob verifiziert, dasstein gültiger Tag fürmist.

DefinitionMessage Authentication Code (MAC) EinMessage Authentication Code (MAC)bzgl. des NachrichtenraumenMbesteht aus den ppt Alg.

1 Gen:k ←Gen(1n)

2 Mac:Bei Eingabe vonk undm∈ Mberechnet ←Mack(m).

3 Vrfy:Bei Eingabe(m,t)und Schlüsselk berechne (

(2)

Sicherheitsspiel Mac-forge

SpielSicherheit von MACs Mac-forge

SeiΠein MAC mit Sicherheitsparameternund AngreiferA.

1 k ←Gen(1n)

2 (m,t)← AMack(·)(1n). SeiQdie Menge allerMack(·)-Anfragen vonAan sein Orakel.

3 Mac-forgeA,Π(n) =

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

0 sonst .

DefinitionSicherheit eines MACs

Ein MACΠheißtexistentiell unfälschbar gegenüber adaptiv gewählten Angriffenbzw. kurzsicherfalls 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 voni||mfür eindeutigei.

MAC-Sicherheit:Akann nicht MAC füri0||mberechnen.

Zeitstempel:

Sender berechnet MAC vonSystemzeit||m.

Empfänger verifiziert, dass dieSystemzeit aktuell ist.

(5)

Konstruktion eines sicheren MACs fester Länge

Algorithmus MACΠMAC fester Länge

SeiF eine Pseudozufallsfunktion mit Blocklängen. Wir konstruieren einen MAC für Nachrichtenm∈ {0,1}n.

1 Gen:Wählek ∈R {0,1}n.

2 Mac:Fürm,k ∈ {0,1}nberechnet:=Fk(m).

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

(1 fallst =Fk(m)

0 sonst .

(6)

Sicherheit von Π

MAC

SatzSicherheit vonΠMAC

SeiF eine Pseudozufallsfunktion. Dann istΠMAC sicher.

Beweis:

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

Wir konstruieren UnterscheiderDfür Pseudozufallsfunktionen.

Algorithmus UnterscheiderD

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

1 (m,t)← AMack(·), beantworteMack(m0)-Anfragen mitt0 :=O(m0).

2 SeiQdie Menge aller vonAgestelltenMack(·)-Anfragen.

AUSGABE=

(1 fallst0 =O(m0)∧m0∈/ 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, m0i∈ 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[DFk(·)(n) =1] =Ws[Mac-forgeA,Π

MAC(n) =1] =(n).

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

SeiΠ0 das ProtokollΠMAC mitf(·)stattFk(·).

Für allem∈/Qistt =f(m)uniform verteilt in{0,1}n. Damit gilt

Ws[Df(·)(n) =1] =Ws[Mac-forgeA,Π0(n) =1] = 21n. Aus der Pseudozufälligkeit vonFk folgt für alle pptD

negl(n)≥

Ws[DFk(·)(n) =1]−Ws[Df(·)(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ürm=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: Tagtist z.B. gültig fürm1m2m3. . .m`.

MAC jeden Blocks, d.h.t=t1. . .t`fürti :=Mack(mi).

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

Problem:t0 =t1. . .t`−1ist gültig fürm0 =m1. . .m`−1. MAC mit Nachrichtenlänge, d.h.ti :=Mack(`||i||mi).

Problem: Seient =t1. . .t`,t0 =t10 . . .t`0 gültig fürm,m0. Dann ist

0 0

(10)

Sicherer MAC für Nachrichten variabler Länge

Algorithmus MACΠMAC2 variabler Länge

SeiΠ0 = (Gen0,Mac0,Vrfy0)ein MAC für Nachrichten der Längen.

1 Gen:k ←Gen(1n)

2 Mac:Seik ∈ {0,1}nundm=m1. . .m`∈({0,1}n4)`. Wähler ∈R{0,1}n4 und berechne

ti ←Mack0(r||`||i||mi)füri =1, . . . , `,

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

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

(1 fallsVrfyk0(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

SatzSicherheit vonΠMAC2

SeiΠ0 sicher. Dann istΠMAC2ebenfalls sicher.

Beweis:

SeiAein Angreifer fürΠMAC2mit Erfolgsws(n).

Wir konstruieren einen AngreiferA0fürΠ0. Algorithmus AngreiferA0

EINGABE: 1n, OrakelMack0(·).

1 BeantworteMack(m1j . . .m`j0)-Anfragen vonAwie folgt: Wähle rjR {0,1}n4 und berechne¯tji =Mac0k(rj||`||i||mij)füri=1, . . . , `.

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

(12)

Sicherheit von Π

MAC2

MacforgeA0,Π0(n)

kGen0(1n)

¯tij=Mac0k m¯ij

Q0=S

i,jm¯ij

Ausgabe: 1, falls Vrfy0k( ¯mi, ti) = 1 undmi/Q0

1n

¯ mij

¯tij

( ¯mi, ti)

A0

rjR{0,1}n/4

¯

mij=rj||`||i||mij uri= 1, . . . , ` tj= (rj,¯t1j, . . . ,¯t`j)

Suche ein nicht angefragtes

¯

mi:=r||`||i||mi

mit g¨ultigem Tag tiin (m, t).

1n

mj

tj (m, t)

A

ahleQ⊂ Mmit Q={m1, . . . , mq}, mj=m1j, . . . , m`j undmij∈ {0,1}n4.

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

(13)

Sicherheit von Π

MAC2

Wir definieren die folgenden Ereignisse

Forge: Ein Blockm¯i =r||`||i||mi in(m,t)wurde nicht an Mac0k(·) angefragt, aber Vrfy0k( ¯mi,ti) =1.

Repeat: Bei 2 MAC-Anfragen wird dasselberi =rj verwendet.

Aufgrund der Sicherheit vonΠ0gilt negl(n) ≥ Ws[Mac-forgeA00(n) =1]

= Ws[Mac-forgeA,Π

MAC2(n) =1∧Forge]

= (n)−Ws[Mac-forgeA,Π

MAC2(n) =1∧Forge]

= (n)−Ws[Mac-forgeA,Π

MAC2(n) =1∧Forge∧Repeat]

| {z }

1

−Ws[Mac-forge (n) =1∧Forge∧Repeat]

(14)

Sicherheit von Π

MAC2

zu zeigen:Ws[Repeat]≤negl(n)

Seiq(n)die Anzahl der MAC-Anfragen vonAanA0. Bei deri-ten MAC-Anfrage wähleA0den Identifikatorri. Repeat tritt ein, fallsri =rj für eini6=j. Sei dies EreignisEi,j. Nach Geburtstagsparadoxon gilt:

Ws[Repeat] =Ws [

1≤i<j≤q(n)

Ei,j

≤ X

1≤i<j≤q(n)

Ws[Ei,j]

≤ q(n)2

2n4 =negl(n).

(15)

Sicherheit von Π

MAC2

zu zeigen:Ws[Mac-forgeA,Π

MAC2(n) =1∧Forge∧Repeat] =0 Idee:Mac-forgeA,ΠMAC2(n) =1 undRepeat impliziertForge.

Sei(m,t) = (m1. . .m`,r,t1. . .t`)die Ausgabe vonA.

Fall 1:Identifikatorr unterscheidet sich von allenri.

Dann ist (z.B.)r||`||1||m1nicht-angefragt mit gültigem Tagt1. Fall 2:r =ri für genau eini ∈[q(n)].

Seimi =m1i . . .m`ii die vonAangefragte Nachricht.

Fall`6=`i: Dann istr||`||1||m1nicht-angefragt mit gültigem Tagt1. Fall`=`i: Wegenm∈/ Qgiltm6=mi.

D.h. es existiert einj, so dassmj 6=mji.

Damit wurder||`||j||mj nicht angefragt. Tagtj ist dafür gültig.

Referenzen

ÄHNLICHE DOKUMENTE

Aufgabe Geburtstagsattacke (8 Punkte) Alice schickt an Bob eine Mail, in der festgehalten wird, daß Bob das Auto von Alice f¨ur 1000 Euro kaufen m¨ochte.. Die Mail enth¨alt

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..

Alice schickt an Bob als ein Kaufvertrag eine Email mit dem digitalen Unterschrifft σ, in der festge- halten wird, dass Bob das Auto von Alice f¨ur 1000 Euro kaufen m¨ochte..

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

Alice schickt an Bob eine Mail, in der festgehalten wird, daß Bob das Auto von Alice f¨ur 1000 Euro kaufen m¨ochte.. Die Mail enth¨alt

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

Im Herbst Dieselabg Verkehrsm Dieselbet Die alten  langen Vo der Aussc Die BOB h

Diese Anordnung eignete sich besonders für ältere Maschinen, deren Leistung den an sie herantretenden Anforderungen nicht mehr zu genügen vermochte, und viele Maschinen, die