• Keine Ergebnisse gefunden

Erste Variante

N/A
N/A
Protected

Academic year: 2022

Aktie "Erste Variante"

Copied!
4
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

CPA Sicherheit zu wenig

CPA Sicherheit ist im allgemeinen viel zu wenig, Beispiel Bleichenbachers Angriff (1998):

Problematische Verwendung von RSA in PKCS #1 v1.5, insbesondere SSL v3.0 ist nicht CCA2 sicher (https://...)!

G ¨ultige Klartextemsind von der Form(00||02||PS||00||D), f ¨ur einen Padding StringPSund DatenD. Es werden nur die ersten beiden Bytes getestet.

Angriff:

•Schicke Chiffretextec= csemod nzum Entschl ¨usseln.

•Wenn Fehler, dann sind die ersten Bytes ungleich00||02, sonst gleich. Erhalten also, obsmin einem gewissen Intervall liegt oder nicht.

•Ahnliches Vorgehen wie bei der Intervallfunktion¨ f liefertm.

3 5. Dezember 2006

CPA Sicherheit zu wenig

Im SSL v3.0 wird noch die Versionsnummer den DatenD vorangestellt.

Dies scheint Bleichenbachers Angriff zu erschweren.

Aber: Umgang mit ung ¨ultigen Chiffretexten ist nicht spezifiziert bzw.

ist schwierig.

•Server ¨uberpr ¨uf(t)en Versionsnummer nicht.

•Server test(et)en die Bedingungen und liefer(te)n Fehlermeldung, wo das Problem liegt.

4 5. Dezember 2006

Sicherheit durch Padding

”Padding“ eigentlich besser

”Encoding“ oder

”Embedding“ ...

Plain RSA ist unsicher, im folgenden betrachten wir Modifikationen oder Padding schemes, welche es sicher machen. Zur Erinnerung:

Sicherheitsstufen:

•OW Sicherheit (one-wayness)

•IND Sicherheit (indistinguishability)

•NM Sicherheit (non-malleability) Angreifertypen:

•CPA (chosen plaintext attack). Angreifer passiv.

•CCA1 (non-adaptive chosen ciphertext) und CCA2 (adaptive chosen ciphertext attack). In beiden F ¨allen Angreifer aktiv.

Thm: IND-CCA2 ist ¨aquivalent zu NM-CCA2.

1 5. Dezember 2006

Sicherheit von Plain RSA und Rabin

Wr nehmen an, daß das RSA und Rabin Problem schwierig ist.

Plain RSA dann OW-CPA sicher, auch OW-CCA1 sicher?

(Invertieren der RSA Funktion impliziert Faktorisieren?).

Rabin ist OW-CPA sicher, aber nicht OW-CCA1 sicher.

(Wurzelziehen impliziert Faktorisieren).

Sind nicht IND: Gegebenc,m1,m2, verschl ¨usseleci= me1mod nund gib imitci= czur ¨uck.

Sind nicht NM:c= cseist Chiffretext vonms, wennc = memod n.

Sind nicht PA (plain text aware): Die RSA Funktion ist bijektiv, jedesc∈Z/nZist Chiffretext. ¨Ahnlich f ¨ur die Rabin Funktion.

2 5. Dezember 2006

(2)

Erste Variante

Thm: Die erste Variante ist IND-CPA sicher.

Bew: SeiAein Algorithmus f ¨ur einen Angriff gegen IND, welcher mit Wahrscheinlichkeit1/2 +εErfolg hat. Gegeben sei ein zuf ¨allig gew ¨ahltesy. Wir w ¨ahlenm1,m2,zzuf ¨allig und rufenAmitm1,m2und (y,z)auf. Hier ist(y,z)ein g ¨ultiger Chiffretext, nur sind uns das entsprechender = f−1(y)undm = zH(r)unbekannt. Die Orakelanfragen anH vonAwerden von uns beantwortet. Mit Wahrscheinlichkeit≥εstelltAdie OrakelanfrageH(r), sonst h ¨atteA keine Information ¨uberH(r)und damitm, und h ¨atte folglich

Erfolgswahrscheinlichkeit1/2. Gegebenyerhalten wir alsoraus dem Orakel mit Erfolgswahrscheinlichkeit≥ε.

Allg. Beweisidee: Wir implementierenH und benutzenAdazu, ein schwieriges Problem zu l ¨osen, hier Urbilder unter f auszurechnen.

7 5. Dezember 2006

Erste Variante

Thm: Die erste Variante ist IND-CCA1 sicher.

Bew: Der Beweis ist wie eben, nur m ¨ussen wir zus ¨atzlich die

Entschl ¨usselungsanfragen vonAsimulieren. Dies geschieht wie folgt.

IstH(y)undefiniert, definieren wir es als zuf ¨alligen Wert. Auf Eingabe von(y,z)antworten wir mitm = zH(y). Auf eine HashanfrageH(r)

