OpenVPN vs IKEv2 vs PPTP vs L2TP/IPSec vs SSTP

Ein Virtual Private Network (VPN) verschlüsselt alle Daten, während sie zwischen Ihrem Computer und einem VPN-Server übertragen werden. In diesem vollständigen Leitfaden zur VPN-Verschlüsselung werfen wir einen detaillierten Blick darauf, was Verschlüsselung ist und wie sie in VPN-Verbindungen verwendet wird.

Am wichtigsten ist vielleicht, dass wir die Reihe von Verschlüsselungsbegriffen erklären, die von VPN-Diensten verwendet werden. Wir hoffen, dass Sie nach der Lektüre dieses Ratgebers dieses komplexe Thema besser verstehen und die Sicherheitsansprüche der VPN-Anbieter besser einschätzen können.

Vorläufe

Wenn Sie sich nicht sicher sind, was ein VPN ist und was es für Sie tun kann, lesen Sie bitte unseren Leitfaden zu VPNs für Anfänger. 

Unser Ziel ist es, die wichtigsten Merkmale der VPN-Verschlüsselung so einfach wie möglich darzustellen. Wobei man nicht umhin kommt, dass Verschlüsselung ein komplexes Thema ist.

Wenn Ihnen schon beim Begriff Verschlüsselung die Augen glasig werden, Sie aber dennoch wissen möchten, worauf Sie bei einem guten VPN-Dienst achten müssen, können Sie über das Inhaltsverzeichnis direkt zu den Zusammenfassungen springen.

Was ist Verschlüsselung?

 

“Fang am Anfang an”, sagte der König sehr ernst, “und fahre fort, bis du zum Ende kommst: dann hör auf.”

Lewis Carroll, Alice im Wunderland

Die einfachste Analogie ist, dass Verschlüsselung ein Schloss ist. Mit dem richtigen Schlüssel lässt sich das Schloss leicht öffnen. Wenn jemand nicht den richtigen Schlüssel hat, aber auf den Inhalt eines Tresors (d. h. Ihre Daten) zugreifen möchte, der durch dieses Schloss geschützt ist, kann er versuchen, das Schloss zu brechen.

Genauso wie das Schloss eines Banktresors stärker ist als das eines Koffers, ist eine Verschlüsselung stärker als eine andere.

Wenn Sie ein VPN mit der stärksten Verschlüsselung wünschen, sehen Sie sich unsere Liste der sichersten VPNs an, um weitere Informationen zu erhalten.

Die Grundlagen

Haben Sie als Kind jemals das Spiel gespielt, bei dem Sie eine „geheime Nachricht“ erstellten, indem Sie einen Buchstaben der Nachricht durch einen anderen ersetzten? Die Substitution erfolgte nach einer von Ihnen gewählten Formel.

Sie könnten beispielsweise jeden Buchstaben der ursprünglichen Nachricht durch einen drei Buchstaben dahinter im Alphabet ersetzt haben. Wenn irgendjemand sonst wüsste, was diese Formel war, oder in der Lage wäre, sie zu entschlüsseln, dann wäre er in der Lage, Ihre „geheime Nachricht“ zu lesen.

Im Kryptographie-Jargon haben Sie die Nachricht (Daten) nach einem sehr einfachen mathematischen Algorithmus “verschlüsselt”. Kryptographen bezeichnen diese Formel als „Chiffre“. Zum Entschlüsseln benötigen Sie den Schlüssel. Dies ist ein variabler Parameter, der die endgültige Ausgabe der Chiffre bestimmt. Ohne diesen Parameter ist es unmöglich, die Chiffre zu entschlüsseln.

Wenn jemand eine verschlüsselte Nachricht lesen möchte, aber den Schlüssel nicht hat, muss er versuchen, die Chiffre zu „knacken“. Wenn die Verschlüsselung eine einfache Buchstabenersatzchiffre verwendet, ist es einfach, sie zu knacken. Die Verschlüsselung kann jedoch sicherer gemacht werden, indem der mathematische Algorithmus (die Chiffre) komplexer gemacht wird.

Sie könnten beispielsweise jeden dritten Buchstaben der Nachricht durch eine dem Buchstaben entsprechende Zahl ersetzen.

Länge des Verschlüsselungsschlüssels

Moderne Computerchiffren sind sehr komplexe Algorithmen. Selbst mit Hilfe von Supercomputern sind diese nur sehr schwer zu knacken, wenn nicht sogar für alle praktischen Zwecke unmöglich. Der einfachste Weg, die Stärke einer Chiffre zu messen, ist die Komplexität des Algorithmus, der zu ihrer Erstellung verwendet wird.

Je komplexer der Algorithmus, desto schwieriger ist es, die Chiffre mit einem sogenannten Brute-Force-Angriff zu knacken.

Ein Brute-Force-Angriff ist eine sehr primitive Form des Angriffs (auch als erschöpfende Schlüsselsuche bekannt), bei der im Grunde jede mögliche Zahlenkombination ausprobiert wird, bis der richtige Schlüssel gefunden ist.

Computer führen alle Berechnungen mit binären Zahlen durch: Nullen und Einsen. Die Komplexität einer Chiffre hängt von ihrer Schlüsselgröße in Bits ab – der rohen Anzahl von Einsen und Nullen, die erforderlich sind, um ihren Algorithmus auszudrücken, wobei jede Null oder Eins durch ein einzelnes Bit dargestellt wird.

Dies ist als Schlüssellänge bekannt und stellt auch die praktische Machbarkeit dar, einen Brute-Force-Angriff auf eine bestimmte Chiffre erfolgreich durchzuführen.

Die Anzahl der möglichen Kombinationen (und damit die Schwierigkeit, sie brutal zu erzwingen) steigt exponentiell mit der Schlüsselgröße. Verwendung der AES-Verschlüsselung (siehe später):

Schlüsselgrößenkombinationen

Um dies ins rechte Licht zu rücken:

  • Im Jahr 2011 war der Fujitsu K der schnellste Supercomputer der Welt. Dieser war in der Lage, eine Rmax-Spitzengeschwindigkeit von 10,51 Petaflops zu erreichen. Basierend auf dieser Zahl würde Fujitsu K 1,02 x 10^18 – etwa eine Milliarde Milliarden (eine Trillion) – Jahre brauchen, um einen 128-Bit-AES-Schlüssel (Advanced Encryption Standard) mit Gewalt zu knacken. Das ist älter als das Alter des Universums (13,75 Milliarden Jahre).
  • Der derzeit leistungsstärkste Supercomputer der Welt (2017) ist der Sunway TaihuLight in China. Dieses Biest erreicht eine Spitzengeschwindigkeit von 93,02 Petaflops. Das bedeutet, dass der leistungsfähigste Computer der Welt immer noch etwa 885 Billiarden Jahre brauchen würde, um einen 128-Bit-AES-Schlüssel brutal zu erzwingen.
  • Die Anzahl der Operationen, die erforderlich sind, um eine 256-Bit-Chiffre brutal zu erzwingen, beträgt 3,31 x 10^56. Das entspricht ungefähr der Anzahl der Atome im Universum!

