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
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:
- Der Browser fordert eine Einlösung an.
- 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.
- 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:
foo.example
Sie erhalten die SRR, und jetzt haben Sie einen Hinweis darauf
issuer.example
dachte, dieser Benutzer sei ein Mensch.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.example
kann 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:
-
Generieren Sie eine Reihe von Pseudozufallszahlen, die als bekannt sind Nonces.
-
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. -
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
item: kann nicht direkt aufgerufen werden.
Datenschutzüberlegungen
Los tokens están diseñados para ser ‘desvinculables’. Un emisor puede obtener información agregada sobre los sitios que visitan sus usuarios, pero no puede vincular la emisión con el canje: cuando un usuario canjea un token, el emisor no puede diferenciar el token de otros tokens que ha creado. Sin embargo, los tokens de confianza actualmente no existen en el vacío: hay otras formas en que un emisor podría, en teoría, unir la identidad de un usuario en varios sitios, como cookies de terceros y técnicas de seguimiento encubiertas. Es importante que los sitios comprendan esta transición del ecosistema mientras planifican su apoyo. Este es un aspecto general de la transición para muchas API de Privacy Sandkasten, por lo que no se analiza más aquí.
Sicherheitsüberlegungen
Vertrauen in die Token-Erschöpfung: un sitio malicioso podría agotar deliberadamente el suministro de tokens de un usuario de un emisor en particular. Existen varias mitigaciones contra este tipo de ataque, como permitir que los emisores proporcionen muchos tokens a la vez, para que los usuarios tengan un suministro adecuado para garantizar que los Browser solo canjeen un token por vista de página de nivel superior.
Vermeidung doppelter Ausgaben: er Malware puede intentar acceder a todos los tokens de confianza de un usuario. Sin embargo, los tokens se agotarán con el tiempo, ya que cada canje se envía al mismo emisor de tokens, que puede verificar que cada token se usa solo una vez. Para mitigar el riesgo, los emisores también podrían firmar menos tokens.
Anforderungsmechanismen
Möglicherweise können SRRs außerhalb von gesendet werden fetch ()
, por ejemplo, con solicitudes de navegación. Los sitios también pueden incluir datos del emisor en los encabezados de respuesta HTTP para permitir el canje de tokens en paralelo con la carga de la página.
Um es noch einmal zu wiederholen: Dieser Vorschlag benötigt Ihre Kommentare! Wenn Sie Kommentare haben, bitte
ein Problem erstellen im Trust Token erklärendes Repository.
Erfahren Sie mehr
Vielen Dank an Kayce Basques, David Van Cleve, Steven Valdez, Tancrède Lepoint und Marshall Vale für ihre Hilfe beim Schreiben und Überprüfen dieses Beitrags.