Undercover het Web op

Surfen op het World-Wide Web lijkt een van de meest anonieme manieren om informatie te vinden. Je hoeft de straat niet op, niemand ziet je, en er is geen winkelbediende of cassiere die je kan herkennen. Toch is het tegendeel juist het geval: de computersystemen die de informatie doorgeven, zijn in staat om veel meer te achterhalen over hun bezoekers dan welke winkel dan ook.

TCP/IP

Het Internet werkt met het TCP/IP protocol om gegevens te versturen. Elke computer die op het Internet is aangesloten, heeft een eigen uniek adres, het IP-adres. Dit adres is nodig om te kunnen communiceren met die computer. Als een gebruiker op die computer bijvoorbeeld de URL van een webpagina intoetst, zoekt de browser het IP-adres van de corresponderende webserver op en legt hij daar een verbinding mee. De server ontvangt dan een verzoek om een bepaalde webpagina. Aan de hand van het IP-adres van de afzender kan hij de webpagina dan weer terugsturen.

Gangen nagaan via IP-adres

Een efficient systeem, maar weinig privacy-gevoelig. De webserver kan immers bijhouden vanaf welke IP-adressen hij verzoeken ontving, en om welke webpagina's het ging. De meeste webservers gebruiken deze informatie alleen om statistieken samen te stellen, maar als bekend is welke gebruiker welk IP-adres heeft, kunnen natuurlijk precies de gangen van die gebruiker worden nagegaan.

Hierbij doet zich een klein probleempje voor. Een IP-adres identificeert alleen een computer, niet een gebruiker. En omdat de meeste providers gebruik maken van dynamisch toegewezen IP-adressen, waarbij gebruikers bij elke keer inbellen een ander IP-adres krijgen, is het zelfs niet zeker dat hetzelfde IP-adres op verschillende momenten naar dezelfde computer verwijst.

Gangen bijhouden via cookies

