Wie obfs4 Tor- und VPN-Traffic als zufälliges Rauschen tarnt
Von 534 Privatkunden-VPNs in unseren Daten geben 73 an, keinen anzubieten. Unten: die Dienste, die dafür am höchsten ranken.
obfs4 ist ein austauschbares Transportmodul (Pluggable Transport) aus dem Tor-Ökosystem, das eine andere TCP-Verbindung, meist Tor oder OpenVPN, so umhüllt, dass jedes Byte auf der Leitung wie Zufallsdaten aussieht – ohne erkennbaren Header und ohne feste Größen. Der Server antwortet nur Clients, die seinen Schlüssel besitzen; ein Scan kann daher nicht bestätigen, was dort läuft. Es ist selbst kein VPN und kein Anonymitätsnetzwerk.
Ein Wrapper, kein eigener Tunnel
Der obfourscator, so nennt ihn die Spezifikation, sitzt über einem Protokoll, das bereits verschlüsselt und authentifiziert. Die Anonymität stammt von Tor, der Datenschutz aus der eigenen Richtlinie des VPNs. Sein Vorgänger obfs3 fiel der aktiven Sondierung zum Opfer und wurde aufgegeben; obfs4 ersetzte den langsamen UniformDH-Handshake durch einen authentifizierten Austausch auf Basis von Tors ntor-Handshake, was das Geschwindigkeitsproblem löste und einen Man-in-the-Middle verhinderte, während der Schutz vor Sondierung von den unten beschriebenen Schlüsseln kommt.
Warum jedes Byte wie Zufall aussieht
Öffentliche Curve25519-Schlüssel haben eine Form, die ein Filter erkennen kann, daher kodiert obfs4 sie mit Elligator 2, und sie lesen sich wie Münzwürfe. Handshake-Nachrichten tragen zufälliges Padding (eine ganze Nachricht höchstens 8192 Bytes, Client-Padding 85 bis 8128 Bytes, Server-Padding bis zu 8096). Daten laufen in Frames von höchstens 1448 Bytes, davon bis zu 1427 Nutzdaten, verschlüsselt und authentifiziert mit NaCl secretbox (XSalsa20-Poly1305); selbst das Längenfeld ist maskiert, sodass kein Klartext-Byte die Leitung erreicht. Timing-Lecks behandelt iat-mode: 0 überlässt das Timing dem Betriebssystem, 1 lässt obfs4 die Daten selbst mit variierendem Timing aufteilen, 2 randomisiert die Größen vollständig. Die Modi 1 und 2 kosten Geschwindigkeit.
Der Bridge-Schlüssel, der Sondierungen abwehrt
Jeder Server besitzt eine 20-Byte-Node-ID und einen langlebigen Curve25519-Identitätsschlüssel, den der Client im Voraus benötigt und über einen separaten Kommunikationsweg erhält. Die erste Nachricht trägt einen HMAC, der mit diesem Schlüssel und der aktuellen Stunde berechnet wird (die vorherige und nächste Stunde werden wegen Uhrabweichungen akzeptiert). Ein Scanner ohne den Schlüssel erhält Schweigen und eine zufällige Verzögerung, bevor der Socket geschlossen wird. Die Bridge-Zeile packt alles zusammen: das Wort obfs4, Adresse und Port, Relay-Fingerprint, dann cert= mit den Schlüsseln und iat-mode. Ein falsches Zeichen in cert, und der Handshake schlägt still fehl.
Bridges im Tor Browser
Der Tor Browser bringt eingebaute obfs4-Bridges mit, weitere lassen sich beim Tor Project anfordern; private Bridges, die nicht weit geteilt werden, bleiben länger unblockiert, und Bridges verlangsamen die Verbindung generell gegenüber gewöhnlichen Tor-Relays. Chinas Firewall begann 2011, verdächtige Bridges zu sondieren, und bis 2015 trafen ihre Sondierungen etwa eine halbe Sekunde nach einer Verbindung ein. Das Programm, das obfs4 und die anderen Transports (meek, Snowflake, WebTunnel) betreibt, heißt Lyrebird.
obfs4 vor einem VPN-Tunnel
Der VPN-Client, meist OpenVPN über TCP, sendet seinen Verkehr an einen lokalen obfs4-Prozess über einen SOCKS-Proxy auf dem Loopback; die Gegenseite entpackt ihn und reicht ihn an den VPN-Server weiter. LEAPs obfsvpn setzt separate obfs4-Bridges vor OpenVPN-Gateways, idealerweise in unterschiedlichen IP-Bereichen, damit ein Scan nicht beide erfasst. IVPN bietet obfs4 mit OpenVPN in seinen Desktop-Apps an, Cryptostorm unterstützt obfs4, und Riseup VPN nutzt obfs4-Bridges über TCP. Im Hauptranking von VPNRadarLab mit 371 Diensten führen 6 obfs4 an, 65 geben an, es nicht anzubieten, und 306 veröffentlichen nichts – das heißt: nicht angegeben, nicht fehlend. Den vollständigen Vergleich finden Sie im Ranking der Dienste, die obfs4 unterstützen. Ein Haken: TCP in TCP erhöht bei Paketverlust die Verzögerung.
Zufallsrauschen gegen eine HTTPS-Tarnung
| Ansatz | Was die Zensur sieht | Fremde sondieren den Server | Wo es scheitert |
|---|---|---|---|
| obfs4 | Strom hoher Entropie, kein Header | Schweigen | Freigabelisten für Protokolle |
| NaiveProxy | Browserähnliches TLS zu einer echten Domain | eine gewöhnliche Website | blockierte Domain oder IP |
| VLESS mit Reality | TLS zu einer bekannten Website | Handshake wird an diese Website weitergeleitet | unvollkommene Browser-Imitation |
| WebTunnel, meek | HTTPS-Sitzung | Webserver oder CDN | langsamer, braucht Hosting |
Wenn zufällig wirkender Verkehr trotzdem blockiert wird
„Sieht aus wie nichts“ ist selbst ein Fingerabdruck. Ein USENIX-Security-2023-Paper von Wu et al. dokumentierte, wie die Great Firewall ab November 2021 vollständig verschlüsselten Verkehr passiv erkannte und in Echtzeit blockierte – namentlich Shadowsocks, VMess und obfs4 –, mit groben Tests am ersten Paket, die etwa 0,6 % der normalen Verbindungen treffen konnten. In Netzen, die nur bekannte Protokolle durchlassen, wird ein Zufallsstrom fallen gelassen, ohne identifiziert zu werden, und eine TLS-Tarnung hat bessere Chancen; wo der Filter nach Signaturen von reinem Tor oder OpenVPN sucht, gewinnt obfs4. Es läuft nur über TCP, verbirgt das Protokoll statt der Ziel-IP, und eine blockierte Bridge-IP erledigt es ohnehin.
obfs4-FAQ
Verbirgt obfs4 vor meinem Anbieter, dass ich Tor nutze?
Es verbirgt den Tor-Handshake und verhindert, dass die Bridge per Scan als Bridge identifiziert wird, aber Ihr Anbieter sieht weiterhin die IP der Bridge und einen verschlüsselten Strom.
Ist obfs4 dasselbe wie obfsproxy?
Obfsproxy trug die älteren Transports (obfs2, obfs3); obfs4 wurde für seinen Go-Nachfolger obfs4proxy geschrieben, dessen Code als Lyrebird im Tor Browser weiterlebt.
Welchen iat-mode soll ich wählen?
Null, außer die Bridge bricht ständig ab; dann versuchen Sie 1, und 2 als letzte Rettung.
obfs4 oder Snowflake, wenn Tor blockiert ist?
Versuchen Sie zuerst obfs4 mit einer frischen privaten Bridge; wenn jede Bridge-Adresse verbrannt ist, leitet Snowflake Tor über Proxies von Freiwilligen. Der Tor-Project-Ratgeber zum Freischalten von Tor vergleicht die Transports.
obfs4 auf einen Blick
Ein durch einen Schlüssel abgesicherter, mit Padding versehener Wrapper, der Tor oder OpenVPN auf der Leitung unlesbar macht und seinen Server gegenüber Fremden schweigen lässt. Stark gegen Signaturen und Sondierung, schwach gegen Freigabelisten und passive Entropietests.