• Keine Ergebnisse gefunden

CBC-MAC Sicherheit

N/A
N/A
Protected

Academic year: 2022

Aktie "CBC-MAC Sicherheit"

Copied!
4
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Konstruktion von MACs

Folgende Konstruktionstypen k ¨onnen unterschieden werden:

•MACs aus Blockchiffren im CBC Modus.

•MACs aus MDCs.

•Spezielle Konstruktionen.

CBC-MACs sind sehr weit verbreitet.

•Standardisiert z.B. in FIPS-113 von 1985.

Erhalten in der Regel Sicherheit von nurlog2(#H)/2Bits.

3 8. November 2007

Hash-then-Encrypt

Naheliegend, hat aber keine guten Eigenschaften.

hHashfunktion undEkBlockchiffre.

MAC-Wert vonxistEk(h(x)).

Nachteile:

•Kollisionen k ¨onnen ohnekbestimmt werden.

•Kollisionen haben gleichen MAC f ¨ur verschiedenek.

Ekdarf kein Stromchiffre sein (f ¨ur bekanntesxkann man nach dem Schl ¨usselstrom aufl ¨osen).

4 8. November 2007

Message Authentication Codes

Entspricht Hashfunktionen mit geheimen Schl ¨usseln.

h : K×MH,MAC = hk(m).

hparametrisierte Hashfunktion.

mNachricht.

kgeheimer Schl ¨ussel.

Mit der Nachrichtmwirdhk(m) ¨ubertragen. Der Empf ¨anger berechnet hk(m)ausmundkund vergleicht mit dem gesendeten MAC.

Liefert Datenintegrit ¨at und Authentizit ¨at.

1 8. November 2007

Sicherheitsmodell

Der ideale MAC ist wieder eine Zufallsfunktion, f ¨ur jedeskK sollhk nicht von einer

”zuf ¨allig“ gew ¨ahlten FunktionMHunterscheidbar sein.

Spezieller betrachten wir auch folgendes (schw ¨acheres) Sicherheitsmodell (*):

•Ein Angreifer darfhk(mi)f ¨ur beliebig von ihm vorgegebene Nachrichtenmierhalten (Orakelanfragen).

•Der Angreifer gewinnt (erzeugt eine F ¨alschung), wenn er einm undymity = hk(m)berechnet.

•MAC ist sicher, wenn es keinen effizienten Angreifer gibt, der mit signifikanter Wahrscheinlichkeit gewinnt.

Sicherheit eines idealen MAC ist gleich der Anzahllog2(#H)der Bits der MAC-Werte (d.h. Raten ist bereits die beste Strategie).

2 8. November 2007

(2)

CBC-MAC Sicherheit

Gilt als sicher,

•wenn Blockchiffre sicher ist und

•wenn die Nachrichtenl ¨ange konstant ist.

Man kann zeigen: Ist die Blockchiffre eine pseudozuf ¨allige Funktion, so auch der CBC-MAC. Nur durch mindestens ungef ¨ahr2b/2Anfragen an die Blockchiffre kann der CBC-MAC von einer zuf ¨alligen Funktion unterschieden werden.

Ist aber unsicher, wenn die Nachrichtenl ¨ange nicht konstant ist:

•Erfragey1hk(m1).

•Erfragey2hk(y1||m2).

•Nun gilty2= hk(m1||0b||m2). Liefert eine F ¨alschung.

Abhilfe:hh(|m|)(m)oderhk(|m| ||m)(also Padding) verwenden.

7 8. November 2007

CBC-MAC Sicherheit

Geburtstagsangriff auf CBC-MAC mit fester Nachrichtenl ¨anged:

•W ¨ahle1.18·2b/2 Nachrichtenmi= m1,i||m2,i||m3mitm1,i∈ {0,1}b paarweise verschieden,m2,i∈ {0,1}bzuf ¨allig undm3∈ {0,1}d−2b beliebig.

•Erfrage allehk(mi). Es ergibt sich eine Kollisionhk(mi) = hk(mj)f ¨ur i6= jmit Wahrscheinlichkeit≥1/2.

•Daraus folgtE(k,m1,i)⊕m2,i= E(k,m1,j)⊕m2,j.

•W ¨ahle beliebigesmδ∈ {0,1}bund erfrage yhk(m1,i||(m2,imδ)||m3).

•Nun gilty = hk(m1,j||(m2,jmδ)||m3). Liefert eine F ¨alschung.

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

8 8. November 2007

CBC-MAC

Verwendet eine BlockchiffreE : K× {0,1}b→ {0,1}b. CBC-MAC von NachrichtM∈ {0,1}unter Schl ¨usselk:

•SchreibeM = M1||. . .||MnmitMi∈ {0,1}b(und Padding).

y0IV←0b.

•F ¨uri←1, . . . ,n:

yiE(k,yi−1mi).

•Ausgabeyn.

In anderen Worten: Der CBC-MAC ist der letzte Chiffretextblock der Verschl ¨usselung vonmmitE im CBC Modus, unter Verwendung des konstantenIV = 0b.

Vorteil: Leicht aus bestehenden Teilen programmiert.

5 8. November 2007

CBC-MAC Padding und Postprocessing

In den Standards sind drei Padding Varianten vorgesehen:

•Nullen anh ¨angen.

•Eine Eins und Nullen anh ¨angen.

•Nullen anh ¨angen und zus ¨atzlichen Block mit Nachrichtenl ¨ange.

Man kann ein optionales Postprocessing vornehmen:

•W ¨ahle Schl ¨usselk1. Dann MAC-WertE(k,D(k1,yn)). Entspricht EDE-Verschl ¨usselung im letzten Schritt.

•W ¨ahle Schl ¨usselk1. Dann MAC-WertE(k1,yn). Entspricht EE-Verschl ¨usselung (nicht besonders gut).

Erschwert exhaustive Key-search.

6 8. November 2007

(3)

Geschachtelte MACs

Seieng : K1× {0,1}→ {0,1}mundh : K2× {0,1}m→ {0,1}nmitmn.

Wir zeigen: Istgk1kollisionsresistent bei unbekanntem Schl ¨ussel und hk2ein sicherer (*) MAC, so isthk2gk1ein sicherer (*) MAC.

Wir betrachten dazu folgende Angreifer:

1. Kollisionsangriff bei unbekanntem Schl ¨ussel:k1ist geheim, der Angreifer erh ¨alt trotzdem die Wertegk1(m)f ¨urmseiner Wahl. Er versucht eine Kollisiongk1(mi) = gk1(mj)mitmi6= mjzu finden.

2. Kleiner MAC Angreifer: Angreifer gegenhk2. 3. Großer MAC Angreifer: Angreifer gegenhk2gk1. Erwartete (ideale) Sicherheit bei 1. istm/2Bits.

Erwartete (ideale) Sicherheit bei 2. istnBits.

11 8. November 2007

Geschachtelte MACs

Ein(ε,q,t)-Angreifer gegen 1, 2 oder 3 f ¨uhrt einen erfolgreichen Angriff bei zuf ¨alliger und gleichverteilter Schl ¨usselwahl mit WahrscheinlichkeitεundqOrakelanfragen in Zeitt aus.

Thm: Gibt es einen(ε,q,t)-Angreifer gegen 3, so gibt es auch einen1,q + 1,t)-Angreifer gegen 1 und einen2,q,t)-Angreifer gegen 2 mitε12=ε.

