• Keine Ergebnisse gefunden

Key Agreement

N/A
N/A
Protected

Academic year: 2022

Aktie "Key Agreement"

Copied!
5
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Authentifizierter Diffie-Hellman Schl ¨ usselaustausch

1. A schickt B eine NonceNA.

2. B w ¨ahlt ein zuf ¨alligesrBund schicktrBPan A.

3. A w ¨ahlt ein zuf ¨alligesrAund schicktrAPan B.

4. A und B berechnen unabh ¨angigrA(rBP) = rB(rAP) = rArBPals gemeinsames Geheimnis.

A und B schicken in Schritt 2 und 3 zus ¨atzlich ihre Unterschriften ¨uber die bisher ausgetauschten Werte mit bzw. ¨uberpr ¨ufen diese in

Schritt 3 und 4.

Die Nonce dient dazu, A zu versichern, daß B selbst antwortet (kein replay). Die umgekehrte Rolle wird vonrBgespielt.

3 8. Juli 2004

MQV Protokoll

MQV Protokolle:

•Schl ¨usselberechnung symmetrisch.

wA,WA,wB,WBprivate/ ¨offentliche Schl ¨ussel.

•Geheime ZufallszahlenrA,rB.RA= rAPundRB= rBPwerden von A und B ausgetauscht.