Computerchiffren

Während sich die Länge des Verschlüsselungsschlüssels auf die Menge der beteiligten Rohzahlen bezieht, sind Chiffren die Mathematik – die eigentlichen Formeln oder Algorithmen – die zur Durchführung der Verschlüsselung verwendet werden. Wie wir gerade gesehen haben, ist das Brute Forcen moderner Computerchiffren absolut unpraktisch.

Es sind (manchmal absichtliche) Schwächen in diesen Verschlüsselungsalgorithmen, die dazu führen können, dass die Verschlüsselung gebrochen wird. Dies liegt daran, dass die Ausgabe der (schlecht entworfenen) Chiffre möglicherweise noch eine gewisse Struktur der ursprünglichen Informationen vor der Verschlüsselung offenbart. Dies erzeugt einen reduzierten Satz möglicher Kombinationen zum Ausprobieren, wodurch die effektive Schlüssellänge reduziert wird.

Die Blowfish-Chiffre ist beispielsweise anfällig für einen Angriff, der die Mathematik hinter dem Geburtstagsproblem in der Wahrscheinlichkeitstheorie ausnutzt. Die Untersuchung von Schwachstellen in kryptografischen Algorithmen wird als Kryptoanalyse bezeichnet.

Längere Schlüssellängen kompensieren solche Schwächen, da sie die Anzahl möglicher Ergebnisse stark erhöhen.

Anstatt die Chiffre selbst anzugreifen, kann ein Gegner den Schlüssel selbst angreifen. Dies kann eine bestimmte Website oder ein bestimmtes Softwareprodukt betreffen. Aber die Sicherheit des Verschlüsselungsalgorithmus ist immer noch intakt, und andere Systeme, die denselben Algorithmus verwenden, aber eine sichere Schlüsselgenerierung haben, sind von dem Bruch nicht betroffen.

Länge des Chiffrierschlüssels

Wie stark eine Chiffre ist, hängt sowohl von der Mathematik der Chiffre selbst als auch von ihrer in Bit ausgedrückten Schlüssellänge ab. Aus diesem Grund werden Chiffren üblicherweise zusammen mit der verwendeten Schlüssellänge beschrieben.

Daher wird AES-256 (die AES-Chiffre mit einer Schlüssellänge von 256 Bit) normalerweise als stärker als AES-128 angesehen. Beachten Sie, dass ich normalerweise sage, weil wir es hier mit sehr komplexer Mathematik zu tun haben (siehe meine Anmerkungen zu AES später).

Beachten Sie Icon2 01 150X150

Es ist wichtig zu beachten, dass die Schlüssellänge allein kein guter Indikator für die Stärke einer Chiffre ist. Entscheidend ist die Kombination aus Schlüssellänge und Chiffre. Chiffren, die beispielsweise für die asymmetrische Verschlüsselung verwendet werden, verwenden viel längere Schlüsselgrößen als die für die symmetrische Verschlüsselung, um den entsprechenden Schutz zu bieten.

Schlüsselgrößenvergleich

Diese Tabelle ist etwas veraltet, da sie neuere Angriffe, die auf RSA entdeckt wurden, nicht berücksichtigt. Es ist auch erwähnenswert, dass die elliptische Kurve und die Diffie-Hellman-Varianten von RSA viel stärker sind als herkömmliche. Aber hoffentlich verstehst du die Idee.

Beachten Sie Icon2 01 150X150

Zu beachten ist, dass je höher die Schlüssellänge ist, desto mehr Berechnungen sind erforderlich, und desto mehr Rechenleistung wird benötigt. Dies wirkt sich auf die Geschwindigkeit aus, mit der Daten verschlüsselt und entschlüsselt werden können. VPN-Anbieter und dergleichen müssen daher entscheiden, wie sie bei der Auswahl von Verschlüsselungsschemata am besten Sicherheit und praktische Nutzbarkeit abwägen. Es gibt einige VPN-Anbieter, denen es gelungen ist, diese feine Balance zu finden. Weitere Informationen finden Sie in unserem Leitfaden für schnelle VPNs.

Wir besprechen die wichtigsten Chiffren, die von verschiedenen VPN-Protokollen verwendet werden, etwas später, aber die häufigsten Chiffren, denen Sie wahrscheinlich begegnen werden, sind Blowfish und AES. Darüber hinaus wird RSA zum Ver- und Entschlüsseln der Schlüssel einer Chiffre verwendet, und SHA-1 oder SHA-2 wird als Hash-Funktion zum Authentifizieren von Daten verwendet.

Asymmetrische VerschlüsselungAsymmetrische Verschlüsselung

Perfect Forward Secrecy

Perfect Forward Secrecy (PFS) wird auch als die Verwendung kurzlebiger Verschlüsselungsschlüssel oder einfach als Forward Secrecy (FS) von denen bezeichnet, die mit der Verwendung des Wortes „perfekt“ unzufrieden sind.

Die meisten modernen sicheren Online-Kommunikationen basieren auf SSL/TLS. Es wird von HTTPS-Websites und dem OpenVPN-Protokoll verwendet. TLS (Transport Layer Security) ist ein asymmetrisches Verschlüsselungsprotokoll. Die Verwendung einer asymmetrischen Verschlüsselung bedeutet, dass Daten mit einem öffentlichen Schlüssel gesichert werden, der allen zur Verfügung gestellt wird. Es kann jedoch nur von einem beabsichtigten Empfänger entschlüsselt werden, der den richtigen privaten Schlüssel besitzt.

Dieser private Schlüssel muss geheim gehalten werden. Wenn es von einem Angreifer gestohlen oder geknackt wird, kann dieser Angreifer leicht jede von ihm gesicherte Kommunikation abfangen und lesen.

Leider ist es üblich, dass Server oder sogar ganze Unternehmen nur einen privaten Verschlüsselungsschlüssel verwenden, um die gesamte Kommunikation zu sichern. Wieso den? Weil es einfach ist. Wenn dieser Schlüssel jedoch kompromittiert wird, kann ein Angreifer auf alle damit verschlüsselten Kommunikationen zugreifen.

Dieser private Verschlüsselungsschlüssel wird daher zu einem “Hauptschlüssel”, der verwendet werden kann, um die gesamte Kommunikation mit einem Server oder Unternehmen zu entsperren. Diese Schwachstelle hat die NSA bekanntermaßen ausgenutzt, um Unmengen vermeintlich sicherer Daten zu sammeln.