Anwendung: Falls es keinen(≥ε,≤q,t)-Angreifer gegen 1 oder 2 gibt, so gibt es auch keinen(≥2ε,≤q−1,≤t)-Angreifer gegen 3.

Bew: SeiA3ein(ε,q,t)-Angreifer gegen 3. Seien(mi,zi)

f ¨ur1≤iqdie Orakelanfragen vonA3und die Ergebnisse. Es gilt hk2(gk1(mi)) = zi. Mit WahrscheinlichkeitεliefertA3eine F ¨alschung (m,z), es gilt alsom6= mif ¨ur alleiundhk2(gk1(m)) = z.

12 8. November 2007

MACs aus MDCs

Gegeben eine Hashfunktionh :{0,1}→ {0,1}b. Drei einfache Varianten:

1. MAC= h(k||m) 2. MAC= h(m||k) 3. MAC= h(k1||m||k2)

Liefern f ¨ur ideale Hashfunktion idealen MAC. F ¨ur iterierte Hashfunktionen aber nicht besonders sicher:

Annahme:hiteriert, alsoh0= IV,hi+1= f (hi,mi), ...

zu 1. Aush(k||m)kann leichth(k||m||m)bzw.h(k||m||p||m)

ausgerechnet werden, wobeipdas Padding der Hashfunktion ist.

