Eine technische Beschreibung von Psiphon
3.12.2014 - 3 Min. Lesezeit
Aktualisiert: 4.6.2021
Hier ist ein Update, um zwei aktuelle Fragen zu beantworten: Was ist Psiphon in einfachen Worten und wie unterscheidet es sich von einem VPN-Dienst; und was hat sich geändert, seit das technische Designdokument zuletzt aktualisiert wurde.
Psiphon 3 ist ein zentral verwaltetes, geografisch vielfältiges Netzwerk aus Tausenden von Proxyservern. Der Großteil unserer Infrastruktur wird bei Cloud-Anbietern gehostet. Psiphon 3 ist eine „One-Hop“-Architektur mit sicherer Verbindungsverschlüsselung zwischen Clients und Servern. Wir bieten Clients für die beliebtesten Plattformen an: Windows, Android und iOS (im Alpha-Status).
Psiphon ist Open Source. Unser Dienst bietet eine strenge Datenschutzrichtlinie; es gibt keine Benutzerkonten und die Netzwerkadressen der Benutzer werden nicht protokolliert.
Psiphon unterscheidet sich in einigen wesentlichen Punkten von standardmäßigen VPN-Diensten:
- Wir setzen Strategien ein, um Teilmengen von Servern an Benutzer zu verteilen, mit dem Ziel, jedem Benutzer eine Handvoll erreichbarer Server bereitzustellen, ohne dabei einem einzelnen Benutzer das gesamte Netzwerk offenzulegen. Um dieses Ziel zu erreichen, ist die Größe unseres Netzwerks -- und insbesondere die Vielfalt unserer Netzwerkadressen -- nicht einfach eine Funktion unserer Datenverkehrslast.
- Wir verwenden Protokollverschleierung, um DPI-Blockaden zu umgehen.
Psiphons technisches Designdokument ist veraltet, und im Folgenden finden Sie eine sehr kurze Zusammenfassung der wichtigsten technischen Änderungen, die wir seit dem Projektstart im Jahr 2011 umgesetzt haben.
- Wir haben das Protokoll für verschleiertes SSH hinzugefügt, um DPI-Fingerprinting einzudämmen. Dieses vollständig zufällig wirkende Protokoll wird mit einem eindeutigen Verschleierungsschlüssel pro Psiphon-Server eingesetzt.
- Wir haben unserem Protokoll ein optionales HTTP-Präfix hinzugefügt, um DPI-basiertes Whitelisting von HTTP-Datenverkehr abzuschwächen. Dieses einfache Präfix reicht aus, damit regex-basiertes DPI (nDPI und l7-filter) den Psiphon-Datenverkehr als HTTP einstuft; und es reichte aus, um einen tatsächlichen Gegner zu dem Zeitpunkt zu überwinden, als wir es einführten.
- Wir haben Remote-Serverlisten hinzugefügt, um die Konzepte der eingebetteten und Discovery-Server zu erweitern. Während Discovery nur erfolgt, wenn eine Verbindung zu einem bestehenden Server besteht, können Remote-Serverlisten selbst dann heruntergeladen werden, wenn alle Server blockiert sind. Remote-Serverlisten werden auf S3 verteilt und über https://s3.amazonaws.com ohne einen unterscheidenden Bucket-Namen in der URL aufgerufen. Auf diese Weise ist es für einen Gegner schwierig, unsere Remote-Serverlisten zu blockieren, ohne ganz S3 zu sperren oder eine HTTPS-Datenverkehrsanalyse durchzuführen.
- E-Mail ist mittlerweile ein wichtiger Mechanismus zur Verbreitung von Clients. Wir verfügen über einen Autoresponder, der Links und Anhänge zu angepassten Sponsor-/Kanal-Psiphon-Clients zurücksendet, abhängig von der E-Mail-Adresse, an die Benutzer schreiben.
- Wir haben 2012 einen Android-Client veröffentlicht. Die erste Version enthielt einen eingebetteten Browser, der auf Androids WebView basierte. In den Jahren 2012/2013 haben wir Unterstützung für das Tunneln des gesamten Geräts hinzugefügt, wodurch alle Android-Apps über Psiphon getunnelt werden. Wir bieten einen iptables-Modus für das gesamte Gerät (für gerootete Android-2.2+-Geräte) und einen Modus für das gesamte Gerät, der Androids VpnService mit tun2socks nutzt (für jedes Gerät ab Android 4). Zu den weiteren hinzugefügten Funktionen gehören die Auswahl der Ausgangsregion und Proxy-Chaining.
- Wir haben einen iOS-Client, der sich jetzt im Alpha-Test befindet. Diese App verfügt über einen eingebetteten Browser.
- Unser In-App-Feedback-Mechanismus sendet uns Nachrichten und optionale Diagnosedaten von Benutzern. Dieses System hat uns geholfen, viele Plattformprobleme und Blockierungsprobleme zu beheben.
- Änderungen an den Discovery-Algorithmen: Unsere Discovery-Algorithmen entwickeln sich im Rahmen eines kontinuierlichen Prozesses zur Optimierung unseres Netzwerks weiter. Zu den wichtigsten Änderungen gehören die gemeinsame Nutzung von Discovery-Servern über verschiedene Verbreitungskanäle hinweg sowie das Hinzufügen der Tageszeit als Dimension.
- Optimierungen an den Verbindungsalgorithmen: Unsere Clients stellen beim Verbindungsaufbau nun Verbindungen zu mehreren Servern gleichzeitig her und behalten die „beste“ Verbindung bei. Dies unterstützt den Lastausgleich und verkürzt die Wartezeit der Benutzer, da einzelne blockierte Server den Verbindungsaufbau nicht aufhalten.
- Das automatische Client-Upgrade wurde verbessert, um inkrementelle Downloads und Out-of-Band-Download-Websites (authentifiziert mit digitalen Signaturen) zu nutzen. Durch diese Änderungen ist es wahrscheinlicher geworden, dass ein neuer Client auch während einer Sperre verteilt werden kann.