Die Lösung heißt Perfect Forward Secrecy. Dies ist ein System, bei dem für jede Sitzung ein neuer und eindeutiger privater Verschlüsselungsschlüssel generiert wird. Es ist eine einfache Idee, auch wenn die Diffie-Hellman-Austauschmathematik komplex ist. Dies bedeutet, dass jede TLS-Sitzung über einen eigenen Schlüsselsatz verfügt. Daher der Begriff „ephemere Schlüssel“ – sie werden einmal verwendet und verschwinden dann.

Es gibt daher keinen “Hauptschlüssel”, der ausgenutzt werden kann. Selbst wenn eine Sitzung kompromittiert wird, ist nur diese Sitzung kompromittiert – nicht alle anderen Sitzungen, die irgendjemand mit diesem Server oder Unternehmen hat!

Obwohl es ungewöhnlich ist, ist es sogar möglich, PFS-Schlüssel innerhalb einer Sitzung zu aktualisieren (z. B. jede Stunde). Dadurch wird die Datenmenge, die von einem Angreifer abgefangen werden kann, weiter begrenzt, selbst wenn ein privater Schlüssel kompromittiert wird.

Als ich vor einigen Jahren diesen Artikel zu diesem Thema schrieb, war die Verwendung von Perfect Forward Secrecy sowohl für HTTPS-Websites als auch für OpenVPN-Verbindungen beklagenswert selten. Glücklicherweise hat sich diese Situation etwas geändert. Obwohl dies keineswegs universell ist, hat die Verwendung von ephemeren Schlüsseln in letzter Zeit stark zugenommen.

VPN-Verschlüsselungsprotokolle

Ein VPN-Protokoll ist ein Satz von Anweisungen (Mechanismus), der verwendet wird, um eine sichere verschlüsselte Verbindung zwischen zwei Computern auszuhandeln. Eine Reihe solcher VPN-Protokolle werden üblicherweise von kommerziellen VPN-Diensten unterstützt. Die wichtigsten davon sind PPTP, L2TP/IPSec, OpenVPN, SSTP und IKEv2.

Ich schaue mir jedes davon unten an, aber OpenVPN ist jetzt das Industriestandard-VPN-Protokoll, das von kommerziellen VPN-Diensten verwendet wird – aus gutem Grund. Es ist sehr sicher und kann auf fast allen VPN-fähigen Geräten verwendet werden. Ich werde daher zusätzliche digitale Tinte darauf verwenden, OpenVPN im Detail zu diskutieren.

PPTP

VORTEILE

NACHTEILE

  • Sehr unsicher
  • Definitiv von der NSA kompromittiert
  • Leicht blockiert

Was ist PPTP?

Es ist nur ein VPN-Protokoll und stützt sich auf verschiedene Authentifizierungsmethoden, um Sicherheit zu bieten. Bei kommerziellen VPN-Anbietern ist dies fast immer MS-CHAP v2. Das von PPTP verwendete Verschlüsselungsprotokoll (ähnlich einer Standardchiffre) ist Microsoft Point-to-Point Encryption (MPPE).

Das Point-to-Point Tunneling Protocol (PPTP) wurde von einem von Microsoft gegründeten Konsortium entwickelt, um VPN über DFÜ-Netzwerke zu erstellen. Als solches ist PPTP seit langem das Standardprotokoll für VPN-Unternehmensnetzwerke.

PPTP ist standardmäßig auf nahezu allen VPN-fähigen Plattformen und Geräten verfügbar. Es ist einfach einzurichten, ohne dass zusätzliche Software installiert werden muss. Dies stellt sicher, dass PPTP sowohl für geschäftliche VPNs als auch für kommerzielle VPN-Dienste eine beliebte Wahl bleibt.

Es hat auch den Vorteil, dass es einen geringen Rechenaufwand für die Implementierung erfordert … also ist es schnell!

Leider ist PPTP nicht sicher. Überhaupt. Obwohl es heute normalerweise nur bei Verwendung von 128-Bit-Verschlüsselungsschlüsseln gefunden wird, sind in den Jahren, seit es 1999 erstmals mit Windows 95 OSR2 gebündelt wurde, eine Reihe von Sicherheitslücken ans Licht gekommen.

Die schwerwiegendste davon ist die Möglichkeit einer nicht gekapselten MS-CHAP v2-Authentifizierung. Mit diesem Exploit wurde PPTP innerhalb von zwei Tagen geknackt. Microsoft hat die Lücke gepatcht, aber selbst eine Empfehlung herausgegeben, stattdessen L2TP/IPsec oder SSTP zu verwenden.

Es sollte nicht überraschen, dass die NSA mit ziemlicher Sicherheit standardmäßig PPTP-verschlüsselte Kommunikation entschlüsselt. Noch besorgniserregender ist, dass die NSA riesige Mengen älterer Daten gesammelt hat, die verschlüsselt wurden, als PPTP noch als sicher galt. Es kann mit ziemlicher Sicherheit auch diese Altdaten entschlüsseln.

PPTP requires both TCP port 1723 and the GRE protocol. It is easy to firewall GRE, which makes it easy to block PPTP connections.

L2TP/IPsec

PROS

CONS

  • May be compromised by the NSA (unproven)
  • Likely deliberately weakened by the NSA (unproven)
  • Can struggle with restrictive firewalls
  • Often implemented badly

What is L2TP and IPsec?

Layer 2 Tunneling Protocol (L2TP) is built in to almost all modern operating systems and VPN-capable devices. It is therefore just as easy and quick to set up as PPTP.

L2TP selbst bietet keine Verschlüsselung oder Vertraulichkeit für den Datenverkehr, der es durchläuft, daher wird es normalerweise mit der IPsec-Authentifizierungssuite (L2TP/IPsec) implementiert. Auch wenn ein Anbieter nur entweder von L2TP oder IPsec spricht (wie manche es tun), meint er mit ziemlicher Sicherheit tatsächlich L2TP/IPSec.

L2TP/IPsec kann entweder die 3DES- oder die AES-Chiffre verwenden. 3DES ist anfällig für Meet-in-the-Middle- und Sweet32-Kollisionsangriffe, daher ist es in der Praxis unwahrscheinlich, dass Sie heutzutage darauf stoßen.

Es können Probleme auftreten, da das L2TP/IPSec-Protokoll nur eine begrenzte Anzahl von Ports verwendet. Dies kann beim Einsatz hinter NAT-Firewalls zu Komplikationen führen. Diese Abhängigkeit von festen Ports macht das Protokoll auch ziemlich einfach zu blockieren.

L2TP/IPsec kapselt Daten zweimal, was die Dinge verlangsamt. Dem steht entgegen, dass die Verschlüsselung/Entschlüsselung im Kernel erfolgt und L2TP/IPsec Multi-Threading erlaubt. OpenVPN nicht. Das Ergebnis ist, dass L2TP/IPsec theoretisch schneller ist als OpenVPN.