9 8. November 2007

MACs aus MDCs

zu 2. Finde Kollisionh(m) = h(m)(

”offline“ m ¨oglich). Erfrage yh(m||k). Dann isty = h(m||k)eine F ¨alschung.

( Ist im Prinzip ein Hash-then-encrypt Ansatz, auf den ein analoger Angriff m ¨oglich ist. )

zu 3. Durch Erfragen der MACs findet man eine Kollision

h(k1||mi||k2) = h(k1||mj||k2). Dann gilt auchh(k1||mi) = h(k1||mj)mit nicht zu geringer Wahrscheinlichkeit (h7→f (h,k2)sollte im wesentlichen injektiv sein).

Man sucht nun einfach inKnachk1und dann nachk2. Der Aufwand ist damit2#Kstatt#K2...

Die Konstruktionen 1-3 werden daher so nicht verwendet.

10 8. November 2007

(4)

Geschachtelte MACs

Der AngreiferA1gegen 1 wird wie folgt definiert: Er w ¨ahlt ein zuf ¨alligesk2und beantwortet die Orakelanfragen vonA3 mit zi= hk2(gk1(mi)), wobei er den Wertgk1(mi)durch sein Orakel erh ¨alt.

NachdemA3den Wert(m,z)ausgegeben hat, berechnetA1den Wert gk1(m)durch Orakelanfrage und gibtm,mials Kollision aus, falls es ein imitgk1(m) = gk1(mi)gibt. Es giltm6= mi, so daßA1die Spielregeln befolgt.

Der AngreiferA2gegen 2 wird wie folgt definiert: Er w ¨ahlt ein zuf ¨alligesk1und beantwortet die Orakelanfragen vonA3 mit

hk2(gk1(mi))unter Verwendung seines Orakels f ¨urhk2. NachdemA3den Wert(m,z)geliefert hat, gibtA2 den Wert(gk1(m),z)als F ¨alschung aus, fallsgk1(m)6= gk1(mi)f ¨ur alleigilt. Das Orakelhk2wurde dann nicht nachgk1(m)gefragt, so daß auchA2 die Spielregeln befolgt.

13 8. November 2007

Geschachtelte MACs

A1undA2 rufen einmalA3 auf.

A1: Laufzeit≈t, Orakelanfragenq + 1, Erfolgswahrscheinlichkeit=:ε1. A2: Laufzeit≈t, Orakelanfragenq, Erfolgswahrscheinlichkeit=:ε2. F ¨urA3macht es keinen Unterschied, ob er vonA1oderA2

aufgerufen wird (in beiden F ¨allen sindk1,k2 zuf ¨allig gew ¨ahlt).

Zufallsquelle vonA3als Eingabebitstringσ∈ {0,1}sauffassen,A1und A2unter Einbeziehung der Orakel zu deterministischen Algorithmen A1,A2machen, diek1,k2,σals Parameter bekommen.

A3hat inA1undA2f ¨ur gleiches, zuf ¨alligesk1,k2,σdie gleiche Erfolgs- wahrscheinlichkeit, liefert gleichemi,m,z. WennA3f ¨ur gew ¨ahlte k1,k2,σErfolg hat, dann auch entwederA1oderA2f ¨urk1,k2,σ. Daraus folgtε=ε12.

14 8. November 2007

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

Default is all files, if you want only certain types then click on 'Files Copied of Type', you will be prompted for what type. Also Default is that files with same name will not

Unter allen Ortsbogen über der Strecke b suchen wir den kleinsten (entspricht dem größten Winkel), der die Fahrtrichtung gerade noch erreicht, also tangential dazu

• 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

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