Kryptographische Protokolle

Ähnliche Dokumente
Kryptographische Algorithmen

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

Kryptographische Algorithmen

Public-Key-Verschlüsselung und Diskrete Logarithmen

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

Public-Key-Kryptographie

Kryptographie und Komplexität

Kryptographische Verfahren auf Basis des Diskreten Logarithmus

Public-Key Kryptographie mit dem RSA Schema. Torsten Büchner

Übung GSS Blatt 6. SVS Sicherheit in Verteilten Systemen

Vorlesung Datensicherheit. Sommersemester 2010

Algorithmentheorie Randomisierung. Robert Elsässer

Kryptographie mit elliptischen Kurven

Kryptografische Protokolle

Kryptografische Protokolle

IT-Sicherheit Kapitel 3 Public Key Kryptographie

Kryptografische Protokolle

Datensicherheit durch Kryptographie

3: Zahlentheorie / Primzahlen

Entwicklung der Asymmetrischen Kryptographie und deren Einsatz

4: Algebraische Strukturen / Gruppen

Wiederholung Symmetrische Verschlüsselung klassische Verfahren: Substitutionschiffren Transpositionschiffren Vigenère-Chiffre One-Time-Pad moderne

11. Das RSA Verfahren und andere Verfahren

Probabilistische Primzahltests

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

IT-Sicherheit: Kryptographie. Asymmetrische Kryptographie

AES und Public-Key-Kryptographie

Kryptologie. K l a u s u r WS 2006/2007, Prof. Dr. Harald Baier

Digitale Unterschriften mit ElGamal

Vorlesung Sicherheit

Asymmetrische Kryptographie u

Proseminar Datensicherheit & Versicherungsmathematik RSA-Verfahren

Angewandte Kryptographie

Was ist Kryptographie

Konzepte von Betriebssystemkomponenten: Schwerpunkt Sicherheit. Asymmetrische Verschlüsselung, Digitale Signatur

Vorlesung Diskrete Strukturen Gruppe und Ring

Technikseminar SS2012

SSL/TLS Sicherheit Warum es sich lohnt, sich mit Ciphersuites zu beschäftigen

2.7 Digitale Signatur (3) 2.7 Digitale Signatur (4) Bedeutung der digitalen Signatur. Bedeutung der digitalen Signatur (fortges.)

9 Schlüsseleinigung, Schlüsselaustausch

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

Kryptographie und Komplexität

Kurze Einführung in kryptographische Grundlagen.

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009

IT-Risk-Management und Kryptographie

Kryptographie Reine Mathematik in den Geheimdiensten

Vorkurs für. Studierende in Mathematik und Physik. Einführung in Kryptographie Kurzskript 2015

RSA Verfahren. Kapitel 7 p. 103

Kryptographie. nur mit. Freier Software!

Erste Vorlesung Kryptographie

Netzwerktechnologien 3 VO

Grundlagen der Kryptographie

Grundlegende Protokolle

Kryptographische Verfahren. zur Datenübertragung im Internet. Patrick Schmid, Martin Sommer, Elvis Corbo

Kapitel 3 Elementare Zahletheorie

Workshop Experimente zur Kryptographie

Asymmetrische. Verschlüsselungsverfahren. erarbeitet von: Emilia Winkler Christian-Weise-Gymnasium Zittau

Algorithmische Kryptographie

Symmetrische und Asymmetrische Kryptographie. Technik Seminar 2012

Einwegfunktionen mit und ohne Falltür

Authentikation und digitale Signatur

Kommunikationsalgorithmus RSA

Kryptographie praktisch erlebt

IT-Sicherheit Wintersemester 2014/2015 Harald Baier Kapitel 3: Kryptographie (Begleitfolien)

Proseminar: Electronic Commerce und Digitale Unterschriften Public-Key-Kryptographie

Einführung in die Kryptographie ,