L2TP/IPsec, das die AES-Verschlüsselung verwendet, weist keine größeren bekannten Schwachstellen auf und kann bei richtiger Implementierung immer noch sicher sein. Die Enthüllungen von Edward Snowden deuten jedoch stark darauf hin, dass der Standard von der NSA kompromittiert wird.

John Gilmore ist Sicherheitsspezialist und Gründungsmitglied der Electronic Frontier Foundation. Er erklärt, es sei wahrscheinlich, dass IPSec während seiner Designphase absichtlich geschwächt wurde.

Ein wohl viel größeres Problem ist, dass viele VPN-Dienste L2TP/IPsec schlecht implementieren. Insbesondere verwenden sie Pre-Shared Keys (PSKs), die kostenlos von ihren Websites heruntergeladen werden können.

Diese PSKs werden nur zur Authentifizierung der Verbindung verwendet, sodass die Daten selbst bei einer Kompromittierung mit AES sicher verschlüsselt bleiben. Ein Angreifer könnte jedoch den vorinstallierten Schlüssel verwenden, um sich als VPN-Server auszugeben. Es könnte dann verschlüsselten Datenverkehr abhören oder sogar schädliche Daten in die Verbindung einschleusen.

Beachten Sie Icon2 01 150X150

Zusammenfassung

Trotz einiger weitgehend theoretischer Probleme gilt L2TP/IPsec im Allgemeinen als sicher, wenn keine offen veröffentlichten Pre-Shared Keys verwendet werden. Seine eingebaute Kompatibilität mit sehr vielen Geräten kann es zu einer sehr guten Wahl machen.

SSTP

VORTEILE

NACHTEILE

  • Proprietärer Standard im Besitz von Microsoft

Was ist SSTP?

SSTP ist eine Verschlüsselungsart, die SSL 3.0 verwendet und ähnliche Vorteile wie OpenVPN bietet. Dazu gehört die Möglichkeit, den TCP-Port 443 zu verwenden, um der Zensur zu entgehen. Eine enge Integration mit Windows kann es einfacher zu verwenden und stabiler als OpenVPN auf dieser Plattform machen.

Im Gegensatz zu OpenVPN ist SSTP jedoch ein proprietärer Standard von Microsoft. Das bedeutet, dass der Kodex nicht öffentlich einsehbar ist. Microsofts Geschichte der Zusammenarbeit mit der NSA und Spekulationen über mögliche Hintertüren, die in das Windows-Betriebssystem eingebaut sind, wecken kein Vertrauen in den Standard.

Das Secure Socket Tunneling Protocol (SSTP) wurde von Microsoft in Windows Vista SP1 eingeführt. Obwohl es jetzt für Linux-VPNs und sogar Mac OS X verfügbar ist, ist es immer noch hauptsächlich eine reine Windows-Plattform.

Ein weiteres Problem ist, dass SSL v3.0 anfällig für den sogenannten POODLE-Angriff ist und daher jetzt nicht empfohlen wird. Ob dieses Problem auch SSTP betrifft, ist unklar, aber auch hier wenig vertrauenserweckend.

Beachten Sie Icon2 01 150X150

Zusammenfassung

Auf dem Papier bietet SSTP viele der Vorteile von OpenVPN. Ein proprietärer Microsoft-Standard zu sein, untergräbt jedoch seine Glaubwürdigkeit.

IKEv2

VORTEILE

NACHTEILE

  • Auf vielen Plattformen nicht unterstützt
  • Die serverseitige Implementierung von IKEv2 ist schwierig, was möglicherweise zu Problemen führen kann
  • Vertrauen Sie nur Open-Source-Implementierungen

Was ist IKEv2?

Internet Key Exchange Version 2 (IKEv2) wurde gemeinsam von Microsoft und Cisco entwickelt. Es wird nativ von Windows 7+, Blackberry und iOS-Geräten unterstützt. Aus diesem Grund verwenden viele iOS-VPN-Dienste IKEv2 anstelle von OpenVPN.

Unabhängig entwickelte kompatible Versionen von IKEv2 wurden für Linux und andere Betriebssysteme entwickelt. Viele dieser Iterationen sind Open Source. Wie immer schlage ich vor, bei allem, was von Microsoft entwickelt wurde, vorsichtig zu sein. Open-Source-Versionen von IKEv2 sollten jedoch keine Probleme haben.

IKEv2 ist Teil der IPsec-Protokollsuite. Es stellt sicher, dass der Datenverkehr sicher ist, indem das SA-Attribut (Security Association) innerhalb von IPsec übergeben wird, und verbessert IKEv1 in vielerlei Hinsicht. IKEv2 wird daher manchmal auch als IKEv2/IPsec bezeichnet. IKEv1 hingegen wird oft einfach als IPsec bezeichnet. 

IKEv2, von Microsoft als VPN Connect bezeichnet, eignet sich besonders gut zum automatischen Wiederherstellen einer VPN-Verbindung, wenn Benutzer vorübergehend ihre Internetverbindung verlieren. Zum Beispiel beim Betreten oder Verlassen eines Bahntunnels.

Aufgrund der Unterstützung des Mobility and Multihoming (MOBIKE)-Protokolls ist IKEv2 auch sehr widerstandsfähig gegenüber sich ändernden Netzwerken. Dies macht IKEv2 zu einer großartigen Wahl für Mobiltelefonbenutzer, die regelmäßig zwischen Heim-WLAN und mobilen Verbindungen wechseln oder regelmäßig zwischen Hotspots wechseln.

IKEv2 ist nicht so verbreitet wie L2TP/IPSec, da es auf viel weniger Plattformen unterstützt wird (obwohl sich diese Situation schnell ändert). Es wird jedoch in Bezug auf Sicherheit, Leistung (Geschwindigkeit), Stabilität und die Fähigkeit, eine Verbindung herzustellen (und wiederherzustellen), als mindestens so gut wie L2TP/IPsec angesehen, wenn nicht sogar überlegen.

OpenVPN

VORTEILE

Was ist OpenVPN?

OpenVPN ist eine Open-Source-Technologie, die die OpenSSL-Bibliothek und TLS-Protokolle zusammen mit einer Mischung aus anderen Technologien verwendet, um eine starke und zuverlässige VPN-Lösung bereitzustellen. Es ist jetzt das Industriestandard-VPN-Protokoll, das von kommerziellen VPN-Diensten verwendet wird – aus gutem Grund.

