Übung zur Vorlesung Sicherheit Übungsblatt 4. Björn Kaidel 1 / 70

Ähnliche Dokumente


Übung zur Vorlesung Sicherheit Übungsblatt 3. Björn Kaidel 1 / 52

Institut für Theoretische Informatik Prof. Dr. Dennis Hofheinz Übungsleiter: Thomas Agrikola. Stammvorlesung Sicherheit im Sommersemester 2017

Übungsblatt 4. Stammvorlesung Sicherheit im Sommersemester Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade

Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade. Klausur Hinweise

Übung zur Vorlesung. Sicherheit Übungsblatt 5 Björn Kaidel

Vorlesung Sicherheit

Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz. Übungsblatt 4

Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade. Nachklausur Hinweise

Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade. Nachklausur. Lösung Hinweise

Asymmetrische Verschlüsselungsverfahren

Digitale Signaturen. Einmalsignaturen Gunnar Hartung, Björn Kaidel. FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK

Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade. Nachklausur. Lösungsvorschlag Hinweise

Asymmetrische Verschlüsselungsverfahren

Vorlesung Digitale Signaturen im Wintersemester 2017/-18. Socrative-Fragen aus der Vorlesung vom

Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz. Klausur Hinweise

Digitale Signaturen. Sicherheitsdefinitionen Gunnar Hartung, Björn Kaidel. FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK

Digitale Signaturen. GHR-und Chamäleon-Signaturen Björn Kaidel. FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK

Asymmetrische Verschlüsselungsverfahren

Übung zur Vorlesung Sicherheit Übungsblatt 2. Alexander Koch Björn Kaidel

Übungsblatt 3. Stammvorlesung Sicherheit im Sommersemester Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade

Übung zur Vorlesung Sicherheit Übungsblatt 2. Alexander Koch Björn Kaidel

Digitale Signaturen. RSA-FDH & das Random Oracle Model Jiaxin Pan (Slides from Björn Kaidel and Gunnar Hartung)

Digitale Signaturen. RSA-FDH & das Random Oracle Model Björn Kaidel (mit Folien von Gunnar Hartung)

Homomorphe Verschlüsselung

Institut für Theoretische Informatik Prof. Dr. D. Hofheinz. Stammvorlesung Sicherheit im Sommersemester Klausur. Lösung

Digitale Signaturen. Anwendung von Einmalsignaturen Gunnar Hartung, Björn Kaidel.

Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz. Klausur Hinweise

Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz. Übungsblatt 5. pk = (g, y) und sk = (g, x). ? = y H(t m) t. g s

Vorlesung Sicherheit

Vorlesung Digitale Signaturen im Wintersemester 2016/-17. Socrative-Fragen aus der Vorlesung vom

Asymmetrische Verschlüsselungsverfahren

Digitale Signaturen. GHR-und Chamäleon-Signaturen Björn Kaidel. FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK

Vorlesung Sicherheit

Digitale Signaturen. seuf-cma & Pairings Björn Kaidel. FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK

Asymmetrische Verschlüsselungsverfahren

Socrative-Fragen aus der Übung vom

Kryptographie und Komplexität

Digitale Signaturen. Sicherheitsdefinitionen Björn Kaidel. FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK

Ziel: Zertifiziere Pfad von Wurzel zu m mittels Signaturen. Signieren Public-Keys auf Pfad inklusive der Nachbarknoten.

Vorlesung Sicherheit

Vorlesung Sicherheit

Kryptographische Protokolle

6: Public-Key Kryptographie (Grundidee)

Digitale Signaturen. seuf-cma & Pairings Gunnar Hartung, Björn Kaidel. FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK

Voll homomorpe Verschlüsselung

Vorlesung Sicherheit

VI.4 Elgamal. - vorgestellt 1985 von Taher Elgamal. - nach RSA das wichtigste Public-Key Verfahren

Digitale Signaturen. Einführung Björn Kaidel. FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK

Blinde Signaturen, geheime Abstimmungen und digitale Münzen

Digitale Signaturen. Einführung Gunnar Hartung, Björn Kaidel. FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK

Sicherheit von Merkle Signaturen

Kryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G.

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G.

Vorlesung Sicherheit

Definition Message Authentication Code (MAC) Ein Message Authentication Code (MAC) bzgl. des Nachrichtenraumen M besteht aus den ppt Alg.

Public-Key-Verschlüsselung und Diskrete Logarithmen

Hybride Verschlüsselungsverfahren

Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz. Nachklausur Hinweise

Vorlesung Sicherheit