Ein RSA verwandtes, randomisiertes Public Key Kryptosystem

Public-Key Verschlüsselung

SCHRIFTLICHE ZUSAMMENFASSUNG ZUM VORTRAG DIE GRUNDLAGEN DER RSA-VERSCHLÜSSELUNG VON DANIEL METZSCH

Einführung in die Kryptographie

Diffie-Hellman, RSA, etc.

Kryptographie. ein erprobter Lehrgang. AG-Tagung Informatik, April 2011 Alfred Nussbaumer, LSR für NÖ. LSR für NÖ, 28. April 2011 Alfred Nussbaumer

KRYPTOSYSTEME & RSA IM SPEZIELLEN

Konzepte von Betriebssystem-Komponenten: Schwerpunkt Sicherheit Grundlagen: Asymmetrische Verschlüsslung, Digitale Signatur

Verfügbarkeit (Schutz vor Verlust) Vertraulichkeit (Schutz vor unbefugtem Lesen) Authentizität (Schutz vor Veränderung, Fälschung)

Betriebssysteme und Sicherheit

Anhang IV zur Vorlesung Kryptologie: Public-Key Kryptographie

PGP warum, was und wie?

Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel

1. Asymmetrische Verschlüsselung einfach erklärt

Primzahlen: vom antiken Griechenland bis in den Computer

Das Programm Cryptool kann man unter herunter laden. Auf der Download Seite befindet sich auch das Skript zum Programm.

9. Primitivwurzeln. O. Forster: Einführung in die Zahlentheorie

Schutz von Informationen bei Übertragung über unsichere Kanäle Beispiele für zu schützende Informationen

Elliptische Kurven in der Kryptographie

Vorlesung IT-Sicherheit FH Frankfurt Sommersemester 2007

Das RSA Kryptosystem

und Digitale Signatur

Kryptographie: Verteidigung gegen die dunklen Künste in der digitalen Welt

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12)

Digitale Signaturen. Kapitel 10 p. 178

Public-Key-Kryptosystem

Lenstras Algorithmus für Faktorisierung

13. Der diskrete Logarithmus

Systemsicherheit 8: Das Internet und Public-Key-Infratrukturen

4 RSA und PGP. Die Mathematik von RSA an einem Beispiel

Praktikum Diskrete Optimierung (Teil 11)

Lösung zur Klausur zu Krypographie Sommersemester 2005

Methoden der Kryptographie

Homomorphe Verschlüsselung

Transkript:

Kryptographische Protokolle Lerneinheit 4: Schlüsselvereinbarung Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2017 8.5.2017

Einleitung Einleitung In dieser Lerneinheit werden Protokolle zur Vereinbarung von Schlüsseln durchgenommen. Die Lerneinheit gliedert sich in folgende Abschnitte: Diffie-Hellman Schlüsselaustausch Berechnung von erzeugenden Elementen Sichere Primzahlen No-Key Protokoll von Shamir Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Schlüsselvereinbarung 2 / 23

Diffie-Hellman Protokoll Das Protokoll wurde von Whitfield Diffie und Martin Hellman im Jahr 1976 vorgestellt. Alice und Bob handeln einen Schlüssel aus, ohne diesen zu übertragen Die Sicherheit des Protokolls beruht auf dem Diskreter-Logarithmus Problem. Voraussetzung: Alice und Bob einigen sich im Vorfeld auf eine Primzahl p und ein erzeugendes Element α von Z p. Die Parameter p und α müssen nicht geheim gehalten werden. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Schlüsselvereinbarung 3 / 23

