Asymmetrische Verschlüsselung, Hashes und Signaturen

lock
Bevorstehend

Asymmetrische Verschlüsselung, Diffie-Hellman, Hashfunktionen, Passwörter, digitale Signaturen und Zertifikate.

Ziele dieses Moduls
  • 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

SymmetrischAsymmetrisch
SchlüsselEiner (gemeinsamer Schlüssel)Zwei (Schlüsselpaar: Public + Private)
GeschwindigkeitSchnellLangsam
BeispielAESRSA
ProblemSchlüsselaustauschLangsam 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

BriefkastenKryptographie
Einschubschlitz (öffentlich)Public Key — jeder kann verschlüsseln
Schlüssel zum Öffnen (geheim)Private Key — nur Bob kann entschlüsseln
Brief einwerfenNachricht mit Public Key verschlüsseln
Brief lesenNachricht 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:

  1. Bob verteilt offene Schlösser (sein Public Key) an alle, die ihm Nachrichten schicken wollen
  2. Alice legt ihre Nachricht in eine Box und schliesst sie mit Bobs Schloss
  3. Nun kann niemand die Box öffnen — auch Alice nicht mehr!
  4. 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?

  1. Bob generiert ein Schlüsselpaar und veröffentlicht seinen Public Key
  2. Alice verschlüsselt ihre Nachricht mit Bobs Public Key
  3. Die verschlüsselte Nachricht kann nur mit Bobs Private Key gelesen werden
  4. 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

  1. Öffentliche Farbe: Gelb — für alle sichtbar
  2. Alices geheime Farbe: Rot — nur Alice kennt sie
  3. 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:

  1. Asymmetrisch: Alice und Bob tauschen einen Sitzungsschlüssel (Session Key) aus
  2. Symmetrisch: Die eigentliche Nachricht wird mit dem Sitzungsschlüssel verschlüsselt

Beispiel: HTTPS

SchrittVerfahrenWarum?
1. SchlüsselaustauschAsymmetrisch (RSA / ECDHE)Sicherer Austausch ohne gemeinsames Geheimnis
2. Daten übertragenSymmetrisch (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:

  1. Alice erstellt einen Hash ihrer Nachricht
  2. Alice verschlüsselt den Hash mit ihrem Private Key → das ist die Signatur
  3. Alice schickt Nachricht + Signatur an Bob
  4. Bob entschlüsselt die Signatur mit Alices Public Key
  5. Bob hash die empfangene Nachricht selbst und vergleicht die beiden Hashes
  6. Stimmen sie überein → Nachricht ist echt und unverändert

Drei Sicherheitsziele

ZielBedeutungWie gesichert?
IntegritätNachricht wurde nicht verändertHash-Vergleich
AuthentizitätNachricht stammt von AliceSignatur mit Private Key
NichtabstreitbarkeitAlice kann nicht leugnen, die Nachricht gesendet zu habenNur 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

  1. Alice lässt ihren Public Key von einer vertrauenswürdigen CA bestätigen
  2. Die CA erstellt ein Zertifikat: «Dieser Public Key gehört zu alice@example.com» — digital signiert von der CA
  3. 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?

SchrittVerfahren
1. Server identifiziert sichZertifikat + digitale Signatur (CA)
2. SchlüsselaustauschDiffie-Hellman oder RSA (asymmetrisch)
3. Sitzungsschlüssel erzeugtZufälliger AES-Schlüssel
4. Daten übertragenAES (symmetrisch)
5. Integrität prüfenHMAC / 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