Lektion 3.2

Asymmetrische Verschlüsselung und digitale Signatur

20 min Lesezeit

Du willst in einem Online-Shop bezahlen und gibst deine Kartennummer ein. Ihr habt euch nie getroffen und nie einen geheimen Schlüssel verabredet. Trotzdem darf unterwegs niemand mitlesen. Und woher weißt du, dass die Seite wirklich dem Shop gehört und keinem Betrüger?

Cäsar und die monoalphabetische Verschlüsselung helfen nicht: Beide sind leicht zu knacken und brauchen einen Schlüssel, den beide Seiten vorher austauschen. Du lernst, wie man stärker verschlüsselt und wie zwei Fremde ohne gemeinsames Geheimnis sicher miteinander sprechen.

Definition

Polyalphabetische Verschlüsselung (Vigenère)

Ein Verfahren, das jeden Buchstaben immer gleich ersetzt, verrät sich durch die Häufigkeitsanalyse. Eine polyalphabetische Verschlüsselung benutzt mehrere Alphabete im Wechsel. Das bekannteste ist das Vigenère-Verfahren. Der Schlüssel ist ein Wort. Nummeriere die Buchstaben von A = 0 bis Z = 25. Jeder Klartextbuchstabe wird um so viele Stellen verschoben, wie der passende Schlüsselbuchstabe angibt. Der Schlüssel wird wiederholt, bis er so lang ist wie der Text. Der Schlüsselbuchstabe D bedeutet Verschiebung um 3, also Cäsar mit k = 3. Vigenère ist Cäsar mit wechselndem k.

Beispiel: Klartext HALLO, Schlüssel MAUS. Die Schlüsselbuchstaben M, A, U, S, M bedeuten die Verschiebungen 12, 0, 20, 18, 12.

KlartextHALLO
Verschiebung120201812
GeheimtextTAFDA

H hat die Nummer 7, und 7 + 12 = 19 ist T. L hat die Nummer 11, und 11 + 20 = 31 liegt über 25, also 31 − 26 = 5, das ist F. Die beiden L werden zu F und D. Eine Häufigkeitsanalyse über den ganzen Text führt deshalb ins Leere.

Definition

Der Angriff auf Vigenère

Vigenère galt lange als unknackbar, lässt sich aber brechen. Kennt man die Schlüssellänge L, wurden die Buchstaben 1, L + 1, 2L + 1, ... alle mit demselben Schlüsselbuchstaben verschoben, sind also Cäsar-verschlüsselt, und ebenso die Buchstaben 2, L + 2, ... Man teilt den Geheimtext in L Gruppen und knackt jede mit einer Häufigkeitsanalyse.

Die Schlüssellänge findet der Kasiski-Test: Liegt der Abstand zweier gleicher Klartextfolgen bei einem Vielfachen der Schlüssellänge, werden beide gleich verschlüsselt. Im Geheimtext sieht man eine wiederholte Folge. Die Schlüssellänge ist ein gemeinsamer Teiler der Abstände zwischen den Wiederholungen. Abstände von 15, 20 und 35 Stellen zum Beispiel haben nur den gemeinsamen Teiler 5 über 1, die Schlüssellänge ist also vermutlich 5.

Definition

Kerckhoffs'sches Prinzip und One-Time-Pad

Das Kerckhoffs'sche Prinzip (19. Jahrhundert) gibt der Annahme aus Klasse 7-8 einen Namen: Ein Verfahren muss auch dann sicher sein, wenn der Angreifer es vollständig kennt. Nur der Schlüssel darf geheim sein. Gründe: Ein Verfahren bleibt nicht auf Dauer geheim, und ein verratener Schlüssel ist leichter zu ersetzen als ein ganzes Verfahren.

Das One-Time-Pad ist Vigenère mit einem Schlüssel, der so lang ist wie der Text, aus zufälligen Buchstaben besteht und nur ein einziges Mal benutzt wird. Dann lässt sich der Geheimtext nachweislich nicht knacken. Beispiel: Der Geheimtext QFN ergibt mit dem Schlüssel DBT das Wort NEU und mit dem Schlüssel QUU das Wort ALT. Ohne den Schlüssel kann man nicht entscheiden, welches stimmt. Der Preis: Der Schlüssel muss so lang sein wie die Nachricht, sicher zum Empfänger kommen und darf nie wieder benutzt werden. Für das Internet ist das unpraktisch.

