Was ist die Browsersprache?
Im digitalen Zeitalter ist der Schutz der Privatsphäre für immer mehr Menschen in den Mittelpunkt gerückt. Wenn wir über Browser-Fingerprinting sprechen, denken wir meist an technische Methoden wie Canvas-Fingerprints, WebGL-Fingerprints oder Audio-Fingerprints. Es gibt jedoch eine scheinbar harmlose Informationsdimension, die ebenfalls zur Geräteerkennung verwendet werden kann—nämlich deine Spracheinstellungen.
Bevorzugte Sprachen: Sprachpräferenzen im Browser
Die Spracheinstellungen des Browsers sind nicht nur eine Anzeigeoption. Wenn du die Spracheinstellungen deines Browsers öffnest, siehst du in der Regel eine nach Priorität geordnete Liste von Sprachen. Beispielsweise könntest du Englisch (USA) als bevorzugte Sprache festgelegt haben, gefolgt von Englisch, Französisch, Portugiesisch usw.
Diese Sprachliste dient nicht nur dazu, die Anzeigesprache der Browseroberfläche festzulegen. Wenn du eine Website besuchst, werden diese Sprachpräferenzen in die HTTP-Anfrage aufgenommen und an den Server gesendet. Websites können die Liste der bevorzugten Sprachen des Nutzerbrowsers bereits mit einem einfachen JavaScript-Skript abrufen. Das bedeutet: Jedes Mal, wenn du eine Webseite besuchst, „verraten“ deine Sprachpräferenzen der Website einige Informationen über dich.
Sprache im Anfrage-Header: Accept-Language in HTTP-Anfragen
In den HTTP-Anfrage-Headern gibt es ein Feld namens Accept-Language, das detaillierte Informationen über die bevorzugten Sprachen des Nutzerbrowsers enthält. Das Format dieses Feldes sieht normalerweise etwa so aus:
Accept-Language: en-US, en;q=0.9, fr-FR;q=0.8, fr;q=0.7
Schauen wir uns an, was dieser Code bedeutet:
en-US: Bedeutet, dass die bevorzugte Sprache amerikanisches Englisch ist, mit der höchsten Gewichtung.
en;q=0.9: Wenn amerikanisches Englisch nicht verfügbar ist, wird Englisch (allgemein) akzeptiert, jedoch mit etwas niedrigerer Priorität und einer Gewichtung von 0,9.
fr-FR;q=0.8: Französisches Französisch wird akzeptiert, mit einer Gewichtung von 0,8.
fr;q=0.7: Jede Variante von Französisch wird akzeptiert, mit der niedrigsten Gewichtung von 0,7.
Die Gewichtung liegt im Bereich von 0 bis 1; je höher der Wert, desto stärker ist die Präferenz des Nutzers für diese Sprache. Durch das Auslesen dieses Feldes können Websites die bevorzugte Sprachumgebung des Nutzers erkennen und gezielt Seiteninhalte in der entsprechenden Sprachversion bereitstellen, sodass Nutzer die Website leichter durchsuchen und verstehen können.
Ein Vergleich: Accept-Language ist wie eine Speisekarte, die du dem Kellner im Restaurant beim Bestellen reichst—sie zeigt klar, was du möchtest und wie deine Prioritäten aussehen. Der Server ist dabei wie ein Koch, der anhand deiner „Speisekarte“ das passendste „Gericht“ für dich zubereitet (also lokalisierte Inhalte).
Internationalization API: feinere Unterstützung für Lokalisierung
Neben dem Sprachfeld in den HTTP-Anfrage-Headern stellt der Browser auch eine JavaScript-Schnittstelle namens Internationalization API (Internationalisierungs-API) bereit. Ziel dieser API ist es, Entwicklern bei der Internationalisierung von Websites zu helfen, also je nach Sprach- und Regionseinstellungen des Nutzers Datumsangaben, Uhrzeiten, Zahlen sowie lokalisierte Zeichenkettenübersetzungen im passenden Format darzustellen.
Wenn ein Nutzer eine Website öffnet, kann die Website die Internationalization API verwenden, um die im Browser festgelegten Sprachpräferenzen des Nutzers abzurufen. Wenn die Browsersprache des Nutzers beispielsweise auf Englisch eingestellt ist, könnte die von der API zurückgegebene Zeichenkette "en" oder "en-US" lauten.
Ein typisches Anwendungsszenario sind Social-Media-Plattformen. Wenn Nutzer aus aller Welt dieselbe soziale Website besuchen, nutzt die Website die Internationalization API, um die Sprachpräferenzen der Nutzer zu erkennen und automatisch eine ihnen vertraute Sprachoberfläche anzuzeigen, statt einer Sprache, die sie nicht verstehen. Diese lokalisierte Erfahrung verbessert die Benutzerfreundlichkeit und Nutzerzufriedenheit erheblich.
Wie fließen Sprachinformationen in das Fingerprinting ein?
Für sich allein betrachtet scheinen Sprachinformationen nicht besonders identifizierend zu sein—schließlich haben weltweit Millionen von Nutzern Englisch als bevorzugte Sprache eingestellt. Wenn Sprachinformationen jedoch mit anderen Fingerprint-Daten kombiniert werden (z. B. Canvas-Fingerprint, WebGL-Fingerprint, Audio-Fingerprint, Bildschirmauflösung, Zeitzone usw.), sieht die Situation völlig anders aus.
Die Kombinationsmöglichkeiten von Sprachpräferenzen sind äußerst vielfältig: Sie umfassen nicht nur die Art der bevorzugten Sprache, sondern auch die Reihenfolge der Alternativsprachen, die Gewichtungswerte jeder Sprache sowie die über die Internationalization API abgerufenen fein abgestuften Regionseinstellungen. Gemeinsam bilden diese Parameter einen relativ einzigartigen „Sprach-Fingerprint“.
Noch wichtiger ist, dass Spracheinstellungen oft ziemlich stabil sind—normale Nutzer ändern die Sprachpräferenzen ihres Browsers nur selten häufig. Das bedeutet: Sobald eine Website deine Kombination aus Sprach-Fingerprint-Daten gespeichert hat, kann sie diese Information bei späteren Besuchen zur zusätzlichen Erkennung deines Geräts nutzen, selbst wenn der Nutzer Cookies gelöscht oder die IP-Adresse gewechselt hat.
Wie kannst du deinen Sprach-Fingerprint schützen?
Wenn du das Risiko verringern möchtest, dass Sprachinformationen für Fingerprint-Tracking verwendet werden, kannst du die folgenden Methoden in Betracht ziehen:
1. Verwende einen datenschutzfreundlichen Browser: Datenschutzorientierte Browser wie der Tor Browser standardisieren oder randomisieren sprachbezogene Anfrage-Header und reduzieren so Unterschiede zwischen Geräten.
2. Verwende Browser-Erweiterungen: Einige Datenschutz-Erweiterungen (wie Privacy Badger, uBlock Origin usw.) können Sprachinformationen in HTTP-Anfrage-Headern ändern oder einschränken.
3. Verwende einen Fingerprint-Browser: Professionelle Anti-Detect-Browser ermöglichen es Nutzern, sprachbezogene Parameter individuell anzupassen und zu fälschen. Durch „Ersetzen“ statt „Deaktivieren“ lassen sie Websites dich als gewöhnlichen Nutzer mit anderen Sprachpräferenzen erscheinen.
Fazit
Sprachinformationen—ob das Accept-Language-Feld in den HTTP-Anfrage-Headern oder die von der Internationalization API bereitgestellten Sprachpräferenzen—wurden ursprünglich nicht zur Verfolgung von Nutzern entwickelt. Websites setzen diese Technologien ursprünglich ein, um eine bessere Nutzererfahrung zu bieten und den Anforderungen von Nutzern aus verschiedenen Regionen der Welt gerecht zu werden.
Im größeren Kontext des Browser-Fingerprintings können diese scheinbar harmlosen Daten zu Sprachpräferenzen jedoch ebenfalls gesammelt und genutzt werden. In Kombination mit anderen Fingerprinting-Techniken tragen sie dazu bei, eine präzisere Nutzerkennung zu erstellen. Diesen Mechanismus zu verstehen, ist der erste Schritt zum Schutz der persönlichen Privatsphäre.
