Passer au contenu principal




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


Mise à jour

Il apparaît dans:
Sûr et sécurisé

résumé

Los tokens de confianza permiten que un origen emita tokens criptográficos a un Nom d'utilisateur en el que confía. Los tokens son almacenados por el le navigateur 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 Gmail.com) se transmita a otro contexto (como un anuncio que se ejecuta en nytimes.com) sin identificar al usuario o vincular las dos identidades.

Pourquoi avons-nous besoin de jetons de confiance?

La la toile 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.

Malheureusement, de nombreux mécanismes existants pour mesurer et propager la fiabilité (pour déterminer si une interaction avec un site provient d'un être humain réel, par exemple) tirent parti de techniques qui peuvent également être utilisées pour la prise d'empreintes digitales.

Terme clé:
Empreintes digitales permet aux sites d'identifier et de suivre les utilisateurs individuels en obtenant des données sur leur appareil, leur système d'exploitation et les paramètres du navigateur (tels que les préférences de langue,
agent utilisateury fuentes disponibles) o cambios en el estado del dispositivo. Esto se puede hacer en el serveur comprobando los en-têtes de las solicitudes o en el client avec JavaScript.

L'empreinte digitale utilise des mécanismes dont les utilisateurs ne sont pas conscients et ne peuvent pas contrôler. Des sites comme Panoptique y
amiunique.org montrez comment les données d'empreintes digitales peuvent être combinées pour vous identifier en tant qu'individu.

L'API doit préserver la confidentialité, permettant à la confiance de se répandre sur les sites sans suivre les utilisateurs individuels.

Qu'y a-t-il dans la proposition de jetons de confiance?

La web se basa en generar señales de confianza para detectar fraudes y pourriel. 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.

De la proposition
explicateur:

Cette API propose une nouvelle zone de stockage par origine pour les jetons cryptographiques de style «Privacy Pass», qui sont accessibles dans des contextes tiers. Ces jetons ne sont pas personnalisés et ne peuvent pas être utilisés pour suivre les utilisateurs, mais ils sont signés de manière cryptographique afin qu'ils ne puissent pas être falsifiés.

Lorsqu'une origine se trouve dans un contexte où ils font confiance à l'utilisateur, ils peuvent émettre un lot de jetons au navigateur, qui peuvent être «dépensés» ultérieurement dans un contexte où l'utilisateur serait inconnu ou moins fiable. Fondamentalement, les jetons sont indiscernables les uns des autres, ce qui empêche les sites Web de suivre les utilisateurs à travers eux.

De plus, nous proposons un mécanisme d'extension permettant au navigateur de signer les demandes sortantes avec des clés liées à un échange de jeton particulier.

Exemple d'utilisation de l'API

Ce qui suit est une adaptation de
exemple de code dans l'explicateur d'API.

Imaginez qu'un utilisateur visite un site Web d'actualités (éditeur.exemple) que incorpora La publicité de una red publicitaria de terceros (foo.example). L'utilisateur a déjà utilisé un site de réseau social qui émet des jetons de confiance (émetteur.exemple).

La séquence suivante montre le fonctionnement des jetons de confiance.

1. L'utilisateur visite émetteur.exemple.

2. émetteur.exemple vérifie que l'utilisateur est un humain et exécute le JavaScript suivant:

aller chercher('https://issuer.example/issue', {  
trustToken: {
taper: 'token-request'
}
});

3. Le navigateur de l'utilisateur stocke les jetons de confiance associés à émetteur.exemple.

4. Quelque temps plus tard, l'utilisateur visite éditeur.exemple.

5. éditeur.exemple veut savoir si l'utilisateur est un humain, alors ils demandent
émetteur.exemple exécution du JavaScript suivant:

aller chercher('https://issuer.example/redeem', {
trustToken: {
taper: 'srr-token-redemption'
}
});

Avec ce code:

  1. Le navigateur demande un rachat.
  2. L'émetteur renvoie un enregistrement de remboursement signé (SRR) indiquant qu'il a déjà émis un jeton valide pour ce navigateur.
  3. Lorsque la promesse retournée est résolue, le SRR peut être utilisé dans les demandes de ressources suivantes.

6. éditeur.exemple alors vous pouvez exécuter le JavaScript suivant dans un document de niveau supérieur:

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

Avec ce code:

  1. foo.example vous obtenez le SRR, et maintenant vous avez une indication que
    émetteur.exemple pensait que cet utilisateur était humain.
  2. foo.example répondre en conséquence.

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 être un ser humano real.

Émission de jetons de confiance

Si un émetteur de jetons de confiance considère que l'utilisateur est digne de confiance, par exemple
émetteur.exemple, l'émetteur peut obtenir des jetons de confiance pour l'utilisateur en effectuant un
aller chercher () demande avec un nouveau trustToken paramètre:

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

Cela invoque une extension du Passe de confidentialité protocole de diffusion utilisant un nouvelle crypto primitive:

  1. Générez un ensemble de nombres pseudo-aléatoires appelés nonces.

  2. Ciego los nonces (codifíquelos para que el emisor no pueda ver su Contenu) y adjúntelos a la solicitud en un Jeton de confiance Sec entête.

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

Le point de terminaison répond avec des jetons aveugles (signatures sur les nonces aveugles), puis les jetons sont démasqués et le navigateur les stocke en interne avec les nonces associés en tant que jetons de confiance.

Rachat de jetons de confiance

Un site d'éditeur (comme éditeur.exemple dans l'exemple ci-dessus), vous pouvez vérifier s'il existe des jetons de confiance disponibles pour l'utilisateur:

const userHasTokens = attendre document.hasTrustToken(<issuer>);

Si des jetons sont disponibles, le site de l'éditeur peut les utiliser pour obtenir un enregistrement de remboursement signé:

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

Le site de l'éditeur peut alors envoyer le SRR aux requêtes qu'il effectue à l'aide de l'API suivante:

aller chercher('<url>', {
...
trustToken: {
taper: 'send-srr',
issuer: <issuer>,
}
...
}).then(...);

L'éditeur doit inclure le SRR dans les demandes qui nécessitent un jeton de confiance, telles que la publication d'un commentaire, l'aimage d'une page ou le vote dans un sondage.

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