Eine der größten Stärken von OpenVPN ist seine hohe Konfigurierbarkeit. Es wird von keiner Plattform nativ unterstützt, ist aber auf den meisten Plattformen über Software von Drittanbietern verfügbar. Benutzerdefinierte OpenVPN-Clients und -Apps sind oft von einzelnen VPN-Anbietern erhältlich, aber der Open-Source-Kerncode wird vom OpenVPN-Projekt entwickelt.

Viele Entwickler und Mitarbeiter des OpenVPN-Projekts arbeiten auch für OpenVPN Technologies Inc., die das Projekt beaufsichtigen.

OpenVPN läuft am besten auf einem UDP-Port, aber es kann so eingestellt werden, dass es auf jedem Port läuft (siehe Anmerkungen später). Dazu gehört TCP-Port 443, der vom regulären HTTPS-Datenverkehr verwendet wird. Das Ausführen von OpenVPN über TCP-Port 443 macht es schwierig, VPN-Verbindungen von den sicheren Verbindungen zu unterscheiden, die von Banken, E-Mail-Diensten und Online-Händlern verwendet werden. Dies macht OpenVPN sehr schwer zu blockieren.

Ein weiterer Vorteil von OpenVPN besteht darin, dass die zur Bereitstellung der Verschlüsselung verwendete OpenSSL-Bibliothek eine Reihe von Chiffren unterstützt. In der Praxis werden jedoch nur Blowfish und AES von kommerziellen VPN-Diensten verwendet. Ich bespreche diese unten.

Angesichts der von Edward Snowden erhaltenen Informationen scheint OpenVPN nicht von der NSA kompromittiert oder geschwächt worden zu sein, solange Perfect Forward Secrecy verwendet wird.

Ein kürzlich durchgeführtes Crowdsourcing-Audit von OpenVPN ist nun abgeschlossen, ebenso wie ein weiteres, das von Private Internet Access finanziert wurde. Es wurden keine schwerwiegenden Sicherheitslücken entdeckt, die die Privatsphäre der Benutzer beeinträchtigen. Es wurden einige Schwachstellen entdeckt, die OpenVPN-Server potenziell anfällig für einen Denial-of-Service-Angriff (DoS) machten, aber diese wurden in OpenVPN 2.4.2 gepatcht.

OpenVPN wird normalerweise als das sicherste verfügbare VPN-Protokoll angesehen und wird in der gesamten VPN-Branche weitgehend unterstützt. Ich werde daher im Folgenden ausführlich auf die OpenVPN-Verschlüsselung eingehen.

OpenVPN-Verschlüsselung

Die OpenVPN-Verschlüsselung besteht aus zwei Teilen – der Datenkanalverschlüsselung und der Steuerkanalverschlüsselung. Zur Sicherung Ihrer Daten wird eine Datenkanalverschlüsselung verwendet. Die Kontrollkanalverschlüsselung sichert die Verbindung zwischen Ihrem Computer und dem VPN-Server.

Jede Verteidigung ist nur so stark wie ihr schwächster Punkt, daher ist es bedauerlich, dass einige VPN-Anbieter auf einem Kanal eine viel stärkere Verschlüsselung verwenden als auf dem anderen (normalerweise stärker auf dem Kontrollkanal).

Es ist beispielsweise nicht ungewöhnlich, dass ein VPN-Dienst mit einer AES-256-Verschlüsselung mit RSA-4096-Handshake-Verschlüsselung und SHA-512-Hash-Authentifizierung beworben wird. Das klingt sehr beeindruckend, bis Sie feststellen, dass es sich nur auf die Verschlüsselung des Steuerkanals bezieht und nicht auf den Datenkanal, der mit bloßer Blowfish-128 mit SHA1-Hash-Authentifizierung verschlüsselt wird. Dies geschieht nur aus Marketinggründen.

Wenn auf den Daten- und Kontrollkanälen unterschiedliche Verschlüsselungen verwendet werden, wird die wahre Stärke der OpenVPN-Verbindung an der verwendeten schwächeren Verschlüsselungssuite gemessen.

Für maximale Sicherheit sollten sowohl die Daten- als auch die Steuerkanalverschlüsselung so stark wie möglich sein. Je stärker jedoch die verwendete Verschlüsselung verwendet wird, desto langsamer wird die Verbindung, weshalb einige Anbieter an der Verschlüsselung des Datenkanals sparen.

Die Steuerkanalverschlüsselung wird auch als TLS-Verschlüsselung bezeichnet, da TLS die Technologie ist, mit der die Verbindung zwischen Ihrem Computer und dem VPN-Server sicher ausgehandelt wird. Dies ist die gleiche Technologie, die von Ihrem Browser verwendet wird, um eine Verbindung zu einer HTTPS-verschlüsselten Website sicher auszuhandeln.

  • Die Steuerkanalverschlüsselung besteht aus einer Chiffre, einer Handshake-Verschlüsselung und einer Hash-Authentifizierung.
  • Die Datenkanalverschlüsselung besteht aus einer Verschlüsselung und einer Hash-Authentifizierung.

VPN-Anbieter verwenden häufig dieselbe Verschlüsselungsstufe für Steuer- und Datenkanäle. In unseren Testberichten und „Ampel“-Tabellen führen wir diese nur dann gesondert auf, wenn für jeden Kanal unterschiedliche Werte verwendet werden.

Wenn wir angeben, dass ein Anbieter eine AES-256-Verschlüsselung verwendet, bedeutet dies, dass sowohl für den Steuer- als auch für den Datenkanal eine AES-256-Verschlüsselung verwendet wird.*

(*Dies sollte zumindest der Fall sein. Einige ältere Bewertungen entsprechen nicht unseren aktuellen Richtlinien, aber diese sollten rechtzeitig eingestellt werden).

Chiffren

OpenVPN kann eine Reihe von Chiffren mit symmetrischen Schlüsseln verwenden, um Daten sowohl auf Steuer- als auch auf Datenkanälen zu sichern. In der Praxis werden von kommerziellen VPN-Anbietern nur Blowfish, AES und (sehr selten) Camellia verwendet.

Kugelfisch

Blowfish-128 ist die von OpenVPN verwendete Standardchiffre. Schlüsselgrößen können theoretisch zwischen 32 Bit und 448 Bit liegen, aber Blowfish-128 ist die einzige Version, der Sie wahrscheinlich in freier Wildbahn begegnen werden.

Blowfish wird oft als sicher genug für Gelegenheitszwecke angesehen, hat aber bekannte Schwächen. Es wurde von dem renommierten Kryptografen Bruce Schneier erstellt, der 2007 sagte: „Zu diesem Zeitpunkt bin ich jedoch erstaunt, dass es immer noch verwendet wird.“

Aus unserer Sicht ist der Einsatz von Blowfish-128 als zweite Verteidigungslinie auf dem OpenVPN-Datenkanal akzeptabel. Es sollte jedoch nicht als sicher angesehen werden, wenn es auf dem Steuerkanal verwendet wird.

