Exkurs: Da sich des Öfteren Kunden des Internet-Providers Alice auf diese Seite zu verirren scheinen, die nach der IP-Adresse von Alice suchen, sei noch Folgendes erklärt: Das Internet setzt sich aus ↑autonomen Systemen zusammen, die durch Nummern identifiziert werden und denen bestimmte IP-Adressbereiche zugewiesen sind. Alice-Kunden erhalten eine IP-Adresse aus dem autonomen System mit der Nummer 13184, das von „HANSENET Telefonica Germany GmbH & Co.OHG“ betrieben wird. Wenn Sie auf der ↑Tor-Testseite z. B. die IP-Adresse 85.176.2.1 sehen, können Sie diese im ↑Web-Formular von Team Cymru eingeben (Haken an „verbose“ setzen) und erhalten dann Informationen zum autonomen System, dem Sie angehören. Im Beispiel erfahren Sie, dass die IP-Adresse 85.176.2.1 dem autonomen System AS13184 von HANSENET angehört und die IP-Adresse in das sogenannten IP-Präfix 85.176.0.0/13 fällt. Dabei bedeutet „/13“, dass dies der IP-Adressbereich mit genau den IP-Adressen ist, deren erste 13 Bit (in Dualdarstellung) mit denjenigen von 85.176.0.0 übereinstimmen. (Die Leserin mache sich zur Klausurvorbereitung klar, dass dies genau diejenigen IP-Adressen einschließt, die mit 85.176, 85.177, …, 85.183 beginnen ;-) Sämtliche IP-Präfixe zu einem autonomen System lassen sich beispielsweise mit dem ↑Web-Formular des Routing Information Service des ↑RIPE NCC erfragen.
Zurück zur Postkartenanalogie: Für jede Datenübertragung im Internet (Abruf einer Web-Seite, Versand einer E-Mail, Übertragung von Buchstaben im Chat, …) werden — durch das ↑Internet Protocol (IP) vorgegeben — vom Rechner des Senders alle Daten in IP-Pakete aufgeteilt, die mit IP-Adressen von Sender und Empfänger versehen sind. Diese Pakete werden anhand der Empfänger-IP-Adresse (bzw. dem der Postleitzahl entsprechenden IP-Präfix) schrittweise über spezielle Rechner (sog. Router — diese entsprechen Postkästen und Briefverteilzentren) zum Empfänger weitergeleitet. Mittels der Absenderadresse kann der Empfänger dann Antworten verschicken.
Diese Darstellung verdeutlicht, dass jeder Router entlang des Weges von der Absenderin Alice zum Empfänger Bob sehen kann, dass Alice und Bob kommunizieren (so wie für jede/n am Transport einer Postkarte Beteiligte/n die Anschriften von Absender und Empfänger sichtbar sind). Wenn die Kommunikation unverschlüsselt abläuft, was dem Regelfall bei E-Mail, Chat, Diskussionsforen, und Web-Seiten entspricht, kann jeder Router darüber hinaus sehen, worüber Alice und Bob sich austauschen und die Nachrichtentexte beliebig ändern (so wie eine mit Bleistift geschriebene Postkarte überall während des Transportes gelesen und geändert werden kann).
Im Gegensatz zum traditionellen Postversand besteht eine Besonderheit im Internet darin, dass Alice sich bei der Einwahl ins Internet, also insbesondere vor jeder Kommunikation bei ihrem Internet-Provider ausweisen muss, und dass sämtliche ihrer Kommunikationsdaten über mindestens einen Router ihres Providers vermittelt werden. (In Analogie zur Post hieße das, dass Alice jede Postsendung unter Ausweiskontrolle absenden müsste.) Dementsprechend ist Alice' Provider (bzw. jeder Dritte mit Kontrolle über dessen Rechner, z. B. Kriminelle oder staatliche Stellen) in der Lage, jeden ihrer Schritte im Internet zu protokollieren. Verständlicherweise möchte Alice das nicht, und daher setzt sie JAP/JonDo oder Tor als Anonymisierungstechnik ein, um dies zu verhindern. (Der Provider kann auch eine längere Internet-Abstinenz des Internet-Junkies Alice wahrnehmen und interpretieren.)
Zusätzlich gibt es im Internet weitere Parteien, die daran interessiert sind, Profile über Alice zu erstellen, beispielsweise für personalisierte Werbung („... dieses Buch könnte Ihnen gefallen...“). Da Alice bei jeder Internet-Nutzung von ihrem Provider eine andere IP-Adresse zugewiesen bekommen könnte, haben diese weiteren Parteien es schwieriger, Alice zuverlässig zu identifizieren bzw. ihre Handlungen unter verschiedenen IP-Adressen miteinander in Beziehung zu setzen.
Das gängigste auf Web-Servern eingesetzte Mittel zur Nutzeridentifikation und -überwachung, auch bei wechselnden IP-Adressen, sind ↑Cookies. Vereinfachend kann man sich ein Cookie als einen Ausweis (mit einer praktisch unbegrenzten Gültigkeit) vorstellen, den ein Web-Server, nennen wir ihn Sara, Alice' Web-Browser übergibt. Der Browser zeigt diesen Ausweis dem Server Sara bei jedem weiteren Besuch von Alice, ohne dass Alice etwas machen müsste. Alice muss von der Existenz dieses Ausweises nicht einmal wissen. Dadurch kann Sara genau protokollieren, wann Alice welche Web-Seiten bei ihr angesehen hat. Wenn Sara z. B. eine Online-Händlerin mit umfangreichem Sortiment ist oder auch eine Suchmaschine, kann sie viel über Alice lernen. Verständlicherweise möchte Alice das nicht, und daher konfiguriert sie ihren Browser so, dass sie Kontrolle über Cookies erhält.
Cookies haben für neugierige Parteien (manche sehen sich als Werbeagenturen) den Nachteil, dass sie vom Web-Browser nur Servern der ausstellenden ↑DNS-Domäne präsentiert werden. Wenn also z. B. http://www.informationelle-selbstbestimmung-im-internet.de/ Cookies an Web-Browser verteilt, dann werden diese Cookies nur Servern präsentiert, deren Name auf informationelle-selbstbestimmung-im-internet.de endet. (Theoretisch jedenfalls. In der Praxis können sowohl Programmierfehler in Browsern als auch ↑Cross-Site-Scripting-Angriffe dafür sorgen, dass Cookies an weitere Parteien gesendet werden.)
Hier kommen ↑Web-Bugs als weit verbreitete Technik zur Erstellung von Profilen über Grenzen von DNS-Domänen ins Spiel. Web-Bugs sind Verweise auf typischerweise unsichtbare Bilder (1x1 Pixel) eines anderen Servers Eve. Diese Verweise werden auf einer Web-Seite von Sara so eingebettet, dass Alice' Web-Browser das Bild automatisch von Eve lädt, wenn Alice Sara besucht. (Durch Kommentare gekennzeichnete Beispiele für Web-Bugs finden sich in den Artikeln des ↑Heise-Newstickers: Man suche im Quelltext nach dem Kommentar <!- IVW-Pixel ->…) Eve kann zusammen mit dem Bild auch Cookies an Alice' Web-Browser senden. Auf diese Weise erfährt Eve, welche Seiten Alice sich bei Sara anschaut, ohne dass Alice wissen müsste, dass Eve überhaupt existiert. Typischerweise überzeugt Eve (wie wohl?) viele Server-Betreiber davon, Verweise auf ihre unsichtbaren Bilder anzulegen, um die Besuche auf verschiedenen Web-Servern miteinander korrelieren zu können und so möglichst viel über Alice zu lernen. Verständlicherweise möchte Alice das nicht, und daher konfiguriert sie ihren Browser so, dass sie Kontrolle über Bilder fremder Server und damit auch Web-Bugs erhält.
Weiterhin können Web-Bugs auch in E-Mails eingebettet werden, wodurch Dritte lernen, ↑ob, wann, von wo und wie lange Alice speziell präparierte E-Mails liest. Verständlicherweise möchte Alice das nicht, und daher benutzt sie ein E-Mail-Programm, das E-Mails (auch HTML-Inhalte) als ASCII-Texte anzeigt. (Die Internet-Götter gebieten in der ↑Netiquette, dass man mittels E-Mail Textnachrichten schreibt, dass man größere Dateien mit Dateitransferprogrammen überträgt und dass man sich bunte Seiten im Web-Browser ansieht. Alice ist zwar nicht gläubig, aber einsichtig.)
Schließlich können selbst auf den ersten Blick harmlose Mechanismen wie der Browser-Cache und die Chronik missbraucht werden, um Alice' Surfverhalten auszuspionieren. Durch ↑Caching kann ein Browser Web-Inhalte auf der lokalen Festplatte speichern, so dass beim Besuch einer Web-Seite nicht jedes Mal alle Inhalte aus dem Internet geladen werden müssen, sondern im Idealfall nur noch die, die sich seit dem letzten Besuch geändert haben. Obwohl Caching im Internet zunächst eine nützliche Technik ist, um Latenzzeiten zu reduzieren und Bandbreite zu sparen, kann sie auch missbraucht werden, um Benutzer unbemerkt zu identifizieren.
Um Caching zu ermöglichen, sendet ein Web-Server neben der eigentlichen Web-Seite auch Verwaltungsinformationen in HTTP-Headern, damit Browser und Server sich einigen können, welche Inhalte bereits im Cache vorliegen und welche noch geladen werden müssen. Beim Besuch von http://www.informationelle-selbstbestimmung-im-internet.de/ sendet der Web-Server unter anderem einen ETag-Header wie den folgenden:
Etag: "1e9805a-1ef4-443906cc"Der Browser legt die Seite dann in seinem Cache ab und sendet bei folgenden Aufrufen der Seite http://www.informationelle-selbstbestimmung-im-internet.de/ unter anderem den folgenden HTTP-Header:
If-None-Match: "1e9805a-1ef4-443906cc"Dadurch ist der Web-Server zunächst in der Lage zu erkennen, ob sich die Seite zwischenzeitlich geändert hat oder nicht. Entsprechend kann er dem Browser entweder mit einer aktualisierten Seite antworten oder ihm mitteilen, dass dessen Version im Cache noch aktuell ist. So weit, so gut.
Für Alice ist allerdings nicht zu erkennen, welche Informationen sich hinter dem Wert 1e9805a-1ef4-443906cc verbergen. Es ist insbesondere nicht klar, ob alle Besucher denselben Wert erhalten (und an den Web-Server zurücksenden) oder ob der Web-Server für jeden Besucher einen identifizierenden Wert erzeugt. Falls letzteres der Fall sein sollte, kann der Web-Server jeden Besucher mit Hilfe des Caching-Mechanismus identifizieren. (Dass ich http://www.informationelle-selbstbestimmung-im-internet.de/ als Beispiel verwende, bedeutet nicht, dass hier identifizierende ETags verwendet werden. Soweit ich weiß…)
Weitere Informationen zu dieser Problematik sowie möglichen Gegenmaßnahmen in Form von Firefox-Erweiterungen finden sich unter ↑http://www.safecache.com/ und ↑http://www.safehistory.com/.
Eine andere Partei, die viel über Alice' Internet-Aktivitäten lernt, ist ihr ↑DNS-Server. DNS hat im Internet die zentrale Aufgabe, den für Menschen lesbaren WWW-Adressen wie www.informationelle-selbstbestimmung-im-internet.de die für maschinelle Kommunikation notwendigen IP-Adressen zuzuordnen. Wenn Alice also www.informationelle-selbstbestimmung-im-internet.de als Adresse in ihrem Browser eintippt, befragt der Browser zunächst einen DNS-Server nach einer IP-Adresse zu diesem Namen und führt die Kommunikation dann unter Verwendung der erfragten IP-Adresse durch. Aus der DNS-Anfrage des Browsers lernt der Betreiber des DNS-Servers, dass Alice sich für informationelle Selbstbestimmung im Internet interessiert. Verständlicherweise möchte Alice das nicht, und daher setzt sie JAP/JonDo oder Tor als Anonymisierungstechnik ein, um dies zu verhindern. Außerdem ist sie sehr sorgfältig in der Wahl alternativer DNS-Server; solche bei großen Suchmaschinenbetreibern in den USA, die Geschwindigkeitsvorteile beim Surfen versprechen, verwendet sie nicht.
Schließlich gibt es zahlreiche technische Merkmale, die in der Internet-Kommunikation übertragen werden und dazu beitragen, dass Alice identifiziert werden könnte. So werden bei jedem Abruf einer Web-Seite diverse technische Informationen in HTTP-Headern übertragen, unter anderem Name und Version des verwendeten Browsers (HTTP_USER_AGENT) sowie verweisende Web-Seite (HTTP_REFERER) und für Caching relevante Daten (z. B. ETag). Was Ihr Browser berichtet, können Sie auszugsweise ↑dieser HTTP-Demonstration entnehmen oder mit Hilfe der Firefox-Erweiterung ↑Live HTTP headers ansehen. Von ↑Panopticlick können Sie sich auch das Identifikationspotenzial des Fingerabdrucks Ihres Browsers berechnen lassen.
Über HTML-Header hinaus enthalten die der Internet-Kommunikation zugrunde liegenden Standards ↑IP und ↑TCP so viele Freiheitsgrade, dass sie von verschiedenen Betriebssystemen und sogar verschiedenen Versionen desselben Betriebssystems in Nuancen so unterschiedlich implementiert werden, dass jeder Router und jeder Kommunikationspartner die Betriebssystemversion mit hoher Wahrscheinlichkeit erkennen kann. (Werkzeuge, die dies demonstrieren, sind z. B. ↑nmap und ↑p0f.) Wenn Alice nun eine außergewöhnliche (z. B. außergewöhnlich veraltete) Browser- oder Betriebssystemversion verwendet oder ihren Browser dazu bringt, einen festen und ungewöhnlichen HTTP_REFERER oder HTTP_USER_AGENT zu senden, oder dies alles kombiniert, kann das schon ausreichen, um Alice zu identifizieren. Verständlicherweise möchte Alice das nicht, und daher verwendet sie aktuelle Browser- und Betriebssystemversionen, fummelt nicht unüberlegt an HTTP_REFERER und HTTP_USER_AGENT herum und setzt JAP/JonDo oder Tor als Anonymisierungstechnik ein, wodurch neben ihrer IP-Adresse auch ihre Betriebssystemspezifika verborgen werden.
Ich betone ausdrücklich, dass es mir in den obigen Beschreibungen um Situation geht, wo Alice' Verhalten protokolliert wird, ohne dass es einen Zweck gäbe, dem Alice zugestimmt hätte. Anders sieht die Situation aus, wenn Alice sich durch Angabe von Kennung und Passwort identifiziert, um eine Leistung in Anspruch zu nehmen, etwa beim E-Mail-Abruf über ein Web-Interface oder beim Online-Kauf. Auch in solchen Situationen kommen Cookies zum Einsatz, um Alice' Aktionen zu protokollieren. Dies ist hier auch erforderlich, damit Alice beispielsweise genau die Dinge in ihrem Einkaufskorb und auf ihrer Rechnung wiederfindet, die sie haben wollte. Alice gibt ihre Identität zweckgebunden preis und weiß (hoffentlich), worauf sie sich einlässt.