Von Wörterbüchern und Regenbögen
Moderne Kryptoangriffe knacken Handygespräche und Bezahlkarten in Sekunden. Es gilt, mit vorberechneten Tabellen einen praktikablen Kompromiss zwischen Rechenzeit und Speicherplatz zu finden. Doch spezielle Techniken können die Angriffe vereiteln.
- Karsten Nohl
Die Sicherheit von Verschlüsselung beruht darauf, dass niemand außer den legitimen Kommunikationspartnern den geheimen Schlüssel kennt. Doch kryptografische Algorithmen kommen durch Fortschritte in der Kryptanalyse in Bedrängnis und die verwendeten Angriffe erlauben es, diesen Schlüssel zu errechnen. Selbst Algorithmen, für die keine speziellen Angriffe existieren, sind unter Umständen mit guter Aussicht auf Erfolg angreifbar.
Der einfachste erfolgversprechende Angriff, der sich auf jeden Verschlüsselungsalgorithmus anwenden lässt, ist das stumpfe Durchprobieren aller möglichen Schlüssel – einer muss ja schließlich passen und Klartext liefern. Doch um diese sogenannten Brute-Force-Angriffe möglichst zeitintensiv zu machen, setzen die meisten Kryptosysteme sehr lange Schlüssel ein.
Alle vier Milliarden 32 Bit langen Schlüssel auf einem PC durchzuprobieren dauert lediglich Minuten. Arbeitet das System jedoch mit 48-Bit-Schlüsseln, bräuchte ein Angreifer schon etwa einen Monat; bei 64 Bit sind es bereits tausende Jahre. Selbst die teure Spezialhardware COPACOBANA der Ruhr-Universität Bochum benötigt zum Knacken eines 64-Bit-Schlüssels rund ein Jahr, was Brute-Force-Angriffe gegen Schlüssel mit 64 Bit oder mehr so gut wie aussichtslos macht.
Für asymmetrische Verschlüsselungsverfahren wie RSA berechnet sich das Sicherheitsniveau etwas anders: Ein RSA-Schlüssel mit 1024 Bit ist etwa so sicher wie ein 80-Bit-Schlüssel eines symmetrischen Verfahrens.
Je nachdem wie ein Verschlüsselungsverfahren eingesetzt wird, lässt sich der geheime Schlüssel mit weiteren fundamentalen Angriffsmethoden weit schneller als mit Brute-Force finden. Diese Angriffe benötigen weniger Rechenzeit, bedürfen aber einer rechen- oder speicherplatzintensiven Vorbereitung. Eine solche Angriffsvorbereitung ist das Anlegen eines Wörterbuchs zu einer bestimmten Nachricht, welches jedem Wert der verschlüsselten Nachricht den verwendeten Schlüssel zuordnet. Auf der Festplatte abgelegt wird das Wörterbuch als Liste aus Schlüsseln, deren Index den verschlüsselten Wert repräsentiert. Um mit ihr den geheimen Schlüssel zu finden, muss ein Angreifer das avisierte System nur noch dazu bringen, die zur Liste passende Nachricht zu verschlüsseln. Dann kann er das Ergebnis als Listenindex verwenden.
Das einmalige Generieren des Wörterbuchs benötigt allerdings etwa so viel Rechenzeit wie ein Brute-Force-Angriff und ist daher nur sinnvoll, wenn sich der Aufwand durch viele damit durchgeführte Angriffe amortisieren kann. Zudem verschlingt ein solches Wörterbuch enorme Mengen Speicherplatz, zum Beispiel 1536 Terabyte für 48-Bit-Schlüssel. Für 64-Bit-Schlüssel wäre bereits mehr Speicher nötig, als der Menschheit heute zur Verfügung steht. Wegen des hohen Platzverbrauchs sind Wörterbuchangriffe deshalb bei langen Schlüsseln sogar weniger praktikabel als Brute-Force.