Kryptographie und Komplexität

4 Kryptologie. Übersicht

Digitale Unterschriften mit ElGamal

Kryptologie. Bernd Borchert. Univ. Tübingen SS Vorlesung. Teil 10. Signaturen, Diffie-Hellman

Digitale Signaturen. Anwendung von Einmalsignaturen Gunnar Hartung, Björn Kaidel.

Aufgabe der Kryptografie

VIII. Digitale Signaturen

WS 2013/14. Diskrete Strukturen

3 Public-Key-Kryptosysteme

Björn Kaidel Alexander Koch

Public Key Kryptographie

Homomorphe Verschlüsselung

Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34

7: Grundlagen der Public-Key-Kryptographie

El Gamal Verschlüsselung und seine Anwendungen

Kryptographie II Asymmetrische Kryptographie

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (RSA-Verfahren)

Vorlesung Sicherheit

3: Zahlentheorie / Primzahlen

3: Primzahlen. 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen

Digitale Signaturen. Anwendung von Einmalsignaturen Björn Kaidel (mit Folien von Gunnar Hartung)

Digitale Signaturen. Andreas Spillner. Kryptografie, SS 2018

Vorlesung Diskrete Strukturen Gruppe und Ring

Kryptographie. Nachricht

Proseminar Bakkalaureat TM 2008/2009 Datensicherheit und Versicherungsmathematik Public-Key-Kryptosystem

Der kleine Satz von Fermat

Übung GSS Blatt 6. SVS Sicherheit in Verteilten Systemen

CPA-Sicherheit ist ungenügend

Übung zur Vorlesung Sicherheit Übungsblatt 2. Alexander Koch Björn Kaidel

Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade. Übungsblatt 5

4 Der diskrete Logarithmus mit Anwendungen

Wiederholung. Symmetrische Verfahren: klassische Verfahren / grundlegende Prinzipien: Substitution, Transposition, One-Time-Pad DES AES

Beliebige Anzahl von Signaturen

Ununterscheidbarkeit von Chiffretexten

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am

Digitale Signaturen. Parameterwahl & RSA-PSS Björn Kaidel (mit Folien von Gunnar Hartung)

Das Rucksackproblem. Definition Sprache Rucksack. Satz

6. Übung - Kanalkodierung/Datensicherheit

Transkript:

Übung zur Vorlesung Sicherheit 18.06.2015 Übungsblatt 4 Björn Kaidel bjoern.kaidel@kit.edu 1 / 70

RSA: Warnung! Mehrere Nachfragen nach der letzten Übung: Wir wollen zu e ein d berechnen mit e d = 1 mod ϕ(n) Idee: Verwende nicht EEA, sondern folgendes Vorgehen: Beobachtung: Gesucht ist d mit e d = k ϕ(n) + 1 Berechne dieses k! Beginne mit k = 1. Erhöhe k, bis k ϕ(n) + 1 teilbar durch e (in Z). Dann ist d = (k ϕ(n) + 1)/e) mod ϕ(n) (Teile in Z, rechne dann Modulo) Gute Nachricht: Funktioniert! Schlechte Nachricht: Exponentielle Laufzeit! 2 / 70

RSA: Warnung! Also: In Praxis eine schlechte Idee! Aber... Kann per Hand gut gehen...... muss aber nicht! Laufzeit vom EEA ist polynomiell. EEA sieht schwieriger aus, als er ist...... und geht auf jeden Fall recht gut von Hand! :) Hinweis: EEA jetzt detailliert im Skript erklärt! 3 / 70

Kummerkasten In der VL wird von TLS < 1.2 abgeraten, warum kann euer Server nur TLS 1.0? Wofür machen wir die Aufgaben? 4 / 70

Wofür machen wir die Aufgaben? Von euch angesprochene Probleme: Aufgaben ziemlich theoretisch Praxisrelevanz nur bedingt ersichtlich 5 / 70

Wofür machen wir die Aufgaben? Argument 1: Forschung Krypto ist Teilmenge der theoretischen Informatik Wie Algorithmen, Komplexitätstheorie, etc. Forschung reicht aber von sehr praxisnah bis sehr theoretisch Ziel von vertiefenden VLs ist auch Vorbereitung auf Forschung! 6 / 70

