Verschlüsselung erklärt - symmetrisch vs. asymmetrisch
Zwei grundverschiedene kryptografische Ansätze, die in der Praxis fast immer kombiniert eingesetzt werden - was jeder davon leistet, wie moderne TLS-Verbindungen sie tatsächlich kombinieren, und wo Hash-Funktionen und digitale Signaturen ins Bild passen.
“Verschlüsselung” klingt nach einem einzigen Konzept, ist in der Praxis aber mindestens zwei grundverschiedene mathematische Ansätze, die unterschiedliche Probleme lösen und fast immer gemeinsam eingesetzt werden. Wer verstehen will, warum eine TLS-Verbindung so aufgebaut ist, wie sie ist, muss beide kennen - und wissen, wo Hash-Funktionen und digitale Signaturen ins Spiel kommen, die mit Verschlüsselung selbst nur locker verwandt sind.
Kurz gesagt: Symmetrische Kryptografie ist schnell, benötigt aber ein bereits geteiltes gemeinsames Geheimnis. Asymmetrische Kryptografie arbeitet mit einem öffentlichen und einem privaten Schlüssel und löst damit vor allem zwei Probleme, die Symmetrie allein nicht lösen kann: Authentisierung (wer ist mein Gegenüber wirklich?) und die sichere Aushandlung eines Schlüssels über einen unsicheren Kanal. In Protokollen wie TLS werden beide Ansätze kombiniert - dazu kommen Hash-Funktionen und darauf aufbauende digitale Signaturen, die ein drittes Problem lösen: nachweisbare Unverändertheit und Urheberschaft.
1. Drei Fragen, die Kryptografie beantwortet
Bevor die einzelnen Bausteine sich einordnen lassen, hilft eine Unterscheidung von drei unterschiedlichen Fragen, die im Alltag oft unter dem Sammelbegriff “Sicherheit” vermischt werden:
- Vertraulichkeit: Kann jemand, der eine Nachricht abfängt, ihren Inhalt lesen?
- Integrität: Wurde eine Nachricht seit dem Absenden unbemerkt verändert?
- Authentizität: Stammt eine Nachricht tatsächlich von der Person oder dem System, das sie vorgibt zu sein?
Symmetrische Verschlüsselung adressiert vor allem Vertraulichkeit. Hash-Funktionen sind ein Baustein für Integrität. Digitale Signaturen liefern Integrität und Authentizität zugleich. Zertifikate binden eine geprüfte Identität an einen Schlüssel. TLS kombiniert am Ende alle vier Bausteine zu einer einzigen, praktisch nutzbaren Verbindung.
2. Symmetrische Kryptografie: ein gemeinsames Geheimnis
Bei symmetrischer Verschlüsselung wird derselbe Schlüssel zum Verschlüsseln und Entschlüsseln verwendet. Ein einfaches Gedankenexperiment: Anna und Ben kennen beide denselben geheimen Schlüssel K. Anna verschlüsselt eine Nachricht mit K, Ben entschlüsselt sie mit demselben K wieder in Klartext. Moderne symmetrische Verfahren wie AES oder ChaCha20 sind dabei sehr schnell und verschlüsseln auch große Datenmengen mit minimalem Rechenaufwand.
Das strukturelle Problem bleibt: Woher weiß Ben K, wenn Anna und Ben nur über ein unsicheres, öffentlich einsehbares Netzwerk kommunizieren können? Das gemeinsame Geheimnis muss vorher irgendwie sicher ausgetauscht worden sein - und genau dieses Verteilungsproblem lässt sich mit symmetrischer Kryptografie allein nicht lösen.
3. Asymmetrische Kryptografie: öffentlicher und privater Schlüssel
Asymmetrische Kryptografie löst zwei Probleme, die Symmetrie allein nicht lösen kann: Authentisierung und die sichere Aushandlung eines Schlüssels über einen unsicheren Kanal. Jeder Teilnehmer besitzt dafür ein Schlüsselpaar: einen öffentlichen Schlüssel, der frei verteilt werden darf, und einen privaten Schlüssel, der geheim bleibt.
Im Beispiel: Ben erzeugt ein Schlüsselpaar und teilt seinen öffentlichen Schlüssel offen, auch über einen unsicheren Kanal. Anna kann diesen öffentlichen Schlüssel nutzen, um sicher mit Ben zu kommunizieren, ohne dass beide vorher ein gemeinsames Geheimnis besessen haben mussten. Wichtig dabei: “Asymmetrische Kryptografie” ist kein einzelnes Verfahren, sondern eine Familie unterschiedlicher Algorithmen für unterschiedliche Zwecke. RSA etwa kann sowohl verschlüsseln als auch signieren; Diffie-Hellman-Verfahren (darunter das häufig in TLS genutzte ECDHE) dienen ausschließlich der Schlüsselaushandlung; Ed25519 und ECDSA sind reine Signaturverfahren ohne zugehöriges Verschlüsselungspendant.
4. Warum nicht einfach alles asymmetrisch verschlüsseln?
Dagegen sprechen zwei Gründe, nicht nur einer. Erstens sind asymmetrische Verfahren für große Datenmengen erheblich langsamer als symmetrische. Zweitens - und das wird oft übersehen - sind viele asymmetrische Verschlüsselungsverfahren technisch gar nicht dafür ausgelegt, beliebig große, kontinuierliche Datenströme direkt zu verarbeiten: RSA mit dem gängigen OAEP-Padding etwa kann pro Verschlüsselungsvorgang nur eine durch die Schlüssellänge begrenzte, vergleichsweise kleine Datenmenge verarbeiten. Asymmetrische Kryptografie wird deshalb in der Praxis nicht dazu verwendet, große Nutzdatenmengen direkt zu verschlüsseln, sondern zur Authentisierung und zum Schlüsselaustausch - die anschließende, oft große Datenübertragung läuft über ein schnelles symmetrisches Verfahren.
5. Wie moderne TLS-Verbindungen beide kombinieren
Genau dieses Muster steckt hinter TLS, der Grundlage von HTTPS - allerdings anders, als die verbreitete Kurzfassung “der Client verschlüsselt den Sitzungsschlüssel mit dem öffentlichen Schlüssel des Servers” es beschreibt. Moderne TLS-Verbindungen (insbesondere TLS 1.3) verwenden typischerweise ein asymmetrisches Signaturverfahren zur Authentisierung des Servers und ein Diffie-Hellman-Verfahren auf Basis elliptischer Kurven (ECDHE) zur Aushandlung eines gemeinsamen Geheimnisses. Aus diesem gemeinsamen Geheimnis leiten Client und Server anschließend die eigentlichen symmetrischen Sitzungsschlüssel ab - der öffentliche Schlüssel aus dem Serverzertifikat wird dabei in der Regel nicht dazu verwendet, den symmetrischen Schlüssel selbst zu verschlüsseln. Das war das Vorgehen älterer TLS-Versionen mit RSA-Schlüsselaustausch; moderne Verfahren sind gezielt so gestaltet, dass ein späterer Diebstahl des privaten Serverschlüssels vergangene, bereits abgeschlossene Verbindungen nicht nachträglich entschlüsselbar macht (Forward Secrecy). Die eigentliche, oft große Datenmenge der Verbindung wird schließlich ausschließlich symmetrisch mit dem abgeleiteten Sitzungsschlüssel verschlüsselt.
6. Zertifizierungsstellen und die Zertifikatskette
Ein öffentlicher Schlüssel allein sagt noch nichts darüber aus, ob er tatsächlich zum vorgegebenen Server gehört - jeder könnte ein beliebiges Schlüsselpaar erzeugen und behaupten, er sei “die echte Bank”. Zertifizierungsstellen lösen genau dieses Vertrauensproblem: Eine Zertifizierungsstelle signiert ein Zertifikat, das unter anderem eine Domain mit einem öffentlichen Schlüssel verknüpft. Browser und Betriebssysteme vertrauen von vornherein einer begrenzten Anzahl an Root-Zertifizierungsstellen und können anhand der Zertifikatskette - vom Wurzelzertifikat über eventuelle Zwischenzertifikate bis zum konkreten Zertifikat einer Website - prüfen, ob ein präsentiertes Zertifikat tatsächlich vertrauenswürdig signiert wurde.
7. Hash-Funktionen: mehr als nur Integritätsprüfung
Hash-Funktionen werden häufig im selben Atemzug wie Verschlüsselung genannt, lösen aber ein anderes Problem: Sie erzeugen aus beliebigen Eingabedaten einen kurzen Fingerabdruck fester Länge. “Eindeutig” ist dieser Fingerabdruck dabei nicht im strengen Sinn - da unbegrenzt viele mögliche Eingaben auf einen begrenzten Ausgaberaum abgebildet werden, müssen zwangsläufig auch unterschiedliche Eingaben denselben Hashwert erzeugen können (Kollision). Eine kryptografisch sichere Hash-Funktion garantiert stattdessen, dass es praktisch nicht durchführbar sein soll, gezielt eine solche Kollision zu finden.
Hash-Funktionen sind dabei ein Baustein für deutlich mehr als reine Integritätsprüfung: Sie stecken in digitalen Signaturen (siehe Abschnitt 8), in Nachrichtenauthentifizierungscodes (MAC), in der Ableitung weiterer Schlüssel aus einem gemeinsamen Geheimnis - und, in speziell dafür entwickelter Form, in der Passwortspeicherung. Diese Einschränkung “speziell dafür entwickelt” ist wichtig: Für Passwörter wird nicht direkt eine schnelle Allzweck-Hash-Funktion wie SHA-256 eingesetzt, sondern absichtlich langsame, eigens dafür konstruierte Verfahren wie Argon2id, scrypt oder bcrypt. Eine schnelle Hash-Funktion macht automatisiertes Ausprobieren vieler möglicher Passwörter (Brute-Force) gerade bei gestohlenen Passwort-Datenbanken zu leicht.
8. Digitale Signaturen: eine weitere Anwendung asymmetrischer Kryptografie
Digitale Signaturen sind kein einfaches Umdrehen von Verschlüsselung, auch wenn genau diese vereinfachte Vorstellung - “mit dem privaten Schlüssel verschlüsseln” - bei manchen didaktischen Darstellungen von RSA nahegelegt wird. Tatsächlich sind viele verbreitete Signaturverfahren, etwa ECDSA oder Ed25519, eigenständige Verfahren ohne zugehöriges Verschlüsselungspendant. Gemeinsam ist ihnen das Grundprinzip: Der private Schlüssel erzeugt aus einer Nachricht - genauer: meist aus deren Hashwert - eine Signatur, die sich mit dem zugehörigen öffentlichen Schlüssel prüfen lässt. Wer die Signatur erfolgreich prüft, kann daraus ableiten, dass die Nachricht seit der Signierung unverändert ist und mit hoher Wahrscheinlichkeit tatsächlich vom Besitzer des privaten Schlüssels stammt.
Nicht jedes integritätsgeschützte Datenformat verwendet dabei zwingend eine echte asymmetrische Signatur: Ein JWT etwa kann ebenso über HMAC mit einem gemeinsamen, symmetrischen Geheimnis abgesichert sein (Algorithmus HS256) statt über eine asymmetrische Signatur (etwa RS256 oder ES256). In beiden Fällen macht eine korrekt geprüfte Signatur beziehungsweise ein korrekt geprüfter MAC Manipulationen am Token erkennbar - wie zuverlässig das tatsächlich ist, hängt aber vom eingesetzten Verfahren, einer sauberen Schlüsselverwaltung und einer tatsächlich korrekt durchgeführten Prüfung ab, nicht allein von der Existenz einer Signatur.
9. Ein durchgehendes Beispiel: Aufbau einer TLS-Verbindung
Die einzelnen Bausteine aus den vorherigen Abschnitten laufen beim Aufbau einer TLS-Verbindung in etwa so zusammen:
1. Authentisierung
Server präsentiert sein Zertifikat (öffentlicher Schlüssel + Signatur der Zertifizierungsstelle)
Client prüft die Zertifikatskette
↓
2. Schlüsselaushandlung (ECDHE)
Client und Server tauschen je einen temporären öffentlichen Schlüssel aus
Beide berechnen daraus unabhängig voneinander dasselbe gemeinsame Geheimnis
↓
3. Schlüsselableitung
Aus dem gemeinsamen Geheimnis werden die symmetrischen Sitzungsschlüssel abgeleitet
↓
4. Datenübertragung
Die eigentlichen Daten werden mit einem schnellen symmetrischen Verfahren (z. B. AES) verschlüsselt übertragen
Jeder dieser vier Schritte entspricht einem der zuvor beschriebenen Bausteine: Schritt 1 ist eine digitale Signatur plus Zertifikatskette, Schritt 2 ist asymmetrische Kryptografie in ihrer Rolle als Schlüsselaushandlung, Schritt 3 nutzt eine Hash-Funktion zur Schlüsselableitung, und Schritt 4 ist reine symmetrische Verschlüsselung.
10. Häufige Fehler und Missverständnisse
- Verschlüsselung und Hashing gleichsetzen, obwohl eines Vertraulichkeit (umkehrbar) und das andere Integrität (bewusst nicht umkehrbar) unterstützt.
- Annehmen, ein gültiges TLS-Zertifikat bestätige die Vertrauenswürdigkeit einer Website inhaltlich - es bestätigt nur, dass der öffentliche Schlüssel zur angegebenen Domain gehört.
- Digitale Signaturen als “Verschlüsselung mit dem privaten Schlüssel, nur umgekehrt” beschreiben - viele verbreitete Signaturverfahren sind eigenständige Verfahren ohne zugehöriges Verschlüsselungspendant.
- Einen Hashwert für absolut eindeutig halten - Kollisionen sind durch den begrenzten Ausgaberaum mathematisch unvermeidbar, kryptografisch sichere Hash-Funktionen machen sie lediglich praktisch nicht auffindbar.
- Ein digital signiertes oder mit HMAC abgesichertes Format wie JWT für grundsätzlich “fälschungssicher” halten - der tatsächliche Schutz hängt vom Verfahren, der Schlüsselverwaltung und der korrekten Verifikation ab.
- Sensible Daten unverschlüsselt in eine JWT-Payload legen, in der Annahme, die Signatur mache den Inhalt automatisch vertraulich - sie schützt nur vor Manipulation, nicht vor Einsicht.
- Passwörter direkt mit einer schnellen Allzweck-Hash-Funktion wie SHA-256 speichern, statt ein dafür entwickeltes, absichtlich langsames Verfahren wie Argon2id, scrypt oder bcrypt einzusetzen.
11. Überblick
| Symmetrische Kryptografie | Asymmetrische Kryptografie | Hash-Funktion | |
|---|---|---|---|
| Typische Aufgabe | Daten effizient vertraulich übertragen/speichern | Authentisierung, Schlüsselaushandlung, digitale Signaturen | Fingerabdruck von Daten - Baustein für Integrität, Signaturen, MACs |
| Schlüssel | ein gemeinsames Geheimnis | Schlüsselpaar (öffentlich/privat) | kein Schlüssel |
| Umkehrbar | ja, mit dem Schlüssel | je nach Verfahren (Verschlüsselung ja, reine Signaturverfahren nicht als Ver-/Entschlüsselung gedacht) | nein, absichtlich nicht |
| Geschwindigkeit | schnell | vergleichsweise langsam | sehr schnell |
| Beispielverfahren | AES, ChaCha20 | RSA, ECDH/ECDHE, Ed25519, ECDSA | SHA-256, SHA-3 |
Asymmetrische Kryptografie ist dabei kein einzelnes Verfahren, sondern eine Familie unterschiedlicher Algorithmen für unterschiedliche Zwecke: Manche (wie RSA) können sowohl verschlüsseln als auch signieren, andere (wie ECDSA oder Ed25519) ausschließlich signieren, wieder andere (wie ECDH/ECDHE) ausschließlich zur Schlüsselaushandlung dienen.