Kryptographie in der IT - Empfehlungen zu Verschlüsselung und Verfahren

Seite 4: Asymmetrische Verschlüsselung

Inhaltsverzeichnis

Kurz: Nutze ECC-Verfahren.

Asymmetrische Verschlüsselung kennen die meisten von verschlüsselter E-Mail-Kommunikation mit PGP; im Hintergrund verwenden sie aber fast alle moderne Krypto-Systeme. Dabei kommen zwei Schlüssel zum Einsatz: ein öffentlicher, den man frei verteilen kann, und ein geheimer, den man unter Verschluss halten muss. Die beiden ergänzen sich derart, dass man die Daten, die mit dem öffentlichen Schlüssel verschlüsselt wurden, nur mit dem geheimen wieder dechiffrieren kann – und umgekehrt.

Asymmetrische Verschlüsselung ist viel langsamer als die symmetrische und kommt deshalb vor allem für Dinge zum Einsatz, wo nur kleine Datenmengen anfallen. Bei digitalen Signaturen sichert man einen Hash-Wert über die zu signierenden Daten mit seinem geheimen Schlüssel. Beim Schlüsselaustausch tauscht man mit seinem Gegenüber auf sicherem Weg einen geheimen (AES-)Schlüssel für die anschließende symmetrische Verschlüsselung der eigentlichen Nutzdaten aus.

Das prominenteste und am häufigsten genutzte asymmetrische Verfahren ist RSA, das sowohl für digitale Signaturen als auch für den Schlüsselaustausch zum Einsatz kommt. Bei letzterem hat ihm aber mittlerweile Diffie Hellman (DH) den Rang abgelaufen. Bei DH gehen in jeden einzelnen Schlüsselaustausch Zufallszahlen ein, die die Kommunikationspartner anschließend verwerfen. Somit kann ein Angreifer – anders als bei RSA – den geheimen AES-Schlüssel zu einem späteren Zeitpunkt nicht mehr aus den aufgezeichneten Chiffredaten rekonstruieren (Forward Secrecy). Für digitale Signaturen kommt vereinzelt DSA zum Einsatz.

Asymmetrische Verfahren beruhen darauf, dass sich bestimmte mathematische Probleme praktisch nicht mehr lösen lassen, wenn die involvierten Zahlen sehr groß sind. So setzt RSA darauf, dass man zwar sehr schnell Multiplizieren, aber ausreichend große Zahlen nicht mehr in endlicher Zeit in ihre PrimFaktoren zerlegen kann. Analog setzen DH und DSA auf die Asymmetrie zwischen dem schnellen Potenzieren und dessen Umkehrung – dem aufwendigen Berechnen des Logarithmus beim Rechnen mit Teilresten.

Doch die kontinuierlich wachsende Rechenleistung aktueller Computer knackt diese Aufgaben immer schneller. Dem muss man durch immer längere Schlüssel Rechnung tragen. Besonderes besorgniserregend ist, dass die benötigte Schlüssellänge nicht linear anwächst. So entsprechen 1024-Bit-Schlüssel für RSA und DH gerade mal der Sicherheit eines symmetrischen Verfahrens mit 80 Bit.

Das ist durchaus schon innerhalb der Reichweite eines motivierten Angreifers; tatsächlich wurde bei der Faktorisierung der Mersenne-Zahl 21039-1 bereits ein Co-Teiler mit 1017 Binärstellen errechnet. Das Knacken von Diffie Hellman mit 1024 Bit ist grob geschätzt mit Hardware für etwa 100 Millionen US-Dollar möglich. Das klingt viel – ist mit dem Budget der NSA aber durchaus bereits realistisch. Und die Hardware wird immer schneller.

Eine Verdoppelung der Schlüssellänge auf 2048 Bit ergibt nicht etwa 160, sondern lediglich 112-Bit-Sicherheit. Das ist in etwa das Sicherheitsniveau von Triple-DES und reicht gemäß ENISA-Richtlinien gerade mal für kurzfristige Sicherheit.

Die Dauer des TLS-Verbindungsaufbaus steigt dramatisch mit der Schlüssellänge für Signatur und Schlüsselaustausch (Angaben für 1000 Handshakes). Erst durch den Einsatz von EC-Verfahren erreicht die Belastung wieder ein akzeptables Maß.

(Bild: Ivan Ristic, Bulletproof SSL and TLS)

Schon für einen mittelfristigen Sicherheitsbedarf empfiehlt die EU-Sicherheitsbehörde das Äquivalent zu 128 Bit, was bei RSA in etwa 3072-Bit-Schlüssel bedeutet. Für langfristig sicher aufzubewahrende Daten müsste man demnach schon heute Schlüssel mit 15360 Bit nutzen. Das macht natürlich niemand, denn solch lange Schlüssel bedeuten ernsthafte Performance-Probleme.

Ganz grob führt eine Verdoppelung der Schlüssellänge zu sechs bis sieben Mal längeren Entschlüsselungszeiten. Da bedeuten 2048 Bit auf Web-Servern und schwachbrüstigen Embedded Devices schon jetzt ein Problem.

Fazit: Das Minimum für sicheres RSA und DH sind 2048 Bit; neue PGP-Schlüssel sollte man mit 4096 Bit erzeugen. Schon mittelfristig brauchen wir Alternativen.