Ablauf Ablauf des Diffie-Hellman Protokolls Vorbereitung: Alice und Bob einigen sich auf eine Primzahl p und ein erzeugendes Element α von Z p. Ablauf: 1. Alice wählt zufällig ein a Z p, berechnet y A = α a mod p. Anschließend sendet sie y A an Bob. 2. Bob wählt zufällig ein b Z p, berechnet y B = α b mod p. Anschließend sendet er y B an Alice. 3. Alice berechnet k A = y a B mod p und Bob berechnet k B = y b A mod p. Ergebnis: Wenn das Protokoll ordnungsgemäß durchläuft, dann sind k A und k B identisch, denn y a B (α b ) a (α a ) b (y A ) b (mod p). Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Schlüsselvereinbarung 4 / 23

Ablauf Ablauf des Diffie-Hellman Protokolls (Forts.) Sei p eine Primzahl und α ein Generator von Z p Alice Bob Wählt zufällig ein a Z p α a mod p α b mod p Wählt zufällig ein b Z p α ab mod p Geheimer Schlüssel Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Schlüsselvereinbarung 5 / 23

Ablauf Beispiel zum DH Schlüsselaustausch Angenommen, p = 27803 und α = 5 sind die öffentlichen Parameter für einen DH Schlüsselaustausch. Alice würfelt a = 21131 und berechnet 5 21131 mod 27803 = 21420. Anschließend sendet sie Bob diesen Wert. Bob würfelt b = 17555 und berechnet 5 17555 mod 27803 = 17100. Diesen Wert sendet er an Alice. Alice und Bob berechnen schließlich den geheimen Schlüssel 21420 17555 mod 27803 = 17100 21131 mod 27803 = 11134. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Schlüsselvereinbarung 6 / 23

Man-In-The-Middle Attacke Man-In-The-Middle Attacke Alice α a mod p α a mod p Oskar α b mod p α b mod p Bob Oskar sitzt zwischen Alice und Bob und fungiert als Vermittlungsstelle. Oskar ersetzt die Teilschlüssel von Alice und Bob durch seine eigenen. Alice und Bob können zwar ihre Daten mit dem ausgehandelten Schlüssel verschlüsseln, aber keiner kann die Daten des anderen entschlüsseln. Oskar kann alle Daten ver- bzw. entschlüsseln und entsprechend weiterleiten. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Schlüsselvereinbarung 7 / 23

Station-To-Station Protokoll Verbessertes Verfahren Idee: Einsatz von Prüfsummen oder Signaturen Modifiziertes Protokoll: Sei p eine Primzahl und α ein Generator von Z p Alice α a Bob α b, sign B (m B, α a, α b ) sign A (m A, α a, α b ) Alle Berechnungen verstehen sich modulo p m A und m B stehen für den Signaturschlüssel von Alice bzw. Bob Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Schlüsselvereinbarung 8 / 23

Station-To-Station Protokoll Verbessertes Verfahren (Forts.) Bei dem Protokoll handelt es sich um eine Vereinfachung des Station-To-Station Protokolls. Modifikation: Alice und Bob signieren die zu übertragenden Daten Konsequenzen: Alice und Bob können überprüfen, ob die Daten korrekt übertragen wurden. Oskar kann die Nachrichten nicht umbemerkt verändern, da er die Signaturschlüssel von Alice und Bob nicht kennt. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Schlüsselvereinbarung 9 / 23

Sichere Primzahlen Gefahren bei der Parameterwahl Beobachtung: Die Generierung von p und α ist kritisch für die Sicherheit des Diffie-Hellman Protokolls. Ist α kein erzeugendes Element, sondern ein Element mit niedriger Ordnung, dann kann Oskar eine Brute-Force Attacke ausführen. Die Überprüfung, dass α ein erzeugendes Element von Z p ist, ist aufwändig, wenn man nicht die Primfaktorzerlegung von φ(p) kennt. Lösung: Einsatz einer sicheren Primzahl. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Schlüsselvereinbarung 10 / 23

