Laden
Technisch··11 Min. Lesezeit

WireGuard vs OpenVPN: Protokolle im Vergleich

Sprache: EnglishالعربيةEspañolفارسیFrançaisहिन्दीBahasa IndonesiaItaliano日本語한국어PolskiPortuguêsРусскийไทยTürkçeУкраїнськаTiếng Việt简体中文繁體中文

WireGuard und OpenVPN sind die beiden Protokolle, die Consumer-VPN-Dienste am haeufigsten anbieten. Dieser Artikel vergleicht sie anhand von kryptografischem Design, Performance, Codegroesse, Plattform-Kompatibilitaet und betrieblichen Eigenschaften — also den Dimensionen, die beeinflussen, wie sich ein Dienst im echten Betrieb tatsaechlich verhaelt.

Hintergrund zu beiden Protokollen

OpenVPN erschien 2001 und ist faktisch zum Standard in kommerziellen VPN-Bereitstellungen geworden. Es ist ein quelloffenes, in C geschriebenes Projekt, laeuft im User Space und nutzt die Bibliotheken OpenSSL oder mbedTLS fuer kryptografische Operationen. Seine Langlebigkeit und Flexibilitaet haben einen umfangreichen Funktionsumfang und eine grosse Bandbreite unterstuetzter Konfigurationen hervorgebracht.

WireGuard ist deutlich neuer. Das Protokoll wurde erstmals 2016 veroeffentlicht und 2020 in den Linux-Kernel aufgenommen. Es wurde bewusst einfacher als seine Vorgaenger entworfen, mit einem kleineren Code-Fussabdruck, einem eng begrenzten Satz moderner kryptografischer Primitive und einer kernelnahen Implementierung auf Plattformen, die das unterstuetzen. Der Autor des Protokolls, Jason A. Donenfeld, richtete die Entwurfsziele eher an Ueberpruefbarkeit und Performance als an Konfigurierbarkeit aus.

Kryptografisches Design

Die beiden Protokolle unterscheiden sich erheblich in ihrer Herangehensweise an Kryptografie. WireGuard kommt mit einem festen Satz an Algorithmen; OpenVPN laesst den Betreiber aus vielen waehlen.

WireGuards fester Satz

WireGuard nutzt eine einzige Cipher Suite auf Basis moderner Primitive. Die Bestandteile sind ChaCha20 fuer die Verschluesselung, Poly1305 fuer die Authentifizierung, Curve25519 fuer den Schluesselaustausch, BLAKE2s fuer das Hashing und SipHash24 fuer den Lastausgleich. Das Noise Protocol Framework liefert den Handshake.

Ein fester Satz hat zwei Folgen. Erstens entfaellt die Protokollaushandlung, die bei TLS-basierten Protokollen historisch eine Quelle von Downgrade-Angriffen war. Zweitens bedeutet es, dass ein Upgrade der Kryptografie einen Versionssprung des Protokolls erfordert statt einer Konfigurationsaenderung.

OpenVPNs Konfigurierbarkeit

OpenVPN unterstuetzt ueber seine zugrundeliegende TLS-Bibliothek viele Cipher-Optionen. Gaengige Konfigurationen umfassen AES-256-GCM fuer die Verschluesselung, SHA256 fuer die Authentifizierung und ECDH fuer den Schluesselaustausch. Aeltere OpenVPN-Installationen nutzen mitunter BF-CBC oder AES-CBC mit HMAC, die nach modernen Massstaeben deutlich schwaecher sind.

Die Flexibilitaet erlaubt OpenVPN, aeltere Clients zu unterstuetzen, bedeutet aber auch, dass eine Konfigurationspruefung noetig ist, um zu bestaetigen, dass eine bestimmte Installation starke Einstellungen verwendet.

Performance-Eigenschaften

WireGuard ist auf derselben Hardware in der Regel schneller als OpenVPN. Zwei Faktoren erklaeren den groessten Teil des Unterschieds.

Erstens laeuft WireGuard unter Linux, macOS und Windows im Kernel, wodurch der Mehraufwand entfaellt, jedes Paket zwischen Kernel und User Space zu verschieben. OpenVPNs Implementierung im User Space ist portabel, verursacht aber pro Paket Kosten durch einen Kontextwechsel.

Zweitens eignet sich ChaCha20-Poly1305 gut fuer Prozessoren ohne dedizierte AES-Befehle, was bei ARM-basierten Mobilgeraeten haeufig der Fall ist. OpenVPN nutzt typischerweise AES, das auf Hardware mit AES-NI schneller ist, anderswo aber langsamer.

