Vor einigen Jahren hat ein Team von Sicherheitsexperten ein Papier veröffentlicht, in dem sie ein Angriffsszenario beschreiben, das es ermöglicht eine IKEv1 Aggressive Mode Verbindung mit Pre-Shared Key zu brechen, und das sich so wie dort beschrieben aber nicht gleichermaßen auf eine IKEv1 Main Mode Verbindung mit Pre-Shared Key anwenden lässt, was zu der fehlerhaften Annahme führte, dass Aggressive Mode grundsätzlich viel unsicher ist als Main Mode. Wirft man aber einen neutralen Blick auf die Fakten, entspricht dieses Behauptung so nicht den Tatsachen. Was den meisten Leuten nicht bekannt ist, ist die Tatsache, dass es ein Teil dieses Angriffs war, den Pre-Shared Key (PSK) mit Hilfe eines "Brute Force" Angriffs zu erraten und so ein Angriff kann nur dann erfolgreich sein, wenn der PSK zu unsicher gewählt wurde. Auch ein PSK ist nur ein Passwort und wie immer bei Passwörtern gilt auch hier: schlechte Passwörter führen zu geringer Sicherheit. Solange der PSK mindestens 14 Zeichen lang ist (desto mehr, desto besser), aus Kleinbuchstaben, Großbuchstaben und Ziffern besteht und komplett zufällig erzeugt wurde (so dass man ihn nicht ohne weiteres erraten kann), und so lange in Phase 1 mindestens SHA1 als Hash ausgewählt wurde (oder besser, wir empfehlen SHA-256 falls möglich), gibt es überhaupt keinen Grund anzunehmen, dass eine Aggressive Mode PSK Verbindung grundsätzlich weniger sicher ist als eine Main Mode PSK Verbindung. Wer ganz auf Nummer sicher gehen möchte, der wählt einfach eine Zertifikat-basierte Authentifizierung aus, sofern möglich, denn damit ist dieser Angriff überhaupt erst gar nicht durchführbar.
Technische Hintergrund:
Der Pre-Shared Key (PSK) ist kein Passwort, dass der Verschlüsselung von Daten dient, er dient ausschließlich der Authentifizierung, in etwa so wie wenn ein Nutzer sich mit einem Passwort an einer Webseite anmeldet. Während der Phase 1 müssen sich beide Seiten gegenseitig beweisen, dass sie den PSK kennen. Natürlich kann das nicht dadurch passieren, das eine Seite ihn der anderen Seite sendet, weil auch wenn die andere Seite ihn bisher nicht kannte, spätestens jetzt kennt sie ihn. Stattdessen müssen beide Seiten eine Zahl berechnen (einen sog. Hashwert), wofür zum einen Daten hergenommen werden, die beide Seiten bereits ausgetauscht haben (und die bei jedem Verbindungsaufbau anders sind, um sicherzustellen, dass der Hashwert auch jedes mal ein anderer ist) und zum anderen eben der PSK. Nur dieser Hashwert wird zur anderen Seite gesendet, die dann genau die gleichen Berechnungen durchführen muss. Kommt sie dabei zum gleichen Ergebnis, dann muss die andere Seite auch den gleichen PSK verwendet haben, ergo kennt sie ihn. Das gleiche Spiel wiederholt sich dann noch einmal in die andere Richtung, wobei die Berechnung hier leicht abweicht, damit auch die beiden Hashwerte garantiert immer unterschiedlich sind, denn den gleiche Wert zurück zu senden würde natürlich nichts beweisen.
Der Unterschied zwischen Main Mode und Aggressive Mode ist schlichtweg der, dass im Main Mode der Hashwert verschlüsselt übertragen wird, da das Schlüsselaustauschverfahren (DH Exchange), dass zu einem sicheren Session Schlüssel auf beiden Seiten führt, zu diesem Zeitpunkt bereits komplett durchlaufen wurde und sobald beide Seiten eine Session Schlüssel haben alle Pakete nur noch verschlüsselt übertragen werden. Mit Aggressive Mode wird der Hashwert unverschlüsselt übertragen, da zu diesem Zeitpunkt der Schlüsselaustausch noch nicht abgeschlossen ist. Dadurch dass ein Angreifer also eine Aggressive Mode Verbindung belauscht, kann er sowohl an den Hashwert, als auch an alle für die Berechnung dieses Wertes notwendigen Daten gelangen, mit Ausnahme des eigentlichen PSKs. Damit alleine hat der Angreifer aber die Verbindung noch nicht gebrochen, er hat lediglich genug Informationen, um sich damit auf die Suche nach den PSK zu machen, z.B. durch einen sog. "Brute Force Angriff" (einfach alle möglichen Kombinationen ausprobieren) oder einen Wörterbuchangriff (häufig gewählte Passwörter durchprobieren, die man durch Datenlecks andere Onlinedienste ergattern konnte). Nur wenn der PSK zu schwach ist um diesen Angriffen standzuhalten kann man so die Verbindung letztlich brechen. Daher ist ein guter, ausreichen sicherer PSK essentiell für die Sicherheit einer PSK VPN Verbindung.
Allerdings ist der gleiche Angriff auch auf eine Main Mode Verbindung möglich, er erfordert nur etwas mehr Aufwand. Im Falle von Main Mode ist es nicht genug nur den Datenverkehr mitlesen zu können, stattdessen ist ein sogenannter Man-in-the-Middle (MitM) Angriff notwendig, d.h. ein Angreifer muss den Datenverkehr abfangen und auch manipulieren können. Über einen MitM Angriff kann ein Angreifer die Verschlüsselung aushebeln, was zwar nicht genügt um Zugriff auf das VPN zu bekommen, denn dafür ist nach wie vor der PSK notwendig, denn ohne den lässt sich Phase 1 nicht erfolgreich abschließen, aber auch dann hätte ein Angreifer den Hashwert und alle für die Berechnung notwendigen Daten und könnte genauso versuchen den PSK zu erraten. Und wenn ein Angreifer schon dazu in der Lage ist, jeglichen Datenverkehr mitzulesen (was ja Grundvoraussetzung für jegliches Angriffsszenario ist), dann ist es sehr wahrscheinlich, dass er auch einen MitM Angriff durchführen kann und spätestens dann bietet Main Mode keinen zusätzlichen Schutz mehr.
Ein PSK aus 11 zufälligen alphanumerischen Zeichen hat eine Entropy von ca. 64 Bits, das sind 2^64 mögliche Werte. Moderne High End Grafikkarten (Stand 2016) können in der Größenordnung von 1 Mrd. SHA-265 Hashwerte die Sekunde berechnen. Im Schnitt muss man 50% aller Möglichkeiten probieren um einen Treffer zu landen und das würde 292 Jahre dauern. Wenn natürlich ein Angreifer 100 solche Grafikkarten zur Verfügung hat, dann würde der Angriff "nur noch" um die 3 Jahre dauern. Aber schon bei 14 Zeichen liegt die Entropy bei 80 Bits und hier brauch eine Grafikkarte alleine 19.154.798 Jahre. Nicht einmal 10.000 Grafikkarten würden hier die Zeit ausreichend verkürzen. Und man darf nie die Kosten eines solchen Angriffs außer Acht lassen. Weniger die Anschaffungskosten der Grafikkarten, es geht eher um ihren Stromverbrauch, wenn alle diese Grafikkarten 24 Stunden am Tag mit maximaler Leistung arbeiten und das über Jahre, Jahrzehnte oder sogar Jahrhunderte. Da kommen schnell Mrd Euro an Stromkosten auf einem zu und das nur um am Ende eine einzige PSK Verbindung auf dieser Welt zu brechen. Dazu kommt noch, dass jedes mal wenn sich der PSK ändert, der Angreifer wieder ganz von vorne anfangen muss. Wird also der PSK nur einmal pro Jahr gewechselt, hätte ein Angreifer max. 1 Jahr Zeit diesen zu finden; das wäre schon recht ambitioniert, selbst bei einem schwachen PSK.