Artikel

WireGuard und AmneziaWG: Was ist der Unterschied zwischen den Protokollen

HamikVPN nutzt, wie einige andere Dienste auch, das Protokoll AmneziaWG — aber was bedeutet das eigentlich? Ein anderer Verschlüsselungsalgorithmus oder etwas ganz anderes? Ein technischer Blick darauf, was sich im Vergleich zu normalem WireGuard tatsächlich ändert und was gleich bleibt.

WireGuard: ein kompaktes Protokoll mit erkennbarer Handschrift

WireGuard wurde gerade wegen seiner Einfachheit populär: eine kleine Codebasis, moderne Kryptografie ohne Auswahl zwischen Dutzenden Algorithmen und hohe Geschwindigkeit im Vergleich zu älteren Protokollen. Die Kehrseite dieser Einfachheit ist die Vorhersehbarkeit einzelner Pakete. Laut der technischen Dokumentation von AmneziaWG hat das Handshake-Init-Paket von Standard-WireGuard immer exakt eine Länge von 148 Byte, das Antwortpaket 92 Byte und das Cookie-Paket 64 Byte. Solche festen, sich wiederholenden Größen und Header hinterlassen einen stabilen "Fingerabdruck", anhand dessen Ausrüstung zur Verkehrsanalyse auf dem Verbindungsweg erkennen kann, dass überhaupt WireGuard genutzt wird — selbst ohne den Inhalt der verschlüsselten Daten lesen zu können.

Das ist keine theoretische Schwäche der Verschlüsselung — der Inhalt des Datenverkehrs bleibt geschützt. Es geht um Metadaten: Welches Protokoll Sie verwenden, ist an der Form der Pakete erkennbar, selbst wenn deren Inhalt unlesbar ist. Und Netze, in denen Verkehrsanalyse und -shaping zum Einsatz kommen — von einzelnen Mobilfunkanbietern bis zu Firmen- und Hotelnetzen — behandeln erkannten VPN-Verkehr manchmal anders als gewöhnlichen, was sich auf die Verbindungsstabilität auswirken kann.

Was AmneziaWG ändert: Verschleierung auf Transportebene

AmneziaWG ist ein Fork der WireGuard-Go-Implementierung, der genau diese Vorhersehbarkeit beseitigt, ohne den kryptografischen Kern anzurühren. Laut der offiziellen Projektdokumentation sind dafür mehrere Gruppen von Parametern verantwortlich:

  • Jc, Jmin, Jmax — vor dem eigentlichen Handshake werden Jc "Junk"-Pakete zufälliger Größe zwischen Jmin und Jmax Byte versendet. Der Empfänger analysiert oder prüft sie nicht — für einen Beobachter von außen sehen sie wie neutrales UDP-Rauschen aus, das das charakteristische Timing und die Größe des Sitzungsbeginns verwischt.
  • S1–S2 — pseudozufällige Präfixe (0–32/64 Byte), die jedem Pakettyp hinzugefügt werden und dessen Länge dadurch variabel statt fest machen.
  • H1–H4 — die vorhersehbaren Header-Kennungen von WireGuard werden durch zufällige Werte aus einem konfigurierten Bereich ersetzt, sodass die Header verschiedener Clients nicht übereinstimmen — es lässt sich also keine einzelne, universelle Erkennungsregel für alle schreiben.

Ein wichtiges Detail: All diese Parameter werden serverseitig konfiguriert und müssen auf Client-Seite übereinstimmen, sonst kommt der Tunnel gar nicht erst zustande — ein gewöhnlicher WireGuard-Client versteht einen solchen Server nicht, und umgekehrt.

Was gleich bleibt: der kryptografische Kern

Die Verschleierung wirkt nur auf Transportebene — Form und Timing der Pakete. Sie ersetzt oder schwächt die Kryptografie selbst nicht. Wie die offizielle Dokumentation des WireGuard-Protokolls festhält, basiert der Schlüsselaustausch auf der elliptischen Kurve Curve25519, die Datenverschlüsselung auf der Kombination aus ChaCha20 und dem Authentifizierungscode Poly1305, und das Hashing auf BLAKE2s. AmneziaWG übernimmt genau diesen Algorithmensatz unverändert: Die Entwickler haben den bereits von unabhängigen Forschern geprüften kryptografischen Code bewusst nicht angetastet und ihre Änderungen auf Header und Servicepakete beschränkt. Was den Schutz des Verkehrsinhalts angeht, gibt es zwischen WireGuard und AmneziaWG keinen Unterschied.

Was das in der Praxis bedeutet

Für den alltäglichen Gebrauch läuft der Unterschied auf zwei Dinge hinaus. Erstens müssen App und Server denselben Satz an Verschleierungsparametern verwenden — manuell einstellen müssen Sie das nicht, solange beide Seiten einen kompatiblen Client nutzen, etwa die App AmneziaVPN oder HamikVPN. Zweitens dauert die erste Phase des Verbindungsaufbaus wegen der Junk-Pakete etwas länger, was aber die Übertragungsgeschwindigkeit innerhalb eines bereits aufgebauten Tunnels nicht beeinflusst. Wenn Sie Dienste anhand des Protokolls vergleichen, lohnt sich ein Blick nicht auf Marketingbezeichnungen, sondern auf die tatsächlich in der Dokumentation genannte Kryptografie — die allgemeinen Kriterien dafür sind im Artikel Wie man einen Dienst für private Verbindungen auswählt beschrieben.

Möchten Sie AmneziaWG in der Praxis testen?
3 Tage gratis, keine Kreditkarte nötig
Kostenlos testen

Häufige Fragen

Ist AmneziaWG ein eigenes Verschlüsselungsprotokoll oder nur eine WireGuard-Konfiguration?
Technisch ist es ein Fork der WireGuard-Go-Implementierung: Der kryptografische Kern — Schlüsselaustausch über Curve25519, Verschlüsselung mit ChaCha20-Poly1305, Hashing mit BLAKE2s — bleibt vollständig unverändert erhalten. Verändert werden nur das Header-Format und die Paketstruktur auf Transportebene — also wie der Tunnel von außen aussieht, nicht wie er die Daten im Inneren schützt.
Verlangsamt die Verschleierung von AmneziaWG die Verbindung?
Ja, aber nur geringfügig: Junk-Pakete erzeugen etwas zusätzlichen Overhead-Verkehr vor dem Verbindungsaufbau, nicht während der gesamten Sitzung. In der Praxis ist der Unterschied in der Übertragungsgeschwindigkeit nach dem Verbindungsaufbau meist nicht spürbar — auffälliger kann eine etwas längere erste Verbindungsphase sein.
Kann sich ein normaler WireGuard-Client mit einem AmneziaWG-Server verbinden?
Nein: Sind die Parameter Jc, Jmin, Jmax, S1–S2 und H1–H4 auf dem Server ungleich null gesetzt, versteht ein normaler WireGuard-Client das Paketformat nicht, und die Verbindung kommt nicht zustande. Nötig ist ein Client, der dieselben Parameter unterstützt — etwa die App AmneziaVPN oder HamikVPN mit den passenden Node-Einstellungen.
Bedeutet die größere Zahl an Parametern eine größere Angriffsfläche für AmneziaWG?
Die zusätzlichen Parameter wirken sich nur auf die Transportebene aus — also auf die Bildung von Headern und Servicepaketen, nicht auf die kryptografischen Primitiven. Die eigentliche Datenverschlüsselung ist weiterhin derselbe WireGuard-Code, der unabhängig kryptografisch geprüft wurde, und nicht von Grund auf neu geschrieben.