• Keine Ergebnisse gefunden

Angriffe und Sicherheitsmodelle

N/A
N/A
Protected

Academic year: 2022

Aktie "Angriffe und Sicherheitsmodelle"

Copied!
6
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Bemerkungen

S undV sind effiziente Verfahren (z.B. Programme).

S undV d ¨urfen probabilistisch sein (d ¨urfen den Zufall verwenden).

S kann mehrdeutig sein ( ).

Im allgemeinen wird nur ein HashwertH(M)und nichtMselbt signiert (”Hash-then-Sign“):

•Effizienter, daH(M)viel k ¨urzer alsMist.

•Beweisbare Sicherheit von in der Praxis relevanten Verfahren (allerdings im Zufallsorakelmodell, RO).

Offenbar mußH kollisionsfrei sein, man kann keine zwei Nachrichten M1,M2mitH(M1) =H(M2)berechnen.

3 1. Juli 2004

Angriffe und Sicherheitsmodelle

Ziele des Angreifers:

•Existentielle F ¨alschung. Der Angreifer berechnet eine Signatur f ¨ur eine Nachricht.

•Universelle F ¨alschung: Der Angreifer kann Signaturen f ¨ur jede beliebige Nachricht berechnen.

•Total break: Der Angreifer berechnet den geheimen Schl ¨ussel des Signierers.

Orientierung

Haben bisher im Public-Key Bereich nur Verschl ¨usselung betrachtet.

Haben daf ¨ur geeignete mathematische Strukturen und ihre Eigenschaften diskutiert.

•RSA, Rabin: Restklassenringe modulon, Potenzieren als Einwegfunktionen mit Fallt ¨ur (x7→xe).

•Zyklische Gruppen von Primzahlordnung, Exponieren als Einwegfunktion ohne Fallt ¨ur (x7→gx).

Diese Strukturen und Einwegfunktionen k ¨onnen nun auch f ¨ur weitere kryptographische Aufgabenstellungen verwendet werden.

•Digitale Unterschriften.

•Schl ¨usselaustausch (von symmetrischen Schl ¨usseln).

•...

1 1. Juli 2004

Digitale Unterschriften

Auch digitale Signaturen genannt.

Nachrichten aus Nachrichtenraum:M∈M. Signaturen aus Signaturenraum:σ∈S.

Schl ¨ussel sind aus Schl ¨usselr ¨aumen:d∈K1,e∈K2. SignierungsverfahrenS :K1×M S.

VerifizierungsverfahrenV :K2×M×S→ {0,1}.

Signatur von Nachrichtmmit Schl ¨usseld: σ←S(d,M).

Verifizierung vonM,σmit Schl ¨ussele: f ←V(e,M,σ).

e ¨offentlicher Schl ¨ussel,dprivater Schl ¨ussel.

(2)

RSA Signatur

Wie auf voriger Folie mit RSA Funktion.

Prinzipielle Probleme (existenzielle F ¨alschungen):

•Homomorphie, Produkt von Signaturen ist Signatur des Produkts der Nachrichten.

•Elemente aus dem Signaturraum leicht hinschreibbar, Verschl ¨usseln liefert passende Nachricht.

•Abhilfe in beiden F ¨allen durch

”Hash-then-Sign“. Hash Funktion soll auch Einwegfunktion sein ...

Gemeinsame Verwendung mit RSA Verschl ¨usselung:

•Es sollten unterschiedliche Paare(d,e)verwendet werden.

•Sonst Angriff: Erhalte Chiffretextc=memodn, berechnecremodn f ¨urrzuf ¨allig, erfrage Signaturσ= (cre)d modnvoncremodn, berechnem=σ/r.

7 1. Juli 2004

RSA Signatur

In PKCS # 1 Version 2.1 werden zwei RSA Signaturverfahren definiert:

•PSS (probabilistisch, keine eindeutigen Signaturen)

•PKCS #1 Version 1.5