Wofür machen wir die Aufgaben? Argument 2: Was ist überhaupt Sicherheit? Wir wollen weg von ad-hoc-sicherheit/security through Obscurity Ziel: Nachvollziehbare, möglichst beweisbare Sicherheit Also: Sicherheitsdenitionen Aber: Was kann so eine Sicherheitsdenition eigentlich? IND-CPA, Kollres., EUF-CMA etc. wirken sehr stark...... aber sind sie das auch?... was liefern sie mir? Bsp.: ÜB2 A2; ÜB3 A1, A3; ÜB4 A2, A3, A4 7 / 70

Wofür machen wir die Aufgaben? Argument 3: Umgang mit Kryptographie lernen Kritik 1: Gegenbeispiele bei Beweisen unrealistisch Viele praktische Angrie nutzen aber sowas aus! Schadcode wird kaum das komplette System ändern können Ziel: Gibt es Kleinigkeiten die ich ändern kann? Führen zu eben solchen Abwandlung des Verfahrens... Bsp: Bug-Using, Fault-Induction, CRIME... 8 / 70

Wofür machen wir die Aufgaben? Argument 3: Umgang mit Kryptographie lernen Kritik 1: Gegenbeispiele bei Beweisen unrealistisch Implementierungsfehler, Optimierungen z.b. ÜB3 A3: Einuss der Nachrichtenlänge in Merkle-Damgård wirkt unwichtig...... weglassen macht aber das ganze System unsicher! CRIME: Nachrichten komprimieren scheint sinnvoll,...... gefährdet aber die Sicherheit! (siehe ÜB5 A4) Es gibt unsichere laufzeitoptimierte Impl. von RSA Lösung dieser Probleme durch Hotxes(siehe ÜB4 A3) nicht zielführend Fazit: Kryptoprotokolle nicht einfach ändern! 9 / 70

Wofür machen wir die Aufgaben? Argument 3: Umgang mit Kryptographie lernen Kritik 2: Transformationen Schema X zu Schema Y praxisfern... Unsere Beispiele sind einfach..... aber Transformationen sind Standard Zahlreiche Beispiele theoretischer & praktischer Natur (z.b. TLS!) Theorie: klärt Zusammenhänge, was ist möglich... Praxis: Spart Implementierung, Wiederverwendbarkeit,... Fazit: Lernen, wie man sowas richtig verwendet (nur müssen wir halt klein anfangen) 10 / 70

Wofür machen wir die Aufgaben? Wir werden versuchen das ab jetzt klarer darzustellen! 11 / 70

Sicherheit Übungsblatt 4 Aufgabe 1 ElGamal-Verschlüsselungsverfahren Gruppe G := Z 59 Erzeuger g := 27 g erzeugt Untergruppe (UG) der Quadrate, nicht G! Gruppenoperation: Multiplikation modulo 59 Z 59 ist Einheitengruppe von Z 59 d.h. alle invertierbaren Elemente hier: Z = Z 59 59 \ {0}, da 59 prim {x 2 mod 59: x Z 59} ist UG der Quadrate und hat Ordnung 29 12 / 70

Sicherheit Übungsblatt 4 Aufgabe 1 Tricks zum Rechnen: (i) Finden von Äquivalenzklassen, z.b.: 51 2 mod 59 = (59 8) 2 mod 59 = ( 8) 2 mod 59 = 64 mod 59 = 5 mod 59 13 / 70

Sicherheit Übungsblatt 4 Aufgabe 1 Tricks zum Rechnen: (ii) Reduzierung des Exponenten modulo der Gruppenordnung, z.b.: 3 60 mod 59 = 3 60 mod 58 mod 59 = 3 2 mod 59 = 9 mod 59 Hintergrund: Satz von Euler bzw. Kleiner Satz von Fermat Ordnung von G ist ϕ(59) = 58. Für Primzahlen p: ϕ(p) = p 1. Ordnung der UG der Quadrate ist 29. 14 / 70

Sicherheit Übungsblatt 4 Aufgabe 1 (a) Berechnen Sie zum geheimen Schlüssel sk := 20 den öentlichen Schlüssel pk. pk = g sk mod N = 27 20 mod 59 = (3 3 ) 20 mod 59 = 3 60 mod 58 mod 59 = 3 2 mod 59 = 9 mod 59 15 / 70

Sicherheit Übungsblatt 4 Aufgabe 1 (b) Verschlüsseln Sie m := 22 unter dem in (a) berechneten Schlüssel (mit dem Zufall r := 12). Erinnerung: Enc(pk, M) = (g r, pk r M) C 1 = g r mod N = 27 12 mod 59 = 3 36 mod 59 ( ) = 3 29+7 mod 29 mod 59 = 3 7 mod 59 = 3 4 3 3 mod 59 = 81 3 3 mod 59 =... (*): 3 ist ein Quadrat! 11 2 mod 59 = 3 mod 59 16 / 70

