Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade Stammvorlesung Sicherheit im Sommersemester 2015 Klausur 21.07.2015 Vorname: Nachname: Matrikelnummer: Hinweise - Für die Bearbeitung stehen Ihnen 60 Minuten zur Verfügung. - Zum Bestehen der Klausur sind 20 der 60 möglichen Punkte hinreichend. - Es sind keine Hilfsmittel zugelassen. - Schreiben Sie Ihre Lösungen auf die Aufgabenblätter sowie auf deren Rückseiten. - Zusätzliches Papier erhalten Sie bei Bedarf von der Aufsicht. Aufgabe mögliche Punkte erreichte Punkte a b c d Σ a b c d Σ 1 2 4 2 2 10 2 4 3 3-10 - 3 4 2 - - 6 - - 4 4 3 6-13 - 5 2 2 - - 4 - - 6 5 2 - - 7 - - 7 10x1 10 Σ 60
Aufgabe 1. (2+4+2+2 Punkte) Betrachten Sie das ElGamal-Verschlüsselungsverfahren aus der Vorlesung. Es sei eine zyklische (Unter-)Gruppe G Z 23 mit G-Erzeuger g = 8 der Ordnung 11 gegeben. (a) Berechnen Sie zu dem geheimen Schlüssel sk = (G, g = 8, x = 5) den öentlichen Schlüssel pk. Hinweise: 8 = 2 3 ; 2 ist ein Element der Untergruppe G. (b) (i) Geben Sie an, wie beim ElGamal-Verschlüsselungsverfahren ein Chirat C := (Y, Z) entschlüsselt wird. (ii) Entschlüsseln Sie das Chirat C = (4, 4) mit den Schlüsseln aus (a). Hinweis: 4 ist ein Element der Untergruppe G. 1
(c) Sei H eine öentlich bekannte, deterministische Hashfunktion. Wir ändern das ElGamal-Verschlüsselungsverfahren so, dass Chirate für eine Nachricht M und einem öentlichen Schlüssel pk = (G, g, h) die Form C = (g H(M), h H(M) M) haben. Ist diese Variante des ElGamal-Verschlüsselungsverfahrens IND-CPA-sicher? Begründen Sie Ihre Antwort kurz! (d) Erklären Sie den Ablauf des Die-Hellman-Schlüsselaustauschs über einer zyklischen Gruppe G mit Erzeuger g zwischen zwei Parteien A und B und erklären Sie kurz, wieso nach Ende des Schlüsselaustauschs beide Parteien den gleichen Schlüssel kennen. 2
Aufgabe 2. (4+3+3 Punkte) Wir betrachten das einfache RSA-Signaturschema (ohne Paddingfunktion) aus der Vorlesung. (a) Gegeben seien die Primzahlen P = 5 und Q = 11. (i) Berechnen Sie aus P und Q den RSA-Modulus N und ϕ(n). (ii) Welche Bedingungen muss der öentliche Schlüssel (N, e) im Allgemeinen erfüllen? (iii) Berechnen Sie zum öentlichen Schlüssel (N, e = 7) den privaten Schlüssel (N, d). 3
(b) Nehmen Sie an, dass es einen PPT-Algorithmus L gibt, der bei Eingabe eines öentlichen RSA- Schlüssels (N, e) die Faktorisierung von N berechnet. Geben Sie einen PPT-Angreifer A an, der mithilfe von L aus dem öentlichen Schlüssel (N, e) den zugehörigen privaten Schlüssel (N, d) berechnet. Begründen Sie, warum Ihr Angreifer polynomielle Laufzeit hat. (c) Geben Sie einen ezienten Angreifer an, der, gegeben zwei gültige Nachrichten-Signaturpaare (m 1, σ 1 ) und (m 2, σ 2 ), eine gültige Signatur für die Nachricht m 1 m 2 berechnet. Zeigen Sie, dass die vom Angreifer berechnete Signatur gültig ist. Der Angreifer hat dabei keinen Zugri auf ein Signaturorakel. 4
Aufgabe 3. (4 + 2 Punkte) (a) Es sei eine Blockchire (E, D) gegeben, die bei Verwendung eines festen Schlüssels K einen Nachrichtblock M i {0, 1} 4 wie folgt auf einen Chiratblock C i := E(K, M i ) {0, 1} 4 abbildet: M i 0000 0001 0010 0011 0100 0101 0110 0111 C i 1000 0101 0111 0010 1011 0100 1101 0110 M i 1000 1001 1010 1011 1100 1101 1110 1111 C i 0000 1100 0011 1111 0001 1001 1010 1110 Verschlüsseln Sie die Nachricht M = 0010 1100 0101 unter K in den Betriebsmodi ECB, CBC und CTR. Wird ein Initialisierungsvektor benötigt, so benutzen Sie dafür IV = 1001. (b) Nennen Sie einen Betriebsmodus für Blockchiren, bei dem die Verschlüsselung parallelisierbar ist und geben Sie an, wie in diesem Modus ver- und entschlüsselt wird. 5
Aufgabe 4. (4+3+6 Punkte) (a) Es sei Σ = (Gen, Sig, Ver) ein EUF-CMA-sicheres digitales Signaturverfahren. Betrachten Sie das digitale Signaturverfahren Σ = (Gen, Sig, Ver ), welches Nachrichten der Form M = (M 1, M 2 ) signiert. Die Algorithmen sind folgendermaÿen deniert: ˆ Gen (1 k ) = Gen(1 k ), ˆ Sig (sk, (M 1, M 2 )) := (Sig(sk, M 1 ), Sig(sk, M 2 )) =: (σ 1, σ 2 ), ˆ Ver (pk, (M 1, M 2 ), (σ 1, σ 2 )) := Ver(pk, M 1, σ 1 ) Ver(pk, M 2, σ 2 ). Ist Σ EUF-CMA-sicher? Beweisen Sie Ihre Antwort, indem Sie entweder die EUF-CMA-Sicherheit von Σ beweisen oder einen EUF-CMA-Angreifer angeben (zeigen Sie in diesem Fall auch, dass Ihr Angreifer tatsächlich erfolgreich ist und polynomielle Laufzeit hat). 6
(b) Geben Sie das IND-CPA-Sicherheitsspiel aus der Vorlesung für symmetrische Verschlüsselungsverfahren an. Wann ist ein symmetrisches Verschlüsselungsverfahren IND-CPA-sicher? (c) Es sei SKE = (Enc, Dec) ein IND-CPA-sicheres, symmetrisches Verschlüsselungsverfahren. Betrachten Sie das symmetrische Verschlüsselungsverfahren SKE = (Enc, Dec ), wobei die Algorithmen folgendermaÿen deniert sind: ˆ Enc (K, M) := (Enc(K, M R), R) =: (C 1, C 2 ), wobei R {0, 1} M, ˆ Dec (K, C) = Dec (K, (C 1, C 2 )) = Dec(K, C 1 ) C 2. (i) Zeigen Sie die Korrektheit von SKE, d.h. zeigen Sie, dass Dec Chirate, die von Enc erstellt wurden, korrekt entschlüsselt. 7
(ii) Beweisen Sie: SKE ist IND-CPA-sicher. Zur Erinnerung hier noch einmal die Algorithmen von SKE : ˆ Enc (K, M) := (Enc(K, M R), R) =: (C 1, C 2 ), wobei R {0, 1} M, ˆ Dec (K, C) = Dec (K, (C 1, C 2 )) = Dec(K, C 1 ) C 2. 8
Aufgabe 5. (2+2 Punkte) (a) Geben Sie die Denition der Zero-Knowledge-Eigenschaft für Public-Key-Identikationsprotokolle (Gen, P, V) aus der Vorlesung an. (b) Es sei Σ = (Gen Σ, Sig, Ver) ein EUF-CMA-sicheres digitales Signaturverfahren. Betrachten Sie das folgende Public-Key-Identikationsprotokoll (Gen, P, V): ˆ Gen(1 k ) = Gen Σ (1 k ) =: (pk, sk) ˆ V wählt einen zufälligen Bitstring R {0, 1} k und schickt ihn an P. ˆ P erhält R von V, berechnet σ Sig(sk, R) und schickt σ an V. ˆ V erhält σ von P und gibt Ver(pk, R, σ) aus. Hat dieses Protokoll die Zero-Knowledge-Eigenschaft? Begründen Sie kurz Ihre Antwort! 9
Aufgabe 6. (5+2 Punkte) (a) Im Bell-LaPadula-Modell aus der Vorlesung seien die Subjektmenge S = {s 1, s 2, s 3 }, die Objektmenge O = {o 1, o 2, o 3, o 4 }, die Menge der Zugrisoperationen A = {read, write, append, execute} und die Menge der Sicherheitslevel L = {topsecret, secret, unclassified} mit der L-Halbordnung topsecret secret unclassified gegeben. Die Zugriskontrollmatrix M = (M s,o ) s S,o O ist durch die Tabelle o 1 o 2 o 3 o 4 s 1 {read, execute} {read} {read} {read, write} s 2 {read} A A s 3 {read, write} {read} deniert und die Zuordung der maximalen und aktuellen Sicherheitslevel F = (f s, f c, f o ) ist durch die Tabellen f s ( ) f c ( ) s 1 topsecret unclassified s 2 topsecret unclassified s 3 unclassified unclassified o 1 o 2 o 3 o 4 f o ( ) secret topsecret unclassified secret beschrieben. Betrachten Sie die folgende Abfolge von Zugrien b S O A in Reihenfolge: 1. (s 1, o 2, read) 4. (s 3, o 4, read) 2. (s 3, o 3, write) 5. (s 1, o 4, write) 3. (s 2, o 3, execute) Geben Sie für die einzelnen Zugrie jeweils an, ob die ds-, ss- oder -Eigenschaft erfüllt oder verletzt ist. Nutzen Sie dafür die Spalten ds, ss und der unten stehenden Tabelle. Benutzen Sie dabei für erfüllt und für verletzt. Geben Sie für verletzte Eigenschaften in der Spalte Bemerkung an, warum sie jeweils verletzt sind. Ändert sich durch einen Zugri der aktuelle Sicherheitslevel des Subjekts, so geben Sie in der Spalte Bemerkung an, wie er sich ändert. Gehen Sie davon aus, dass zu Beginn noch kein Zugri stattgefunden hat. Zugri ds ss Bemerkung 1. (s 1, o 2, read) 2. (s 3, o 3, write) 3. (s 2, o 3, execute) 4. (s 3, o 4, read) 5. (s 1, o 4, write) 10
(b) Geben Sie zwei Nachteile des Bell-LaPadula-Modells aus der Vorlesung an. 11
Aufgabe 7. (10 Punkte) Bei dieser Multiple-Choice-Aufgabe gibt jede richtige Antwort 1 Punkt. Kreuzen Sie jeweils an, ob die Aussage wahr oder falsch ist. Für jede falsche Antwort wird 1 Punkt abgezogen, die Gesamtpunktzahl der Aufgabe kann jedoch nicht negativ werden. Für nicht beantwortete Fragen (kein Kreuz) werden keine Punkte abgezogen. wahr falsch Eine über k parametrisierte Hashfunktion H ist kollisionsresistent, wenn für jeden PPT-Algorithmus A die Wahrscheinlichkeit Pr[(X, X ) A(1 k ): X X H k (X) = H k (X )] vernachlässigbar ist. Eine Blockchire (E, D), die beim Verschlüsseln den Betriebsmodus C 0 = E(K, M 0 ), C i = E(K, M i M i 1 ), für i > 0, verwendet, ist IND-CPA-sicher. Der Angri CRIME auf TLS nutzt aus, dass im PKCS#1.5-Standard ein schlechtes RSA-Padding verwendet wird. Beim CIA-Paradigma aus der Vorlesung überprüft man Systeme auf die Eigenschaften Condentiality, Integrity und Anonymity. Beim Kerberos-Schlüsselaustauschprotokoll wird eine Schlüsselzentrale verwendet. H (x) = H(x F (x)) ist für jede beliebige Funktion F kollisionsresistent, wenn H kollisionsresistent ist. Gesalzene Hashwerte von Passwörtern können Angrie durch Rainbow Tables erschweren. Werden Nutzereingaben von einem Server nicht geeignet überprüft und verarbeitet/escapet, kann dies SQL-Injections ermöglichen. Das Die-Hellman-Schlüsselaustauschprotokoll aus der Vorlesung bietet Sicherheit gegen Man-in-the-Middle-Angrie. Das ElGamal-Signaturverfahren aus der Vorlesung ist EUF-CMA-sicher. 12