Collaborazione con il settore per far evolvere i CHIPS

Esame di due sfide affrontate dal team di Chrome nell'implementazione dei CHIPS e del modo in cui i feedback della community hanno svolto un ruolo chiave nell'evoluzione della progettazione della proposta.

Milica Mihajlija
Milica Mihajlija
Jeremy Ney
Jeremy Ney

Cookie con stato partizionato indipendente (CHIPS) è una tecnologia di Privacy Sandbox che consente agli sviluppatori di attivare lo spazio di archiviazione "partizionato" di un cookie, con barattoli di cookie separati per sito di primo livello.
Alcuni esempi di casi d'uso dei CHIPS includono scenari in cui le sottorisorse tra siti richiedono una nozione di sessione o di stato permanente con ambito dell'attività di un utente su un singolo sito di primo livello, come widget di chat di terze parti, incorporamenti di mappe, bilanciamento del carico CDN delle sottorisorse, provider di CMS headless e altro ancora.

I CHIPS vengono sviluppati con l'obiettivo di diventare uno standard del web aperto. È in fase di discussione in PrivacyCG e ha avuto una prova dell'origine per 7 mesi, durante i quali il team di Chrome ha ricevuto feedback utili. Durante lo sviluppo il team ha collaborato con i principali stakeholder per esaminare il feedback, ottenendo un design aggiornato che funzioni meglio per l'ecosistema del web.

Analizziamo due sfide che il team di Chrome ha dovuto affrontare nell'implementazione dei CHIPS e il modo in cui i feedback della community hanno svolto un ruolo chiave nell'evoluzione della progettazione della proposta.

Rimozione del prefisso host e nessun requisito Domain

Per incoraggiare buone prassi di sicurezza, la progettazione dei CHIPS richiede che i cookie siano impostati e inviati solo da protocolli sicuri e che i cookie partizionati siano impostati con Secure.

Insieme a questi requisiti, la proposta iniziale non consentiva l'utilizzo dell'attributo Domain sui cookie partizionati. L'omissione di Domain nei cookie ha impedito la condivisione tra diversi sottodomini di terze parti all'interno di una partizione.

Durante la prova dell'origine, il team di Chrome ha sentito dai partner e dagli altri stakeholder che il requisito senza dominio rendeva difficile per i siti con sottodomini implementare i CHIPS. Ad esempio, sarebbe più difficile per shop.example.com e pay.example.com condividere barattoli di cookie partizionati. In altri casi, ha reso difficili i flussi di autenticazione nei contesti incorporati.

Diagramma che mostra i siti pay.example.com e shop.example.com

Il team di Chrome ha valutato questo feedback e ha concluso che la rimozione del requisito senza dominio non avrebbe creato problemi di privacy, ma avrebbe migliorato l'usabilità. Di conseguenza, il team di prodotto CHIPS ha aperto una discussione su GitHub, invitando altri feedback sulla rimozione di questo requisito. Diverse aziende che stavano testando i CHIPS hanno risposto e hanno commentato pubblicamente l'importanza di questo cambiamento per il loro caso d'uso.

Chrome ha esaminato il feedback nel Privacy Community Group di W3C e ha presentato la proposta aggiornata. Firefox ed Edge hanno approvato la modifica, mentre Safari non ha sollevato alcun problema. Il giorno successivo, il team di Chrome ha aggiornato Blink-Dev e ha presentato il piano per la rimozione del requisito dal repository GitHub di CHIPS.

Il team CHIPS ha inizialmente proposto questo requisito per garantire che i siti non ricevano cookie cross-site da sottodomini dannosi o compromessi e per ridurre la possibilità di utilizzare i cookie di dominio come canale per la fuga di dati tra i sottodomini.

Sebbene ciò fornisse ulteriori vantaggi in termini di sicurezza, Tableau ha evidenziato le difficoltà nell'adozione dei CHIPS, in quanto alcune architetture attuali delle applicazioni si basano sulla condivisione dei cookie tra i sottodomini.