AES

AES ist zum VPN-industrieweiten „Goldstandard“ der Verschlüsselung mit symmetrischen Schlüsseln geworden. AES ist NIST-zertifiziert und gilt fast überall als sehr sicher. AES-256 wird von der US-Regierung zum Schutz „sicherer“ Daten verwendet.

Die Tatsache, dass es eine Blockgröße von 128 Bit anstelle der 64-Bit-Blockgröße von Blowfish hat, bedeutet auch, dass es größere Dateien (über 4 GB) besser verarbeiten kann als Blowfish. Darüber hinaus profitiert der AES-Befehlssatz auf den meisten Plattformen von der integrierten Hardwarebeschleunigung.

AES ist normalerweise in 128-Bit- und 256-Bit-Schlüsselgrößen verfügbar (es gibt auch 192-Bit-AES). AES-128 bleibt sicher, soweit irgendjemand weiß. Angesichts dessen, was wir jetzt über das Ausmaß des Angriffs der NSA auf Verschlüsselungsstandards wissen, sind sich die meisten Experten jedoch einig, dass AES-256 einen höheren Sicherheitsspielraum bietet.

Damit das Thema aber niemandem zu leicht fällt, gibt es einige Diskussionen zu diesem Thema. AES-128 hat einen stärkeren Schlüsselplan als AES-256, was einige sehr angesehene Experten dazu veranlasst, zu argumentieren, dass AES-128 tatsächlich stärker als AES-256 ist.

Der allgemeine Konsens ist jedoch, dass AES-256 stärker ist.

Kamelie

Camellia ist eine moderne sichere Verschlüsselung und mindestens so sicher und schnell wie AES. Es ist in Schlüsselgrößen von 128, 192 und 256 Bit erhältlich. Dank der NIST-Zertifizierung und der Verwendung durch die US-Regierung wird jedoch fast immer AES anstelle von Camellia verwendet.

Aber wie ich weiter unten bespreche, gibt es Gründe, NIST-zertifizierten Chiffren nicht zu vertrauen. Die Tatsache, dass Camellia eine Nicht-NIST-Chiffre ist, ist der Hauptgrund, sie AES vorzuziehen. Diese Option steht jedoch nur selten zur Verfügung.

Es ist auch erwähnenswert, dass Camellia nicht annähernd so gut auf Schwäche getestet wurde wie AES.

Handshake-Verschlüsselung

Um eine Verbindung zwischen Ihrem Gerät und einem VPN-Server sicher auszuhandeln, verwendet OpenVPN einen TLS-Handshake. Dadurch können der OpenVPN-Client und der VPN-Server die geheimen Schlüssel festlegen, mit denen sie kommunizieren.

Um diesen Handshake zu schützen, verwendet TLS normalerweise das RSA-Public-Key-Kryptosystem. Dies ist ein Algorithmus für Verschlüsselung und digitale Signatur, der zur Identifizierung von TLS/SSL-Zertifikaten verwendet wird. Es kann aber auch stattdessen einen Diffie-Hellman- oder ECDH-Schlüsselaustausch verwenden.

RSA

RSA ist ein asymmetrisches Verschlüsselungssystem – ein öffentlicher Schlüssel wird verwendet, um die Daten zu verschlüsseln, aber ein anderer privater Schlüssel wird verwendet, um sie zu entschlüsseln. Sie ist seit etwa 20 Jahren die Grundlage für die Sicherheit im Internet.

Es ist mittlerweile allgemein bekannt, dass RSA mit einer Schlüssellänge von 1024 Bit (RSA-1024) oder weniger nicht sicher ist und mit ziemlicher Sicherheit von der NSA geknackt wurde. Folglich gab es unter Internetunternehmen eine konzertierte Bewegung, weg von RSA-1024 zu migrieren.

Leider finden wir immer noch, dass einige VPN-Dienste weiterhin RSA-1024 verwenden, um Handshakes zu schützen. Das ist nicht gut.

RSA-2048 und höher gilt nach wie vor als sicher. RSA allein bietet keine Perfect Forward Secrecy (PFS). Dies kann jedoch implementiert werden, indem ein Diffie-Hellman (DH)- oder Elliptic Curve Diffie-Hellman (ECDH)-Schlüsselaustausch in seine Cipher-Suite aufgenommen wird.

In diesem Fall spielt die Stärke des DH- oder ECDH-Schlüssels keine Rolle, da er nur verwendet wird , um Perfect Forward Secrecy bereitzustellen. Die Verbindung wird mit RSA gesichert.

Weil es Verwirrung stiften kann, möchte ich auch darauf hinweisen, dass das RSA-Kryptosystem nichts mit der in Ungnade gefallenen US-Technologiefirma RSA Security LLC zu tun hat. Dieses Unternehmen hat seine Flaggschiff-Verschlüsselungsprodukte BSAFE absichtlich geschwächt, nachdem es von der NSA mit 10 Millionen Dollar bestochen worden war.

Diffie-Hellman und ECDH

Eine alternative (konkurrierende) Handshake-Verschlüsselung, die manchmal von OpenVPN verwendet wird, ist der kryptografische Schlüsselaustausch Diffie-Hellman (DH). Dieser hat in der Regel eine Schlüssellänge von 2048 Bit oder 4096 Bit. Beachten Sie, dass alles unter DH-2048 aufgrund der Anfälligkeit für den Logjam-Angriff vermieden werden sollte.

Der Hauptvorteil eines Diffie-Hellman-Handshakes gegenüber RSA besteht darin, dass er von Haus aus Perfect Forward Secrecy bietet. Wie bereits erwähnt, erreicht jedoch das einfache Hinzufügen eines DH-Schlüsselaustauschs zu einem RSA-Handshake ein ähnliches Ziel.

Diffie-Hellman hat große Kontroversen über die Wiederverwendung einer begrenzten Menge von Primzahlen ausgelöst. Dies macht es anfällig dafür, von einem mächtigen Gegner wie der NSA geknackt zu werden. Diffie-Hellman allein sorgt also noch nicht für eine sichere Handshake-Verschlüsselung. Es ist jedoch in Ordnung, wenn es als Teil einer RSA-Verschlüsselungssuite verwendet wird.

Elliptic Curve Diffie-Hellman (ECDH) ist eine neuere Form der Kryptographie, die für diesen Angriff nicht anfällig ist. Dies liegt daran, dass es die Eigenschaften einer bestimmten Art von algebraischer Kurve anstelle von großen Primzahlen verwendet, um Verbindungen zu verschlüsseln.

ECDH kann als Teil eines RSA-Handshakes verwendet werden, um Perfect Forward Secrecy bereitzustellen, oder kann einen Handshake allein (mit einer ECDSA-Signatur) sicher verschlüsseln. Dies bietet auch PFS.