Sicherheit Übungsblatt 4 Aufgabe 1 (b) Verschlüsseln Sie m := 22 unter dem in (a) berechneten Schlüssel (mit dem Zufall r := 12). C 1 =... = 81 3 3 mod 59 = 22 3 3 mod 59 = 66 3 2 mod 59 = 7 9 mod 59 = 63 mod 59 = 4 mod 59 17 / 70

Sicherheit Übungsblatt 4 Aufgabe 1 (b) Verschlüsseln Sie m := 22 unter dem in (a) berechneten Schlüssel (mit dem Zufall r := 12). C 2 = pk r m mod N = 9 12 22 mod 59 = 9 12 (59 + 22) mod 59 = 3 24 81 mod 59 = 3 24 3 4 mod 59 = 3 28 mod 59 = 3 1 mod 59 = 20 mod 59 18 / 70

Sicherheit Übungsblatt 4 Aufgabe 1 (b) Verschlüsseln Sie m := 22 unter dem in (a) berechneten Schlüssel (mit dem Zufall r := 12). Insgesamt ergibt sich: C = (C 1, C 2 ) = (4, 20) 19 / 70

Sicherheit Übungsblatt 4 Aufgabe 1 (c) Entschlüsseln Sie C := (51, 8) unter dem Schlüssel aus (a). Erinnerung: Dec(sk, (C 1, C 2 )) = C 2 C sk 1 Wir berechnen zuerst: C sk 1 = 51 20 mod 59 = ( 8) 20 mod 59 = ( 2) 60 mod 59 = ( 2) 2 mod 59 = 4 mod 59 Invertieren ergibt: C sk 1 = 4 1 mod 59 = 15 mod 59 (Berechnung durch erw. euklid. Alg. oder Scharfes Hinsehen) 20 / 70

Sicherheit Übungsblatt 4 Aufgabe 1 (c) Entschlüsseln Sie C := (51, 8) unter dem Schlüssel aus (a). C 2 C sk 1 = 8 15 mod 59 = 120 mod 59 = 2 mod 59 21 / 70

Sicherheit Übungsblatt 4 Aufgabe 1 Frage: Warum eigentlich UG der Quadrate? Antwort: ElGamal in Z p nicht sicher Es existiert ein ezienter Angri Angri verwendet Legendre-Symbol Legendre-Symbol entscheidet, ob geg. x ein quad. Rest mod p Angri funktioniert in der UG der quad. Reste nicht mehr In der UG kein anderer Angri bekannt (auÿer ineziente DLog-Algorithmen etc.) 22 / 70

Sicherheit Übungsblatt 4 Aufgabe 1 Fazit: ElGamal ist praxistauglich Wichtiger, grundlegender Baustein für komplexere Krypto Rechnen üben 23 / 70

Wdh.: EUF-CMA Herausforderer C führt (pk, sk) Gen(1 k ) aus. C stellt Sign(sk, )-Orakel für A bereit. C A Orakel pk M σ = Sign(sk, M i ) M, σ (Poly. viele Anfragen erlaubt!) Ver(pk, M, σ ) = 1? M / {M 1,..., M n }? 24 / 70

Sicherheit Übungsblatt 4 Aufgabe 2 Es sei Σ = (Gen, Sign, Ver) ein EUF-CMA-sicheres Signaturverfahren. Wir konstruieren daraus zwei neue Verfahren. 25 / 70

Sicherheit Übungsblatt 4 Aufgabe 2 (1) Betrachte Σ mit: Gen (1 k ) := Gen(1 k ), Sign (sk, M) := (Sign(sk, M r), r) = (σ 1, σ 2 ) (r {0, 1} M ), Ver (pk, M, σ) := Ver(pk, M σ 2, σ 1 ). (a) Korrektheit: Ver (pk, M, σ) = Ver(pk, M r, σ 1 ) = Ver(pk, M r, Sign(sk, M r)) = 1. (folgt aus Korrektheit von Σ) 26 / 70

Sicherheit Übungsblatt 4 Aufgabe 2 (1) Betrachte Σ mit: Gen (1 k ) := Gen(1 k ), Sign (sk, M) := (Sign(sk, M r), r) = (σ 1, σ 2 ) (r {0, 1} M ), Ver (pk, M, σ) := Ver(pk, M σ 2, σ 1 ). (b) Zeigen Sie: Σ ist nicht EUF-CMA-sicher. A schickt bel. M und erhält Signatur σ = (σ 1, r).... wählt bel. M M.... setzt r = M M r... setzt σ = (σ 1, r). 27 / 70