Een veelgebruikte techniek om toch gebruikers of bezoekers afzonderlijk te kunnen volgen, is het aanbieden van een `cookie' met een uniek nummer bij het eerste bezoek. De browser zal dan bij elke volgend verzoek om een pagina het cookie weer terugsturen. Aan de hand van het unieke nummer daarin kan de server verschillende verzoeken relateren aan eenzelfde bezoeker.

Sommige sites plaatsen dit unieke nummer ook wel in de URL, zodat bezoekers ook kunnen worden getraceerd als ze geen cookies accepteren. Dit heeft echter het nadeel dat elke pagina dynamisch moet worden gegenereerd, omdat immers dat nummer steeds in alle pagina's moet worden ingevuld, en dat maakt de site trager.

Een aantal sites biedt gebruikers de mogelijkheid om zich te registreren. Gebruikers kunnen dan, na zich ge�dentificeerd te hebben middels een usernaam en een wachtwoord, persoonlijke voorkeuren instellen, hun eigen collectie links aanmaken of nieuws op maat ontvangen. Via deze registratie heeft de website echter ook de mogelijkheid om de gangen van die gebruiker precies na te gaan, omdat nu immers elke keer een usernaam meegestuurd wordt.

Cookie cutting

Een voor de hand liggende oplossing is dan ook om geen cookies te accepteren en altijd sites te bezoeken zonder registratie. De meeste browsers bieden de mogelijkheid om het accepteren van cookies uit te zetten, en er zijn diverse programma's verkrijgbaar die het mogelijk maken om effectief cookies te weren. Het volledig uitzetten van cookies heeft als nadeel dat een aantal sites niet meer werken. Speciale programma's bieden de mogelijkheid om per site te kiezen of er wel of geen cookies geaccepteerd mogen worden, zodat nuttige sites nog steeds bruikbaar blijven.

Hiermee is het browsen al een stuk anoniemer geworden, maar de webserver kan nog steeds het IP-adres van de computer van de gebruiker achterhalen. En ook zonder cookies is het mogelijk om met enig giswerk een gebruiker te identificeren. Hierbij gaat men er van uit dat diverse verzoeken vlak na elkaar, die afkomstig zijn van hetzelfde IP-adres, door dezelfde gebruiker zijn gedaan. Wie een webpagina opvraagt, zal meestal ook de plaatjes op die webpagina opvragen. Dit gebeurt vrijwel direct nadat de webpagina opgevraagd is. Het is dus redelijk om aan te nemen dat een verzoek om een plaatje, vlak na een verzoek om een webpagina, van dezelfde persoon komen.

Op dezelfde manier kan men concluderen dat twee verzoeken om webpagina's die vlak achter elkaar plaatsvinden van dezelfde persoon komen, als ze van hetzelfde IP-adres afkomstig zijn. Dit ligt helemaal voor de hand als de eerste pagina een link bevat naar de tweede.

Verstoppertje

Op het eerste gezicht lijkt het er op dat er geen enkele manier is om effectief anoniem te browsen. Als een verzoek wordt verstuurd zonder IP-adres van de afzender, kan de webserver de betreffende pagina niet terugsturen, en als het IP-adres wel wordt meegestuurd, kan de webserver de gebruiker volgen. De oplossing is echter simpel: laat een ander de pagina ophalen.

Bedrijven maken vaak al gebruik van zogeheten proxyservers. Deze bevinden zich tussen het bedrijfsnetwerk en het Internet. Computers binnen het bedrijf sturen hun verzoeken naar de proxyserver. Deze haalt de pagina op en geeft deze weer door aan de computer die het oorspronkelijke verzoek deed. De webserver ontvangt het verzoek nu dus van de proxyserver. Aangezien nu echter alle verzoeken uit het hele bedrijf door ��n proxyserver worden gedaan, kan de webserver deze informatie niet koppelen aan individuele gebruikers.

Ook sommige providers bieden de mogelijkheid tot het gebruik van een proxy. Deze is echter vooral bedoeld om het browsen te versnellen. De proxy kan immers elke pagina die hij ophaalt lokaal bewaren, en als dan een tweede gebruiker diezelfde pagina wil hebben, kan de proxy deze direct doorgeven zonder dat er weer een verbinding met de server moet worden gelegd. Echter, deze proxies geven echter vaak wel de informatie uit het oorspronkelijke verzoek door.

Anonieme proxy

Er zijn inmiddels diverse diensten die anonieme proxies aanbieden. Deze fungeren zoals hierboven beschreven als proxy, maar zijn er voroal op gericht om alle informatie over gebruikers te verbergen. Zij zullen dus nooit informatie uit het oorspronkelijke verzoek doorgeven. De figuur toont een netwerk met een anonieme proxy. Twee gebruikers (links) sturen verzoeken naar de proxy. Deze stuurt beide verzoeken anoniem door naar de webserver (rechts). Deze denkt nu dat de proxy twee pagina's wil opvragen, en stuurt beide pagina's terug. De proxy zorgt er voor dat de pagina's weer bij de gebruikers terechtkomen. De webserver kan dit echter niet nagaan.

Sommige websites gebruiken allerlei trucs om ondanks dit soort diensten toch informatie te achterhalen over gebruikers. Naast het al genoemde verwerken van unieke nummers in de URL zijn er ook allerlei (Java)scripts in omloop die informatie terugsturen naar een server. Een goede anonieme proxy kan dergelijke scripts uit de webpagina filteren voor deze bij de gebruiker aankomt.

Sommige proxies vereisen registratie, omdat het onderhouden van een dergelijke dienst nu eenmaal een kostbare operatie is. Bovendien wordt er nog wel eens misbruik gemaakt van de anonimiteit die een dergelijke dienst biedt.

Hiermee wordt gelijk een heikel punt duidelijk: alhoewel nu geen enkele webserver meer iets kan achterhalen over de gebruiker, weet de anonieme proxyserver nu alles. Een webserver kan alleen maar zien welke pagina's op die server de gebruiker bekijkt, maar een anonieme proxy krijgt alle verzoeken binnen, voor alle webservers die de gebruiker wil bezoeken. Het is een kwestie van vertrouwen of de anonieme proxy deze gegeevns niet zal misbruiken.