Die ECDH-Schlüssellänge beginnt bei 384 Bit. Dies gilt als sicher, aber wenn es alleine verwendet wird, um einen TLS-Handshake zu sichern, gilt: Je länger, desto besser (jedenfalls in Bezug auf die Sicherheit).

SHA-Hash-Authentifizierung

Dies wird auch als Datenauthentifizierung oder Hash Message Authentication Code (HMAC) bezeichnet.

Secure Hash Algorithm  (SHA) ist eine kryptografische Hash-Funktion, die (unter anderem) zur Authentifizierung von Daten und SSL/TLS-Verbindungen verwendet wird. Dazu gehören OpenVPN-Verbindungen.

Es erstellt einen eindeutigen Fingerabdruck eines gültigen TLS-Zertifikats, das von jedem OpenVPN-Client validiert werden kann. Selbst die kleinste Veränderung ist erkennbar. Wird das Zertifikat manipuliert, wird dies sofort erkannt und die Verbindung verweigert.

Dies ist wichtig, um einen Man-in-the-Middle (MitM)-Angriff zu verhindern, bei dem ein Angreifer versucht, Ihre OpenVPN-Verbindung auf einen seiner eigenen Server anstatt auf Ihren VPN-Anbieter umzuleiten. Dies könnte beispielsweise durch Hacken Ihres Routers geschehen.

Wenn ein Angreifer den Hash des echten TLS-Zertifikats Ihres Anbieters knacken kann, kann er den Hash umkehren, um ein gefälschtes Zertifikat zu erstellen. Ihre Open VPN-Software würde dann die Verbindung als echt authentifizieren.

Ist SHA sicher?

Bei Verwendung zum Schutz von HTTPS-Websites ist SHA-1 defekt. Dies ist seit einiger Zeit bekannt. SHA-1-Websites sind noch zu finden, werden jedoch eingestellt. Die meisten Browser geben jetzt eine Warnung aus, wenn Sie versuchen, eine Verbindung zu einer mit SHA-1 gesicherten Website herzustellen.

SHA-2- und SHA-3-Hashfunktionen werden jetzt stattdessen empfohlen und sind sicher. SHA-2 umfasst SHA-256, SHA-384 und SHA-512. Jedoch…

OpenVPN verwendet nur SHA für HMAC. Ich halte es nicht für sinnvoll, hier zu sehr ins Detail zu gehen, aber die SHA-Hash-Authentifizierung ist Teil des HMAC-Algorithmus. Ein Angriff auf HMAC, der in SHA-1 eingebettet ist, ist viel schwieriger als nur ein Angriff auf die SHA-1-Hash-Funktion selbst.

Mit anderen Worten, HMAC SHA-1, wie es von OpenVPN verwendet wird, gilt als sicher und es gibt einen mathematischen Beweis dafür. Natürlich sind HMAC SHA-2 und HMAC SHA-3 noch sicherer ! Tatsächlich erkennt das jüngste OpenVPN-Audit an, dass HMAC SHA-1 sicher ist, empfiehlt jedoch stattdessen den Übergang zu HMAC SHA-2 oder HMAC SHA-3.

Anmerkungen

NIST

AES, RSA, SHA-1 und SHA-2 wurden alle vom United States National Institute of Standards and Technology (NIST) entwickelt und/oder zertifiziert. Dabei handelt es sich um eine Einrichtung, die nach eigenen Angaben bei der Entwicklung ihrer Chiffren eng mit der NSA zusammenarbeitet.

Angesichts dessen, was wir jetzt über die systematischen Bemühungen der NSA wissen, internationale Verschlüsselungsstandards zu schwächen oder Hintertüren einzubauen, gibt es allen Grund, die Integrität der NIST-Algorithmen in Frage zu stellen.

NIST weist solche Anschuldigungen natürlich entschieden zurück:

NIST würde einen kryptografischen Standard nicht absichtlich schwächen.

Es hat auch die Öffentlichkeit zur Teilnahme an einer Reihe von bevorstehenden vorgeschlagenen Verschlüsselungsstandards eingeladen, um das Vertrauen der Öffentlichkeit zu stärken.

Die New York Times beschuldigte die NSA jedoch, NIST-genehmigte Verschlüsselungsstandards zu umgehen, indem sie entweder nicht erkennbare Hintertüren einführte oder den öffentlichen Entwicklungsprozess unterwanderte, um die Algorithmen zu schwächen.

Dieses Misstrauen wurde weiter verstärkt, als RSA Security (eine Abteilung von EMC) Kunden privat aufforderte, die Verwendung eines Verschlüsselungsalgorithmus einzustellen, der Berichten zufolge einen von der NSA entwickelten Fehler enthält. Dieser Algorithmus wurde auch von NIST unterstützt.

Darüber hinaus ist Dual_EC_DRBG (Dual Elliptic Curve Deterministic Random Bit Generator) ein Verschlüsselungsstandard, der von NIST entwickelt wurde. Es ist seit Jahren bekannt, dass es unsicher ist.

Im Jahr 2006 stellte die Technische Universität Eindhoven in den Niederlanden fest, dass ein Angriff darauf einfach genug sei, um auf „einem gewöhnlichen PC“ zu starten. Microsoft-Ingenieure haben auch eine vermutete Hintertür im Algorithmus aufgezeigt.

Trotz dieser Bedenken, wohin NIST führt, folgt die Industrie. Microsoft, Cisco, Symantec und RSA nehmen alle den Algorithmus in die kryptografischen Bibliotheken ihrer Produkte auf. Dies liegt zum großen Teil daran, dass die Einhaltung der NIST-Standards eine Voraussetzung für den Erhalt von Aufträgen der US-Regierung ist.

NIST-zertifizierte kryptografische Standards sind weltweit so gut wie allgegenwärtig, in allen Bereichen der Industrie und des Geschäfts, die auf Datenschutz angewiesen sind. Das macht die ganze Situation ziemlich erschreckend.

Vielleicht sind Kryptografie-Experten gerade deshalb nicht bereit, sich dem Problem zu stellen, weil so viel auf diese Standards angewiesen ist.

AES-CBC vs. AES-GCM

Bis vor kurzem war AES-CBC (Cipher Block Chaining) die einzige AES-Chiffre, die Sie wahrscheinlich in der VPN-Welt antreffen würden. Damit ist der Blockchiffriermodus gemeint, ein komplexes Thema, auf das es sich hier nicht wirklich lohnt, einzugehen. Obwohl CBC theoretisch einige Schwachstellen aufweisen kann, besteht allgemeiner Konsens darüber, dass CBC sicher ist . CBC wird tatsächlich im OpenVPN-Handbuch empfohlen.