Sicherheit Übungsblatt 4 Aufgabe 2 (1) σ = (σ 1, r ) = (σ 1, M M r) ist gültige Fälschung für M, denn: Ver (pk, M, σ ) = Ver (pk, M, (σ 1, r )) = Ver(pk, M r, σ 1 ) = Ver(pk, M (M M r), σ 1 ) = Ver(pk, M r, σ 1 ) = Ver (pk, M, (σ 1, r)) = Ver (pk, M, σ) = 1. Polynomielle Laufzeit, Erfolgswkt. ist 1 Σ nicht EUF-CMAsicher. 28 / 70

Sicherheit Übungsblatt 4 Aufgabe 2 (2) Betrachte Σ mit: Gen (1 k ) := Gen(1 k ), Sign (sk, M) := Sign(sk, M) (M bitw. Inverse von M), Ver (pk, M, σ) = Ver(pk, M, σ) (a) Korrektheit: Ver (pk, M, σ) = Ver(pk, M, σ) = Ver(pk, M, Sign(sk, M)) = 1. (folgt aus Korrektheit von Σ) 29 / 70

Sicherheit Übungsblatt 4 Aufgabe 2 (2) Betrachte Σ mit: Gen (1 k ) := Gen(1 k ), Sign (sk, M) := Sign(sk, M) (M bitw. Inverse von M), Ver (pk, M, σ) = Ver(pk, M, σ) (b) Zeigen Sie: Σ ist EUF-CMA-sicher. Widerspruchsbeweis/Reduktion: Annahme: Σ nicht EUF-CMA-sicher. D.h. es existiert PPT A mit nicht-vernachl. Erfolgswkt. Konstruiere Angreifer B gegen Σ mit nicht-vernachl. Erfolgswkt. Widerspruch zur EUF-CMA-Sicherheit von Σ. D.h. Σ ist EUF-CMA-sicher. 30 / 70

σ = Sign(sk, M) σ Sicherheit Übungsblatt 4 Aufgabe 2 (2) Simulation des Orakels: B hat Zugri auf Σ-Sign-Orakel. A braucht Zugri auf Σ -Sign -Orakel. B muss Σ -Sign -Orakel simulieren. Zur Erinnerung: Sign (sk, M) := Sign(sk, M) Sign(sk, )-Orakel M B M A 31 / 70

Sicherheit Übungsblatt 4 Aufgabe 2 (2) Verwendung der Fälschung: A schickt Fälschung M, σ. C M, σ B M, σ A Ist M, σ eine gültige Fälschung für Σ so gilt: Ver(pk, M, σ ) = Ver (pk, M, σ ) = 1 Wenn M nie von A ans Orakel geschickt, so schickt B nie M an sein Orakel...... d.h. M ist frisch (Wichtig!) 32 / 70

Sicherheit Übungsblatt 4 Aufgabe 2 (2) Beweisende: B simuliert das EUF-CMA-Spiel für A perfekt. Gibt A eine gültige Fälschung aus, so auch B. B gewinnt A gewinnt. Also: Pr[B gewinnt] nicht vernachlässigbar. Widerspruch zur EUF-CMA-Sicherheit von Σ. Σ muss ebenfalls EUF-CMA-sicher sein. 33 / 70

Sicherheit Übungsblatt 4 Aufgabe 2 Fazit: Was kann EUF-CMA? Theoretischen Umgang mit Signaturen üben Transformationen wie diese im Signaturumfeld sehr wichtig! 34 / 70

Unterbrechung... Übungsevaluation Bitte nur die Übung evaluieren obwohl wir auch VL gemacht haben, dass bitte in der VL Textantworten am Hilfreichsten :) bitte schreibt dazu, auf wen (Alex, Björn oder beide) ihr euch bezieht Vorlesungsevaluation nächsten Montag 35 / 70

Sicherheit Übungsblatt 4 Aufgabe 3 Authentizierter Kanal zwischen A(lice) und B(ob) Vereinfachung: Nur Nachrichten von A nach B Realisierung mit MAC MAC = (Gen, Sign, Ver) EUF-CMA-sicher Unterschied MAC/Digitale Signaturen MACs haben nur einen (geheimen) Schlüssel Angreifer hat bei EUF-CMA Zugri auf Sign-Orakel,... aber nicht auf Ver-Orakel! 36 / 70