•A berechnetsA= (rA+ µ(RA)wA) mod`,SB= (RB+ µ(RB)WB)und KAB= hsASB. B analog mit A und B vertauscht.

Two-Pass Variante: AK, keine Key Confirmation.

One-Pass Variante von A nach B: VerwendetwB,WBanstelle von rB,RB. AK, keine Key Confirmation. Keine known-key oder forward secrecy, da B passiv ist.

Unknown Key-Share m ¨oglich (durch Zusatz leicht verhinderbar).

Key Agreement

Hier geht es um die Berechnung eines gemeinsamen Geheimnisses durch A und B, welches zur Erzeugung symmetrischer Schl ¨ussel verwendet werden kann.

A und B f ¨uhren dazu ein Key Agreement Protokoll aus.

Erforderliche bzw. w ¨unschenswerte Eigenschaften:

•Authenticated Key Agreement (with Key Confirmation)

•Known-key Security, Forward Secrecy, Key Compromise Impersonation, Unknown Key-Share.

Um diese Eigenschaften zu erreichen, verwenden A und B

¨offentliche/private Schl ¨ussel.

1 8. Juli 2004

Key Agreement

Man geht davon aus, daß A den authentischen ¨offentlichen Schl ¨ussel von B hat und umgekehrt. Sonst ist prinzipiell ein Man-in-the-Middle Angriff m ¨oglich.

Die Annahme kann durch Key Management Techniken erreicht werden, wie zum Beispiel durch Zertifikate einer ¨ubergeordneten Zertifizierungsbeh ¨orde (CA).

Zertifikate sind digitale Signaturen der ¨offentlichen Schl ¨ussel unter dem ¨offentlichen Schl ¨ussel der CA. Damit wird das Problem der Authentifizierung im Prinzip nur verlagert, in der Praxis aber erreicht.

Die ¨offentlichen Schl ¨ussel der CA sind ¨ublicherweise in Webbrowsern

”fest“ eingebaut. Man-in-the-Middle Angriffe durch Zwischenstationen im Internet werden damit verhindert.

(2)

Salzen und Strecken

Nochmal zu den Paßw ¨ortern. Im folgenden zwei Techniken, einen Dictionary-Angriff zu erschweren, sollte der Angreifer Zugriff auf die Paßwortdatei mit Eintr ¨agen(IDi,H(Passworti))haben.

Strecken:

•StattH einmal anwenden,H sehr h ¨aufig anwenden, also Paßwortdatei mit Eintr ¨agen der Form(IDi,Hr(Passworti)) verwenden.

rsollte so groß sein, daß die Berechnung beispielsweise ca.

1 Sekunde dauert.

•Der Angreifer hat dann einen unumg ¨anglich gr ¨oßeren Rechenaufwand.

7 8. Juli 2004

Salzen und Strecken

Salzen:

•Zu den Paßw ¨ortern Salz hinzuf ¨ugen, also Paßwortdatei mit Eintr ¨agen(IDi,Hr(Passworti||Salzi), Salzi)verwenden.

•Zum Beispiel Salzi= i, oder besser Salziein Zufallswert.

•Dictionary-Angriff bezieht sich dann nur auf eine gew ¨ahlte IDi, nicht alle zusammen (beachte Geburtstagsparadxon), bzw. wird f ¨ur alle erschwert.

•Ist Paßwortdatei nicht lesbar, dann online Angriff auf feste IDi zus ¨atzlich schwerer.

•Login Prompt hat normalerweise eingebaute Verz ¨ogerung, wenn Paßwort falsch eingegeben wird.

MQV Protokoll

MQV Three-Pass Protokoll:

•Rechnungen sind wie in Two-Pass Protokoll, plus folgende, zus ¨atzliche Schritte zwischen den Daten ¨ubertragungen.

•SeienH1,H2unabh ¨angige Hashfunktionen (Hi(x) =SHA-1(i||x)).

•A sendetRA.

•B berechnet den Session Keyk = H1(KBA)und Authentifizierungsschl ¨usselk0= H2(KBA).

•B sendetRBund MACk0(2,B,A,RB,RA).

•A berechnet den Session Keyk = H1(KAB)und

Authentifizierungsschl ¨usselk0= H2(KAB)und ¨uberpr ¨uft den MAC-Wert.

•A sendet MACk0(3,A,B,RA,RB), und B ¨uberpr ¨uft den MAC-Wert.

5 8. Juli 2004

MQV Protokoll

Eigenschaften:

•AK mit Key Confirmation, hat alle oben genannten

Sicherheitsmerkmale (allerdings heuristisch, ohne Beweis).

•Effizient.

Bemerkung:

•Entwurf von (effizienten) Key Agreement Protokollen und anderen h ¨oher stehenden Protokollen sehr trickreich.

•MQV und unknown key-share Angriff verdeutlichen dies ...

(3)

Standards

Alle (außer IEEE) geben Nachrichtenformate und empfohlene Kurven an.

•Nicht jeder kann/will geeignete K ¨orper und Kurven selber finden (Punktez ¨ahlalgorithmus implementieren, ...)

•Unterst ¨utzt Verbreitung und Interoperabilit ¨at.

Verschiedene Standards benutzen teilweise die gleichen Kurven.

•Unterst ¨utzt Verbreitung und Interoperabilit ¨at.

Die ANSI und NIST Kurven sind

”am besten“.

Arbeitsweise von Standards:

•”Freiwillige“ Mitarbeit von Firmenangestellten. Wenig Academia.

•Dadurch Interessensvertretung der Firmen ...

11 8. Juli 2004

Interaktive Beweissysteme

Hier nur informell.

Haben zwei Programme, einen Beweiser P und einen Verifizierer V.

Diese tauschen Nachrichten aus, zum Schluß akzeptiert V oder weist zur ¨uck.

P und V haben als Eingabe jeweils ein Zufallsband und weitere, gemeinsame Daten. P erh ¨alt dar ¨uberhinaus weitere (vor V geheimen) Daten, welche Zeuge genannt werden.

Die Idee ist, daß P die L ¨osung zu einem Problem erh ¨alt und V davon

¨uberzeugen muß, daß es die L ¨osung kennt, ohne etwas ¨uber die L ¨osung zu verraten.

Allgemein betrachten wir(P,V )als Programm mit zwei kommunizierenden, beliebigen Teilprogrammen P und V.

Standards

Ziel: Interoperabilit ¨at, sichere Implementierungen.

Zu definieren:

•Format der Daten, K ¨orperelemente, Punkte, Signaturen, (Public-Key) Chiffretexte, ...

•Konversionsfunktionen dieser Objekte nach Bitstring, Integers, ...

•Genauer Spezifikation der Algorithmen, Punktkompression ja/nein, Hybridverschl ¨usselung, ...

Ein paar Standards/Organisationen:

•International: IEEE, IETF, ISO, ITU.

•National: ANSI, CEN, DIN, NIST.

•Company: PKCS, SECG.

9 8. Juli 2004

Standards

IEEE P1363/P1363a: Enth ¨alt alle Public-Key Verfahren.

•EC-DH, EC-DSA, EC-MQV, EC-IES.

•Anhang enth ¨alt viele grundlegende, zahlentheoretische Algorithmen.

ANSI X9.62: EC-DSA.

ANSI X9.63: EC-DH, EC-MQV, EC-IES.

FIPS186.2: NIST Standard f ¨ur DSA und EC-DSA.

SECG: Indutriestandard gef ¨uhrt von Certicom.

•EC-DH, EC-DSA, EC-MQV, EC-IES.

IETF: IPsec, S/MIME, ...

ISO/IEC 14888-3: Identity-based cryptography.

PKCS #13: ECC.

(4)

Zero Knowledge Beweise

SeinRSA Modul,xzuf ¨allig undy = x2mod n.

P soll Kenntnis vonxbeweisen.

1. P w ¨ahlt zuf ¨alligesrund schickta = r2an V.

2. V w ¨ahlt zuf ¨alligese∈ {0,1}und schicktean P.

3. P berechnetb = rxeund schicktban V.

4. V akzeptiert genau dann, wennb2= aye.

Ein schummelndes Programm B anstelle von P kann wie folgt mit Erfolgswahrscheinlichkeit1/2vorgehen:

1. B w ¨ahlt zuf ¨alligesrund r ¨ateim voraus, alsoe0∈ {0,1}zuf ¨allig.

2. B berechneta = r2y−e0und schicktaan V.

3. V schickt zuf ¨alligesean B, und B antwortet mitr.

15 8. Juli 2004

Zero Knowledge Beweise

Angenommen, es gibt ein schummelndes B mit Erfolgswahrscheinlichkeit>1/2.

Dann kann B Wurzelnb,rmitb2= ayeundr2= aye0unde6= e0finden.

Folglich kann B Quadratwurzeln vonyausrechnen, alson faktorisieren.

Durch mehrfache Wiederholung des interaktiven Beweises kann man die Erfolgswahrscheinlichkeit f ¨ur B beliebig klein machen.

Interaktive Beweissysteme

Beispiel: F ¨ur einykennt P einxmity = gx. V kennt nury. P will beweisen, daß esxkennt.

•P k ¨onntexan V schicken, aber dann w ¨are es V bekannt.

•Abgesehen davon gibt es Probleme und L ¨osungenx, wo es schwierig ist, zu pr ¨ufen, obxeine L ¨osung ist. Betrachten wir hier nicht.

Es sollen folgende Eigenschaften gelten:

•Vollst ¨andigkeit: Wenn P den Zeugenxals Eingabe erh ¨alt, dann akzeptiert V.

•Korrektheit: F ¨ur jedes Programm B: Wenn V in der Interaktion mit B akzeptiert, dann hat B den Zeugen mit Wahrscheinlichkeit≥1/3 als Eingabe erhalten.

Dann heißt(P,V )ein interaktives Beweissystem.

13 8. Juli 2004

Zero Knowledge Beweise

Daß P nichts weiteres bez ¨uglichxverr ¨at, wird wie folgt formalisiert.

F ¨ur jedes Programm Vgibt es ein Programm M, dessen Ausgaben als Zufallsvariable mit den Ausgaben von(P,V)als Zufallsvariable in Abh ¨angigkeit der Zufallsb ¨ander nicht effizient unterschieden werden k ¨onnen (bei gleicher, fixer Eingabe der zus ¨atzlichen Parameter, bis auf den Zeugen).

Die Eingabe des Zeugen soll also f ¨ur eine (jede) Berechnung keinen Vorteil bringen.

Es gen ¨ugt, nur solche Mzu betrachten, welche die zwischen P und Vkommunizierten Nachrichten und das Zufallsband von V

ausgeben, da diese als Eingabe von Vaufgefaßt werden k ¨onnen und Vdanach deterministisch abl ¨auft. Man nennt Meinen Simulator.

(5)

Commitment Schemes

Wenn P schummeln k ¨onnte, dann h ¨atten wird eine Gleichung grvm= gr0vm0und somit das DLPv = g(r−r0)/(m0−m).

P kann(rr0)/(m0m)berechnen.

Der Wertcist v ¨ollig zuf ¨allig, gibt keine Information ¨ubermpreis.

V hat daher auch dann keinen Vorteil, wenn essmitv = gskennt.

Beispiel: M ¨unzwurf ¨ubers Telefon.

Scheme ist unconditionally hiding und computationally binding.

Außerdem:

MitC(m,r) = grvmgiltC(r1,m1)C(r2,m2) = C(r1+ r2,m1+ m2).

⇒homomorphes Commitment.

Dies findet Anwendung beim verdeckten Rechnen, e-Voting.

19 8. Juli 2004

Weitere Protokolle

•Multiparty Kryptographie.

•Threshold Kryptographie (

”Entschl ¨usseln, wenn die Mehrheit daf ¨ur ist“).

•Multi-party computation.

•Oblivious transfer, simulaneous contract signing.

•Auktionen.

•... ...

•...

Zero Knowledge Beweise

Simulation des Beweises: Sei Vgegeben. Wir konstruieren Mwie B, nur daß Mnoche0= V(a) ¨uberpr ¨uft und solange rechnet, bis dies gilt.

Die Ausgabe von Mist dann nicht von der von(P,V)zu unterscheiden:

aist zuf ¨allig,e = V(a), undbist eine korrekte Quadratwurzel.

Damit ist der angegebene interaktive Beweis ein Zero Knowledge Beweis (of Knowledge).

17 8. Juli 2004

Commitment Schemes

Ziel: P legt sich vor V auf einen Wert fest, ohne daß V den Wert erf ¨ahrt. Sp ¨ater muß P den Wert bekannt geben.

Eigenschaften:

•Hiding (comput., uncond.): Der Wert ist geheim vor V.

•Binding (comput., uncond.): P kann bei Bekanntgabe nicht schummeln.

Variante basierend auf DLP:

1. Challenge. V schicktg,van P.

2. Commit. P legt sich auf die Nachrichtmwie folgt fest. P w ¨ahlt zuf ¨alligesrund schicktc = grvman V.

3. Reveal. P schicktm,ran V. V testetc = grvm.

Referenzen

ÄHNLICHE DOKUMENTE

Da sie Angst haben, dass ihre Nachrichten mitgelesen werden, kreieren sie dazu einen geheimen Schl ¨ussel mithilfe des Diffie-Hellman Schl ¨usselaustausches.. Sei G = (Z/77, +)

If a text is considerably too long, anything from word 60 onwards will no longer be taken into consideration for the assessment..

If a text is considerably too long, anything from word 60 onwards will no longer be taken into consideration for

If a text is considerably too long, anything from word 60 onwards will no longer be taken into consideration for

If a text is considerably too long, anything from word 60 onwards will no longer be taken into consideration for

If a text is considerably too long, anything from word 60 onwards will no longer be taken into consideration for

If a text is considerably too long, anything from word 60 onwards will no longer be taken into consideration for

If a text is considerably too long, anything from word 60 onwards will no longer be taken into consideration for