En teknisk beskrivelse av Psiphon
3.12.2014 - 3 min lesetid
Oppdatert: 4.6.2021
Her er en oppdatering for å svare på to nylige spørsmål: enkelt forklart, hva er Psiphon og hvordan skiller det seg fra en VPN-tjeneste; og hva har endret seg siden det tekniske designdokumentet sist ble oppdatert.
Psiphon 3 er et sentralt administrert, geografisk mangfoldig nettverk av 1000-vis av proxy-servere. Det meste av infrastrukturen vår driftes hos skyleverandører. Psiphon 3 er en "one hop"-arkitektur med sikker linkkryptering mellom klienter og servere. Vi tilbyr klienter for de mest populære plattformene: Windows, Android og iOS (i alfa).
Psiphon er åpen kildekode. Tjenesten vår har en streng personvernerklæring; det finnes ingen brukerkontoer, og brukernettverksadresser loggføres ikke.
Psiphon skiller seg fra standard VPN-tjenester på et par viktige måter:
- Vi benytter strategier for å distribuere delsett av servere til brukere, med mål om å gi hver bruker en håndfull servere de kan nå, uten å avsløre hele nettverket for én enkelt bruker. For å oppnå dette målet er ikke størrelsen på nettverket vårt -- og spesielt mangfoldet av nettverksadressene våre -- bare en funksjon av trafikkbelastningen vår.
- Vi bruker protokoll-tilsløring for å omgå DPI-blokkering.
Psiphons tekniske designdokument er utdatert, og det følgende er et veldig kort sammendrag av store tekniske endringer vi har implementert siden prosjektet ble lansert i 2011.
- Vi la til protokollen for tilslørt SSH for å motvirke DPI-fingeravtrykk. Denne fullstendig tilfeldig utseende protokollen distribueres med en unik tilsløringsnøkkel per Psiphon-server.
- Vi la til et valgfritt HTTP-prefiks i protokollen vår for å motvirke DPI-basert hvitelisting av HTTP-trafikk. Dette enkle prefikset er tilstrekkelig for at regex-basert DPI (nDPI og l7-filter) klassifiserer Psiphon-trafikk som HTTP; og det var tilstrekkelig for å overvinne en reell motstander på tidspunktet vi rullet det ut.
- Vi la til eksterne serverlister for å bygge videre på konseptene med innebygde servere og oppdagelsesservere. Mens oppdagelse bare skjer når man er koblet til en eksisterende server, kan eksterne serverlister lastes ned selv når alle servere er blokkert. Eksterne serverlister distribueres på S3 og nås via https://s3.amazonaws.com uten et kjennetegnende bøttenavn i URL-en. På denne måten er det vanskelig for en motstander å blokkere de eksterne serverlistene våre uten å blokkere hele S3 eller implementere HTTPS-trafikkanalyse.
- E-post er nå en viktig mekanisme for klientspredning. Vi har en autosvarer som returnerer lenker og vedlegg til tilpassede sponsor-/kanal-Psiphon-klienter, avhengig av hvilken e-postadresse brukerne sender til.
- Vi lanserte en Android-klient i 2012. Den første versjonen inkluderte en innebygd nettleser basert på Androids WebView. I 2012/2013 la vi til støtte for tunnelering av hele enheten, som tunnelerer alle Android-apper gjennom Psiphon. Vi har en hel-enhetsmodus med iptables (for rootede Android 2.2+-enheter); og en hel-enhetsmodus som bruker Androids VpnService med tun2socks (for alle Android 4+-enheter). Andre funksjoner som ble lagt til, inkluderer valg av utgangsregion og proxy-kjeding.
- Vi har nå en iOS-klient i alfatesting. Denne appen har en innebygd nettleser.
- Vår tilbakemeldingsmekanisme i appen sender oss meldinger og valgfri diagnostikk fra brukere. Dette systemet har hjulpet oss med å feilsøke mange plattformproblemer og blokkeringsproblemer.
- Endringer i oppdagelsesalgoritmer: Oppdagelsesalgoritmene våre utvikler seg som en del av en kontinuerlig prosess for å optimalisere nettverket vårt. Viktige endringer inkluderer deling av oppdagelsesservere på tvers av spredningskanaler; og å legge til tid på døgnet som en dimensjon.
- Optimaliseringer av tilkoblingsalgoritmer: Klientene våre starter nå tilkoblinger til mange servere samtidig under tilkobling, og beholder den "beste" tilkoblingen. Dette bidrar til lastbalansering og reduserer brukerens ventetid, ettersom enkeltstående blokkerte servere ikke stanser tilkoblingssekvensen.
- Automatisk oppgradering av klienten ble forbedret til å bruke inkrementell nedlasting og å bruke out-of-band-nedlastingssteder (autentisert med digitale signaturer). Disse endringene gjorde det mer sannsynlig at en ny klient kan distribueres i en blokkeringsperiode.