Anzeige

Tracking Teil 3: Welche Alternativen gibt es zum Cookie?

30.11.2015 - Ohne Cookies kein Tracking, ohne Tracking kaum Online-Marketing. Sie sind zwar Standard, würden jedoch an Bedeutung verlieren, sagt Tobias Wegmann, stellvertretender Vorsitzender der Fokusgruppe Targeting im BVDW, die ein Whitepaper zu alternativen Tracking-Technologien veröffentlicht hat. Nach Fingerprinting und Tracking über Common IDs stellen wir nun Verfahren vor, die über den Browser-Cache tracken.

Der Cache ist ein Pufferspeicher in jedem Webbrowser, in dem bereits abgerufene Ressourcen wie Texte oder Bilder lokal auf dem Rechner als Kopie aufbewahrt werden. Sinn dieses Speichers ist es, Ladezeiten zu verkürzen und das Surfen so viel angenehmer für den User zu gestalten, weil die Ressource nicht jedes Mal neu aus dem Netz geladen werden muss. Zwei Tracking-Methoden machen sich besondere Features im Cache zunutze.

Der User kann fast nichts dagegen unternehmen


Da ist zum einen das Tracking über den eTag. Die Kommunikation zwischen einem Browser und einem Server besteht immer aus Request (Anfrage) und Response (Antwort). Der Browser fragt, der Server antwortet. "Request und Response bestehen dabei immer aus zwei Teilen: den eigentlich zu übertragenden Daten und einem Header mit zusätzlichen Metadaten, also Daten über die Daten", so der BVDW. Bei HTTP werden über den Header zum Beispiel HTTP-Cookies übertragen.

Der eTag, eigentlich entity Tag, ist ein Header-Feld, welches schon in HTTP 1.1 eingeführt wurde. Es handelt sich dabei um eine Zeichenkette, die einer Ressource, also einem Bild, einem Text oder einer anderen Datei zugeordnet wird. Diese Zeichenkette ist sowohl in Request wie auch in Response vorhanden und wird hauptsächlich zum Caching verwendet, also dem Zwischenspeichern im Cache. Um nun über den eTag zu tracken, muss man auf den vom Server übermittelten Wert des eTag zurückgreifen. Das kann zum Beispiel über JavaScript funktionieren. JavaScript kann jedoch nicht auf bereits gesendete Header-Informationen zurückgreifen. Dieses Problem kann man mit einer nachgelagerten Anfrage, zum Beispiel einem Ajax Call, umgehen. Bei erfolgreichem Call wird auch der eTag-Parameter im Header vom Server mitgesendet und kann von JavaScript ausgelesen werden. Er kann auch auf Serverseite ausgelesen werden. Wenn man den eTag-Wert hat, kann man ihn ähnlich wie ein Cookie mit Informationen anreichern und diese dann übertragen und speichern.

Das Tracking funktioniert auch, wenn der User Cookies löscht, JavaScript deaktiviert oder ein VPN nutzt. Das heißt, der User kann fast nichts gegen dieses Tracking unternehmen, außer seinen Cache löschen, was ihn aber erheblich in seinem Surfverhalten einschränken dürfte.

Authentication Cache Tracking: keine universelle Tracking-Methode


Eine andere Methode, die ebenfalls den Cache benutzt, ist das Tracking über den Authentication Cache. Der Browser speichert automatisch Zugangsdaten, also Name und Passwort von Log-in-Portalen. Dieser Vorgang basiert auf HTTP Basic Authentication. Wenn der Server feststellt, dass für eine angeforderte URL Benutzername und Passwort nötig sind, schickt er eine Nachricht mit dem Statuscode "401 Unauthorized" und dem Header WWW-Authenticate zurück. Der Browser greift dann auf Daten zurück, die der User schon einmal eingegeben hat, oder fragt ihn, wenn er das noch nicht getan hat. Sind die Zugangsdaten richtig, öffnet sich die Seite, ansonsten erscheint eine Fehlermeldung. Dieses Standardverhalten ist in allen Browsern fest eingebaut.

Das Tracking funktioniert so: Ruft der User eine zugangsgeschützte Ressource auf, für die keine Zugangsdaten vorliegen, sendet der Server nicht nur die Fehlermeldung zurück. Er schickt außerdem eine zulässige Kombination von Benutzername und Passwort mit, bei der es sich aber eigentlich um eine neue Nutzer-ID handelt. Die Kombination, oder besser gesagt die ID, wird durch erneutes Aufrufen, diesmal mit Name und Passwort im Header, im Authentication Cache des Servers gespeichert. Bei allen Aufrufen der Ressource, die danach kommen, ergänzt der Browser automatisch Name und Passwort bei der Anfrage, und so meldet sich der User quasi jedes Mal mit einer eindeutigen ID an.

Diese Cookie-Alternative basiert allerdings auf JavaScipt, da die Request für eine Ressource auf dem Server durch ein Stück JavaScript-Code integriert ist. JavaScript kann im Browser deaktiviert werden. Außerdem hängt die Wirksamkeit davon ab, wie lange der Browser Informationen im Cache behält, was bei jedem Browser unterschiedlich ist. Daher sagt der BVDW: "Authentication Cache ist keine universelle Tracking-Methodik." (ks)