Sichere Primzahlen Sichere Primzahlen Definition. Eine sichere Primzahl ist eine hinreichend große Primzahl p mit der Eigenschaft, dass p = 2q + 1 für eine Primzahl q. Ist p eine sichere Primzahl, dann hat Z p folgende Untergruppe: die triviale Untergruppe {1} die Untergruppe {1, p 1} mit 2 Elementen die Untergruppe mit q Elementen Z p mit 2q Elementen Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Schlüsselvereinbarung 11 / 23

Generierung der öffentlichen Parameter Wie erzeugt man einen Generator? Hilfreiche Fakten: Ist Z n eine zyklische Gruppe, dann ist die Anzahl ihrer Generatoren gleich ϕ(ϕ(n)). Für eine Primzahl p ist die Anzahl der Generatoren von Z p gleich ϕ(p 1). Man kann beweisen, dass ϕ(n) n/6 ln(ln(n)) für alle n. Wenn man also zufällig ein Element α aus Z n zieht, dann ist die Chance gut, dass α ein Generator ist. Die Zahl α Z n ist ein Generator von Z n genau dann, wenn α ϕ(n)/p 1 (mod n) für alle Primteiler p von ϕ(n). Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Schlüsselvereinbarung 12 / 23

Generierung der öffentlichen Parameter Algorithmus zur Generatorerzeugung RandomGenerator(p, p 1, e 1, p 2, e 2,..., p k, e k ) Input: Primzahl p, Primfaktorzerlegung p e 1 1 pe 2 2... pe k k Output: Generator α von Z p 1 found := false; 2 while (found = false) do 3 α := Random(2, p 1); 4 found := true; 5 for i := 1 to k do 6 b := α p 1/p i mod p; 7 if (b = 1) then found := false; 8 return α; von ϕ(p) Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Schlüsselvereinbarung 13 / 23

Generierung der öffentlichen Parameter Berechnung der DH-Parameter GenerateDHParams(n, s) Input: Natürliche Zahl n, Qualitätsparameter s Output: n-bit Primzahlen p, q mit p = 2q + 1, Generator α von Z p 1 found := false; 2 while (found = false) do 3 p := Random(2, 2 n 1); 4 if p ungerade then 5 q := (p 1)/2; 6 found := MillerRabinTest(p, s) and MillerRabinTest(q, s); 7 α = RandomGenerator(p, 2, 1, q, 1) 8 return (p, q, α); Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Schlüsselvereinbarung 14 / 23

Einsatz einer kleinerern Untergruppe Einsatz einer kleineren Untergruppe Nachteil der Verwendung einer sicheren Primzahl ist der hohe Aufwand bei der Berechnung der modularen Exponentiationen. Ist p eine n-bit Primzahl (und somit q eine (n 1)-Bit Primzahl), dann benötigt eine modulare Exponentation im Mittel 3n/2 Multiplikationen. Ein gängiger Ansatz zur Verminderung des Aufwands besteht im Einsatz einer Primzahl p der Form p = Nq + 1, wobei q eine Primzahl ist. Ist p = Nq + 1, dann hat Z p eine Untergruppe der Größe q. Das Element α wird so gewählt, dass es genau diese Untergruppe erzeugt. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Schlüsselvereinbarung 15 / 23

Einsatz einer kleinerern Untergruppe Einsatz einer kleineren Untergruppe Erzeugung der Parameter: 1. Generiere zufällig eine Primzahl q mit 2 255 < q < 2 256. 2. Generiere zufällig eine große gerade Zahl N und überprüfe, ob p = Nq + 1 eine Primzahl ist. Wiederhole diesen Schritt, bis eine Primzahl gefunden wird. 3. Generiere zufällig eine Zahl a {1, 2,..., p 1} und berechne α = a N mod p. α hat die Ordnung q, falls α 1 (mod p), und α q 1 (mod p). Wiederhole diesen Schritt, bis ein passender Wert für α gefunden wird. 4. Lege (p, q, α) als öffentliche Parameter für das Diffie-Hellman Protokoll fest. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Schlüsselvereinbarung 16 / 23

