Conjuntos propios

Permitir que los nombres de dominio propio relacionados y operados por la misma entidad se declaren pertenecientes a la primera.

Published on Updated on

Translated to: English, Português, 한국어, 中文, Pусский, 日本語

Estado de la implementación

¿Por qué necesitamos conjuntos propios?

Las páginas web se componen por contenido de varios orígenes. Parte del contenido es propio y proviene del sitio de nivel superior que está visitando el usuario. Otro contenido puede provenir de terceros, como anuncios, medios integrados o recursos compartidos, como las bibliotecas JavaScript de CDN. Los terceros también pueden querer correlacionar la actividad del usuario a través de diferentes sitios mediante el uso de mecanismos como las cookies.

Los navegadores proponen modelos de privacidad que restringen el acceso a la identidad del usuario dentro en un contexto de sitios cruzados. Sin embargo, muchas organizaciones tienen sitios relacionados con diferentes nombres de dominio, como dominios para diferentes países (por ejemplo example.com y example.co.uk). Debería ser posible permitir que los nombres de dominio relacionados con una relación adecuada, tal vez propiedad común, se declaren pertenecientes a la misma primera parte, de modo que los navegadores traten esos dominios como propios en situaciones en las que la primera y la tercera parte reciban un trato diferente.

Cualquier solución también debería evitar el abuso del sistema. Por ejemplo, no debería ser posible declarar organizaciones que incluyan sitios no relacionados con diferentes propietarios para obtener privilegios propios.

¿Cómo funcionan los conjuntos propios?

Un sitio web puede declarar que es miembro (o propietario) de un conjunto de dominios web al proporcionar un archivo de manifiesto que define su relación con los otros dominios: un archivo JSON en una dirección .well-known/first-party-set.

Suponga que a.example , b.example y c.example desean formar un conjunto propio que sea propiedad de a.example. Los sitios entonces proporcionarían los siguientes recursos:

// https: //a.example/.well-known/first-party-set
{
"propietario": "un.example",
"miembros": ["b.example", "c.example"],
...
}

// https: //b.example/.well-known/first-party-set
{
"propietario": "un.example"
}

// https: //c.example/.well-known/first-party-set
{
"propietario": "un.example"
}

El propietario del dominio aloja un archivo de manifiesto que enumera sus dominios miembros. Un navegador puede pedirle al sitio web de un miembro que especifique su propietario y luego revise el manifiesto del propietario para verificar la relación.

Se espera que las políticas del navegador eviten el abuso o el uso indebido. Por ejemplo, los conjuntos propios no deben permitir el intercambio de información del usuario entre sitios no relacionados o la agrupación de sitios que no pertenecen a la misma entidad. Una forma posible de que un sitio se registre podría ser que el sitio envíe su grupo de dominios propuesto a un rastreador público (como un repositorio especializado de GitHub) junto con la información necesaria para satisfacer la política del navegador. La verificación del control del propietario sobre los dominios miembros también puede requerir que un desafío en una URL .well-known en cada uno de los dominios del conjunto.

La propuesta complementaria a los Conjuntos propios es el atributo de las cookies SameParty. La especificación del atributo SameParty en una cookie le indica al navegador que incluya la cookie cuando su contexto forma parte del mismo conjunto propio que el contexto de nivel superior.

Por ejemplo, para el conjunto propio descrito anteriormente, un ejemplo puede establecer la siguiente cookie:

Set-Cookie: session=123; Secure; SameSite=Lax; SameParty

Esto significa que cuando un visitante de b.example o c.example realiza una solicitud a a.example, la cookie session se incluye en esa solicitud.


Participe y comparta sus comentarios

Obtener más información

Last updated: Improve article

We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.