Kan nokon sjå IP-adressa di i ein chatteapp? Kva kvar observatør veit
I ein vidaresend chat er avsendaren og nettverksmotparten din ulike einingar. Skil mellom kva tenesta ser, kva du ser, og kva etiketten til appen antydar.
«Kven snakkar eg med?» er to spørsmål i éi setning. Det eine handlar om kontoen som skreiv meldinga, det andre om maskina i den andre enden av nettverkssambandet klienten din faktisk held. I ein vidaresend chat er dei nesten aldri same eining, og skilnaden forklarar det meste av forvirringa om kva ein VPN skjuler eller ikkje skjuler for personen du skriv til. Får du topologien rett, blir personvernspørsmålet eit spørsmål ein kan svara på i staden for eit kjensleladde.
Klienten din snakkar med tenesta, ikkje med den andre personen
Tenk deg ein tekstchat-app der kvar deltakar koplar til tenesta, og tenesta leverer meldingar mellom kontoar. Klienten din held eit samband til tenesta; den andre deltakaren held eit eige samband til same teneste. Meldinga reiser frå klienten deira til tenesta og frå tenesta til din, altså er transportmotparten din eit tenestepunkt og ikkje eininga deira.
Alex's client -> chat service -> your clientAlt som følgjer kjem frå det eine diagrammet. Ser du på ditt eige samband, identifiserer du tenesta, ikkje Alex. Ser du på sambandet til Alex, identifiserer du tenesta frå den andre sida. Ingen av observasjonane er i seg sjølv eit opptak på pakkenivå av eininga til den andre personen, og uansett kor mykje du granskar din eigen trafikk, blir han ikkje det.
Ulike observatørar samlar ulike prov
Tenesta står sterkare enn nokon deltakar fordi ho avsluttar begge sambanda og samstundes veit kva konto som eig kva. Kva ho held på, kor lenge, kva register ho knyter saman og til kven ho gir dei, er separate spørsmål med separate svar, og ingen av dei blir svara av «appen er ende-til-ende-kryptert».
Du som mottakar står svakt på nettverksfakta, men sterkt på innhaldsfakta: meldingsteksten, visingsnamnet, alt avsendaren skreiv eller la ved. Ein avsendar som skriv inn si eiga adresse, har oppgjeve ho, og den opplysninga er ikkje ein nettverksobservasjon sjølv om han høyrest som ein.
| Observer | Sees | Cannot conclude |
|---|---|---|
| You | Your connection to the service, message contents, sender-supplied details | The other client's source address |
| The other participant | Their connection, message contents, what the service attaches | Your source address |
| The service | Both connections, account mapping, delivery metadata | What it does not retain, or what leaves its boundary |
Viss Alex koplar til via VPN, kan tenesta sjå utgangsadressa for det sambandet i staden for heimeadressa til Alex. Det er ei utsegn om kva tenesta ser. Det tyder ikkje at utgangsadressa blir gitt vidare til deg, og det tyder slett ikkje at ditt eige samband blir anonymisert av transportvalet til Alex.
Når appen faktisk er peer-to-peer
Vidaresendingsmodellen er ein modell, ikkje ei lov. Nokre meldingsfunksjonar lagar direkte vegar mellom klientar, til dømes ein nettlesarbasert datakanal som blir forhandla via ein signaliseringsserver, eller ein filoverføringsmodus som knyter dei to einingane saman for å sleppe å senda store datamengder vidare. I slike tilfelle er transportmotparten verkeleg eininga til den andre deltakaren, og observatøranalysen blir heilt annleis.
Den venlege etiketten til appen er ikkje nok til å seia kva av desse tilfella du er i. «Direkte melding» skildrar kven som les ho, ikkje korleis ho blir transportert, og ein samtale- eller skjermdelingsfunksjon i same app kan bruka ein annan topologi enn teksttråden ved sida av. Les dokumentasjonen til leverandøren for den aktuelle funksjonen, eller sjå kva samband klienten din opnar medan du brukar han.
Utsgna om ende-til-ende-kryptering dekkjer kven som kan lesa verna innhald. Ho seier ingenting om kva serverar som tek imot samband, kva metadata dei ser, eller om ein direkte veg finst, og drøftinga i RFC 6973 av evnene til observatøren er ein nyttig disiplin: namnge observatøren, og list så opp kva den observatøren faktisk kan samla inn.
Kva dette tyder for ein VPN
Ein VPN endrar kva tenesta ser for sambandet ditt. Han endrar ikkje kven transportmotparten din er, og gir ikkje den andre deltakaren eit nytt bilete av adressa di. Å vente at ein VPN skjuler deg for personen du skriv til, er ein kategorifeil: klienten deira har aldri hatt eit samband til din.
Det ein VPN kan endra, er ein funksjon med direkte veg. Viss appen elles ville forhandla fram eit peer-to-peer-samband, kan ruttinga av trafikken din gjennom ein tunnel tvinga fram vidaresending, og nokre funksjonar vil oppføra seg annleis eller falla tilbake; det er ein reell effekt, men han handlar om topologi, ikkje om å forsvinna frå samtalen.
Hald så dei to spørsmåla frå kvarandre i alt du skriv ned. Kva konto sende dette, og kva endepunkt bar det. Svar eksplisitt på begge, noter kven som kan observera kvart svar, og slutt å slå dei saman til éi avgjerd om ei melding kan sporast.