Ü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