Dopo che Chrome ha apportato questa modifica, Tableau, la società responsabile della piattaforma di analisi visiva di proprietà di Salesforce, ha condiviso:

Questa rimozione della modifica della denominazione rende il requisito molto più in linea con le modifiche precedenti di aggiungere l'attributo "SameSite=None" e quindi una quantità più "conosciuta". Apprezziamo che Google abbia ascoltato il feedback, esaminando le implicazioni e apportando la modifica per contribuire a semplificare le transizioni. Lee Graber, Software Engineering Architect, Tableau

Grazie a questo processo, l'implementazione dei CHIPS è stata semplificata per gli stakeholder salvaguardando la privacy degli utenti.

L'altra sfida nell'implementazione dei CHIPS era il limite di cookie statici.
Per evitare un utilizzo elevato di memoria per i cookie, la progettazione iniziale proponeva un limite numerico di 10 cookie per sito per partizione.

Akamai ha condiviso un feedback pubblico secondo cui il limite proposto per i cookie partizionati potrebbe non essere sufficiente per servizi come le CDN che offrono domini di primo livello per ospitare i contenuti dei loro clienti (ad esempio customer.cdn.xyz). Ad esempio, customer1.cdn.xyz e customer2.cdn.xyz potrebbero fornire contenuti di terze parti e potrebbero impostare ciascuno dei propri cookie. Se più siti di clienti come questo sono incorporati in un altro sito web, potrebbero raggiungere il limite di 10 cookie per partizione.

Il team di Chrome ha ascoltato feedback simili in altri forum, durante le riunioni con i partner e le discussioni di W3C, pertanto ha preso in considerazione i modi migliori per risolvere il problema che il limite di cookie presentava in questi casi d'uso.

Diagramma che mostra il numero massimo di cookie SameSite=None che un singolo dominio ha sui computer dei client
Diagramma che mostra il numero massimo di cookie SameSite=None che un singolo dominio ha sui computer dei client

Dopo aver considerato come incorporare il feedback della community, Chrome ha presentato un'idea aggiornata in occasione del TPAC 2022, suggerendo che i CHIPS passino da un limite statico di 10 cookie a un limite _dynamic di _10 kB in base alla memoria. L'analisi ha mostrato che questa modifica dovrebbe riguardare il 99% dei casi d'uso sul web e avrebbe rispettato i principi sulla privacy che Chrome stava cercando di raggiungere (limitando troppe informazioni condivise sugli utenti su più siti) pur mantenendo gli utilizzi principali.

Altri fornitori di browser si sono pronunciati affermando di essere d'accordo con la soluzione aggiornata, che era importante per garantire che i CHIPS mantenessero il supporto cross-browser in PrivacyCG.

Di conseguenza, Chrome ha adottato il nuovo limite e ha incorporato la soluzione nella progettazione dei CHIPS.

Collaborazione con il settore

Abbiamo sentito dire da molti partner durante lo sviluppo dei CHIPS e la collaborazione è stata vitale per migliorare la privacy sul web.

Akamai gode di un rapporto di collaborazione su diversi fronti con altri leader del settore come Google. Il feedback che abbiamo fornito nel caso del programma CHIPS può sembrare un dettaglio di poco conto, ma il cambiamento sarà determinante per garantire un impatto negativo minimo sui buoni casi d'uso, pur mantenendo l'obiettivo finale. Le nostre rispettive organizzazioni stanno lavorando per rendere internet più veloce e sicuro nei nostri modi e l'intera rete internet è migliore se lavoriamo insieme. Martin Meyer, Senior Architect presso Akamai Technologies

I CHIPS hanno dimostrato che il feedback dell'ecosistema è essenziale per migliorare le tecnologie in Privacy Sandbox. Le conversazioni web aperte in GitHub, le riunioni W3C e il continuo coinvolgimento con il team di Chrome hanno contribuito direttamente alle modifiche che ora sono state implementate nella versione stabile di Chrome. Il team di Chrome è impaziente di ricevere questo feedback per una serie di proposte e fa un'enorme differenza sullo sviluppo e sull'implementazione delle tecnologie sul web.