ExpressVPN und ihr neues Lightway-Protokoll

VPN-Protokolle legen fest, wie ein Client und ein Server sich gegenseitig authentifizieren, eine Verbindung aufbauen und Daten durch den erstellten Tunnel übertragen. Es gibt eine Vielzahl von VPN-Protokollen, die jeweils für ihre eigene Umgebung und ihren eigenen Anwendungsfall entwickelt wurden.

Die Entwickler bei ExpressVPN haben ihr eigenes Protokoll entwickelt, um den Bedürfnissen ihrer Kunden am besten gerecht zu werden und ihnen zu ermöglichen, immer in Verbindung zu bleiben, ohne Kompromisse in Bezug auf Datenschutz, Geschwindigkeit und Komfort eingehen zu müssen. Im Folgenden stelle ich einige der wichtigsten Designentscheidungen vor, die man getroffen hat, um ein privates, sicheres und zuverlässiges VPN-Erlebnis zu bieten.

Das Lightway-Protokoll ist eine kompakte Bibliothek mit nur etwa 2.000 Codezeilen, die von Client-Anwendungen auf jeder Plattform oder direkt auf dem Server genutzt werden kann. Es implementiert keine eigene Kryptographie, sondern stützt sich auf die etablierte Kryptographie-Bibliothek wolfSSL, die umfassend geprüft wurde und über eine FIPS-kompatible Bibliothek verfügt.

Lightway verlässt sich nicht auf externe Binärdateien (fertig kompilierter Code) mit Konfigurationsdateien, was bedeutet, dass die Beziehung zwischen dem VPN-Protokoll, seiner Implementierung und dem Client leichter erkennbar ist. Lightway hat keinen zusätzlichen Ballast in Form von ungenutzten oder veralteten Funktionalitäten und ist daher schlank und leicht zu überprüfen. Außerdem können Entwickler Lightway sicher auf einer Vielzahl von Plattformen implementieren, sowohl auf dem Client als auch auf dem Server.

Der augenscheinlichste Vorteil von Lightway ist die kurze Zeit bis zum Verbindungsaufbau. Der Lightway-Client kann den Server in einem einzigen Round Trip authentifizieren und die Verbindung in drei Round Trips aufbauen. Bei UDP verwendet das Protokoll D/TLS 1.2 (TLS für UDP), und im Falle einer Unterbrechung oder Inaktivität können die Benutzer genau dort weitermachen, wo sie aufgehört haben. D/TLS leitet sich von TLS 1.2 ab und übernimmt alle seine Vorteile, einschließlich des Replay-Schutzes. Für TCP-Verbindungen verwendet Lightway TLS 1.3, und sobald TLS 1.3 UDP unterstützt, wird Lightway es so schnell wie möglich einsetzen.

Da die Verbindungen nicht abgebrochen werden, sondern im Leerlauf sind, ist das Fortsetzen an der Stelle, an der der Benutzer aufgehört hat, in vielen alltäglichen Situationen fast unbemerkt, z. B. beim Aufwecken eines Geräts aus dem Ruhezustand oder beim Deaktivieren des Flugzeugmodus nach einem halben Tag. Selbst nach einem Wechsel des Mobilfunknetzes oder des Standorts bleiben Sie mit demselben ExpressVPN-Server verbunden.

Nach einer bestimmten Zeit der Inaktivität wird Ihre Verbindung zurückgesetzt und Ihre interne IP zurück in die Warteschlange geschickt, von wo aus sie schließlich einer anderen Person zugewiesen wird, um sicherzustellen, dass alle Verbindungen beendet wurden. (Diese „Inaktivitätsuhr“ wird mit jedem gesendeten Paket zurückgesetzt und zeichnet keine Anmeldezeiten oder Aktivitätsprofile auf).

Die Schlüssel werden alle 15 Minuten mittels Elliptic-Curve Diffie-Hellman (ECDH) ausgehandelt, oder immer dann, wenn Ihr Gerät das Netzwerk wechselt, z. B. wenn Sie zwischen Wi-Fi und mobilen Daten wechseln. Wenn ECDH fehlschlägt, greift die Software auf einen klassischen Diffie-Hellman-Austausch zurück.

Die beiden einzigen in Lightway verwendeten Verschlüsselungen sind AES-256-GCM und ChaCha20/Poly1305. Aufgrund der hervorragenden Hardware-Beschleunigung von AES, die in den meisten Geräten verfügbar ist, verwendet Lightway standardmäßig diese bewährte Verschlüsselung. Lediglich auf leistungsschwächeren Routern oder mobilen Geräten der Einstiegsklasse kann ChaCha20 verwendet werden. Andere Protokolle (wie SSL oder ältere Versionen von TLS) und Verschlüsselungen sind nicht in der Client- und Serversoftware enthalten, was das Risiko von Downgrade-Angriffen mindert.

Lightway verschleiert seinen Datenverkehr standardmäßig nicht. Um Überwachung und Zensur zu verhindern, kann der Datenverkehr vom Client über das Lightway-Protokoll so verändert werden, dass er wie anderer Datenverkehr aussieht. Dies ist gut geeignet für die Art und Weise, wie ExpressVPN-Nutzer ihre Anwendungen nutzen.

Die Kern-Codebasis von Lightway ist jetzt als Vorschau auf GitHub verfügbar, um die Transparenz für ExpressVPN-Nutzer zu gewährleisten. Man werde in Kürze noch mehr Lightway-Code veröffentlichen, so dass Benutzer das ExpressVPN-Netzwerk nutzen können, ohne Closed-Source-Software oder unbekannte Binärdateien zu benötigen, ähnlich wie es die manuelle OpenVPN-Konfiguration heute ermöglicht.

https://www.expressvpn.com/blog/lightway-open-source-security-audit/

https://github.com/expressvpn/lightway-core