¨uberpr ¨ufen wir, obH(r)bereits definiert ist. Ist es undefiniert, setzen wirH(r) = H( f (r)).

Seiyzuf ¨allig gegeben. In der Fragephase erhalten wir eine Anfrage zur Entschl ¨usselung von(y,z)mit insignifikanter Wahrscheinlichkeit.

Folglich istH(r)mitr = f−1(y)in der Aufgabenphase undefiniert, so daßrvonAwie oben berechnet werden kann.

Algemeine Beweisidee: Wir implementieren zuH auch ein Entschl ¨usselungsorakel, und benutzen passivesAwie oben.

8 5. Dezember 2006

IND-CCA2 Sicherheit

Wir nehmen vereinfachend an, daß wir eine Einwegpermutation f :{0,1}n→ {0,1}nmit Fallt ¨ur betrachten (z.B. die RSA Funktion).

Wir betrachten jetzt Kryptosysteme, die einen Sicherheitsbeweis im Zufallsorakelmodell haben.

•Ergibt keine Sicherheit in der

”real world“, wo eine durch ein Zufallsorakel modellierte Hashfunktion durch eine konkrete Hashfunktion (SHA-1) ersetzt wird.

•Aber Sicherheit gegen die Klasse von Angriffen, die keine speziellen Eigenschaften der Hashfunktionen ausnutzen.

•Solche treten in der Praxis besonders h ¨aufig auf.

5 5. Dezember 2006

Erste Variante

SeiH :{0,1}→ {0,1}nein Zufallsorakel.

Verschl ¨usseln vonm∈ {0,1}n:

•W ¨ahler∈ {0,1}nzuf ¨allig.

•Berechney = f (r)undz = mH(r).

•Ausgabe des Chiffretexts(y,z).

Entschl ¨usseln von(y,z):

•Berechner = f−1(y)mit der Fallt ¨urinformation.

•Berechnem = zH(r).

•Ausgabe der Nachrichtm.

6 5. Dezember 2006

(3)

Zweite Variante

Thm: Die zweite Variante ist IND-CCA2 sicher.

Bew:H,Hwerden simuliert, wie sie sind. Eine Entschl ¨usselungs- anfrage bzgl.(y,z,q)geht wie folgt vor: ¨Uberpr ¨ufe in der Definition von H, ob esr,mmity = f (r),q = H(r,m)undm = zH(r)gibt. Wenn nein, dann Antwort

”ung ¨ultig“. Wenn ja, dann Anwortm(f ¨ur einen g ¨ultigen Chiffretext(y,z,q)istH(r,m)nur mit insignifikanter Wahrscheinlichkeit nicht definiert, daher kein zu großer Fehler hier).

Gegebenyw ¨ahlen wir zuf ¨alligesz,q,mund wendenAaufm,(y,z,q) wie beim IND-CPA Angriff an.Afragt nicht nach der Entschl ¨usselung von(y,z,q), sondern muß bei Erfolgswahrscheinlichkeit1/2 +εwieder H(r)mit Wahrscheinlichkeit≥εerfragen, was unsrliefert.

11 5. Dezember 2006

Fazit

Beweistechnik f ¨ur IND-CCA1 und IND-CCA2 Sicherheit:

•CPA Angreifer passiv, l ¨ost schwieriges Problem, berechnet also Urbild unter Einwegfunktion f ohne Fallt ¨urinformation. Wir m ¨ussen nur Hashfunktion simulieren.

•CCA1 und CCA2. Wir m ¨ussen Hashfunktion(en) und Entschl ¨usselungsanfragen simulieren, ohne Fallt ¨ur von f zu kennen. Damit Reduktion von aktivem auf passiven Angreifer.

•Bedingung an Entschl ¨usselungsanfragen in CCA1 und CCA2 bewirkt, daß wir mit CPA Angreifer schwieriges Problem mit uns unbekannter L ¨osung l ¨osen k ¨onnen. Es soll nichts gel ¨ost werden, dessen L ¨osung wir vorher simuliert haben.

12 5. Dezember 2006

Erste Variante

Die erste Variante ist aber nicht CCA2-sicher.

Ein OW-CCA2-Angriff geht wie folgt:

•Zu(y,z)w ¨ahledzuf ¨allig und erfrage Entschl ¨usselungm von(y,zd).

•Berechnem = md. Dann istmEntschl ¨usselung von(y,z).

Das Problem ist also, daß man Chiffretexte ab ¨andern kann (malleability), und so die Entschl ¨usselungen legal erfragen kann.

Abhilfe: Plaintext awareness, man soll keine Chiffretexte erzeugen k ¨onnen, wenn man nicht schon den Klartext kennt.

Dies beseitigt auch das Problem der ung ¨ultigen Klartexte wie beim Bleichenbacher Angriff.

