Zum Hauptinhalt springen




Trust Tokens es una nueva API para ayudar a combatir el fraude y distinguir a los bots de los humanos reales, sin seguimiento pasivo.


Aktualisiert

Es erscheint in:
Gesichert und geladen

Zusammenfassung

Los tokens de confianza permiten que un origen emita tokens criptográficos a un Nutzername en el que confía. Los tokens son almacenados por el Browser del usuario. El navegador puede utilizar los tokens en otros contextos para evaluar la autenticidad del usuario.

La API Trust Token permite que la confianza de un usuario en un contexto (como Google Mail.com) se transmita a otro contexto (como un anuncio que se ejecuta en nytimes.com) sin identificar al usuario o vincular las dos identidades.

Warum brauchen wir Trust Tokens?

Die Netz necesita formas de establecer señales de confianza que muestren que un usuario es quien dice ser, y no un bot que finge ser un humano, o un tercero malintencionado que defrauda a una persona o servicio real. La protección contra el fraude es particularmente importante para los anunciantes, los proveedores de anuncios y las CDN.

Leider nutzen viele der vorhandenen Mechanismen zur Messung und Verbreitung der Vertrauenswürdigkeit (um beispielsweise festzustellen, ob eine Interaktion mit einem Standort von einem echten Menschen stammt) Techniken, die auch für den Fingerabdruck verwendet werden können.

Schlüsselbegriff:
Fingerabdrücke Ermöglicht Websites das Identifizieren und Verfolgen einzelner Benutzer, indem sie Daten zu ihrem Gerät, Betriebssystem und Browsereinstellungen (z. B. Spracheinstellungen) abrufen.
User-Agenty fuentes disponibles) o cambios en el estado del dispositivo. Esto se puede hacer en el Server comprobando los Überschriften de las solicitudes o en el Klient mit JavaScript.

Beim Fingerabdruck werden Mechanismen verwendet, die den Benutzern nicht bekannt sind und die sie nicht steuern können. Websites wie Panoptikum y
amiunique.org Zeigen Sie, wie Fingerabdruckdaten kombiniert werden können, um Sie als Einzelperson zu identifizieren.

Die API muss den Datenschutz gewährleisten, damit sich das Vertrauen auf Websites ausbreiten kann, ohne einzelne Benutzer zu verfolgen.

Was ist im Trust Tokens-Vorschlag enthalten?

La web se basa en generar señales de confianza para detectar fraudes y Spam. Una forma de hacer esto es rastreando la navegación con identificadores globales por usuario entre sitios. Para una API que preserva la privacidad, eso no es aceptable.

Vom Vorschlag
Erklärer:

Diese API schlägt einen neuen Speicherbereich nach Herkunft für kryptografische Token im "Privacy Pass" -Stil vor, auf die in Kontexten von Drittanbietern zugegriffen werden kann. Diese Token sind nicht personalisiert und können nicht zum Verfolgen von Benutzern verwendet werden. Sie sind jedoch kryptografisch signiert, sodass sie nicht gefälscht werden können.

Wenn sich ein Ursprung in einem Kontext befindet, in dem er dem Benutzer vertraut, kann er eine Reihe von Token an den Browser ausgeben, die zu einem späteren Zeitpunkt in einem Kontext "ausgegeben" werden können, in dem der Benutzer unbekannt oder weniger vertrauenswürdig wäre. Grundsätzlich sind Token nicht voneinander zu unterscheiden, sodass Websites Benutzer nicht über sie verfolgen können.

Darüber hinaus schlagen wir einen Erweiterungsmechanismus für den Browser vor, um ausgehende Anforderungen mit Schlüsseln zu signieren, die mit einer bestimmten Tokeneinlösung verknüpft sind.

Beispiel für die Verwendung der API

Das Folgende ist eine Anpassung von
Beispielcode im API-Erklärer.

Stellen Sie sich vor, ein Benutzer besucht eine Nachrichten-Website (publisher.example) que incorpora Werbung de una red publicitaria de terceros (foo.example). Der Benutzer hat zuvor eine Social-Media-Site verwendet, auf der Vertrauens-Token ausgegeben werden (issuer.example).

Die folgende Sequenz zeigt, wie vertrauenswürdige Token funktionieren.

1. Der Benutzer besucht issuer.example.