Sicherheit Übungsblatt 4 Aufgabe 3 Sicherheitsdenition von authentiziertem Kanal: Setup: A Exp bereitet Schlüssel etc. vor. Exp K Gen(1 k ) c A := 0, c B := 0 L A :=, L B := 37 / 70

Sicherheit Übungsblatt 4 Aufgabe 3 Sicherheitsdenition von authentiziertem Kanal: Ablauf: A darf Nachrichten von A an B schicken: Alice(M) A Alice(M) (c A, M), σ Exp σ Sign(K, (c A, M)) c A := c A + 1 L A := L A {(c A, M)} 38 / 70

Sicherheit Übungsblatt 4 Aufgabe 3 A kann Bob ein Zähler/Nachrichten-Paar und eine Signatur empfangen lassen: Bob((c, M), σ) A Bob((c, M), σ) Exp wenn Ver(K, (c, M), σ) = 1 und c = c B, dann: L B := L B {(c, M)} c B := c B + 1 sonst: gib 0 aus (A verliert!) 39 / 70

Sicherheit Übungsblatt 4 Aufgabe 3 Sicherheitsdenition von authentiziertem Kanal: Ende: Exp überprüft, ob L B L A wenn ja: sonst: gebe 0 aus (A verliert) gebe 1 aus (A gewinnt) Wkt. das A gewinnt soll vernachlässigbar sein. 40 / 70

Sicherheit Übungsblatt 4 Aufgabe 3 Sicherheitsdenition von authentiziertem Kanal: Ende Intuition: Ziel von A: an Bob mind. eine Nachricht schicken, die... Bob akzeptiert,...... die aber nicht von Alice geschickt wurde! L B L A heiÿt, dass Bob nur Nachrichten akzeptiert hat, die von Alice kamen! 41 / 70

Sicherheit Übungsblatt 4 Aufgabe 3 Zeige: Existiert ein PPT-Angreifer A, der das Sicherheitsspiel gegen den auth. Kanal gewinnt (mit nicht-vernachlässigbarer Wahrscheinlichkeit!), dann existiert ein PPT-Angreifer B, der... dass EUF-CMA-Spiel gegen MAC gewinnt (mit nicht-vernachlässigbarer Wahrscheinlichkeit!). (d.h. MAC EUF-CMA-sicher Kanal sicher nach dieser Def.) 42 / 70

Sicherheit Übungsblatt 4 Aufgabe 3 B verwendet A. B spielt das EUF-CMA-Spiel mit MAC B hat Zugri auf ein Sign(K, )-Orakel B kennt K nicht! B initialisiert den Kanal und berechnet: ca := 0, c B := 0 B startet A LA := (L B wird zur Sim. nicht gebraucht) 43 / 70

Sicherheit Übungsblatt 4 Aufgabe 3 Beantwortung von Alice(M): Sign(K, ) (c A, M) B Alice(M) A σ c A := c A + 1 L A := L A {(c A, M)} (c A, M), σ Anfragen werden richtig beantwortet! 44 / 70

Sicherheit Übungsblatt 4 Aufgabe 3 Beantwortung von Bob((c A, M), σ): Schwierig, da B kein Ver-Orakel hat... B kann Gültigkeit von σ nicht überprüfen Entscheidung nur anhand von (c, M)? L A 45 / 70

Sicherheit Übungsblatt 4 Aufgabe 3 (c, M) L A : B prüft, ob c = c B. Wenn ja: c B := c B + 1 Sonst: Abbruch σ gültig: Alles okay! σ nicht gültig: A hätte nun eigentlich verloren... Simulation läuft trotzdem weiter Also: Simulation falsch! Es können jetzt keine Aussagen über A mehr getroen werden 46 / 70

Sicherheit Übungsblatt 4 Aufgabe 3 (c, M) / L A : Gebe (c, M), σ als Fälschung aus. σ gültig: Fälschung gefunden Da (c, M) / L A ist Nachricht frisch. Gewinnt A, so tritt dieser Fall ein! σ nicht gültig: Dann zwar keine gültige Fälschung...... aber Spiel würde dann eh abgebrochen (A hat verloren) 47 / 70

Sicherheit Übungsblatt 4 Aufgabe 3 Gewinnt A, so gibt B eine gültige Fälschung aus! Laufzeit von B Laufzeit von A Erfolgswkt. von B = Erfolgswkt. von A Also: Aus A einen erfolgreichen MAC-Angreifer B konstruiert 48 / 70

