Slides Thema 3
Bausteine der Kryptographie
... und wie man Sie anwendet.
🎯 Sie verstehen weitere Elemente der Kryptographie und wissen was die asymmetrische Verschlüsselung ist.
Krypto Primitive
Krypto Primitive sind die Grundbausteine. Wir kennen:
- Symmetrische Verschlüsselung
- Asymmetrische Verschlüsselung
Es gibt noch:
- Diffie Hellmann-Schlüsseltausch
- Hash-Verfahren
- uvw.
Sicherheitsproblem Schlüsseltausch
Bei der symmetrischen Verschlüsselung brauchen Sender und Empfänger den gleichen Schlüssel.
Wenn die verschlüsselte Nachricht und der Schlüssel über den gleichen Kanal versendet werden, ist die Verschlüsselung faktsich nutzlos.
Man könnte verschiedene Kanäle nutzen (Browser, E-Mail, SMS, App, ...), aber das erhöht den Koordinationsaufwand.
ℹ️ In der physischen Welt begegnen wir
Diffie Hellmann Schlüsselaustausch
Kann man einen Schlüssel über ein unsicheres Medium austauschen?
Die Wissenschaflter Whitfield Diffie und Martin Hellman haben 1976 festgestellt: Ja, man kann.
Der DH-Algorithmus
DH-Algorithmus is komplex, dafür gibt es eine schöne Analogie mit Farben.
- Alice und Bob einigen sich auf eine gemeinsame (öffentliche) Farbe
- Jeder wählt sich zudem eine geheime Farbe
- Alice und Bob mischen sich aus ihrer geheimen und der öffentlichen Farbe eine weitere Farbe
- Die gemischte Farbe tauschen sie aus und mischen diese mit ihrer Geheimfarbe.
- Das letzte Gemisch kennen nur Alice und Bob und sonst niemand.
Ziel ist es, dass Alice und Bob einen gemeinsamen geheimen Schlüssel haben.
Veranschaulichung DH
Funktionsweise DH
Verschlüsselungart für den DH-Schlüsseltausch ist die asymmetrische Verschlüsselung.
Unterschiedliche Schlüssel
Bei der asymmetrischen Verschlüsselung haben wir einen privaten und einen öffentlichen Schlüssel. Der öffentliche Schlüssel ist hier das Schloss:
Asymmetrische Verschlüsselung
Hier das Ver- und Entschlüsselungsverfahren:
🤔 Kann man auch mit dem privaten Schlüssel eine Nachricht verschlüsseln?
Public und Private Key
Man unterscheidet zwischen Public und Private Key
- Public Key ist öffentlich 📢 und dient der Verschlüsselung 🔒
- Private Key ist geheim 🤫 und dient der Entschlüsselung 🔓
ℹ️ Die Verschlüsselung muss mathematisch schwer umkehrbar sein!
Problem der Asymmetrischen Verschlüsselung
➖ Algorithmen zur asymmetrischen Verschlüssselung sind zeitaufwendig
➕ Kein sicherer Schlüsselaustausch nötig
Aufgaben
🎬 Lösen Sie die Aufgaben 1 in Gruppen oder Breakout-Rooms.
Fingerabdruck beim Menschen
Fingerabdrücke werden benutzt, um Personen mit wenigen Eigenschaften zu identifizieren.
🤔 Gleicher Fingerabdruck heisst gleiche Person -> Wie erstellt man einen digitalen Fingerabdruck?
Hash-Funktionen
Ordnet eine Zeichenketter einer neuen Zeichenketten mit einer festen und vorgegebenen Länge zu.
Arten von Hashes
Welche Secure Hash Algorithms (SHA) gibt es?
SHA-1: Korrigierte Version von SHA-0. Inzwischen unsicher.
SHA-2: Beinhaltet SHA-224, SHA-256, SHA-384 und SHA-512. Die Nummer ist die jeweilige Schlüssellänge.
SHA-3: Neuster und sicherster Hash-Algorithmus.
MD5: Verbreitet und sehr unsicher.
SHA265 mit Python
Einwegfunktion
Bei einer Einwegfunktion ist es praktisch unmöglich, aus einem möglichen Zielwert einen Ausgangswert so zu bestimmen.
Quersumme als Hash-Funktion
Wir möchten die Zahlen 79847 und 67967 mitteilen und mit Prüfsumme sichern.
7+8+9+4+7
// 35
6+7+9+6+7
// 35
🤔 Was ist hier das Problem?
Kollisionsresistenz
Die Quersumme hat eine schwache Kollisionsresistenz.
SHA-256 hat eine starke Kollisionsresistenz
Mit Zweiteren ist es fast unmöglich zweimal der Gleiche Ausgangswert zu finden.
Angriffszenarien
Kollisionsangriff: Der Angreifer versucht verschiedene Dokumente mit denselben Hashwerten zu erzeugen.
🧠 Nice to know: Shattered
Anwendung
von Hashes:
- Passwörter werden als Hash gespeichert
- Dokumente, Dateien verifizieren (Integrität 💎)