“Met wie praat ik?” zijn twee vragen in één zin. De ene gaat over het account dat het bericht schreef, de andere over de machine aan de andere kant van de netwerkverbinding die je client daadwerkelijk vasthoudt. In een doorgestuurde chat zijn dat bijna nooit dezelfde entiteit, en dat verschil verklaart het grootste deel van de verwarring over wat een VPN wel en niet verbergt voor de persoon aan wie je schrijft. Klopt de topologie, dan wordt de privacyvraag beantwoordbaar in plaats van emotioneel.

Je client praat met de dienst, niet met de ander

Neem een tekstchat-app waarin elke deelnemer verbinding maakt met de dienst en de dienst berichten tussen accounts bezorgt. Je client houdt een verbinding met de dienst; de andere deelnemer houdt een aparte verbinding met dezelfde dienst. Het bericht reist van hun client naar de dienst en van de dienst naar de jouwe, wat betekent dat je transport-tegenpartij een eindpunt van de dienst is en niet hun apparaat.

Alex's client  ->  chat service  ->  your client

Alles wat volgt komt uit dat ene diagram. Kijk je naar je eigen verbinding, dan identificeer je de dienst, niet Alex. Kijk je naar de verbinding van Alex, dan identificeer je de dienst vanaf de andere kant. Geen van beide waarnemingen is op zichzelf een registratie op pakketniveau van het apparaat van de ander, en geen enkele hoeveelheid inspectie van je eigen verkeer maakt dat ervan.

Verschillende waarnemers verzamelen verschillend bewijs

De dienst staat sterker dan elke deelnemer, omdat hij beide verbindingen beëindigt en tegelijk weet welk account bij welke hoort. Wat hij bewaart, hoe lang, welke registers hij koppelt en aan wie hij ze verstrekt, zijn afzonderlijke vragen met afzonderlijke antwoorden, en geen daarvan wordt beantwoord door “de app is end-to-end versleuteld”.

Jij, als ontvanger, staat zwak bij netwerkfeiten maar sterk bij inhoudsfeiten: de berichttekst, de weergavenaam, alles wat de afzender typte of bijvoegde. Een afzender die zijn eigen adres typt, heeft het bekendgemaakt, en die bekendmaking is geen netwerkwaarneming ook al leest ze als een.

ObserverSeesCannot conclude
YouYour connection to the service, message contents, sender-supplied detailsThe other client's source address
The other participantTheir connection, message contents, what the service attachesYour source address
The serviceBoth connections, account mapping, delivery metadataWhat it does not retain, or what leaves its boundary

Als Alex via een VPN verbindt, ziet de dienst mogelijk het exitadres van die verbinding in plaats van het thuisadres van Alex. Dat is een uitspraak over wat de dienst ziet. Het betekent niet dat het exitadres aan jou wordt gegeven, en zeker niet dat je eigen verbinding geanonimiseerd wordt door de transportkeuze van Alex.

Wanneer de app echt peer-to-peer is

Het relay-model is een model, geen wet. Sommige berichtfuncties leggen directe paden tussen clients aan, bijvoorbeeld een datakanaal in de browser dat via een signaleringsserver wordt onderhandeld, of een bestandsoverdrachtmodus die de twee apparaten verbindt om te voorkomen dat grote hoeveelheden data worden doorgestuurd. In die gevallen is de transport-tegenpartij werkelijk het apparaat van de andere deelnemer, en verandert de waarnemersanalyse volledig.

Het vriendelijke label van een app is niet genoeg om te weten in welk geval je zit. “Direct bericht” beschrijft wie het leest, niet hoe het wordt getransporteerd, en een bel- of schermdeelfunctie in dezelfde app kan een andere topologie gebruiken dan de tekstthread ernaast. Lees de documentatie van de leverancier voor de specifieke functie, of kijk welke verbindingen je client opent terwijl je hem gebruikt.

De uitspraak over end-to-end-versleuteling dekt wie beveiligde inhoud kan lezen. Ze zegt niets over welke servers verbindingen accepteren, welke metadata ze zien of er een direct pad bestaat, en de bespreking in RFC 6973 van waarnemersmogelijkheden is een nuttige discipline: benoem de waarnemer en som daarna op wat die waarnemer werkelijk kan verzamelen.

Wat dit voor een VPN betekent

Een VPN verandert wat de dienst voor jouw verbinding ziet. Hij verandert niet wie je transport-tegenpartij is en geeft de andere deelnemer geen nieuw beeld van jouw adres. Verwachten dat een VPN je verbergt voor de persoon aan wie je schrijft, is een categoriefout: hun client had vanaf het begin geen verbinding met de jouwe.

Wat een VPN wel kan veranderen, is een functie met een direct pad. Als de app anders een peer-to-peer-verbinding zou onderhandelen, kan het routeren van je verkeer door een tunnel een relay afdwingen, en sommige functies gedragen zich anders of vallen terug; dat is een echt effect, maar het gaat over topologie, niet over verdwijnen uit het gesprek.

Houd dan de twee vragen gescheiden in alles wat je opschrijft. Welk account stuurde dit, en welk eindpunt droeg het. Beantwoord beide expliciet, noteer wie elk antwoord kan waarnemen, en stop ze samen te voegen tot één oordeel over of een bericht traceerbaar is.

Gerelateerde artikelen