Definition

Symmetrisch und asymmetrisch, öffentlicher und privater Schlüssel

Bei einem symmetrischen Verfahren (Cäsar, Vigenère, One-Time-Pad und das heute übliche AES) benutzen Sender und Empfänger denselben Schlüssel. Das Problem ist der Schlüsselaustausch: Wie kommt der Schlüssel sicher zum Partner? Außerdem braucht jedes Paar einen eigenen Schlüssel, bei n Personen also n(n−1)2\frac{n(n-1)}{2} Schlüssel.

Ein asymmetrisches Verfahren arbeitet mit einem Schlüsselpaar. Der öffentliche Schlüssel darf jeder kennen. Der private Schlüssel bleibt geheim und gehört nur seinem Besitzer. Was der öffentliche Schlüssel verschlüsselt, entschlüsselt nur der private. Wie bei einem Briefkasten: Jeder kann einwerfen, nur der Besitzer kann öffnen. Will Ben Mia etwas Geheimes schicken, verschlüsselt er mit Mias öffentlichem Schlüssel. Nur Mia kann es mit ihrem privaten Schlüssel lesen. Es muss vorher kein Geheimnis ausgetauscht werden.

Möglich ist das durch Rechnungen, die in einer Richtung leicht und in der Gegenrichtung praktisch unlösbar sind. Beim Verfahren RSA ist es leicht, zwei große Primzahlen zu multiplizieren, etwa 61 · 53 = 3233. Aus einem Produkt mit Hunderten Stellen die Faktoren zu finden, ist nicht zu schaffen.

SymmetrischAsymmetrisch
Schlüsselein gemeinsamer, geheimerPaar aus öffentlichem und privatem
Geschwindigkeitschnelllangsamer
SchlüsselaustauschProblemöffentlicher Schlüssel darf offen verteilt werden
Schlüssel bei 10 Personen10 · 9 : 2 = 4510 Paare

In der Praxis kombiniert man beides: Ein asymmetrisches Verfahren vereinbart einen Schlüssel, die Daten verschlüsselt man dann schnell symmetrisch.

Definition

Hashfunktionen

Eine Hashfunktion macht aus beliebig langen Daten einen Wert fester Länge, den Hashwert, eine Art Fingerabdruck. Sichere Hashfunktionen wie SHA-256 haben vier Eigenschaften: Gleiche Daten ergeben immer den gleichen Hashwert. Schon eine kleine Änderung ergibt einen völlig anderen. Aus dem Hashwert lassen sich die Daten nicht zurückgewinnen. Und man findet praktisch nicht zwei verschiedene Daten mit demselben Hashwert. Man prüft damit, ob eine Datei unverändert ist, und speichert Passwörter: Ein Server legt nur den Hashwert ab und vergleicht beim Anmelden die Hashwerte.

Definition

Digitale Signatur

Eine digitale Signatur belegt, dass ein Dokument vom Besitzer eines Schlüssels stammt und danach nicht verändert wurde. Mia berechnet den Hashwert ihres Dokuments und erzeugt daraus mit ihrem privaten Schlüssel die Signatur. Sie schickt beides an Ben. Ben berechnet selbst den Hashwert des erhaltenen Dokuments und prüft mit Mias öffentlichem Schlüssel, ob die Signatur dazu passt. Passt sie, stammt das Dokument von Mia und ist unverändert. Nur Mia kennt ihren privaten Schlüssel, nur sie kann so signieren. Das Dokument selbst bleibt lesbar, die Signatur macht es nicht geheim. Die Schlüssel werden anders benutzt als beim Verschlüsseln:

ZielDer Sender nimmtDer Empfänger nimmt
Vertraulich sendenöffentlichen Schlüssel des Empfängersseinen eigenen privaten Schlüssel
Signierenseinen eigenen privaten Schlüsselöffentlichen Schlüssel des Senders
Beispiel

Eine geänderte Zahl

Mia signiert einen Vertrag über 100 Euro. Unterwegs ändert Max die Zahl auf 1000 Euro und lässt die Signatur stehen. Was passiert bei Ben?

Ben berechnet den Hashwert des erhaltenen Vertrags mit 1000 Euro. Er ist ein ganz anderer als der Hashwert, aus dem Mia ihre Signatur erzeugt hat. Mit Mias öffentlichem Schlüssel passt die Signatur nicht zu diesem Hashwert, die Prüfung schlägt fehl. Max kann keine neue gültige Signatur erzeugen, denn ihm fehlt Mias privater Schlüssel.

