Post on 11-Apr-2019
Kryptographie
Sender EmpfängerNachricht
Angreifer
Ziele:
Vertraulichkeit
Angreifer kann die Nachricht nicht lesen (Flüstern).
Integrität
Angreifer kann die Nachricht nicht ändern ohne dassder Empfänger dies merkt (Versiegeln).
Authentizität
Von einer Nachricht kann festgestellt werden, wer siegeschrieben hat (Unterschrift).
NichtabstreitbarkeitVersand und Empfang kann nicht abgestritten werden (Einschreiben).
Unverzichtbare Voraussetzung z.B. für eCommerce
Kryptographie
Ziel: Vertraulichkeit
Sender
Verschlüsselung
Klartext
Entschlüsselung
Empfänger
Klartextverschlüsselte
Nachricht
Probleme:
Algorithmen zur Ver/Entschlüsselung müssen geheim gehalten werden.
Jedes Sender/Empfänger Paar braucht sein eigenes Verschlüsselungsverfahren.
Wie einigen sich Sender und Empfänger auf ein Verfahren ohne dass diesein Angreifer mitkriegt?
KryptographieLösung: Verwendung von Schlüsseln
Sender
Verschlüsselung
Klartext
Entschlüsselung
Empfänger
Klartextverschlüsselte
Nachricht
Algorithmen zur Ver/Entschlüsselung öffentlich bekannt.
Jedes Sender/Empfänger Paar muss sich nur noch auf einen gemeinsamen (geheimen) Schlüssel einigen.
Problem: Austausch des Schlüssels ohne dass dies der Angreifer mitkriegt!
Schlüssel Schlüssel
Symmetrische Kryptographie:
gleicher Schlüssel zum Ver- und Entschlüsseln.Verfahren z.B. DES, IDEA, AES, RC4, RC5, Blowfish…
Kryptographie
Realität (z.B. Internet, Mobilfunk)
Sender und Empfänger können keinen geheimen Schlüssel austauschenda prinzipiell jede Nachricht abgefangen werden kann.
Ist unter diesen Umständen eine vertrauliche Kommunikationtheoretisch überhaupt möglich?
Lösung: Asymmetrische Kryptographie (Public Key Verfahren)
Zwei unterschiedliche, zueinander passende Schlüssel:• public key zum Verschlüsseln (öffentlich)• private key zum Entschlüsseln (geheim)
Idee:
Sender Empfänger
Erzeuge Schlüsselpaarpublic key, private key
Veröffentliche public key
Verschlüssele Nachricht mit public key des Empfängers
Sende verschlüsselteNachricht
Entschlüssele Nachricht mit private key
public key
verschlüsselteNachricht
1976 Diffie Hellman, 1977 RSA, 1979, Rabin, 1985 Elgamal, aktuell Elliptic Curve Cryptography
Asymmetrische Kryptographie
Asymmetrische Kryptographie
Analogie Briefkasten:
Jeder kann etwas in den Briefkasten des Empfängers werfen(verschlüsseln mit public key des Empfängers)
Nur der Empfänger kann seinen Briefkasten öffnen(entschlüsseln mit seinem private key)
Konsequenz:
Jeder Teilnehmer braucht nur einen Briefkasten (Schlüsselpaar)!
Bei n Teilnehmern:
• n(n-1)/2 Schlüssel bei symmetrischer Kryptographie• n Schlüsselpaare bei asymmetrischer Kryptographie
Asymmetrische Kryptographie
Angriffsmöglichkeiten:
Private Key des Empfängers durch Probieren erraten.Schlüssellänge z.B. 1024 Bit21024 ≈ 10300 Möglichkeiten, vgl. nur 1080 Atome im Universum
Private Key aus Public Key des Empfängers errechnen.Erfordert Faktorisierung sehr großer Zahlen.Aus Aufwandsgründen praktisch nicht machbar!
Asymmetrische Kryptographie
Integrität und AuthentizitätZiel:
Verhindern dass Angreifer eine Nachricht unbemerkt verändern kann.Nachweisen dass eine Nachricht von einem bestimmten Autor stammt.
Idee: Autor verschlüsselt die Nachricht mit seinem private key.Jeder kann die Nachricht mit dem public key des Autors entschlüsseln.Beweis dass der Autor die Nachricht verfasst (verschlüsselt) hat.
Autor
Verschlüssele Nachricht Nmit private key: N‘
Veröffentliche N und N‘
Erzeuge Schlüsselpaarpublic key, private key
Veröffentliche public key
Tester
Wenn N = N‘‘ dann wurde N mit dem private key des
Autors verschlüsselt.Da diesen nur der Autor kennt,stammt N garantiert vom Autor.
Entschlüssele N‘ mitpublic key des Autors: N‘‘
Asymmetrische Kryptographie
Verbesserung:
Autor muss nicht die ganze Nachricht verschlüsseln,es genügt ein Hash Wert („Quersumme“, „digitaler Fingerabdruck“).Hash Funktionen z.B. MD5 (128 Bit) oder SHA-1 (160 Bit)
Autor
Verschlüssele Hash Wert nmit private key: n‘(digitale Signatur)
Veröffentliche N und n‘
Erzeuge Schlüsselpaarpublic key, private key
Veröffentliche public key
Tester
Wenn n = n‘‘ dann wurde n mit dem private key des
Autors verschlüsselt.Da diesen nur der Autor kennt,stammt N garantiert vom Autor.
Entschlüssele n‘ mitpublic key des Autors: n‘‘
Berechne Hash Wert von N: n.
Berechne Hash Wert von Nachricht N: n.
Asymmetrische Kryptographie
Angriff auf öffentlichen Schlüssel – aktiver Angriff
Angreifer fälscht den öffentlichen Schlüssel des Empfängers.Dadurch kann er jede Nachricht lesen, die dem Empfänger geschickt wird!
Empfänger Sender
public key desEmpfängers
Angreifer
public key desAngreifers
Empfänger SenderAngreifer
Nachricht mitpublic key des
Angreifersverschlüsselt
Nachricht mitpublic key desEmpfängersverschlüsselt
Sender und Empfänger merken hiervon gar nichts!
„Man in the middle attack“
Asymmetrische Kryptographie
Lösung: Zertifikate.
Garantie, dass ein öffentlicher Schlüsseltatsächlich von der genannten Person stammt.
Wie kann ich meinen public key zertifizieren lassen?
Gehe mit public key und Personalausweis zu Zertifizierungsbehörde.Diese erstellt ein Dokument, in dem mein Name und mein public key stehtund signiert es mit ihrem private key.
Wie kann ich sicher sein, den korrekten public key von Person x zu bekommen?
Verlange Zertifikat von x.Prüfe Signatur mit public key der Zertifizierungsbehörde.Entnehme public key von x aus dem Zertifikat.
Asymmetrische Kryptographie
Problem:Viel zu kompliziert für den Durchschnitts-Surfer!!!
Lösung:
Secure Socket Layer (SSL)Verschlüsselung und Prüfung von Zertifikatengeschieht automatisch ohne dass man etwas davon merkt.
HTTPS: HTTP über SSLWebserver authentifiziert sich über ein Zertifikat.Daten werden verschlüsselt übertragen.
Sender
SSL
Empfänger
SSL
Klartext KlartextVerschlüsselt
Client
Symmetrische Kryptographieverschlüsselt mit K.
Überprüfe Zertifikat,erhalte public key des Servers
Erzeuge Session Key K
Server
Entschlüssle Session Key K mit private key
Sende Zertifikat an Client
Verschlüssle K mit public keydes Servers und sende ihn
an den Server
Kryptographie
Zertifikat
Session Key K verschlüsselt mit public key des Servers
Symmetrische Kryptographieverschlüsselt mit K.
SymmetrischeKryptographie
Hybride Verfahren: asymmetrische Kryptographie rechenaufwändig!
Nur der Session Key K für symmetrische Kryptographie wird mit asymmetrischerKryptographie verschlüsselt.Effizienter da symmetrische Kryptographie weniger Rechenaufwand kostet.