Wissel de VPN-uitgang terwijl een winkel in een ander tabblad openstaat, en het winkelmandje staat er meestal nog. Dat is geen VPN-storing; het is de browser die precies doet wat hem is opgedragen. Een cookie wordt door de browser verzonden, en een nieuwe netwerkroute verandert niet wat de browser opslaat. Achter „de site kent me nog” schuilen drie verschillende vragen, en het antwoord hangt af van welke je feitelijk stelt.

Drie vragen, één symptoom

Ten eerste: herkent de site een opgeslagen cookie? Ten tweede: herkent hij een ingelogd account, dat onafhankelijk van elke afzonderlijke cookie blijft bestaan? Ten derde: herkent hij iets aan de browser of het apparaat in plaats van opgeslagen status? Elk heeft zijn eigen test en zijn eigen oplossing.

What you changedWhat it actually tests
VPN exit addressWhether the site treats a different network origin differently
Cookie jar for one siteWhether a stored identifier was doing the recognition
Browser profile or accountWhether identity, rather than storage, links the visits

De meeste verwarring ontstaat doordat men het eerste verandert en verwacht dat het tweede volgt. Een netwerkadres en een browseropslag zijn twee afzonderlijke systemen die toevallig door dezelfde pagina worden gebruikt.

Wat een cookie feitelijk meedraagt

HTTP-statusbeheer, zoals gespecificeerd in RFC 6265, is bewust eenvoudig: de server stelt een naam en waarde met een bereik in, en de browser stuurt die terug voor verzoeken die bij dat bereik passen. De waarde kan een sessie-identificatie, een voorkeur of een ondoorzichtig token zijn dat de server aan een winkelwagenrecord koppelt. Niets in het mechanisme noemt het adres van de client.

Dat ontwerp is de reden waarom gewone logins en winkelmandjes een netwerkwijziging overleven, en het is ook de reden waarom ze dat voor trackers doen. Hetzelfde mechanisme dient beide doelen en maakt geen onderscheid. Er is geen veld in het protocol voor het adres van de client, dus er is niets dat een nieuwe uitgang ongeldig kan maken. Een site die een cookie aan een netwerkoorsprong zou willen binden, zou die logica zelf moeten toevoegen.

Wanneer een site een cookie teruggeeft, zoekt de server het record op waarnaar die waarde verwijst. Het veranderen van de route die het verzoek nam, verandert die opzoeking niet, en dat is de volledige verklaring voor de winkelwagenwaarneming.

Bepaal wat je test meet

Schrijf voordat je iets verandert de begintoestand op: welk browserprofiel, welk account, welke sitegegevens, welke netwerkroute. Verander dan precies één daarvan en observeer. Een test die tegelijk het uitgangsadres en het browserprofiel verandert, bewijst niets over beide.

curl -sS -c /tmp/jar.txt -b /tmp/jar.txt -o /dev/null -w '%{http_code}\n' https://shop.example/cart
curl -sS -c /tmp/jar.txt -b /tmp/jar.txt -o /dev/null -w '%{http_code}\n' --interface 198.51.100.44 https://shop.example/cart

Beide opdrachten hergebruiken hetzelfde cookiebestand, en de tweede dwingt een ander lokaal bronadres af waar de host dat toestaat. De reactie van het winkelmandje is in beide gevallen gelijk omdat de server nooit een andere clientidentiteit zag, alleen een andere route. Dat is het mechanisme in één reproduceerbaar paar verzoeken.

Als het doel is te zien of de site je herkent zonder opgeslagen status, wis dan de gegevens van die site en herhaal. Als hij je nog steeds herkent, zijn de volgende verdachten het ingelogde account, een link die je volgde, of browserkenmerken in plaats van een cookie.

Wis de juiste status, niet het netwerk

Het verwijderen van de opslag van één site hoort bij de eigen bediening van de browser, en het logt je vaak uit of reset voorkeuren als bijwerking. Het verwijdert het account of de gegevens die de dienst al heeft niet; die vereisen het eigen proces van de dienst.

Beperkingen tussen sites pakken een ander deel van het probleem aan. Browsers kunnen opslag blokkeren of partitioneren die ingesloten diensten anders tussen sites zouden delen, terwijl een first-party login blijft werken. Een geslaagde login is daarom geen bewijs dat tracking tussen sites werkt.

Privévensters zijn een ander hulpmiddel met een smaller bereik dan mensen verwachten. Sites kunnen tijdens de sessie nog steeds cookies plaatsen, en een login identificeert nog steeds het account. Het beëindigen van de privésessie is wat de tijdelijke status weggooit, wat betekent dat je elk privévenster sluit en niet één tabblad.

Behandel ten slotte fingerprinting als een mogelijkheid en niet als de eerste verklaring. Kenmerken van apparaat en browser kunnen bezoeken koppelen zonder enige opgeslagen cookie, en het wissen van opslag raakt ze niet. Controleer eerst de eenvoudige oorzaken, verbreed daarna het onderzoek, en noteer welke status je hebt gewijzigd zodat de volgende vergelijking zinvol is.

Gerelateerde artikelen