Definition

Zertifikat und Man-in-the-Middle

Offen bleibt: Woher weiß Ben, dass ein öffentlicher Schlüssel wirklich Mia gehört? Ein Angreifer kann sich zwischen beide schalten (Man-in-the-Middle). Er fängt Mias Schlüssel ab und gibt Ben seinen eigenen als „Mias Schlüssel“. Ben verschlüsselt für den Angreifer, der liest mit, verschlüsselt neu für Mia und leitet weiter. Beide merken nichts.

Dagegen hilft ein Zertifikat: eine digital signierte Bestätigung, dass ein öffentlicher Schlüssel zu einem Namen gehört, etwa zur Domain eines Shops. Signiert hat eine Zertifizierungsstelle, der Browser und Betriebssystem vertrauen. Der Browser prüft die Signatur, den Namen und die Gültigkeit und warnt, wenn etwas nicht stimmt. Der Angreifer kann kein passendes Zertifikat für den Shop vorzeigen.

Definition

Transport- und Ende-zu-Ende-Verschlüsselung (HTTPS)

HTTPS ist HTTP mit Verschlüsselung durch das Protokoll TLS. Beim Verbindungsaufbau schickt der Server sein Zertifikat, der Browser prüft es, und beide vereinbaren einen Sitzungsschlüssel für die schnelle symmetrische Verschlüsselung. Das ist Transportverschlüsselung: Die Daten sind nur auf dem Weg zwischen Browser und Server geschützt. Der Server bekommt den Klartext zu sehen.

Bei Ende-zu-Ende-Verschlüsselung haben nur die Geräte der Gesprächspartner die Schlüssel. Ein Server, der die Nachricht nur weiterleitet, sieht nur Geheimtext.

Häufige Fehler

https heißt: Die Seite ist echt und sicher

„Die Adresse beginnt mit https, also ist die Seite vertrauenswürdig.“

Richtig ist

https sagt, dass die Verbindung verschlüsselt ist und das Zertifikat zur Domain passt. Auch ein Betrüger kann eine Domain besitzen und dafür ein Zertifikat bekommen. Lies darum die Domain genau.

Zusammenfassung

  • Vigenère verschiebt jeden Buchstaben um den Wert des Schlüsselbuchstabens. Es verwischt die Häufigkeiten, fällt aber dem Kasiski-Test und der Häufigkeitsanalyse je Gruppe zum Opfer.

  • Kerckhoffs'sches Prinzip: Ein Verfahren muss auch dann sicher sein, wenn der Angreifer es kennt. Das One-Time-Pad ist bei zufälligem, einmaligem und gleich langem Schlüssel nicht zu knacken, aber unpraktisch.

  • Symmetrische Verfahren haben das Problem des Schlüsselaustauschs. Asymmetrische nutzen ein Schlüsselpaar: Man verschlüsselt mit dem öffentlichen Schlüssel des Empfängers.

  • Ein Hashwert ist der Fingerabdruck von Daten. Eine Signatur entsteht aus dem Hashwert mit dem privaten Schlüssel und wird mit dem öffentlichen geprüft.

  • Ein Zertifikat verbindet einen öffentlichen Schlüssel mit einem Namen und hilft gegen Man-in-the-Middle.

  • HTTPS schützt den Weg zwischen Browser und Server. Bei Ende-zu-Ende-Verschlüsselung kann auch der weiterleitende Server nicht mitlesen.

Übungen

Aufgabe 1Multiple Choice

Ben will Mia eine geheime Nachricht schicken. Welchen Schlüssel benutzt Ben zum Verschlüsseln, und welchen benutzt Mia zum Entschlüsseln?

Aufgabe 2Numerisch

Beim Vigenère-Verfahren (A = 0 bis Z = 25) wird der Klartextbuchstabe X mit dem Schlüsselbuchstaben F verschlüsselt. Welche Nummer hat der Geheimtextbuchstabe?

Aufgabe 3Multiple Choice

Mia signiert eine Datei und schickt sie an Ben. Was kann Ben mit der Signatur prüfen?

Aufgabe 4Freitext

Erkläre, warum bei HTTPS der Betreiber des Servers den Inhalt deiner Nachrichten lesen kann, bei Ende-zu-Ende-Verschlüsselung der weiterleitende Server aber nicht.