Asymmetrische Verschlüsselung, Hashes und Signaturen
Asymmetrische Verschlüsselung, Diffie-Hellman, Hashfunktionen, Passwörter, digitale Signaturen und Zertifikate.
- Sie können den Unterschied zwischen symmetrischer und asymmetrischer Verschlüsselung erklären und das Problem des Schlüsselaustauschs bei symmetrischer Verschlüsselung beschreiben.Verstehen
- Sie können die Briefkasten-Analogie und die Schlüssel-Schloss-Analogie zur Erklärung asymmetrischer Verschlüsselung verwenden.Verstehen
- Sie können das Prinzip des Schlüsselpaars (Public Key / Private Key) erklären und beschreiben, welcher Schlüssel zum Ver- bzw. Entschlüsseln verwendet wird.Verstehen
- Sie können den Diffie-Hellman-Schlüsselaustausch anhand der Farben-Analogie erklären.Verstehen
- Sie können erklären, wie symmetrische und asymmetrische Verschlüsselung kombiniert werden (hybride Verschlüsselung, z.B. HTTPS).Anwenden
- Sie können erklären, was eine Hashfunktion ist und ihre Eigenschaften (einweg, kollisionsresistent, deterministisch) beschreiben.Verstehen
- Sie können erklären, wie Passwörter sicher gespeichert werden (Hash + Salt) und warum Rainbow Tables ein Risiko sind.Anwenden
- Sie können erklären, wie digitale Signaturen funktionieren (Hash + asymmetrische Verschlüsselung) und Integrität, Authentizität und Nichtabstreitbarkeit sicherstellen.Verstehen
- Sie können die Rolle von Zertifizierungsstellen (CA) und Zertifikaten bei der Vertrauensherstellung im Internet erklären.Verstehen
Asymmetrische Verschlüsselung (Briefkasten- und Schlösser-Analogie), Diffie-Hellman-Farben, hybride Verschlüsselung, Hashfunktionen, Passwörter, digitale Signaturen und Zertifikate.
Symmetrisch vs. Asymmetrisch — Das Problem
Bei symmetrischer Verschlüsselung verwenden Alice und Bob denselben Schlüssel zum Ver- und Entschlüsseln. Das funktioniert — aber es gibt ein Problem: Wie tauschen Alice und Bob den Schlüssel aus?
Wenn Eve die Verbindung abhört und den Schlüssel abfängt, ist die gesamte Verschlüsselung nutzlos. Das ist das Schlüsselaustausch-Problem.
Vergleich
| Symmetrisch | Asymmetrisch | |
|---|---|---|
| Schlüssel | Einer (gemeinsamer Schlüssel) | Zwei (Schlüsselpaar: Public + Private) |
| Geschwindigkeit | Schnell | Langsam |
| Beispiel | AES | RSA |
| Problem | Schlüsselaustausch | Langsam für grosse Datenmengen |
Die Briefkasten-Analogie
Stellen Sie sich vor, Bob hat einen Briefkasten an seinem Haus.
- Der Briefkasten hat einen Einschubschlitz — durch diesen kann jeder einen Brief einwerfen
- Nur Bob hat den Schlüssel zum Öffnen des Briefkastens
Übertragung auf die Kryptographie
| Briefkasten | Kryptographie |
|---|---|
| Einschubschlitz (öffentlich) | Public Key — jeder kann verschlüsseln |
| Schlüssel zum Öffnen (geheim) | Private Key — nur Bob kann entschlüsseln |
| Brief einwerfen | Nachricht mit Public Key verschlüsseln |
| Brief lesen | Nachricht mit Private Key entschlüsseln |
Alice kann Bob eine verschlüsselte Nachricht schicken, ohne jemals einen geheimen Schlüssel auszutauschen. Sie braucht nur Bobs öffentlichen Schlüssel.
Note
Die Schliess-Schloss-Analogie
Eine andere Art, asymmetrische Verschlüsselung zu verstehen:
- Bob verteilt offene Schlösser (sein Public Key) an alle, die ihm Nachrichten schicken wollen
- Alice legt ihre Nachricht in eine Box und schliesst sie mit Bobs Schloss
- Nun kann niemand die Box öffnen — auch Alice nicht mehr!
- Nur Bob hat den Schlüssel (Private Key), um das Schloss zu öffnen
Wichtig
- Der Public Key wird zum Verschlüsseln verwendet
- Der Private Key wird zum Entschlüsseln verwendet
- Der Public Key kann öffentlich sein — er nützt Eve nichts ohne den Private Key
- Der Private Key darf niemals weitergegeben werden
Das Schlüsselpaar (Public Key / Private Key)
Bei der asymmetrischen Verschlüsselung besitzt jede Person ein Schlüsselpaar:
- Public Key (öffentlicher Schlüssel): Kann von jedem eingesehen werden. Wird zum Verschlüsseln verwendet.
- Private Key (privater Schlüssel): Bleibt geheim. Wird zum Entschlüsseln verwendet.
Wie funktioniert es?
- Bob generiert ein Schlüsselpaar und veröffentlicht seinen Public Key
- Alice verschlüsselt ihre Nachricht mit Bobs Public Key
- Die verschlüsselte Nachricht kann nur mit Bobs Private Key gelesen werden
- Nicht einmal Alice kann ihre eigene Nachricht entschlüsseln!
RSA — Das bekannteste Verfahren
RSA (benannt nach Rivest, Shamir, Adleman, 1977) ist das bekannteste asymmetrische Verfahren. Es basiert auf der mathematischen Schwierigkeit, grosse Zahlen in ihre Primfaktoren zu zerlegen.
- Public Key:
(n, e)— öffentlich bekannt - Private Key:
(n, d)— geheim - Sicherheit: Faktorisierung von
n(zwei grosse Primzahlen) ist extrem aufwendig
Diffie-Hellman — Geheime Farbe mischen
Wie können Alice und Bob einen gemeinsamen geheimen Schlüssel vereinbaren, ohne ihn jemals zu übertragen? Der Diffie-Hellman-Schlüsselaustausch löst genau dieses Problem.
Die Farben-Analogie
- Öffentliche Farbe: Gelb — für alle sichtbar
- Alices geheime Farbe: Rot — nur Alice kennt sie
- Bobs geheime Farbe: Blau — nur Bob kennt sie
Schritt 1: Alice mischt Gelb + Rot → Orange und schickt es Bob
Schritt 2: Bob mischt Gelb + Blau → Grün und schickt es Alice
Schritt 3: Alice mischt Bobs Grün + ihr Rot → Gelb + Blau + Rot = Braun
Schritt 4: Bob mischt Alices Orange + sein Blau → Gelb + Rot + Blau = Braun
Beide haben dieselbe Farbe! Aber Eve, die nur Orange und Grün abfängt, kann Braun nicht herstellen, weil sie weder Rot noch Blau kennt.
Warum funktioniert das?
- Mischen ist einfach (wie Multiplikation)
- Entmischen ist extrem schwer (wie Faktorisierung)
- Das mathematische Äquivalent nutzt diskrete Logarithmen
Note
Hybride Verschlüsselung — Das Beste aus beiden Welten
In der Praxis wird beides kombiniert:
- Asymmetrisch: Alice und Bob tauschen einen Sitzungsschlüssel (Session Key) aus
- Symmetrisch: Die eigentliche Nachricht wird mit dem Sitzungsschlüssel verschlüsselt
Beispiel: HTTPS
| Schritt | Verfahren | Warum? |
|---|---|---|
| 1. Schlüsselaustausch | Asymmetrisch (RSA / ECDHE) | Sicherer Austausch ohne gemeinsames Geheimnis |
| 2. Daten übertragen | Symmetrisch (AES) | Schnell für grosse Datenmengen |
Damit vereint hybride Verschlüsselung die Sicherheit der asymmetrischen mit der Geschwindigkeit der symmetrischen Verschlüsselung.
Hashfunktionen — Fingerabdrücke für Daten
Eine Hashfunktion verwandelt beliebige Eingabedaten in eine festlängige Ausgabe (den Hashwert oder Fingerabdruck). Sie ist keine Verschlüsselung — es gibt keinen Schlüssel und sie ist nicht umkehrbar.
Eigenschaften
- Deterministisch: Gleiche Eingabe → immer gleicher Hash
- Einweg: Aus dem Hash kann man die Eingabe nicht rekonstruieren
- Kollisionsresistent: Zwei verschiedene Eingaben ergeben (praktisch) nie denselben Hash
- Avalanche-Effekt: Kleine Änderung der Eingabe → völlig anderer Hash
Beispiel (SHA-256)
SHA-256("Hallo") = 2cf24dba5fb0a30e26e83b2ac5b9e29e
SHA-256("Hallo!") = ce0609... ← völlig anders, nur 1 Zeichen mehr!
Anwendungen
- Passwörter speichern
- Dateien auf Integrität prüfen (Download-Checksummen)
- Digitale Signaturen
- Blockchain
Passwörter sicher speichern
Eine Website darf niemals Passwörter im Klartext speichern. Stattdessen wird nur der Hash des Passworts gespeichert.
Das Problem mit einfachem Hashing
Angreifer verwenden Rainbow Tables — vorberechnete Tabellen mit Hashes von Millionen häufiger Passwörter. Damit können sie Hashes in Sekundenbruchteilen «entschlüsseln».
Die Lösung: Salt
Ein Salt ist ein zufälliger Wert, der vor dem Hashen an das Passwort angehängt wird:
Hash("passwort" + "x7$kQ") = 9a3f... ← anderer Hash als ohne Salt
Hash("passwort" + "m2!bZ") = 4c1e... ← wieder anders
- Jeder User bekommt einen anderen Salt
- Rainbow Tables werden nutzlos — Angreifer müssten für jeden Salt eine neue Tabelle berechnen
- Der Salt wird zusammen mit dem Hash gespeichert (er ist nicht geheim)
Zusätzlich: Brute-Force-Schutz
- Key Stretching: Hash mehrfach anwenden (z.B. 10000-mal), um Brute-Force zu verlangsamen
- Starke Passwörter: Lange, zufällige Passwörter sind praktisch nicht knackbar
Challenge
Aufgabe: Hash und Passwörter
Aufgabe 1
Erklären Sie in eigenen Worten: Warum darf eine Website Passwörter nie im Klartext speichern? Was passiert stattdessen?
Aufgabe 2
Was ist eine Rainbow Table? Erklären Sie, wie ein Salt dieses Verfahren unwirksam macht.
Aufgabe 3
Gegeben sind zwei User mit demselben Passwort admin123:
- User A: Salt =
a1b2, gespeicherter Hash =Hash("admin123a1b2") - User B: Salt =
c3d4, gespeicherter Hash =Hash("admin123c3d4")
Warum sind die gespeicherten Hashes unterschiedlich, obwohl das Passwort gleich ist? Warum ist das wichtig?
Digitale Signaturen — Integrität und Authentizität
Eine digitale Signatur beweist: Diese Nachricht stammt wirklich von Alice und wurde nicht verändert.
Wie funktioniert es?
Die Signatur nutzt asymmetrische Verschlüsselung umgekehrt:
- Alice erstellt einen Hash ihrer Nachricht
- Alice verschlüsselt den Hash mit ihrem Private Key → das ist die Signatur
- Alice schickt Nachricht + Signatur an Bob
- Bob entschlüsselt die Signatur mit Alices Public Key
- Bob hash die empfangene Nachricht selbst und vergleicht die beiden Hashes
- Stimmen sie überein → Nachricht ist echt und unverändert
Drei Sicherheitsziele
| Ziel | Bedeutung | Wie gesichert? |
|---|---|---|
| Integrität | Nachricht wurde nicht verändert | Hash-Vergleich |
| Authentizität | Nachricht stammt von Alice | Signatur mit Private Key |
| Nichtabstreitbarkeit | Alice kann nicht leugnen, die Nachricht gesendet zu haben | Nur Alice hat ihren Private Key |
Zertifikate und Zertifizierungsstellen
Wie weiss Bob, dass der Public Key wirklich von Alice stammt und nicht von Mallory? Hier kommen Zertifizierungsstellen (Certificate Authority, CA) ins Spiel.
Prinzip
- Alice lässt ihren Public Key von einer vertrauenswürdigen CA bestätigen
- Die CA erstellt ein Zertifikat: «Dieser Public Key gehört zu alice@example.com» — digital signiert von der CA
- Bob vertraut der CA und überprüft das Zertifikat
Vertrauenskette
Root-CA (im Browser eingebettet)
→ Intermediate-CA
→ End-Zertifikat (z.B. für google.com)
Ihr Browser enthält eine Liste von vertrauenswürdigen Root-CAs. Wenn Sie eine HTTPS-Website besuchen, überprüft der Browser die gesamte Zertifikatskette.
Was prüft der Browser?
- Gültigkeit der Signatur der CA
- Gültigkeitszeitraum (nicht abgelaufen)
- Domainname stimmt überein
- Zertifikat wurde nicht widerrufen
Wenn eine dieser Prüfungen fehlschlägt, zeigt der Browser eine Warnung.
Note
Das grosse Ganze: Krypto im Alltag
Was passiert beim Besuch einer HTTPS-Website?
| Schritt | Verfahren |
|---|---|
| 1. Server identifiziert sich | Zertifikat + digitale Signatur (CA) |
| 2. Schlüsselaustausch | Diffie-Hellman oder RSA (asymmetrisch) |
| 3. Sitzungsschlüssel erzeugt | Zufälliger AES-Schlüssel |
| 4. Daten übertragen | AES (symmetrisch) |
| 5. Integrität prüfen | HMAC / Hash |
Was passiert bei WhatsApp?
- Ende-zu-Ende-Verschlüsselung: Selbst WhatsApp kann Nachrichten nicht lesen
- Schlüsselaustausch: Asymmetrisch (Signal-Protokoll)
- Nachrichtenverschlüsselung: Symmetrisch (AES)
- Verifikation: QR-Code / Sicherheitscode (Fingerabdruck der Schlüssel)
Reflection
Reflexion
- Erklären Sie den Unterschied zwischen symmetrischer und asymmetrischer Verschlüsselung mit der Briefkasten-Analogie.
- Warum wird in der Praxis (HTTPS, WhatsApp) beides kombiniert? Was wäre das Problem, wenn man nur asymmetrisch verschlüsselt?
- Was ist der Unterschied zwischen einer Hashfunktion und einer Verschlüsselung?
- Warum reicht Hashing allein nicht aus, um Passwörter sicher zu speichern? Welche Rolle spielt der Salt?
- Wie funktioniert eine digitale Signatur? Welche drei Sicherheitsziele werden damit erreicht?
- Warum sind Zertifizierungsstellen (CA) nötig? Was wäre ohne sie möglich?
Quellen & Attribution
- Fachschaft Informatik — „Informatik mygymer — Kryptologie und Sicherheit“ (), CC BY-NC-SA 4.0 (https://creativecommons.org/licenses/by-nc-sa/4.0/) · Lizenzdetails NCSA