Sicherheit Übungsblatt 4 Aufgabe 3 Welchen Zweck erfüllen die Zähler c A und c B? Verhinderung von Replay-Angrien Replay-Angri: Passiver Angri Nachrichten abhören...... und später einfach nochmal senden Problematisch z.b. bei Fahrzeugelektronik Herzschrittmacher Türschloss... 49 / 70

Sicherheit Übungsblatt 4 Aufgabe 3 Fazit: Auth. Kanal realisierbar durch MACs & Zähler Unterschiedliche Sicherheitsforderungen, lassen sich aber ineinander überführen Ähnliche Implementierung bei TLS 50 / 70

Sicherheit Übungsblatt 4 Aufgabe 4 Doktor Meta Aufgabe (Story siehe Blatt) Betrachte folgendes Wahlverfahren: Ja/Nein-Wahl n N Wähler (polynomiell im Sicherheitsparam.) G zyklische Gruppe Ordnung p von G ist prim, p < n g sei Erzeuger, e G das neutrale Element von G Es gibt eine Wahlautorität (Organisiert die Wahl) Verwendet ElGamal-Verschlüsselung 3 Phasen: Setup, Abstimmung, Auszählung 51 / 70

Sicherheit Übungsblatt 4 Aufgabe 4 Setup: Wahlautorität berechnet pk = (G, g, g x ) sk = (G, g, x) mit x Z p Wahlautorität gibt pk öentlich bekannt. (also im Prinzip nichts anderes als ElGamal-Schlüsselerzeugung) 52 / 70

Sicherheit Übungsblatt 4 Aufgabe 4 Abstimmung: Ja-Stimme: Verschlüssele g C := Enc(pk, g) = (g y, g xy g), y Z p Nein-Stimme: Verschlüssele e G C := Enc(pk, g) = (g y, g xy e G ), y Z p Schicke C an die Wahlautorität 53 / 70

Sicherheit Übungsblatt 4 Aufgabe 4 Auszählung: Wahlautorität hat Chirate C 1 = (C 1,1, C 1,2 ),..., C n = (C n,1, C n,2 ) Auszählung wie folgt: 1. Berechne C = (Π n i=1 C i,1, Π n i=1 C i,2) 2. Berechne Dec(sk, C) =: M 3. Berechne DLog i von M zur Basis g (d.h. g i = M) 4. Ergebnis: i Ja-Stimmen, n i Nein-Stimmen 54 / 70

Sicherheit Übungsblatt 4 Aufgabe 4 (1.) (1.) Zeigen Sie, dass das Wahlverfahren das korrekte Ergebnis berechnet, wenn sich alle Parteien an das Verfahren halten. 55 / 70

Sicherheit Übungsblatt 4 Aufgabe 4 (1.) Sei v N 0, v < n die Anzahl der Ja-Stimmen OBdA C 1,..., C v Chirate der Ja-Stimmen,...... C v+1,..., C n die der Nein-Stimmen Dann gilt: 1 < i v : C i = (C i,1, C i,2 ) = (g y i, g xy i g) (mit y i Z p ) v < i n : C i = (C i,1, C i,2 ) = (g y i, g xy i e G ) (mit y i Z p ) 56 / 70

Sicherheit Übungsblatt 4 Aufgabe 4 (1.) Im ersten Schritt wird C = ( n i=1 C i,1, n i=1 C i,2) berechnet: n C i,1 = i=1 n C i,2 = i=1 n g y i = g y 1+ +y n, i=1 v g xy i g i=1 i=v+1 n g xy i e G = g x(y 1+ +y n) g v. C ist also Chirat von g v Somit Dec(sk, C) = g v =: M DLog g von M ist v = Anzahl Ja-Stimmen 57 / 70

Sicherheit Übungsblatt 4 Aufgabe 4 (2.) (2.) Wie kann der diskrete Logarithmus von M ezient berechnet werden, obwohl er in G schwierig zu berechnen sein muss? (weiterhin halten sich alle Parteien an das Verfahren) 58 / 70

Sicherheit Übungsblatt 4 Aufgabe 4 (2.) Anzahl Wähler n ist festgelegt... und polynomiell im Sicherheitsparameter! D.h. Brute-Force hier okay: Probiere für alle 0 i n Überprüfe, ob g i = M erfüllt Sobald erfüllt, gebe i aus i ist eindeutig und wird gefunden Laufzeit ist polynomiell, da n poly. im Sicherheitsparam. (daraus folgt: G = p exponentiell im Sicherheitsparam., damit DLog schwierig) 59 / 70