Einsatz einer kleinerern Untergruppe Wahl der Größe von p Frage: Wieviele Bits sollte N bzw. p haben? Dilemma: Je größer p ist, um so sicherer ist das Diskreter-Logarithmus Problem. Je größer p ist, um so aufwändiger ist die Berechnung der modularen Exponentation. Ansatz: Einsatz der Formeln von A. Lenstra und E. Verheul 1, mit denen man passende Schlüssellängen berechnen kann. 1 A. Lenstra, E. Verheul: Selecting Cryptographic Key Sizes. Journal of Cryptography 14(4):255-293, 2001. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Schlüsselvereinbarung 17 / 23

Einsatz einer kleinerern Untergruppe Wahl der Größe von p (Forts.) Ziel: Wahl der Schlüssellänge in Abhängigkeit von der Schutzdauer der verschlüsselten Daten in Jahren. Ergebnis: Schlüssellänge Schutz bis zum Jahr 2048 Bit 2022 3072 Bit 2038 4096 Bit 2050 Warnung: Derartige Abschätzungen sind mit Vorsicht zu genießen. Online-Berechnung über die Web-Page http://www.keylength.com Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Schlüsselvereinbarung 18 / 23

No-Key Protokoll von Shamir Das No-Key Protokoll von Shamir Frage: Wie kann Alice an Bob eine geheime Nachricht senden, ohne dass beide einen Schlüssel vereinbaren? Antwort: Alice und Bob setzen das No-Key Protokoll von Shamir zum Versand der Nachricht ein. Shamir s Idee: Verwende die diskrete Exponentialfunktion f(a, x) = x a mod p als symmetrische Verschlüsselungsfunktion. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Schlüsselvereinbarung 19 / 23

No-Key Protokoll von Shamir Shamir s No-Key Protokoll (Vorbereitung) Alice und Bob einigen sich auf eine große Primzahl p. Diese Zahl muss nicht geheim gehalten werden. Der Nachrichtenraum ist Z p. Alice wählt ein Zahlenpaar (a, a ) so dass a a 1 (mod p 1). Bob wählt ein Zahlenpaar (b, b ) so dass b b 1 (mod p 1). Für alle s Z p gilt: s aa s bb s (mod p). Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Schlüsselvereinbarung 20 / 23

No-Key Protokoll von Shamir Shamir s No-Key Protokoll (Ablauf) Alice Bob Berechnet x = s a mod p x y Berechnet y = x b mod p Berechnet z = y a mod p z Berechnet s = z b mod p Es gilt: z b mod p s aba b ( s aa }{{}) bb s (mod p) =s Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Schlüsselvereinbarung 21 / 23

No-Key Protokoll von Shamir Beispiel für das No-Key Protokoll Alice und Bob einigen sich im Vorfeld auf die Primzahl p = 113. Alice wählt als Schlüsselpaar (a, a ) = (47, 31), Bob das Schlüsselpaar (b, b ) = (61, 101). Es gilt: 47 31 1 (mod 112) 61 101 1 (mod 112) Übertragung der Nachricht s = 20: 1. Alice Bob: 20 47 mod 113 = 58 2. Bob Alice: 58 61 mod 113 = 3 3. Alice Bob: 3 31 mod 113 = 47 Bob berechnet s = 47 101 mod 113 = 20 Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Schlüsselvereinbarung 22 / 23

Zusammenfassung Zusammenfassung Das Diffie-Hellman Protokoll ermöglicht die Vereinbarung eines geheimen Schlüssels über einen unsicheren Kanal. Mittels sicherer Primzahlen lässt sich das Diffie-Hellman Protokoll weiter verbessern. Die von Diffie und Hellman vorgestellten Techniken werden in zahlreichen weiteren Protokollen eingesetzt. Die Erfindung des Diffie-Hellman Protokolls gilt als die Geburtsstunde der Public Key Kryptographie. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Schlüsselvereinbarung 23 / 23