Hier geht es im wesentlichen um die Codierung der Nachricht, auf die dann die inverse RSA Funktion angewendet wird.

PSS und die Variante zwei Folien zuvor (mit surjektiver Hash Funktion, Full Domain Hash) sind sicher bez ¨uglich existenzieller F ¨alschung unter einem adaptiven chosen-message Angriff (im Zufallsorakelmodell).

PSS hat eine bessere Sicherheitsreduktion als FDH.

Angriffe und Sicherheitsmodelle

Informationen (F ¨ahigkeiten) des Angreifers in aufsteigender Reihenfolge:

•Key-only Angriff: Der Angreifer kennt nur den ¨offentlichen Schl ¨ussel des Signierers.

•Known-Signature Angriff: Der Angreifer erh ¨alt Nachrichten und die zugeh ¨origen Signaturen.

•Chosen-Message Angriff: Der Angreifer kann sich die Nachrichten aussuchen und erh ¨alt die zugeh ¨origen Signaturen.

Den letzte Variante gibt es auch in adaptiver Form.

St ¨arkstes Sicherheitsmodell: Sicherheit bez ¨uglich existenzieller F ¨alschung unter adaptiven Chosen-Message Angriffen.

5 1. Juli 2004

Signatur mit Einwegfunktion mit Fallt ¨ur

Seien f,h:{0,1}n× {0,1}m→ {0,1}mderart, daß es f ¨ur jedes (zuf ¨allige)e∈ {0,1}neind∈ {0,1}ngibt, so daß die Funktion f(e,·) eine Einwegfunktion mit Fallt ¨urdund inverser Funktionh(d,·)ist.

Beispiel: RSA Funktionenx7→xe,y7→yd. Dann f ¨urM∈ {0,1}m:

•Signieren:σ=S(d,M) =h(d,M), Signatur ist(M,σ).

•Verifizieren:V(e,M,σ) = 1genau dann, wenn f(e,σ) =M.

”Sicherheit“ basiert informell also darauf, daß niemandσ=h(d,M) ausrechnen kann, ohnedzu kennen.

Signierer beweist, daß er die geheime Information kennt.

(3)

Signatur mit Einwegfkt ohne Fallt ¨ur

Vereinfachter Ansatz: Authentifizierungsgerade.

•F ¨ur diei-te Signatur hat man zwei Schl ¨usselpaare. Das erste Paar dient zum Signieren deri-ten Nachricht, das zweite Paar zum Signieren der neuen,(i+ 1)-ten Schl ¨usselpaare.

•Die nullten Schl ¨usselpaare werden

”geglaubt“ oder durch ein Trustcenter authentifiziert.

•Der Verifizierer ¨uberpr ¨uft die Authentizit ¨at der Schl ¨ussel f ¨ur i,i−1, . . . ,0.

Problem:

•Aufwand linear ini.

•Daher einen balancierten Bin ¨arbaum verwenden, so daß Strecke bis zum nullten Schl ¨ussel nurO(log(i))lang ist.

11 1. Juli 2004

Schnorr Signatur (Variation)

Benutzt Einwegmonomorphismus (beispielsweise Exponieren in zyklischer Gruppe) als Einwegfunktion ohne Fallt ¨ur.