OpenVPN unterstützt jetzt auch AES-GCM (Galios/Counter Mode).

  • GCM bietet Authentifizierung und macht eine HMAC-SHA-Hashing-Funktion überflüssig.
  • Es ist auch etwas schneller als CBC, da es Hardwarebeschleunigung verwendet (durch Threading auf mehrere Prozessorkerne).

AES-CBC bleibt der allgemein gebräuchlichste Modus, aber wir fangen jetzt an, AES-GCM „in freier Wildbahn“ zu begegnen. Angesichts der Vorteile von GCM wird sich dieser Trend wahrscheinlich nur fortsetzen. Aus kryptografischer Sicht sind jedoch sowohl AES-CBC als auch AES-GCM sehr sicher.

OpenVPN UDP vs. OpenVPN TCP

OpenVPN kann über TCP (Transmission Control Protocol) oder UDP (User Datagram Protocol) laufen.

  • TCP = zuverlässig. Wenn ein Computer ein Netzwerkpaket über TCP sendet, wartet er auf die Bestätigung, dass das Paket angekommen ist, bevor er das nächste Paket sendet. Wenn keine Bestätigung empfangen wird, wird das Paket erneut gesendet. Dies wird als Fehlerkorrektur bezeichnet. Es gibt eine “garantierte Lieferung” aller Daten, die jedoch ziemlich langsam sein kann.
  • UDP = schnell. Unter Verwendung von UDP wird keine solche Fehlerkorrektur durchgeführt. Pakete werden einfach gesendet und empfangen, ohne Bestätigungen oder Wiederholungen. Dies macht UDP viel schneller als TCP, aber weniger zuverlässig.

Wenn Sie die Wahl haben, schlage ich vor, das schnellere UDP-Protokoll zu verwenden, es sei denn, Sie haben Verbindungsprobleme. Dies ist die Standardstrategie der meisten VPN-Anbieter.

Besiegen Sie die Zensur mit OpenVPN auf TCP-Port 443

Einer der großen Vorteile von OpenVPN ist, dass es über jeden Port ausgeführt werden kann, einschließlich TCP-Port 443. Dies ist der Port, der von HTTPS verwendet wird, dem verschlüsselten Protokoll, das alle sicheren Websites sichert.

Ohne HTTPS wäre kein Online-Handel wie Shopping oder Banking möglich. Daher kommt es sehr selten vor, dass dieser Port blockiert wird.

Als Bonus kann der VPN-Datenverkehr auf TCP-Port 443 innerhalb der TLS-Verschlüsselung auf die gleiche Weise weitergeleitet werden, wie er von HTTPS verwendet wird. Dies macht es viel schwieriger, es mit fortschrittlichen Deep-Packet-Inspection-Techniken zu erkennen. TCP-Port 443 ist daher der bevorzugte Port zum Umgehen von VPN-Blöcken.

Viele VPN-Anbieter bieten die Möglichkeit, die von OpenVPN verwendete Portnummer mit ihrer benutzerdefinierten Software zu ändern.

Auch wenn dies bei Ihnen nicht der Fall ist, unterstützen viele VPN-Anbieter tatsächlich OpenVPN mit TCP-Port 443 auf Serverebene. Sie können mit einer einfachen Bearbeitung Ihrer OpenVPN-Konfigurationsdatei (.ovpn) darauf umschalten. Es lohnt sich daher, Ihren VPN-Anbieter danach zu fragen.

Es ist erwähnenswert, dass Netzwerkingenieure diese Taktik nicht mögen, da TCP über TCP sehr ineffizient ist. Wenn es jedoch darum geht, die Zensur zu überwinden, funktioniert es oft.

SSTP verwendet standardmäßig den TCP-Port 443.

Summaries

VPN Protocols

  • PPTP is very insecure and should be avoided. While its ease of setup and cross-platform compatibility are attractive, L2TP/IPsec has the same advantages and is much more secure.
  • L2TP/IPsec is a good VPN solution for non-critical use. This is especially true on legacy devices that do not support OpenVPN. It has, however, been severely compromised by the NSA.
  • SSTP offers most of the advantages of OpenVPN, but is primarily only a Windows protocol. This does mean that it is better integrated into the OS, but it is poorly supported by VPN providers thanks to this limitation. In addition to this, its proprietary nature and the fact that is was created by Microsoft mean that I, for one, don’t trust it.
  • IKEv2 is a very good (secure and fast) protocol. Mobile users, in particular, may even prefer it to OpenVPN due to its improved ability to reconnect when an internet connection is interrupted. For Blackberry users, it is pretty much the only option available. Use open-source versions where possible.
  • OpenVPN is the recommended VPN protocol under most circumstances. It is fast, reliable, secure, and open source. It has no real downsides, per se., but to be truly secure it is important that it is implemented well. This means strong encryption with Perfect Forward Secrecy.

OpenVPN Encryption

When it comes to encryption, the devil is in the detail. It is common to see VPNs providers say they use “ultra-strong 256-bit” AES OpenVPN encryption, but this does not, in reality, tell us very much. AES-256 is indeed a strong cipher, but if other aspects of the encryption suite used are weak, then your data will not be secure.

  • Cipher – this protects your actual data. AES-256 is now the industry standard and is recommended.
  • Handshake – this secures your connection to the VPN server. RSA-2048+ or ECDH-384+ are secure. Importantly RSA-1024 and Diffie-Hellman handshakes are not.
  • Hash authentication – creates a unique fingerprint, which is used to validate data and TLS certificates (that is, to check that the server you are connecting to really is the one you think you are connecting to). HMAC SHA-1 is absolutely fine, but HMAC SHA-2 (SHA-256, SHA-384, and SHA-512) and HMAC SHA-3 are even more secure! Note that hash authentication is not required if the AES-GCM cipher is used.
  • Perfect Forward Secrecy (PFS) – this ensures that new encryption keys are created for each session. OpenVPN should not be considered secure unless PFS is implemented. This can be done either by including a Diffie-Hellman or ECDH key exchange in an RSA handshake, or a DH or ECDH handshake.
  • Encryption is only as secure as its weakest point. This means that encryptions settings should be strong on both the data and control channels.
  • Using higher bit lengths for ciphers and keys is almost always more secure, but this comes at a cost in speed.

OpenVPN will negotiate ciphers between client and server at will. Unless very specific parameters are defined, OpenVPN may default to weak settings. At a minimum, OpenVPN will default to Blowfish-128 cipher, RSA-1024 handshake with no PFS, and HMAC SHA-1 hash authentication.

Conclusion

Hopefully, you now have a better understanding of what makes for a secure VPN connection. When it comes to properly configuring a VPN, however, encryption is only half the story. The other half is ensuring that no traffic enters or leaves your computer outside of the VPN connection.

Um mehr darüber zu erfahren, lesen Sie bitte unseren vollständigen Leitfaden zu IP-Lecks.