Public Key
Asymmetrische Verfahren brechen mit einer Annahme, die die Kryptografie bis in die siebziger Jahre getragen hat: dass beide Seiten denselben Schlüssel kennen müssen. Stattdessen gibt es zwei zusammengehörige Schlüssel, von denen einer veröffentlicht werden darf. Das löst das Problem, einen gemeinsamen Schlüssel zu verteilen, bevor man einen sicheren Kanal hat — und schafft ein neues, das bis heute der schwierigere Teil ist.
Das Schlüsselpaar und seine zwei Richtungen
Beide Schlüssel sind mathematisch verbunden, aber nicht gleichwertig. Was mit dem einen verarbeitet wurde, lässt sich nur mit dem anderen zurückverarbeiten. Daraus ergeben sich zwei Anwendungen, die häufig verwechselt werden:
| Zweck | verschlüsselt bzw. signiert mit | geprüft bzw. entschlüsselt mit |
|---|---|---|
| Vertraulichkeit | Public Key des Empfängers | Private Key des Empfängers |
| Authentizität (Signatur) | Private Key des Absenders | Public Key des Absenders |
Die Richtungen sind also entgegengesetzt. Wer Vertraulichkeit will, braucht den öffentlichen Schlüssel der Gegenseite; wer eine Signatur prüfen will, ebenfalls — aber die Signatur ist mit dem privaten Schlüssel entstanden. Nur weil beides mit demselben Paar funktioniert, heißt das nicht, dass jedes Verfahren beides beherrscht: RSA kann verschlüsseln und signieren, Diffie-Hellman nur Schlüssel aushandeln, die Signaturverfahren der DSA-Familie nur signieren.
Warum niemand Nutzdaten asymmetrisch verschlüsselt
Asymmetrische Verfahren sind um Größenordnungen langsamer als symmetrische und können nur Datenmengen verarbeiten, die kleiner als der Schlüsselmodul sind. Beides macht sie als Transportverschlüsselung untauglich.
In der Praxis arbeitet deshalb jedes ernsthafte Protokoll hybrid: Die asymmetrische Rechnung erzeugt oder überträgt einen kurzen Sitzungsschlüssel, die eigentlichen Daten verschlüsselt dann ein symmetrisches Verfahren wie AES. Bei TLS ist das der gesamte Zweck des Handshakes; bei S/MIME und OpenPGP steckt der symmetrische Schlüssel asymmetrisch verpackt im Nachrichtenkopf.
Die asymmetrische Rechnung fällt damit einmal je Verbindung an, die symmetrische für jedes Byte. Das erklärt, warum ein großzügig bemessener RSA-Schlüssel die Übertragungsleistung kaum berührt, der Verbindungsaufbau aber messbar langsamer wird.
Woher die Sicherheit kommt
Hinter jedem Verfahren steht eine Rechnung, die in einer Richtung leicht und in der anderen praktisch unmöglich ist:
- Faktorisierung. Zwei große Primzahlen zu multiplizieren ist trivial, das Produkt wieder zu zerlegen nicht. Darauf baut RSA.
- Diskreter Logarithmus. Eine Zahl modulo einer großen Primzahl zu potenzieren ist leicht, den Exponenten aus dem Ergebnis zu bestimmen nicht. Darauf baut Diffie-Hellman.
- Diskreter Logarithmus auf elliptischen Kurven. Dieselbe Idee in einer anderen Gruppe, in der die bekannten Angriffe schlechter greifen — weshalb hier deutlich kürzere Schlüssel genügen.
Keine dieser Annahmen ist bewiesen. Sie gelten, weil Jahrzehnte Forschung kein effizientes Verfahren gefunden haben — mit einer Ausnahme, die unten steht.
Das eigentliche Problem: Authentizität, nicht Geheimhaltung
Ein Public Key darf jeder kennen. Das heißt aber nicht, dass es gleichgültig ist, welchen man kennt. Wer einen untergeschobenen Schlüssel für den der Gegenseite hält, verschlüsselt sauber — an den Angreifer.
Das Verteilungsproblem verschwindet also nicht, es wechselt die Form: Aus „wie bekommt der andere mein Geheimnis?" wird „woher weiß ich, dass dieser Schlüssel dem gehört, den er zu gehören behauptet?". Dafür gibt es im Wesentlichen drei Antworten:
Zertifikate. Eine Zertifizierungsstelle bestätigt die Zuordnung von Schlüssel und Name mit ihrer eigenen Signatur. Das ist das Modell des Webs — siehe Zertifikatskette.
Fingerprint-Vergleich. Ein Hashwert über den Schlüssel wird über einen zweiten Kanal verglichen. So funktioniert die Abfrage beim ersten SSH-Verbindungsaufbau; dass Anwender sie wegklicken, ist die bekannteste Schwachstelle des Verfahrens.
Web of Trust. Teilnehmer signieren sich gegenseitig die Schlüssel, Vertrauen entsteht über Pfade. Bei OpenPGP noch verbreitet, in der Breite aber nie angekommen.
Schlüssellängen sind nicht vergleichbar
Eine wiederkehrende Fehlinterpretation ist, Bitlängen verschiedener Verfahren gegeneinanderzustellen. Ein 256-Bit-Schlüssel auf einer elliptischen Kurve und ein 256-Bit-AES-Schlüssel haben nichts miteinander zu tun; die übliche Hilfsgröße ist das vergleichbare Sicherheitsniveau:
| Sicherheitsniveau | symmetrisch | RSA / DH | elliptische Kurve |
|---|---|---|---|
| 112 Bit | — | 2048 Bit | 224 Bit |
| 128 Bit | AES-128 | 3072 Bit | 256 Bit |
| 192 Bit | AES-192 | 7680 Bit | 384 Bit |
| 256 Bit | AES-256 | 15360 Bit | 512 Bit |
Der Sprung in der RSA-Spalte zeigt, warum elliptische Kurven den Neubau dominieren: Für mehr Sicherheit wachsen RSA-Schlüssel unverhältnismäßig, mit entsprechenden Folgen für Rechenzeit und Nachrichtengrößen.
Verbindliche Vorgaben für den deutschen Behördenbereich und seine Dienstleister macht Teil 1 der Technischen Richtlinie BSI TR-02102, die Mindestlängen mit einem Verwendungszeitraum verbindet, statt sie dauerhaft festzuschreiben.
Was der Quantenrechner ändert
Die drei Annahmen oben haben eine gemeinsame Schwäche: Der Shor-Algorithmus löst Faktorisierung und diskreten Logarithmus auf einem ausreichend großen Quantenrechner effizient. Betroffen ist damit nicht ein einzelnes Verfahren, sondern die gesamte heute eingesetzte asymmetrische Kryptografie — während symmetrische Verfahren und Hashfunktionen weitgehend bestehen bleiben.
Die Nachfolger stehen bereit, ihre Einführung läuft. Was das praktisch bedeutet, steht unter Post-Quantum-Kryptografie.