Seip: (G,+)→(V,·)ein Einwegmonomorphismus zyklischer Gruppen (z.B.Z/`Z→V,x7→gx) undH eine Hashfunktion nachZ/`Z,#G=`.

Schl ¨usselerzeugung:

•W ¨ahlex∈Gzuf ¨allig und setzey=p(x). Der ¨offentliche Schl ¨ussel isty, der geheimex.

Signieren vonM:

•W ¨ahlek∈Gzuf ¨allig und setzer=p(k),h=H(M||r),u=hx+k, σ= (u,r). Die Unterschrift ist(M,σ).

Verifizieren von(M,σ):

•Unterschrift ok⇔p(u) =yH(M||r)r.

Signatur mit Einwegfkt ohne Fallt ¨ur

One-time Signatur Verfahren von Lamport (man kann mit einem Schl ¨usselpaar nur einmal unterschreiben, Nutzen nur theoretisch):

Sei f :{0,1}n→ {0,1}n eine Einwegfunktion.

Schl ¨usselerzeugung:

•xi,j∈ {0,1}n zuf ¨allig, f ¨ur1≤i≤mund j∈ {0,1}. Setzeyi,j= f(xi,j).

Der ¨offentliche Schl ¨ussel sind dieyi,j, der geheime diexi,j. Signieren vonM∈ {0,1}m:

•IstM=M1||. . .||MmmitMi∈ {0,1}, so setzeσ=x1,M1||. . .||xm,Mm. Die Signatur ist(M,σ).

Verifizieren von(M,σ):

•Unterschrift ok⇔ f(σi) =yi,Mif ¨urσ=σ1||. . .||σmmitσi∈ {0,1}nund allei.

9 1. Juli 2004

Signatur mit Einwegfkt ohne Fallt ¨ur

Dieses Signaturverfahren ist f ¨ur eine bijektive Funktion f sicher bez ¨uglich existenzieller F ¨alschung unter einem key-only Angriff.

Allerdings nicht praktikabel, da Signaturenn-mal so lang sind wie die Nachrichten.

Will man mehrmals signieren, ben ¨otigt man f ¨ur jede Signatur ein eigenes Schl ¨usselpaar. In dieser Situation stellt sich besonders die Frage nach der Authentizit ¨at der ¨offentlichen Schl ¨ussel.

Dies kann mit einem Authentifizierungsbaum gel ¨ost werden.

(4)

Schnorr Signatur

Das Schnorr Signaturverfahren ist im Zufallsorakelmodell sicher bez ¨uglich existenzieller F ¨alschung unter adaptivem chosen-message Angriff. Ein erfolgreicher Angreifer k ¨onnte hierbei benutzt werden, um pzu invertieren bzw. ein DLP zu l ¨osen.

Die Idee des Sicherheitsbeweises ist wie folgt:

Gegebeny∈V. Zu finden istx∈Gmity=p(x).

Die Signierungsanfragen des Angreifers werden simuliert. Sei

h∈Z/`Zundu∈Gzuf ¨allig und setzer=p(u)y−h,H(M||r) =h. Dann ist σ= (u,r)eine g ¨ultige Unterschrift.

Der Angreifer liefert uns eine F ¨alschung(M,σ1)mitσ1= (u1,r), f ¨ur die er nicht die Signatur, aber den HashwertH(M||r)erfragt hat.

15 1. Juli 2004

Schnorr Signatur

Wir lassen den Angreifer noch einmal rechnen mit genau denselben Eingaben, denselben Hashwerten und demselben Zufallsband. Bei der AnfrageH(M1||r)liefern wir jetzt einen anderen Zufallswert zur ¨uck.

Man kann zeigen (

”Forking Lemma“), daß der Angreifer nach Voraussetzung auch in diesem Fall mit signifikanter

Wahrscheinlichkeit eine F ¨alschung(M,σ2)mitσ2= (u2,r)produziert.

Dann giltp(ui) =yhirmithidem jeweiligen HashwertH(M||r).

Es folgtp(u1−u2) =yh1−h2. Da diehizuf ¨allig sind, gilth1−h2= 0 mod` mit insignifikanter Wahrscheinlichkeit.

Folglich p((u1−u2)/(h1−h2)) =yund mitx= (u1−u2)/(h1−h2)haben wir ein Urbild vonyunterpberechnet. Dies zeigt im ¨ubrigen auch, daßknicht doppelt verwendet werden oder vorhersehbar sein sollte.

Schnorr Signatur

Bei der

”echten“ Schnorr Signatur ersetzt manrdurchhinσ: Signieren vonM:

•W ¨ahlek∈Gzuf ¨allig und setzer=p(k),h=H(M||r),u=hx+k, σ= (u,h). Die Unterschrift ist(M,σ).

Verifizieren von(M,σ):

•Unterschrift ok⇔h=H(M||p(u)y−h).

Da manhausr, aber auchraushund den anderen Werten ausrechnen kann, sind beide Verfahren logisch ¨aquivalent.

13 1. Juli 2004

Schnorr Signatur

Die echte Variante hat im allgemeinen k ¨urzere Signaturen, dahaus log2(`), aberrauslog2(q)Bits besteht, wennV⊆F×q.

F ¨urG=Z/`Zwerden insgesamt2 log2(`)Bits Signatur produziert, V kann aber inF×q beliebiger Gr ¨oße eingebettet sein.

Daher kann man die Gruppengr ¨oße`und K ¨orpergr ¨oßeqso aufeinander abstimmen, dass Indexcalculus inF×q genauso lange (oder l ¨anger) braucht wie Pollard rho inV.

(5)

Blinde Signaturen

Blinde Signaturen stellen ein Zwei-Pateien Protokoll dar.

•B schickt A Information. A erstellt eine Vorunterschrift.

•B modifiziert diese Vorunterschrift in eine regul ¨are Unterschrift (M,σ)von A der NachrichtM.

•A kennt wederMnochσund kann keine Verbindung von(M,σ)zu B herstellen. B kann keine weiteren Unterschriften produzieren.

Realisierung zum Beispiel mit RSA durch Verwendung einer

”blinding“

Funktion.

•B berechnetM0=Mkemodnf ¨ur zuf ¨alligeskund schicktM0an A.

•A signiertM0, berechnet alsoσ0=M0dmodnund schicktσ0an B.

•B berechnetσ=σ0k−1modn. Dies ist eine Unterschrift vonM.

Blinde Unterschriften finden bei elektronischem Geld Anwendung.

19 1. Juli 2004

Undeniable Signature Schemes

Verifikation ben ¨otigt Mitarbeit des Signierers. Dieser darf aber nicht schummeln k ¨onnen (echte Signatur als unecht darstellen).

Verhindert Duplizierung und Verbreitung signierter Dokumente.

Schl ¨usselgenerierung:

•Wie ¨ublichy=gx. Signieren:

•σ=Mx.

Verifizieren (durch Beweis des Wissens eines diskreten Logarithmus):

•W ¨ahlex1,x2zuf ¨allig, schickeσx1yx2zum Signierer.

•Signierer schicktw= (σx1yx2)1/xzur ¨uck.

•Signatur ok genau dann, wennw=Mx1gx2.

DSA

DSA = Digital Signature Algorithm aus DSS.

DSS = Digital Signature Standard, NIST 1994.

Schl ¨usselerzeugung:

•W ¨ahle zuf ¨allige 160-Bit Primzahl`undn-Bit Primzahl p, wobei n= 512 + 64t,0≤t≤8, und`|(p−1). Empfohlen istn= 1024.

•W ¨ahle zuf ¨alligesh∈Fp mitg:=h(p−1)/`6= 1.

•W ¨ahlex∈Z/`Zzuf ¨allig und setzey=gx.

•Der ¨offentliche Schl ¨ussel isty, der private Schl ¨ussel istx.

Signieren vonM:

•W ¨ahlekmit1≤k≤`−1zuf ¨allig.

•Setzeh= (gkmodp) mod`undu=k−1(SHA-1(M) +hx) mod`.

Wennh= 0oderu= 0, dann neuesk.

•Die Signatur ist(M,σ)mitσ= (u,h).

17 1. Juli 2004

DSA

Verifizieren von(M,σ):

•Uberpr ¨ufe¨ 1≤h≤`−1und1≤u≤`−1. Wenn nein, Signatur zur ¨uckweisen.

•Berechnev=u−1mod`undw= ((gSHA-1(M)yh)vmodp) mod`.

•Signatur ok genau dann, wennw=h.

DSA ist Variante des ¨alteren ElGamal Signaturverfahrens.

ECDSA: Elliptic Curve DSA.

DSA Anmerkungen:

•ksoll pseudozuf ¨allig sein, nicht doppelt verwenden.

•Ohne Verwendung von SHA-1 nicht sicher bez ¨uglich existenzieller F ¨alschung unter key-only Angriff.

•Ohne Gr ¨oßencheck vonhundunicht sicher bez ¨uglich universeller F ¨alschung, wenn nur eine Signatur gegeben ist.

(6)

Bemerkungen

Verwendung von Verschl ¨usselung und Signaturen:

•Besser erst Signieren, dann Verschl ¨usseln.

•Sonst ist ja nur der Chiffretext unterschrieben ...

Versteckte Informations ¨ubertragung:

•Man kann die zuf ¨alligen Exponentenkmit Information versehen und so Signaturverfahren auch f ¨ur die versteckte

Informations ¨ubertragung nutzen.

•Der private Schl ¨ussel muß hierf ¨ur beiden Parteien bekannt sein ...

23 1. Juli 2004

Undeniable Signature Schemes

Wenn der Signierer nicht kommuniziert, geht man davon aus, daß die Signatur ok ist.

Volle Verifikation ( ¨Uberpr ¨ufung, ob die Signatur(M,σ)ok oder eine F ¨alschung ist oder ob der Signierer schummelt):

•F ¨uhre Verifikation mitx1,x2aus, liefertw. Ist Signatur ok, dann fertig.

•F ¨uhre Verifikation mitx01,x02aus, liefertw0. Ist Signatur ok, dann fertig.

•Berechnec= (wg−x2)x01undc0= (w0g−x02)x1.

•Wennc=c0, dann istσF ¨alschung. Ansonsten schummelt der Signierer.

21 1. Juli 2004

Undeniable Signature Schemes

Wennσ6=Mxund der Signierer schummelt nicht, dann c= (σx1/xgx2g−x2)x01x1x01/x= (σx01/xgx02g−x02)x1=c0.

Wennσ6=Mxund der Signierer schummelt, so m ¨ußte er f ¨urc=c0die Gleichungw0x1= (wg−x2)x01gx02x1inw0f ¨ur unbekanntesx1(und

unbekannte rechte Seite) l ¨osen.

Der Wertx1kann vom Signierer mit Hilfe der gegebenen Information nicht berechnet werden, es bleibt nur raten ¨ubrig.

Daher ist es f ¨ur den Signierer im wesentlichen unm ¨oglich, zu schummeln.

Ist ebenfalls Zwei-Parteien Protokoll.

Referenzen

ÄHNLICHE DOKUMENTE

[r]

[r]

An die Quellensektion schließen zwei direkt aneinander gekoppelte RFQ-(Radio-Frequency-Quadrupole)-Resonatoren mit einer Gesamtl¨ange von 6 m an, die die Ionen auf 0.5

c) Berechnen Sie den numerischen Wert von I mit Hilfe einer Monte Carlo Simulation in Excel/VBA, indem Sie uniforme oder gleichverteilte

Man bestimme durch Extrapolation eines geeigneten Differenzenquotienten m¨ oglichst gute N¨ aherungen zum Ableitungswert f 0 (0.6) = 0, 63665358..

so vorgehen: Streue eine große Menge von Punkten gleichm¨aßig ¨uber dem Intervall und werte die Funktion an diesen Stellen aus.. Damit l¨asst sich das Lagrangesche

Wir betonen, dass das Differenzial fundamentaler als der Gradient ist: das Differenzial existiert immer, w¨ ahrend der Gradient nur definiert werden kann, wenn ein

• Eine Funktion ist stetig, wenn ihr Schaubild gezeichnet werden kann, ohne den Bleistift abzusetzen. mathematisch: F¨ ur jeden Wert a des Defini- tionsbereiches