9 5. Dezember 2006

Zweite Variante

SeienH,H:{0,1}→ {0,1}nunabh ¨angige Zufallsorakel.

Verschl ¨usseln vonm∈ {0,1}n:

•W ¨ahler∈ {0,1}nzuf ¨allig.

•Berechney = f (r)undz = mH(r).

•Berechneq = H(r,m).

•Ausgabe des Chiffretexts(y,z,q).

Entschl ¨usseln von(y,z,q):

•Berechner = f−1(y)mit der Fallt ¨urinformation.

•Berechnem = zH(r).

•Berechneq= H(r,m). Wennq6= q, dann Ausgabe ung ¨ultig.

•Ausgabe der Nachrichtm.

10 5. Dezember 2006

(4)

OAEP

Thm: Die RSA Funktion ist auch eine partielle Einwegpermutation, sofern sie eine Einwegfunktion ist.

Es gibt weitere Padding Verfahren:

•OAEP+

•SEAP, SAEP+

OAEP+= ((mH(r))||W (m,r))||(rG((mH(r))||W (m,r))).

SAEP(m,r) = ((m||0s0)⊕H(r))||r.

SAEP+(m,r) = ((m||G(m||r))H(r))||r.

(W,s0,G,H passend).

In OAEP und OAEP mit RSA Modul von 1024 Bits kann man bis 768 Bit Nachrichten sicher verschl ¨usseln. In SAEP+ nur bis 384 Bits. Sind jeweils IND-CCA2 sicher f ¨ur Einwegpermutationen mit Fallt ¨ur.

15 5. Dezember 2006

OAEP

OAEP = Optimal Asymmetric Encryption Padding.

Wird in PKCS #1 verwendet. Gutes Verh ¨altnis der Bitl ¨angen von Nachrichten und Chiffretexten (daher

”optimal“).

Sei f :{0,1}k→ {0,1}keine Permutation.

Seienk0,k1mitk0+ k1<kund2−k0,2−k1vernachl ¨assigbar.

Sein = kk0k1undG :{0,1}k0→ {0,1}n+k1,H :{0,1}n+k1→ {0,1}k0 unabh ¨angige Zufallsorakel.

Verschl ¨usseln vonm∈ {0,1}n(Ziel Chiffretext = Ausgabe von f):

•W ¨ahler∈ {0,1}k0zuf ¨allig.

•Berechney = (m||0k1)⊕G(r)undz = rH(y).

•Berechnec = f (y||z). Ausgabe des Chiffretextsc.

13 5. Dezember 2006

OAEP

Entschl ¨usseln vonc:

•Berechne(y||z) = f−1(c)mit der Fallt ¨urinformation.

•Berechner = zH(y)und(m||s) = yG(r).

•Wenns6= 0k1, dann ung ¨ultig. Sonst Ausgabe der Nachrichtm.

Betrachte f :{0,1}k→ {0,1}n+k1× {0,1}k0und die Projektionπ:{0,1}n+k1× {0,1}k0→ {0,1}n+k1.

f ist eine partielle Einwegpermutation, wennπ◦f eine Einwegfunktion ist.

Thm: OAEP ist IND-CCA2 sicher, wenn f eine partielle

Einwegpermutation ist. F ¨ur beliebige Einwegpermutationen ist dies falsch (sicher nicht unbedingt im praktischen Sinn, siehe auch Diskussion in PKCS #1).

14 5. Dezember 2006

Referenzen

ÄHNLICHE DOKUMENTE

Mathematik III f¨ ur Wirtschaftsingenieure/–informatiker Pr¨ ufungsklausur 19.. Mathematik III f¨ ur Wirtschaftsingenieure/–informatiker Pr¨ ufungsklausur 19. , 1) &gt;

[r]

Zeiterfassung (2 Punkte) Deklarieren und definieren Sie eine Funktion time, die aus einer Sequenz von Auf- tr¨ agen, die Summe der Wartezeiten f¨ ur alle Schalter liefert.. Benutzen

eines Verzeichnisses (2 Punkte) Deklarieren und definieren Sie eine Funk- tion umbenennen, die eine struktur (Datei oder Verzeichnis) umbenennt, wenn das Zugriffsrecht (schreibend)

(Beachten Sie, dass die Regel “g¨ unstige F¨ alle/m¨ ogliche F¨ alle” hier nicht angewendet werden kann, weil nicht alle Elementarereignisse gleiche Wahrscheinlichkeit

Die Erfolgswahrscheinlichkeit ¨ andert sich also mit jeder gezogenen Person und ist von der vorhergehenden Wahl abh¨ angig.. Damit sind die beiden Grundannahmen der

Mit welcher Verteilung l¨ asst sich die Anzahl Frauen in diesem Team am besten

Wie viele Schritte ben¨ otigen Sie