Sicherheit Übungsblatt 4 Aufgabe 4 (3.) (3.) Vorteil gegenüber trivialen Lösungen, z.b. Abstimmung per unverschlüsselter E-Mail? Eigentlich nur die verschlüsselte Übertragung der Stimme... Schützt (in beschränktem Maÿe) das Wahlgeheimnis (mehr dazu später) 60 / 70

Sicherheit Übungsblatt 4 Aufgabe 4 (4.) (4.) Wie kann man das Wahlergebnis manipulieren? Verfahren sichert weder Integrität noch Authentizität der gesendeten Stimmee Man-in-the-Middle-Angri möglich... Chirate abfangen, selbstgewählte Chirate senden; Chirate manipulieren (Homomorphie!) Unmögliche Stimmen senden: z.b. g 50 verschlüsseln = 50 Ja-Stimmen oder g 1 = -1 Ja-Stimme 61 / 70

Sicherheit Übungsblatt 4 Aufgabe 4 (5.) (5.) Nachteile des Verfahrens? Sehr viele... 62 / 70

Sicherheit Übungsblatt 4 Aufgabe 4 (5.) Manipulierbarkeit: Siehe vorherige Aufgabe 63 / 70

Sicherheit Übungsblatt 4 Aufgabe 4 (5.) Wahlgeheimnis: Verschlüsselung sichert Wahlgeheimnis gegenüber Dritten Wahlautorität kann aber jedes Chirat einzelne entschlüsseln...... und eindeutig den einzelnen Wählern zuordnen! Stimmen zwar nicht signiert o.ä., aber Wahlautorität kann sich einfach merken, wer was schickt Also: Stimmeneinsammlung muss irgendwie anonymisiert werden 64 / 70

Sicherheit Übungsblatt 4 Aufgabe 4 (5.) Erpressungsfreiheit: Grobe Def: Erpressung der Form Wähle Option X, sonst passiert Y soll nicht möglich sein. Hier nicht gegeben, z.b.: Wahlautorität kann Wahlgeheimnis brechen. Also: Wahlautorität kann überprüfen, wer für welche Option stimmt...... und dadurch Wähler erpressen. Erpressungsfreiheit ist nicht trivial! 65 / 70

Sicherheit Übungsblatt 4 Aufgabe 4 (5.) Nachvollziehbarkeit: Niemand kann nachvollziehen, ob die eigene Stimme tatsächlich gezählt wurde...... oder ob die Auszählung überhaupt korrekt ausgeführt wurde. Man möchte, dass das möglich ist Viele Verfahren geben Wähler eine Art Quittung Quittung ermöglicht Überprüfung Auch nicht einfach zu realisieren! Quittung evtl. problematisch bzgl. Erpressungsfreiheit... 66 / 70

Sicherheit Übungsblatt 4 Aufgabe 4 (5.) Ehrlicher Ablauf: Unehrliches Verhalten fällt nicht unbedingt auf bzw. wird nicht verhindert Insbesondere kleine Abweichungen werden kaum auallen Schicke g 1, g 2 etc. Wenn es auällt, dann erst zu spät (nach Auszählung) Mögliche (schlechte) Lösung hier: Wahlautorität entschlüsselt und überprüft alle Stimmen einzeln Aber: Problematisch bzgl. Wahlgeheimnis... 67 / 70

Sicherheit Übungsblatt 4 Aufgabe 4 Fazit: Wahlverfahren als Beispiel für komplexe Krypto-Protokolle Realisierung nicht trivial Wie immer: Wie deniert man überhaupt Sicherheit? Krypto. Verfahren (hier Verschlüsselung) nicht unbedingt so mächtig, wie man denkt Weitere Beispiele: Datenbankauslagerung, Cloud Computing, Mehrparteienberechnungen, Smart Meter... 68 / 70

Sicherheit Übungsblatt 4 Aufgabe 4 (6.) Bonusfrage: Warum muss der DLog schwierig sein, damit El- Gamal sicher sein kann? Schlüssel: pk = g x, sk = x Wäre Dlog einfach, könnte man also DLog von g x ziehen...... und würde den geheimen Schlüssel bekommen. 69 / 70

Sicherheit Übungsblatt 5 A1: RSA-Signaturen, DSA EUF-CMA Rechnen in Gruppen üben A2: Die-Hellman Schlüsselaustausch Rechnen in Gruppen üben A3: Schlüsselaustausch Formal betrachtet A4: Doktor Meta TLS bzw. CRIME Formal und Praktisch! Formal: IND-CPA Praktisch: CRIME (vereinfacht) implementieren 70 / 70