Praktisch erreicht WireGuard oft hoeheren Durchsatz, geringere Latenz und eine niedrigere CPU-Auslastung als OpenVPN auf Geraeten der Consumer-Klasse. Auch die Auswirkung auf den Akku von Mobilgeraeten ist meist geringer.

Codegroesse und Pruefoberflaeche

Die Groesse einer Codebasis haengt locker mit dem Aufwand zusammen, der noetig ist, um sie auf Schwachstellen zu pruefen. WireGuards Referenzimplementierung besteht aus rund viertausend Zeilen Code. Die Linux-Kernel-Implementierung ist vergleichbar.

OpenVPN umfasst dagegen rund siebzigtausend Zeilen und haengt von einer TLS-Bibliothek ab — OpenSSL oder mbedTLS —, die mehrere hunderttausend zusaetzliche Codezeilen zur Vertrauensgrenze hinzufuegt. Der Groessenunterschied bedeutet fuer sich genommen nicht, dass WireGuard sicherer ist, beeinflusst aber, wie gruendlich sich die Implementierung pruefen laesst.

Plattform-Kompatibilitaet

Beide Protokolle werden breit unterstuetzt. WireGuard hat offizielle Implementierungen fuer Linux (Kernel und User Space), Windows, macOS, iOS, Android, FreeBSD und OpenBSD. Besonders die iOS-Unterstuetzung ist ueber das iOS-Network-Extension-Framework gut integriert.

OpenVPN ist im Grunde auf jeder Plattform verfuegbar, auch auf aelteren Systemen, auf die WireGuard nicht portiert wurde. Viele Unternehmensnetze nutzen OpenVPN aus Kompatibilitaet mit aelterer Infrastruktur.

Fuer neue Bereitstellungen auf modernen Betriebssystemen ist WireGuard die unkompliziertere Wahl. Fuer Umgebungen, die breite Kompatibilitaet erfordern — etwa aeltere Systeme, eingebettete Geraete oder bestimmte Unternehmensprodukte — bleibt OpenVPN relevant.

Konfigurationsmodell

WireGuards Konfigurationsmodell ist bewusst minimal. Jeder Peer hat eine Identitaet aus oeffentlichem Schluessel und eine Liste erlaubter IPs. Es gibt keine Authentifizierung auf Nutzerebene, keinen Sitzungszustand auf dem Server und keine Keepalive-Aushandlung. Das Protokoll setzt auf kryptografische Identitaet statt auf Benutzernamen und Passwoerter.

OpenVPN unterstuetzt ein flexibleres Authentifizierungsmodell. Zertifikatsbasierte Authentifizierung, Authentifizierung per Benutzername und Passwort sowie Zwei-Faktor-Authentifizierung sind alle verfuegbar. Diese Flexibilitaet ist in Unternehmensumgebungen nuetzlich, in denen die Authentifizierung in Verzeichnisdienste integriert ist.

Fuer Consumer-VPN-Dienste, bei denen sich Nutzer einander gegenueber nicht ausweisen muessen, reicht WireGuards einfacheres Modell in der Regel aus.

Wann du welches nutzen solltest

Die Wahl zwischen den Protokollen haengt von den Rahmenbedingungen der Bereitstellung ab.

  • WireGuard ist vorzuziehen, wenn Performance, Code-Einfachheit und moderne Kryptografie Prioritaet haben; wenn die Zielplattformen native Unterstuetzung bieten; und wenn die Bereitstellung eine feste Cipher Suite akzeptieren kann.
  • OpenVPN ist vorzuziehen, wenn Kompatibilitaet mit aelteren Systemen erforderlich ist; wenn eine Integration mit der Unternehmensauthentifizierung noetig ist; oder wenn die Bereitstellung Netze durchqueren muss, die UDP-Verkehr einschraenken (OpenVPN unterstuetzt TCP-Fallback; WireGuard nicht).

Viele moderne Consumer-VPN-Dienste bieten beide Protokolle an und lassen den Nutzer waehlen. Snap VPN dagegen nutzt ausschliesslich WireGuard, integriert ueber das iOS-Network-Extension-Framework. Die Entscheidung spiegelt das Designprinzip wider, die Implementierungsoberflaeche auf das zu reduzieren, was fuer die Zielplattform noetig ist.

Einen Ueberblick darueber, wie VPNs generell funktionieren, findest du in unserer Einfuehrung zu VPNs. Fuer die praktische Einrichtung auf dem iPhone siehe den iOS-Konfigurationsleitfaden.