2. issuer.example überprüft, ob der Benutzer ein Mensch ist und führt das folgende JavaScript aus:

holen('https://issuer.example/issue', {  
trustToken: {
Art: 'token-request'
}
});

3. Der Browser des Benutzers speichert die zugeordneten Vertrauens-Token issuer.example.

4. Einige Zeit später besucht der Benutzer publisher.example.

5. publisher.example will wissen, ob der Benutzer ein Mensch ist, also fragen sie
issuer.example Ausführen des folgenden JavaScript:

holen('https://issuer.example/redeem', {
trustToken: {
Art: 'srr-token-redemption'
}
});

Mit diesem Code:

  1. Der Browser fordert eine Einlösung an.
  2. Der Aussteller gibt einen SRR (Signed Redemption Record) zurück, der angibt, dass er jemals ein gültiges Token für diesen Browser ausgestellt hat.
  3. Wenn das zurückgegebene Versprechen gelöst ist, kann der SRR in nachfolgenden Ressourcenanforderungen verwendet werden.

6. publisher.example Anschließend können Sie das folgende JavaScript in einem Dokument der obersten Ebene ausführen:

holen('foo.example/get-content', {  
trustToken: {
Art: 'send-srr',
issuer: 'https://issuer.example'
}
});

Mit diesem Code:

  1. foo.example Sie erhalten die SRR, und jetzt haben Sie einen Hinweis darauf
    issuer.example dachte, dieser Benutzer sei ein Mensch.
  2. foo.example entsprechend reagieren.

Es posible que tenga historial de compras con un sitio de comercio electrónico, registros en una plataforma de ubicación o historial de cuenta en un banco. Los emisores también pueden considerar otros factores, como cuánto tiempo ha tenido una cuenta u otras interacciones (como CAPTCHA o envío de formularios) que aumentan la confianza del emisor en la probabilidad de que Sein un ser humano real.

Ausgabe vertrauenswürdiger Token

Wenn ein vertrauenswürdiger Token-Aussteller den Benutzer als vertrauenswürdig erachtet, z
issuer.examplekann der Aussteller vertrauenswürdige Token für den Benutzer erhalten, indem er a
fetch () Anfrage mit einem neuen trustToken Parameter:

holen('issuer.example/.well-known/trust-token', {
trustToken: {
Art: 'token-request',
issuer: <issuer>
}
}).then(...)

Dies ruft eine Erweiterung des auf Datenschutzausweis Broadcast-Protokoll mit a neues Krypto-Primitiv:

  1. Generieren Sie eine Reihe von Pseudozufallszahlen, die als bekannt sind Nonces.

  2. Ciego los nonces (codifíquelos para que el emisor no pueda ver su Inhalt) y adjúntelos a la solicitud en un Sec-Trust-Token Header.

  3. Envíe una solicitud POST al punto final proporcionado.

Der Endpunkt antwortet mit blinden Token (Signaturen auf den blinden Nonces), dann werden die Token entlarvt und der Browser speichert sie intern zusammen mit den zugehörigen Nonces als vertrauenswürdige Token.

Einlösung vertrauenswürdiger Token

Eine Publisher-Site (wie publisher.example Im obigen Beispiel können Sie überprüfen, ob dem Benutzer Vertrauens-Token zur Verfügung stehen:

const userHasTokens = erwarten Dokument.hasTrustToken(<issuer>);

Wenn Token verfügbar sind, kann die Website des Herausgebers diese einlösen, um einen signierten Einlösungsdatensatz zu erhalten:

holen('issuer.example/.well-known/trust-token', {
...
trustToken: {
Art: 'srr-token-redemption',
issuer: 'issuer.example',
refreshPolicy: 'none'
}
...
}).then(...)

Die Publisher-Site kann dann den SRR mithilfe der folgenden API an die von ihr gestellten Anforderungen senden:

holen('<url>', {
...
trustToken: {
Art: 'send-srr',
issuer: <issuer>,
}
...
}).then(...);

Der Herausgeber muss den SRR in Anfragen einbeziehen, für die ein Vertrauens-Token erforderlich ist, z. B. das Veröffentlichen eines Kommentars, das Liken einer Seite oder das Abstimmen in einer Umfrage.

Los tokens de confianza solo son accesibles a través de las opciones de Fetch, XHR y HTML